|
|
|
|
@ -5,6 +5,7 @@ import ( |
|
|
|
|
"github.com/gin-gonic/gin" |
|
|
|
|
"github.com/liangdas/mqant/log" |
|
|
|
|
"gorm.io/gorm" |
|
|
|
|
"math" |
|
|
|
|
"math/rand" |
|
|
|
|
"server/call" |
|
|
|
|
"server/common" |
|
|
|
|
@ -67,7 +68,7 @@ func PddCfg(c *gin.Context) { |
|
|
|
|
case 2: |
|
|
|
|
realValue = float64(rand.Intn(pdd.WithdrawalAmount*30) + pdd.WithdrawalAmount*60) |
|
|
|
|
case 3: |
|
|
|
|
realValue = float64(rand.Intn(pdd.WithdrawalAmount*3) + pdd.WithdrawalAmount*95) |
|
|
|
|
realValue = float64(rand.Intn(pdd.WithdrawalAmount*4) + pdd.WithdrawalAmount*95) |
|
|
|
|
} |
|
|
|
|
resp.InitialAmount[index] = fmt.Sprintf("%.2f", realValue/100) |
|
|
|
|
if index == 3 { |
|
|
|
|
@ -175,37 +176,35 @@ func PddLottery(c *gin.Context) { |
|
|
|
|
amountFinal = fmt.Sprintf("%d", pdd.WithdrawalAmount) |
|
|
|
|
updateValues["amount"] = amountFinal |
|
|
|
|
} else { |
|
|
|
|
// todo 更改规则
|
|
|
|
|
randValue := rand.Intn(10) |
|
|
|
|
var addAmount float64 |
|
|
|
|
if randValue < 4 { // 加剩余金额的1/5
|
|
|
|
|
addAmount = lessAmount / 5 |
|
|
|
|
} else if randValue < 6 { // 加剩余金额的1/4
|
|
|
|
|
addAmount = lessAmount / 4 |
|
|
|
|
} else { // 加剩余金额的1/2
|
|
|
|
|
addAmount = lessAmount / 2 |
|
|
|
|
} |
|
|
|
|
if lessAmount <= 1 { |
|
|
|
|
if randValue < 8 { // 加剩余金额的1/6
|
|
|
|
|
addAmount = lessAmount * 5 / 100 |
|
|
|
|
} else if randValue < 9 { // 加剩余金额的1/4
|
|
|
|
|
addAmount = lessAmount * 10 / 100 |
|
|
|
|
} else { // 加剩余金额的1/2
|
|
|
|
|
addAmount = lessAmount * 25 / 100 |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if lessAmount <= 0.1 { |
|
|
|
|
if randValue < 8 { // 加剩余金额的1/6
|
|
|
|
|
addAmount = lessAmount * 1 / 1000 |
|
|
|
|
} else if randValue < 9 { // 加剩余金额的1/4
|
|
|
|
|
addAmount = lessAmount * 2 / 1000 |
|
|
|
|
} else { // 加剩余金额的1/2
|
|
|
|
|
addAmount = lessAmount * 4 / 1000 |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
award = fmt.Sprintf("%.14f", addAmount) |
|
|
|
|
if lessAmount > 1 { |
|
|
|
|
addAmountMax := lessAmount - 1 |
|
|
|
|
if addAmountMax <= 0.01 { |
|
|
|
|
addAmount = 0.01 |
|
|
|
|
} else { |
|
|
|
|
maxCents := int(math.Round(addAmountMax * 100)) |
|
|
|
|
if maxCents <= 0 { |
|
|
|
|
maxCents = 1 // 确保至少为1分钱
|
|
|
|
|
} |
|
|
|
|
randValue := rand.Intn(maxCents) + 1 |
|
|
|
|
addAmount = float64(randValue) / float64(100) |
|
|
|
|
} |
|
|
|
|
} else { // 0.03
|
|
|
|
|
randValue := rand.Intn(10) |
|
|
|
|
if randValue < 7 { // 70%给0.01
|
|
|
|
|
addAmount = 0.01 |
|
|
|
|
} else if randValue < 9 { // 20%给0.02
|
|
|
|
|
addAmount = 0.02 |
|
|
|
|
} else { // 10%给0.03
|
|
|
|
|
addAmount = 0.03 |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
award = fmt.Sprintf("%.2f", addAmount) |
|
|
|
|
userAmount += addAmount |
|
|
|
|
amountFinal = fmt.Sprintf("%v", userAmount) |
|
|
|
|
if userAmount > float64(pdd.WithdrawalAmount) { |
|
|
|
|
userAmount = float64(pdd.WithdrawalAmount) |
|
|
|
|
} |
|
|
|
|
amountFinal = fmt.Sprintf("%.2f", userAmount) |
|
|
|
|
updateValues["amount"] = amountFinal |
|
|
|
|
} |
|
|
|
|
err = db.Mysql().C().Model(&common.PddDataNew{}).Where("id = ?", pddData.ID).Updates(updateValues).Error |
|
|
|
|
|