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