From 6da8ee2f471792e9bd21839b99c9dc925c76242e Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期一, 11 三月 2024 13:48:43 +0800
Subject: [PATCH] 保存生丝定级标准
---
models/raw_silk_rank_standard.go | 16 +++++++-
controllers/request/system_set.go | 26 ++++++++++++
controllers/response/raw_silk_standard.go | 1
controllers/raw_silk_standard.go | 61 ++++++++++++++++++++++++++++++
router/router.go | 3 +
5 files changed, 103 insertions(+), 4 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, "淇濆瓨鎴愬姛")
+}
diff --git a/controllers/request/system_set.go b/controllers/request/system_set.go
index c87cd33..c7cb7d3 100644
--- a/controllers/request/system_set.go
+++ b/controllers/request/system_set.go
@@ -1,6 +1,9 @@
package request
-import "silkserver/constvar"
+import (
+ "github.com/shopspring/decimal"
+ "silkserver/constvar"
+)
type GetDictList struct {
PageInfo
@@ -25,6 +28,27 @@
KeyWord string `json:"keyWord"`
}
+type SaveRankStandard struct {
+ RankStandard []RankStandard `json:"rankStandard"`
+}
+
+type RankStandard struct {
+ LineId string `json:"lineId"` //琛宨d
+ CheckItem constvar.CheckItem `json:"checkItem"` //妫�鏌ラ」鐩悕绉�
+ StartFineness decimal.Decimal `json:"startFineness"` //寮�濮嬬氦搴�
+ EndFineness decimal.Decimal `json:"endFineness"` //缁撴潫绾ゅ害
+ RankA decimal.Decimal `json:"rankA"` //閲庣氦
+ RankB decimal.Decimal `json:"rankB"` //澶ч噹
+ RankC decimal.Decimal `json:"rankC"` //鐗归噹
+ DynamicsRanks []DynamicsRank `json:"dynamicsRanks"`
+}
+
+type DynamicsRank struct {
+ RankProp string `json:"rankProp"` //鍓嶇紑key
+ RankName string `json:"rankName"` //绛夌骇鍚嶇О
+ RankValue decimal.Decimal `json:"rankValue"` //绛夌骇鍊�
+}
+
// ---------------------------------------杞﹂棿---------------------------------
type GetWorkshopManage struct {
PageInfo
diff --git a/controllers/response/raw_silk_standard.go b/controllers/response/raw_silk_standard.go
index b9bb7db..4c6890e 100644
--- a/controllers/response/raw_silk_standard.go
+++ b/controllers/response/raw_silk_standard.go
@@ -17,6 +17,7 @@
}
type DynamicsRank struct {
+ RankProp string `json:"rankProp"` //鍓嶇紑key
RankName string `json:"rankName"` //绛夌骇鍚嶇О
RankValue decimal.Decimal `json:"rankValue"` //绛夌骇鍊�
}
diff --git a/models/raw_silk_rank_standard.go b/models/raw_silk_rank_standard.go
index fdc2770..4ecf2e3 100644
--- a/models/raw_silk_rank_standard.go
+++ b/models/raw_silk_rank_standard.go
@@ -19,6 +19,7 @@
RankA decimal.Decimal `json:"rankA" gorm:"type:decimal(20,4);comment:閲庣氦"`
RankB decimal.Decimal `json:"rankB" gorm:"type:decimal(20,4);comment:澶ч噹"`
RankC decimal.Decimal `json:"rankC" gorm:"type:decimal(20,4);comment:鐗归噹"`
+ RankProp string `json:"rankProp" gorm:"type:varchar(255);comment:鍓嶇紑key"`
RankName string `json:"rankName" gorm:"type:varchar(255);comment:绛夌骇鍚嶇О"`
RankValue decimal.Decimal `json:"rankValue" gorm:"type:decimal(20,4);comment:绛夌骇鍊�"`
}
@@ -68,6 +69,17 @@
return nil
}
+// CreateBatch 鎵归噺鎻掑叆
+func (slf *RawSilkRankStandardSearch) CreateBatch(records []*RawSilkRankStandard) error {
+ var db = slf.build()
+
+ if err := db.Create(&records).Error; err != nil {
+ return fmt.Errorf("create batch err: %v, records: %+v", err, records)
+ }
+
+ return nil
+}
+
func (slf *RawSilkRankStandardSearch) FindNotTotal() ([]*RawSilkRankStandard, error) {
var (
records = make([]*RawSilkRankStandard, 0)
@@ -91,10 +103,10 @@
return nil
}
-func (slf *RawSilkRankStandardSearch) Delete() error {
+func (slf *RawSilkRankStandardSearch) DeleteAll() error {
var db = slf.build()
- if err := db.Unscoped().Delete(&RawSilkRankStandard{}).Error; err != nil {
+ if err := db.Where("1=1").Delete(&RawSilkRankStandard{}).Error; err != nil {
return err
}
diff --git a/router/router.go b/router/router.go
index 3201fc2..8e8214f 100644
--- a/router/router.go
+++ b/router/router.go
@@ -39,7 +39,8 @@
systemApi.POST("savePriceStandard", rawSilkController.SavePriceStandard) //淇濆瓨鐢熶笣瀹氫环鏍囧噯
systemApi.DELETE("deletePriceStandard/:id", rawSilkController.DeletePriceStandard) //鍒犻櫎鐢熶笣瀹氫环鏍囧噯
//鐢熶笣瀹氫环
- systemApi.GET("getRankStandard", rawSilkController.GetRankStandard)
+ systemApi.GET("getRankStandard", rawSilkController.GetRankStandard) //鑾峰彇鐢熶笣瀹氱骇鏍囧噯
+ systemApi.POST("saveRankStandard", rawSilkController.SaveRankStandard) //淇濆瓨鐢熶笣瀹氱骇鏍囧噯
//杞﹂棿绠$悊
systemApi.GET("getWorkshopManageList", workshopController.GetWorkshopManageList) //鑾峰彇杞﹂棿绠$悊鍒楄〃
systemApi.POST("saveWorkshopManage", workshopController.SaveWorkshopManage) //淇濆瓨杞﹂棿绠$悊
--
Gitblit v1.8.0