🐛 修复分成金额错误计算bug
This commit is contained in:
@@ -167,14 +167,12 @@ func (s *OrderService) BalancePay(p request.BalancePay) error {
|
|||||||
|
|
||||||
// 全站Vip
|
// 全站Vip
|
||||||
if order.OrderType == 2 {
|
if order.OrderType == 2 {
|
||||||
// 更新用户的会员状态
|
|
||||||
user.IsVip = 1
|
|
||||||
// 查询用户购买的会员信息
|
// 查询用户购买的会员信息
|
||||||
vipInfo := vip.Vip{}
|
vipInfo := vip.Vip{}
|
||||||
err = global.GVA_DB.Model(&vip.Vip{}).Where("id = ?", order.VipId).First(&vipInfo).Error
|
err = global.GVA_DB.Model(&vip.Vip{}).Where("id = ?", order.VipId).First(&vipInfo).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
global.GVA_LOG.Error("查询会员信息失败", zap.Error(err))
|
global.GVA_LOG.Error("查询会员信息失败", zap.Error(err))
|
||||||
return nil
|
return err
|
||||||
}
|
}
|
||||||
// 计算会员的过期时间
|
// 计算会员的过期时间
|
||||||
if user.VipExpireTime != "" {
|
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.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
|
err = global.GVA_DB.Save(&user).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
global.GVA_LOG.Error("更新用户会员状态失败", zap.Error(err))
|
global.GVA_LOG.Error("更新用户会员状态失败", zap.Error(err))
|
||||||
return nil
|
return err
|
||||||
}
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
// 讲师包月
|
// 讲师包月
|
||||||
if order.OrderType == 3 {
|
if order.OrderType == 3 {
|
||||||
@@ -223,13 +232,14 @@ func (s *OrderService) BalancePay(p request.BalancePay) error {
|
|||||||
return err
|
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
|
teacher.Balance = teacher.Balance + amount
|
||||||
err = global.GVA_DB.Save(&teacher).Error
|
err = global.GVA_DB.Save(&teacher).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
global.GVA_LOG.Error("更新讲师余额失败", zap.Error(err))
|
global.GVA_LOG.Error("更新讲师余额失败", zap.Error(err))
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
// 计算分成比例,按比例增加讲师余额
|
// 计算分成比例,按比例增加讲师余额
|
||||||
teacher := userM.User{}
|
teacher := userM.User{}
|
||||||
@@ -239,7 +249,7 @@ func (s *OrderService) BalancePay(p request.BalancePay) error {
|
|||||||
return err
|
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
|
teacher.Balance = teacher.Balance + amount
|
||||||
err = global.GVA_DB.Save(&teacher).Error
|
err = global.GVA_DB.Save(&teacher).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -219,7 +219,7 @@ func NotifyHandle(ctx *gin.Context) error {
|
|||||||
return err
|
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
|
teacher.Balance = teacher.Balance + amount
|
||||||
err = global.GVA_DB.Save(&teacher).Error
|
err = global.GVA_DB.Save(&teacher).Error
|
||||||
if err != nil {
|
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")
|
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
|
err = global.GVA_DB.Save(&userInfo).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
global.GVA_LOG.Error("更新用户会员状态失败", zap.Error(err))
|
global.GVA_LOG.Error("更新用户会员状态失败", zap.Error(err))
|
||||||
@@ -287,7 +296,7 @@ func NotifyHandle(ctx *gin.Context) error {
|
|||||||
return err
|
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
|
teacher.Balance = teacher.Balance + amount
|
||||||
err = global.GVA_DB.Save(&teacher).Error
|
err = global.GVA_DB.Save(&teacher).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user