jiangshuai
2023-11-13 8e216cfa89d3bcd6f010376ecb4f2f0e90724ea0
controllers/product_controller.go
@@ -52,6 +52,19 @@
      util.ResponseFormat(c, code.RequestParamError, "产品信息保存失败")
      return
   }
   materialAttachmentList := []*models.MaterialAttachment{}
   for _, v := range params.AttachmentIDs {
      ma := &models.MaterialAttachment{MaterialID: params.ID, AttachmentID: v}
      materialAttachmentList = append(materialAttachmentList, ma)
   }
   if len(materialAttachmentList) > 0 {
      if err := models.NewMaterialAttachmentSearch().CreateBatch(materialAttachmentList); err != nil {
         util.ResponseFormat(c, code.SaveFail, "附件保存失败")
         return
      }
   }
   util.ResponseFormat(c, code.Success, "保存成功")
}
@@ -72,7 +85,7 @@
   if params.PageInfo.Check() {
      search.SetPage(params.Page, params.PageSize)
   }
   products, total, err := search.SetKeyword(params.KeyWord).SetCategoryId(params.CategoryId).SetOrder("created_at desc").Find()
   products, total, err := search.SetPreload(true).SetKeyword(params.KeyWord).SetCategoryId(params.CategoryId).SetOrder("created_at desc").Find()
   if err != nil {
      util.ResponseFormat(c, code.RequestParamError, "查找失败")
      return
@@ -110,7 +123,7 @@
      util.ResponseFormat(c, code.RequestParamError, "无效id")
      return
   }
   material, err := models.NewMaterialSearch().SetID(id).First()
   material, err := models.NewMaterialSearch().SetID(id).SetPreload(true).First()
   if err != nil {
      util.ResponseFormat(c, code.RequestParamError, "查找失败")
      return
@@ -147,6 +160,22 @@
   if err != nil {
      util.ResponseFormat(c, code.RequestParamError, "产品信息更新失败")
      return
   }
   materialAttachmentList := []*models.MaterialAttachment{}
   for _, v := range params.AttachmentIDs {
      ma := &models.MaterialAttachment{MaterialID: params.ID, AttachmentID: v}
      materialAttachmentList = append(materialAttachmentList, ma)
   }
   if err := models.NewMaterialAttachmentSearch().SetMaterialID(params.ID).Delete(); err != nil {
      util.ResponseFormat(c, code.RequestParamError, "产品附件清除失败")
      return
   }
   if len(materialAttachmentList) > 0 {
      if err := models.NewMaterialAttachmentSearch().CreateBatch(materialAttachmentList); err != nil {
         util.ResponseFormat(c, code.RequestParamError, "产品信息更新失败")
         return
      }
   }
   util.ResponseFormat(c, code.Success, "更新成功")
}
@@ -619,3 +648,38 @@
   util.ResponseFormatListWithPage(c, code.Success, list, int(total), params.Page, params.PageSize)
}
// CancelDisuse
//
//   @Tags      产品
//   @Summary   取消报废
//   @Produce   application/json
//   @Param      id   path      int         true   "id"
//   @Success   200   {object}   util.Response   "成功"
//   @Router      /api-wms/v1/product/cancelDisuse/{id} [put]
func (slf ProductController) CancelDisuse(c *gin.Context) {
   id, err := strconv.Atoi(c.Param("id"))
   if err != nil {
      util.ResponseFormat(c, code.RequestParamError, "错误的id值")
      return
   }
   if id == 0 {
      util.ResponseFormat(c, code.RequestParamError, "id为0")
      return
   }
   operation, err := models.NewOperationSearch().SetID(id).First()
   if err != nil {
      util.ResponseFormat(c, code.RequestParamError, "未找到相关信息:"+err.Error())
      return
   }
   if operation.Status != constvar.OperationStatus_Ready {
      util.ResponseFormat(c, code.RequestError, "该信息无法取消")
      return
   }
   operation.Status = constvar.OperationStatus_Cancel
   if err := models.NewOperationSearch().SetID(operation.Id).Save(operation); err != nil {
      util.ResponseFormat(c, code.SaveFail, err.Error())
      return
   }
   util.ResponseFormat(c, code.Success, "操作成功")
}