package work import ( "encoding/json" "fmt" "kpt-pasture/http/middleware" "net/http" "time" pasturePb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/cow" operationPb "gitee.com/xuyiping_admin/go_proto/proto/go/backend/operation" "gitee.com/xuyiping_admin/pkg/apierr" "gitee.com/xuyiping_admin/pkg/ginutil" "github.com/gin-gonic/gin" ) func OrderList(c *gin.Context) { var req pasturePb.SearchWorkOrderRequest if err := ginutil.BindProto(c, &req); err != nil { apierr.AbortBadRequest(c, http.StatusBadRequest, err) return } pagination := &pasturePb.PaginationModel{ Page: int32(c.GetInt(middleware.Page)), PageSize: int32(c.GetInt(middleware.PageSize)), PageOffset: int32(c.GetInt(middleware.PageOffset)), } res, err := middleware.Dependency(c).StoreEventHub.OpsService.OrderList(c, &req, pagination) if err != nil { apierr.ClassifiedAbort(c, err) return } ginutil.JSONResp(c, res) } func OrderCreateOrUpdate(c *gin.Context) { files, err := c.MultipartForm() if err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": "MultipartForm"}) return } b, _ := json.Marshal(files.Value) fmt.Println("===Value====", string(b)) fileHeaders := files.File["photos"] // 注意这里使用 "files[]" 作为 key,与前端匹配 // 验证文件数量 if len(fileHeaders) == 0 { c.JSON(http.StatusBadRequest, gin.H{"error": "No files selected"}) return } // 处理每个文件 for i, file := range fileHeaders { if err = c.SaveUploadedFile(file, fmt.Sprintf("%d_%d_%s", i+1, time.Now().Unix(), file.Filename)); err != nil { fmt.Println("===SaveUploadedFile==", err, i) } } /*if err := valid.ValidateStruct(&req, valid.Field(&req.Name, valid.Required), valid.Field(&req.CategoryId, valid.Required), ); err != nil { apierr.AbortBadRequest(c, http.StatusBadRequest, err) return } if err := middleware.BackendOperation(c).OpsService.OrderCreateOrUpdate(c, &req); err != nil { apierr.ClassifiedAbort(c, err) return }*/ ginutil.JSONResp(c, &operationPb.CommonOK{ Code: http.StatusOK, Msg: "ok", Data: &operationPb.Success{Success: true}, }) }