controllers/operation.go
@@ -47,6 +47,7 @@
func (slf OperationController) Add(c *gin.Context) {
   var reqParams request.AddOperation
   var params models.Operation
   if err := c.BindJSON(&reqParams); err != nil {
      util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
      return
@@ -90,8 +91,26 @@
      util.ResponseFormat(c, code.RequestParamError, "单号已存在")
      return
   }
   err = models.WithTransaction(func(db *gorm.DB) error {
      if err := models.NewOperationSearch().Create(&params); err != nil {
         return err
      }
      od := params.Details
      for _, v := range od {
         material, err := models.NewMaterialSearch().SetID(v.ProductId).First()
         if err != nil {
            return err
         }
         material.Cost = v.Cost
         material.SalePrice = v.SalePrice
         if err := models.NewMaterialSearch().SetOrm(db).Update(material); err != nil {
            return err
         }
      }
      return nil
   })
   if err := models.NewOperationSearch().Create(&params); err != nil {
   if err != nil {
      logx.Errorf("Operation create err: %v", err)
      util.ResponseFormat(c, code.SaveFail, "添加失败:"+err.Error())
      return
@@ -314,6 +333,18 @@
      if err := models.NewOperationSearch().SetOrm(tx).SetID(params.Id).Save(&params); err != nil {
         return err
      }
      od := params.Details
      for _, v := range od {
         material, err := models.NewMaterialSearch().SetID(v.ProductId).First()
         if err != nil {
            return err
         }
         material.Cost = v.Cost
         material.SalePrice = v.SalePrice
         if err := models.NewMaterialSearch().SetOrm(tx).Update(material); err != nil {
            return err
         }
      }
      return nil
   }); err != nil {
      util.ResponseFormat(c, code.RequestParamError, "修改失败:"+err.Error())