|
|
@@ -173,8 +173,8 @@ func FindInviter(wxUser *user_model.WxUser) *user_model.WxUser {
|
|
|
|
|
|
func newSendInviterBenefit(wxUser *user_model.WxUser, orderId, source string) {
|
|
|
|
|
|
- //群主购物不再计算佣金
|
|
|
- if wxUser == nil || wxUser.ShowInviteMode == int64(1) && source == user_model.SOURCE_PRODUCT_BENEFIT {
|
|
|
+ //20.12.01 新规--(微信支付金额-运费)>0,按(微信支付金额-运费)*20%给上级代理返佣金(代理本人下订单,也是返给上级代理)
|
|
|
+ if wxUser == nil || source == user_model.SOURCE_PRODUCT_BENEFIT {
|
|
|
return
|
|
|
}
|
|
|
//会员购物给群主返佣
|
|
|
@@ -191,35 +191,26 @@ func newSendInviterBenefit(wxUser *user_model.WxUser, orderId, source string) {
|
|
|
}
|
|
|
|
|
|
if benefitWxUser != nil {
|
|
|
- //发放群主收益,群主代金券余额 > 大于订单实付金额-运费,则全额发放佣金,否则发放佣金
|
|
|
- count := int64(0)
|
|
|
- balance_total := balance_model.GetUserTotalBalance(benefitWxUser.Id)
|
|
|
- if balance_total >= productOrder.PaiedPrice-productOrder.Freight {
|
|
|
- count = productOrder.PaiedPrice - productOrder.Freight
|
|
|
- }
|
|
|
+ //发放群主收益,(微信支付金额-运费)>0,按(微信支付金额-运费)*20%给上级代理返佣金
|
|
|
+ be_total := float64(productOrder.PaiedPrice-productOrder.Freight) * float64(0.2)
|
|
|
+ count := int64(math.Floor(be_total + 0.5))
|
|
|
+
|
|
|
//beego.BeeLogger.Warn("count %d", count)
|
|
|
+ remark := fmt.Sprintf("%s%s", wxUser.Nickname, "购物")
|
|
|
if count > 0 {
|
|
|
- //先扣减群主代金券
|
|
|
- s := balance_model.BALANCE_FREND_BUY
|
|
|
- remark := fmt.Sprintf("%s%s", wxUser.Nickname, "购物")
|
|
|
- qb := new(balance_model.Balance).Create(benefitWxUser.Id, benefitWxUser.UserId, -count, s, productOrder.OrderId, remark)
|
|
|
- if qb != nil {
|
|
|
- //发放佣金
|
|
|
- inviteOrder := new(user_model.InviteOrder).Create(benefitWxUser.Id, wxUser.Id, wxUser.Id, count, productOrder.TotalPrice, user_model.SOURCE_PRODUCT_BENEFIT, productOrder.OrderId)
|
|
|
- s = balance_model.CASH_SOURCE_PRODUCT_BENEFIT
|
|
|
- cb := balance_model.GetCashBalanceByWxUIdAndRIdAndSource(benefitWxUser.Id, productOrder.OrderId, s)
|
|
|
- if cb == nil {
|
|
|
- cb = new(balance_model.CashBalance).Create(inviteOrder.BenefitWxUId, count, s, productOrder.OrderId, remark)
|
|
|
- if cb != nil {
|
|
|
- //标志进账
|
|
|
- inviteOrder.IsEnterBalance = true
|
|
|
- inviteOrder.EnterTime = cb.CreatedAt
|
|
|
- inviteOrder.Save()
|
|
|
- }
|
|
|
+ //发放佣金
|
|
|
+ inviteOrder := new(user_model.InviteOrder).Create(benefitWxUser.Id, wxUser.Id, wxUser.Id, count, productOrder.TotalPrice, user_model.SOURCE_PRODUCT_BENEFIT, productOrder.OrderId)
|
|
|
+ s := balance_model.CASH_SOURCE_PRODUCT_BENEFIT
|
|
|
+ cb := balance_model.GetCashBalanceByWxUIdAndRIdAndSource(benefitWxUser.Id, productOrder.OrderId, s)
|
|
|
+ if cb == nil {
|
|
|
+ cb = new(balance_model.CashBalance).Create(inviteOrder.BenefitWxUId, count, s, productOrder.OrderId, remark)
|
|
|
+ if cb != nil {
|
|
|
+ //标志进账
|
|
|
+ inviteOrder.IsEnterBalance = true
|
|
|
+ inviteOrder.EnterTime = cb.CreatedAt
|
|
|
+ inviteOrder.Save()
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
} else if source == user_model.BALANCE_BENEFIT {
|