自动化测试
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

57 lines
1.2 KiB

package dealexcel
import (
"fmt"
"net/http"
"strings"
"time"
"automatedtesting/usecases_server/config"
"automatedtesting/usecases_server/utils/cyllib/file"
"automatedtesting/usecases_server/utils/cyllib/log"
"automatedtesting/usecases_server/utils/excel"
"github.com/gin-gonic/gin"
)
type GroupController struct {
xl *excel.Excel
Err []string `json:"err"`
}
func (s *GroupController) Load(c *gin.Context) {
f, err := c.FormFile("file")
if err != nil {
log.WriteErr(err)
}
folder := config.GetConfig().File.ExcelFolder
name := config.GetConfig().File.ExcelName
uid, _ := c.Get("uid")
path := fmt.Sprint(folder, uid, "_", time.Now().UnixNano(), "_", name)
if !file.Exist(folder) {
file.MkdirAll(folder)
}
if err := c.SaveUploadedFile(f, path); err != nil {
log.WriteErr(err)
}
s.DisposeExcel(path, uid.(int))
file.DeleteFloder(path)
gp := GroupController{
Err: s.xl.Err,
}
c.JSON(http.StatusOK, &gp)
}
func (s *GroupController) Dowload(c *gin.Context) {
gid := c.Query("gid")
list := c.Query("idlist")
idlist := strings.Split(list, ",")
folder := config.GetConfig().File.Config
e, _ := excel.NewOpenExcel(folder + "template.xlsx")
e.WriteExcel(gid, idlist)
f := e.GetFileIo()
s.GetFileStream(f, c)
}