|
|
@@ -8,6 +8,7 @@ import (
|
|
|
|
|
|
"fohow.com/apps"
|
|
|
"fohow.com/apps/helpers"
|
|
|
+ "math"
|
|
|
|
|
|
// "fohow.com/apps/models/balance_model"
|
|
|
// "fohow.com/apps/models/project_join_model"
|
|
|
@@ -143,6 +144,7 @@ func UpdateIntroUser(wxUser *user_model.WxUser) {
|
|
|
}
|
|
|
//升级群主,打开推广模块
|
|
|
wxUser.ShowInviteMode = int64(1)
|
|
|
+ wxUser.Rank = int64(1)
|
|
|
wxUser.Save()
|
|
|
//更改下级群主关系
|
|
|
inviteList := user_model.GetWxUsersByInviteIdAll(wxUser.Id, false)
|
|
|
@@ -162,16 +164,13 @@ func FindInviter(wxUser *user_model.WxUser) *user_model.WxUser {
|
|
|
}
|
|
|
|
|
|
func newSendInviterBenefit(wxUser *user_model.WxUser, orderId, source string) {
|
|
|
- if wxUser == nil {
|
|
|
- return
|
|
|
- }
|
|
|
- var benefitWxUser *user_model.WxUser
|
|
|
+
|
|
|
//群主购物不再计算佣金
|
|
|
- if wxUser.ShowInviteMode == int64(1) && source == user_model.SOURCE_PRODUCT_BENEFIT {
|
|
|
+ if wxUser == nil || wxUser.ShowInviteMode == int64(1) && source == user_model.SOURCE_PRODUCT_BENEFIT {
|
|
|
return
|
|
|
}
|
|
|
//会员购物给群主返佣
|
|
|
- benefitWxUser = FindInviter(wxUser)
|
|
|
+ benefitWxUser := FindInviter(wxUser)
|
|
|
if benefitWxUser == nil || benefitWxUser.Id == int64(1) {
|
|
|
return
|
|
|
}
|
|
|
@@ -247,6 +246,45 @@ func newSendInviterBenefit(wxUser *user_model.WxUser, orderId, source string) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+func shopSendInviterBenefit(wxUser *user_model.WxUser, orderId, source string) {
|
|
|
+
|
|
|
+ //非群主店铺专区不能下单
|
|
|
+ if wxUser == nil || wxUser.Rank != int64(2) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //店长购物给上级返佣8%
|
|
|
+ benefitWxUser := FindInviter(wxUser)
|
|
|
+ if benefitWxUser == nil || benefitWxUser.Id == int64(1) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ beego.BeeLogger.Warn("shop_benefitWxUser: %s", benefitWxUser)
|
|
|
+ beego.BeeLogger.Warn("shop_newSendInviterBenefit:%v,%v,%s", wxUser, benefitWxUser, orderId)
|
|
|
+ if source == user_model.SOURCE_PRODUCT_BENEFIT {
|
|
|
+ productOrder := order_model.GetOrderById(orderId)
|
|
|
+ if productOrder == nil || productOrder.OrderType != order_model.ORDER_TYPE_SHOP {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if benefitWxUser != nil {
|
|
|
+ //不扣代金券,只计算8%佣金
|
|
|
+ count := int64(math.Floor(float64(productOrder.TotalPrice) * order_model.SHOP_BENETFIT_BL))
|
|
|
+ remark := fmt.Sprintf("%s%s", wxUser.Nickname, "店铺专区购物")
|
|
|
+ //发放佣金
|
|
|
+ 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()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
//微信购买商品
|
|
|
func (self *PayController) wxPayExchangeAsync() {
|
|
|
var notifyResponse = map[string]string{
|
|
|
@@ -304,6 +342,8 @@ func (self *PayController) wxPayExchangeAsync() {
|
|
|
wxUser := user_model.GetWxUserById(order.WxUserId, true)
|
|
|
if order.OrderType == order_model.ORDER_TYPE_NORMAL {
|
|
|
go newSendInviterBenefit(wxUser, order.OrderId, user_model.SOURCE_PRODUCT_BENEFIT)
|
|
|
+ } else if order.OrderType == order_model.ORDER_TYPE_SHOP {
|
|
|
+ go shopSendInviterBenefit(wxUser, order.OrderId, user_model.SOURCE_PRODUCT_BENEFIT)
|
|
|
}
|
|
|
|
|
|
//发放赠品
|