|
|
|
@ -4313,7 +4313,7 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping |
|
|
|
CappingVal = CappingVals / 100 |
|
|
|
resultval = resultval / 100 |
|
|
|
|
|
|
|
fmt.Printf("达成率--1-->targetScore:%v-->resultval:%v-->allPrize:%v-->zeroPrize:%v-->CappingVal:%v\n", targetScore, resultval, allPrize, zeroPrize, CappingVal) |
|
|
|
//fmt.Printf("达成率--1-->targetScore:%v-->resultval:%v-->allPrize:%v-->zeroPrize:%v-->CappingVal:%v\n", targetScore, resultval, allPrize, zeroPrize, CappingVal)
|
|
|
|
|
|
|
|
//不修正精度的达成率
|
|
|
|
var achievementAll float64 = 0 |
|
|
|
@ -4325,7 +4325,7 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping |
|
|
|
scoreVal = 0 |
|
|
|
} |
|
|
|
achievementAll = 100 |
|
|
|
fmt.Printf("达成率--11-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) |
|
|
|
//fmt.Printf("达成率--11-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
} else { |
|
|
|
if allPrize > zeroPrize { //如果全奖值大于零奖值 执行一下操作
|
|
|
|
if resultval <= zeroPrize { //实际结算值小于零奖值 那么达成率和实际得分都是0
|
|
|
|
@ -4333,7 +4333,7 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping |
|
|
|
scoreVal = 0 |
|
|
|
achievementAll = 0 |
|
|
|
// } else if resultval > allPrize { //实际结算值大于全奖值 执行一下操作
|
|
|
|
fmt.Printf("达成率--7-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) |
|
|
|
//fmt.Printf("达成率--7-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
} else { //实际结算值在全奖值 与 零奖值之间
|
|
|
|
chuShu := resultval - float64(zeroPrize) |
|
|
|
beiChuShu := float64(allPrize) - float64(zeroPrize) |
|
|
|
@ -4345,22 +4345,26 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping |
|
|
|
achievement = 0 |
|
|
|
scoreVal = 0 |
|
|
|
achievementAll = 0 |
|
|
|
fmt.Printf("达成率--8-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) |
|
|
|
//fmt.Printf("达成率--8-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
} else { |
|
|
|
//fmt.Printf("达成率--9-1->targetScore:%v-->resultval:%v-->scoreVal:%v-->allPrize:%v-->zeroPrize:%v-->CappingVal:%v-->achievement:%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
if achievement*100 >= CappingVal { |
|
|
|
//如果达成率大于等于封顶值
|
|
|
|
if CappingVal > 0 { |
|
|
|
scoreVal = CappingVal * float64(targetScore) |
|
|
|
scoreVal = (CappingVal / 100) * float64(targetScore) |
|
|
|
//fmt.Printf("达成率--9-2->targetScore:%v-->resultval:%v-->scoreVal:%v-->allPrize:%v-->zeroPrize:%v-->CappingVal:%v-->achievement:%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
} else { |
|
|
|
//fmt.Printf("达成率--9-3->targetScore:%v-->resultval:%v-->scoreVal:%v-->allPrize:%v-->zeroPrize:%v-->CappingVal:%v-->achievement:%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
scoreVal = float64(targetScore) |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
// scoreVal = achievement * (float64(targetScore))
|
|
|
|
scoreVal = achievementAll * (float64(targetScore)) |
|
|
|
//fmt.Printf("达成率--9-4->targetScore:%v-->resultval:%v-->scoreVal:%v-->allPrize:%v-->zeroPrize:%v-->CappingVal:%v-->achievement:%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
|
|
|
|
} |
|
|
|
fmt.Printf("达成率--9-->targetScore:%v-->resultval:%v-->scoreVal:%v-->allPrize:%v-->zeroPrize:%v-->CappingVal:%v-->achievement:%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) |
|
|
|
//fmt.Printf("达成率--9-->targetScore:%v-->resultval:%v-->scoreVal:%v-->allPrize:%v-->zeroPrize:%v-->CappingVal:%v-->achievement:%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
} |
|
|
|
achievement = DecimalEs(achievement*100, 4) |
|
|
|
} else { |
|
|
|
@ -4368,7 +4372,7 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping |
|
|
|
achievement = 0 |
|
|
|
scoreVal = 0 |
|
|
|
achievementAll = 0 |
|
|
|
fmt.Printf("达成率--10-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) |
|
|
|
//fmt.Printf("达成率--10-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
@ -4377,7 +4381,7 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping |
|
|
|
achievement = 0 |
|
|
|
scoreVal = 0 |
|
|
|
achievementAll = 0 |
|
|
|
fmt.Printf("达成率--1-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) |
|
|
|
//fmt.Printf("达成率--1-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
} else { |
|
|
|
chuShu := resultval - float64(zeroPrize) |
|
|
|
beiChuShu := float64(allPrize) - float64(zeroPrize) |
|
|
|
@ -4389,40 +4393,40 @@ func CalculateScore(targetScore int64, resultval, allPrizes, zeroPrizes, Capping |
|
|
|
achievement = 0 |
|
|
|
scoreVal = 0 |
|
|
|
achievementAll = 0 |
|
|
|
fmt.Printf("达成率--2-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) |
|
|
|
//fmt.Printf("达成率--2-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
} else { |
|
|
|
if achievement*100 >= CappingVal { |
|
|
|
//如果达成率大于等于封顶值
|
|
|
|
scoreVal = CappingVal * float64(targetScore) / 100 |
|
|
|
fmt.Printf("达成率--3-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) |
|
|
|
//fmt.Printf("达成率--3-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
} else { |
|
|
|
// scoreVal = achievement * (float64(targetScore))
|
|
|
|
scoreVal = achievementAll * (float64(targetScore)) |
|
|
|
fmt.Printf("达成率--4-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) |
|
|
|
//fmt.Printf("达成率--4-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
} |
|
|
|
} |
|
|
|
achievement = DecimalEs(achievement*100, 4) |
|
|
|
fmt.Printf("达成率--6-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) |
|
|
|
//fmt.Printf("达成率--6-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
} else { |
|
|
|
//被除数为0时 那么达成率和实际得分都是0
|
|
|
|
achievement = 0 |
|
|
|
scoreVal = 0 |
|
|
|
achievementAll = 0 |
|
|
|
fmt.Printf("达成率--5-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) |
|
|
|
//fmt.Printf("达成率--5-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if typeClass == 3 { |
|
|
|
scoreVal = float64(targetScore) |
|
|
|
fmt.Printf("达成率--11-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) |
|
|
|
//fmt.Printf("达成率--11-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
} |
|
|
|
scoreVal = Decimal(scoreVal) |
|
|
|
allPrize = Decimal(allPrize) |
|
|
|
zeroPrize = Decimal(zeroPrize) |
|
|
|
CappingVal = Decimal(CappingVal) |
|
|
|
achievement = DecimalEs(achievement, 4) |
|
|
|
fmt.Printf("达成率--12-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement) |
|
|
|
//fmt.Printf("达成率--12-->%v-->%v-->%v-->%v-->%v-->%v-->%v\n", targetScore, resultval, scoreVal, allPrize, zeroPrize, CappingVal, achievement)
|
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
|