🐛 修复分成金额错误计算bug
This commit is contained in:
@@ -167,14 +167,12 @@ func (s *OrderService) BalancePay(p request.BalancePay) error {
|
||||
|
||||
// 全站Vip
|
||||
if order.OrderType == 2 {
|
||||
// 更新用户的会员状态
|
||||
user.IsVip = 1
|
||||
// 查询用户购买的会员信息
|
||||
vipInfo := vip.Vip{}
|
||||
err = global.GVA_DB.Model(&vip.Vip{}).Where("id = ?", order.VipId).First(&vipInfo).Error
|
||||
if err != nil {
|
||||
global.GVA_LOG.Error("查询会员信息失败", zap.Error(err))
|
||||
return nil
|
||||
return err
|
||||
}
|
||||
// 计算会员的过期时间
|
||||
if user.VipExpireTime != "" {
|
||||
@@ -190,11 +188,22 @@ func (s *OrderService) BalancePay(p request.BalancePay) error {
|
||||
// 如果没有会员时间,则从当前时间开始计算
|
||||
user.VipExpireTime = time.Now().AddDate(0, 0, int(vipInfo.Expiration)).Format("2006-01-02")
|
||||
}
|
||||
|
||||
// 更新用户的会员状态
|
||||
user.IsVip = 1
|
||||
if vipInfo.Level == 1 {
|
||||
user.UserLabel = 2 // VIP
|
||||
}
|
||||
if vipInfo.Level == 2 {
|
||||
user.UserLabel = 3 // SVIP
|
||||
}
|
||||
|
||||
err = global.GVA_DB.Save(&user).Error
|
||||
if err != nil {
|
||||
global.GVA_LOG.Error("更新用户会员状态失败", zap.Error(err))
|
||||
return nil
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
// 讲师包月
|
||||
if order.OrderType == 3 {
|
||||
@@ -223,13 +232,14 @@ func (s *OrderService) BalancePay(p request.BalancePay) error {
|
||||
return err
|
||||
}
|
||||
// 计算分成金额
|
||||
amount := float64(order.Price) * float64(teacher.ExpectRate) / 100.0
|
||||
amount := float64(order.Price/100) * float64(teacher.ExpectRate) / 100.0
|
||||
teacher.Balance = teacher.Balance + amount
|
||||
err = global.GVA_DB.Save(&teacher).Error
|
||||
if err != nil {
|
||||
global.GVA_LOG.Error("更新讲师余额失败", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
// 计算分成比例,按比例增加讲师余额
|
||||
teacher := userM.User{}
|
||||
@@ -239,7 +249,7 @@ func (s *OrderService) BalancePay(p request.BalancePay) error {
|
||||
return err
|
||||
}
|
||||
// 计算分成金额
|
||||
amount := float64(order.Price) * float64(teacher.ExpectRate) / 100.0
|
||||
amount := float64(order.Price/100) * float64(teacher.ExpectRate) / 100.0
|
||||
teacher.Balance = teacher.Balance + amount
|
||||
err = global.GVA_DB.Save(&teacher).Error
|
||||
if err != nil {
|
||||
|
@@ -219,7 +219,7 @@ func NotifyHandle(ctx *gin.Context) error {
|
||||
return err
|
||||
}
|
||||
// 计算分成金额
|
||||
amount := float64(order.Price) * float64(teacher.ExpectRate) / 100.0
|
||||
amount := float64(order.Price/100) * float64(teacher.ExpectRate) / 100.0
|
||||
teacher.Balance = teacher.Balance + amount
|
||||
err = global.GVA_DB.Save(&teacher).Error
|
||||
if err != nil {
|
||||
@@ -256,6 +256,15 @@ func NotifyHandle(ctx *gin.Context) error {
|
||||
// 如果没有会员时间,则从当前时间开始计算
|
||||
userInfo.VipExpireTime = time.Now().AddDate(0, 0, int(vipInfo.Expiration)).Format("2006-01-02")
|
||||
}
|
||||
|
||||
if vipInfo.Level == 1 {
|
||||
userInfo.UserLabel = 2 // SVIP
|
||||
}
|
||||
|
||||
if vipInfo.Level == 2 {
|
||||
userInfo.UserLabel = 3 // SVIP
|
||||
}
|
||||
|
||||
err = global.GVA_DB.Save(&userInfo).Error
|
||||
if err != nil {
|
||||
global.GVA_LOG.Error("更新用户会员状态失败", zap.Error(err))
|
||||
@@ -287,7 +296,7 @@ func NotifyHandle(ctx *gin.Context) error {
|
||||
return err
|
||||
}
|
||||
// 计算分成金额
|
||||
amount := float64(order.Price) * float64(teacher.ExpectRate) / 100.0
|
||||
amount := float64(order.Price/100) * float64(teacher.ExpectRate) / 100.0
|
||||
teacher.Balance = teacher.Balance + amount
|
||||
err = global.GVA_DB.Save(&teacher).Error
|
||||
if err != nil {
|
||||
|
Reference in New Issue
Block a user