From 8b6e1e99dfbfe9c5324ba161cfbd742cd5dd5499 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期一, 29 四月 2024 17:47:42 +0800
Subject: [PATCH] 根据规格取纤度等级标准

---
 controllers/fineness.go |   48 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 41 insertions(+), 7 deletions(-)

diff --git a/controllers/fineness.go b/controllers/fineness.go
index 61370ed..cc1090d 100644
--- a/controllers/fineness.go
+++ b/controllers/fineness.go
@@ -3,6 +3,7 @@
 import (
 	"errors"
 	"github.com/gin-gonic/gin"
+	"github.com/shopspring/decimal"
 	"gorm.io/gorm"
 	"silkserver/controllers/request"
 	"silkserver/controllers/response"
@@ -13,6 +14,7 @@
 	"silkserver/pkg/logx"
 	"silkserver/pkg/structx"
 	"silkserver/service"
+	"strings"
 )
 
 type FinenessController struct{}
@@ -39,7 +41,15 @@
 		return
 	}
 
-	silkStandard, err := service.GetSilkRankStandard()
+	if err := slf.ParamsCheck(params); err != nil {
+		util.ResponseFormat(c, code.RequestParamError, err.Error())
+		return
+	}
+
+	specArr := strings.Split(params.Spec, "/")
+	start, _ := decimal.NewFromString(specArr[0])
+	end, _ := decimal.NewFromString(specArr[1])
+	silkStandard, err := service.GetSilkRankStandard(start, end)
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, err.Error())
 		return
@@ -47,12 +57,7 @@
 
 	endCarMap, err := service.GetWorkshopEndCarMap(params.WorkshopNumber, params.WorkshopGroup)
 	if len(endCarMap) == 0 {
-		util.ResponseFormat(c, code.RequestParamError, "璇峰璇ヨ溅闂村拰杞︾粍杩涜杞﹀彿璁剧疆")
-		return
-	}
-
-	if err := slf.ParamsCheck(params); err != nil {
-		util.ResponseFormat(c, code.RequestParamError, err.Error())
+		util.ResponseFormat(c, code.RequestParamError, "璇ヨ溅闂存湭閰嶇疆杞﹀彿锛岃鍦ㄨ溅闂寸鐞嗕腑閰嶇疆!")
 		return
 	}
 
@@ -72,6 +77,7 @@
 	})
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "淇濆瓨澶辫触")
+		return
 	}
 
 	err = service.FinenessCheck(&params, silkStandard, endCarMap, isNew)
@@ -85,6 +91,29 @@
 }
 
 func (slf FinenessController) ParamsCheck(params models.FinenessRegister) (err error) {
+	if params.Spec == "" || !strings.Contains(params.Spec, "/") {
+		return errors.New("瑙勬牸鏍煎紡涓嶆纭�")
+	}
+
+	specArr := strings.Split(params.Spec, "/")
+
+	_, err = decimal.NewFromString(specArr[0])
+	if err != nil {
+		return errors.New("瑙勬牸鏍煎紡涓嶆纭�")
+	}
+	_, err = decimal.NewFromString(specArr[1])
+	if err != nil {
+		return errors.New("瑙勬牸鏍煎紡涓嶆纭�")
+	}
+
+	if params.WorkshopNumber == "" || params.WorkshopGroup == 0 {
+		return errors.New("杞﹂棿杞︾粍鍙傛暟缂哄け")
+	}
+
+	if len(params.FinenessList) == 0 {
+		return errors.New("绾ゅ害鍒楄〃缂哄け")
+	}
+
 	if params.ID == 0 {
 		_, err = models.NewFinenessRegisterSearch().SetNumber(params.Number).First()
 		if err != gorm.ErrRecordNotFound {
@@ -301,6 +330,11 @@
 		return
 	}
 
+	if params.FinenessRegisterID == 0 {
+		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟缂哄け")
+		return
+	}
+
 	err = service.FinenessReCheck(&params)
 	if err != nil {
 		logx.Errorf("service.FinenessReCheck err:%v, finenessCheck:%+v", err, params)

--
Gitblit v1.8.0