From 09fe1d906147cc88bb00cb0a6a1361ddd4112fa4 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期二, 30 四月 2024 09:49:05 +0800
Subject: [PATCH] 修复&优化

---
 service/silk_rank.go |   32 ++++++++++++++------------------
 1 files changed, 14 insertions(+), 18 deletions(-)

diff --git a/service/silk_rank.go b/service/silk_rank.go
index e78a5a1..6d76999 100644
--- a/service/silk_rank.go
+++ b/service/silk_rank.go
@@ -14,7 +14,7 @@
 	EndFineness   decimal.Decimal
 	GradeMap      map[string]struct{}
 	ValueList     []*Pair
-	SortType      SortType
+	SortType      ValueType
 	GradeRank     map[string]int
 }
 
@@ -23,19 +23,19 @@
 	RankValue decimal.Decimal
 }
 
-type SortType int
+type ValueType int
 
 const (
-	SortTypeAsc  SortType = 0
-	SortTypeDesc SortType = 1
+	ValueTypeSmallerBetter ValueType = 0 //鍊兼寜鍗囧簭鎺掑悕锛堝�艰秺澶э紝绛夌骇瓒婇珮锛�
+	ValueTypeGreaterBetter ValueType = 1 //鍊兼寜闄嶅簭鎺掑悕锛堝�艰秺灏忥紝绛夌骇瓒婁綆锛�
 )
 
-var sortTypeMap = map[constvar.CheckItem]SortType{
-	constvar.CheckItemDeviation:    SortTypeAsc,
-	constvar.CheckItemTwiceChange:  SortTypeAsc,
-	constvar.CheckItemCleanliness:  SortTypeDesc,
-	constvar.CheckItemPurity:       SortTypeDesc,
-	constvar.CheckItemMaxDeviation: SortTypeAsc,
+var sortTypeMap = map[constvar.CheckItem]ValueType{
+	constvar.CheckItemDeviation:    ValueTypeSmallerBetter,
+	constvar.CheckItemTwiceChange:  ValueTypeSmallerBetter,
+	constvar.CheckItemCleanliness:  ValueTypeGreaterBetter,
+	constvar.CheckItemPurity:       ValueTypeGreaterBetter,
+	constvar.CheckItemMaxDeviation: ValueTypeSmallerBetter,
 }
 
 func GetSilkRankStandard(startFineness, endFineness decimal.Decimal) (map[string]*Standard, error) {
@@ -87,28 +87,24 @@
 		}
 	}
 	//value鎺掑簭
-	for k := range standardMap {
+	for k := range standardMap { //绛夌骇闄嶅簭鎺掑垪
 		sort.Slice(standardMap[k].ValueList, func(i, j int) bool {
 			sortType := sortTypeMap[standardMap[k].CheckItem]
 			standardMap[k].SortType = sortType
-			if sortType == SortTypeAsc {
+			if sortType == ValueTypeSmallerBetter {
 				return standardMap[k].ValueList[i].RankValue.LessThan(standardMap[k].ValueList[j].RankValue)
 			} else {
 				return standardMap[k].ValueList[i].RankValue.GreaterThan(standardMap[k].ValueList[j].RankValue)
 			}
 		})
 	}
-	//绛夌骇鎺掑悕
+	//绛夌骇鎺掑悕 GradeRank瓒婂ぇ锛岀瓑绾ц秺楂�
 	for lineId, standard := range standardMap {
 		for k, pair := range standard.ValueList {
 			if standardMap[lineId].GradeRank == nil {
 				standardMap[lineId].GradeRank = make(map[string]int, 0)
 			}
-			if standard.SortType == SortTypeAsc {
-				standardMap[lineId].GradeRank[pair.RankName] = k + 1
-			} else {
-				standardMap[lineId].GradeRank[pair.RankName] = len(standard.ValueList) - k
-			}
+			standardMap[lineId].GradeRank[pair.RankName] = len(standard.ValueList) - k
 		}
 	}
 	return standardMap, nil

--
Gitblit v1.8.0