From 4aa17acbb43449389f248732c77d9e9752e240a8 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 12 三月 2024 19:35:32 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/silk/silkServer

---
 controllers/raw_silk_standard.go |   61 ++++++++++++++++++++++++++++++
 1 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/controllers/raw_silk_standard.go b/controllers/raw_silk_standard.go
index 823619c..7659034 100644
--- a/controllers/raw_silk_standard.go
+++ b/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, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
+		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, "淇濆瓨鎴愬姛")
+}

--
Gitblit v1.8.0