zhangqian
2024-03-12 4aa17acbb43449389f248732c77d9e9752e240a8
controllers/raw_silk_standard.go
@@ -2,11 +2,13 @@
import (
   "github.com/gin-gonic/gin"
   "gorm.io/gorm"
   "silkserver/controllers/request"
   "silkserver/controllers/response"
   "silkserver/extend/code"
   "silkserver/extend/util"
   "silkserver/models"
   "silkserver/pkg/snowflake"
   "strconv"
)
@@ -108,6 +110,7 @@
      var dr response.DynamicsRank
      dr.RankName = standard.RankName
      dr.RankValue = standard.RankValue
      dr.RankProp = standard.RankProp
      rankStandard, ok := m[standard.LineId]
      if !ok {
         rankStandard.LineId = standard.LineId
@@ -127,3 +130,61 @@
   }
   util.ResponseFormat(c, code.Success, data)
}
// SaveRankStandard
//
//   @Tags      系统设置/生丝定级标准
//   @Summary   保存生丝定级标准
//   @Produce   application/json
//   @Param      object   body      request.SaveRankStandard   true   "参数"
//   @Success   200      {object}   util.Response      "成功"
//   @Router      /api-jl/v1/system/saveRankStandard [post]
func (slf RawSilkStandardController) SaveRankStandard(c *gin.Context) {
   var rankStandard request.SaveRankStandard
   err := c.BindJSON(&rankStandard)
   if err != nil {
      util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
      return
   }
   batch := make([]*models.RawSilkRankStandard, 0)
   for _, standard := range rankStandard.RankStandard {
      var rank models.RawSilkRankStandard
      if standard.LineId == "" {
         rank.LineId = snowflake.GenerateIdStr()
      } else {
         rank.LineId = standard.LineId
      }
      rank.CheckItem = standard.CheckItem
      rank.StartFineness = standard.StartFineness
      rank.EndFineness = standard.EndFineness
      rank.RankA = standard.RankA
      rank.RankB = standard.RankB
      rank.RankC = standard.RankC
      for _, dynamicsRank := range standard.DynamicsRanks {
         rs := rank
         rs.RankProp = dynamicsRank.RankProp
         rs.RankName = dynamicsRank.RankName
         rs.RankValue = dynamicsRank.RankValue
         batch = append(batch, &rs)
      }
   }
   err = models.WithTransaction(func(db *gorm.DB) error {
      err = models.NewRawSilkRankStandardSearch().SetOrm(db).DeleteAll()
      if err != nil {
         return err
      }
      if len(batch) > 0 {
         err = models.NewRawSilkRankStandardSearch().SetOrm(db).CreateBatch(batch)
         if err != nil {
            return err
         }
      }
      return nil
   })
   if err != nil {
      util.ResponseFormat(c, code.SaveFail, "保存失败")
      return
   }
   util.ResponseFormat(c, code.Success, "保存成功")
}