更新小程序环境变量以切换至开发 API 地址,调整分销页面以支持新字段展示,包括推荐人和消费者的头像及昵称,优化绑定记录的状态显示和佣金计算逻辑,提升用户体验和代码可读性。
This commit is contained in:
@@ -781,31 +781,48 @@ func DBDistribution(c *gin.Context) {
|
||||
for i := range users {
|
||||
userMap[users[i].ID] = &users[i]
|
||||
}
|
||||
getStr := func(s *string) string {
|
||||
if s == nil || *s == "" {
|
||||
return ""
|
||||
}
|
||||
return *s
|
||||
}
|
||||
out := make([]gin.H, 0, len(bindings))
|
||||
for _, b := range bindings {
|
||||
refNick := "用户"
|
||||
if u := userMap[b.RefereeID]; u != nil && u.Nickname != nil {
|
||||
refNick = *u.Nickname
|
||||
} else {
|
||||
refNick = refNick + b.RefereeID
|
||||
refNick := "微信用户"
|
||||
var refereePhone, refereeAvatar *string
|
||||
if u := userMap[b.RefereeID]; u != nil {
|
||||
if u.Nickname != nil && *u.Nickname != "" {
|
||||
refNick = *u.Nickname
|
||||
} else {
|
||||
refNick = "微信用户"
|
||||
}
|
||||
refereePhone = u.Phone
|
||||
refereeAvatar = u.Avatar
|
||||
}
|
||||
var referrerName *string
|
||||
var referrerName, referrerAvatar *string
|
||||
if u := userMap[b.ReferrerID]; u != nil {
|
||||
referrerName = u.Nickname
|
||||
referrerAvatar = u.Avatar
|
||||
}
|
||||
days := 0
|
||||
if b.ExpiryDate.After(time.Now()) {
|
||||
days = int(b.ExpiryDate.Sub(time.Now()).Hours() / 24)
|
||||
}
|
||||
var refereePhone *string
|
||||
if u := userMap[b.RefereeID]; u != nil {
|
||||
refereePhone = u.Phone
|
||||
// 佣金展示用累计佣金 total_commission(支付回调累加),无则用 commission_amount
|
||||
commissionVal := b.TotalCommission
|
||||
if commissionVal == nil {
|
||||
commissionVal = b.CommissionAmount
|
||||
}
|
||||
statusVal := ""
|
||||
if b.Status != nil {
|
||||
statusVal = *b.Status
|
||||
}
|
||||
out = append(out, gin.H{
|
||||
"id": b.ID, "referrer_id": b.ReferrerID, "referrer_name": referrerName, "referrer_code": b.ReferralCode,
|
||||
"referee_id": b.RefereeID, "referee_nickname": refNick, "referee_phone": refereePhone,
|
||||
"bound_at": b.BindingDate, "expires_at": b.ExpiryDate, "status": b.Status,
|
||||
"days_remaining": days, "commission": b.CommissionAmount, "source": "miniprogram",
|
||||
"id": b.ID, "referrerId": b.ReferrerID, "referrerName": getStr(referrerName), "referrerCode": b.ReferralCode, "referrerAvatar": getStr(referrerAvatar),
|
||||
"refereeId": b.RefereeID, "refereeNickname": refNick, "refereePhone": getStr(refereePhone), "refereeAvatar": getStr(refereeAvatar),
|
||||
"boundAt": b.BindingDate, "expiresAt": b.ExpiryDate, "status": statusVal,
|
||||
"daysRemaining": days, "commission": commissionVal, "totalCommission": commissionVal, "source": "miniprogram",
|
||||
})
|
||||
}
|
||||
c.JSON(http.StatusOK, gin.H{"success": true, "bindings": out, "total": len(out)})
|
||||
|
||||
Reference in New Issue
Block a user