Просмотр исходного кода

增加店铺专区计算专区商品调整

abiao лет назад: 5
Родитель
Сommit
0484f66aeb

+ 5 - 0
go/gopath/src/fohow.com/apps/controllers/order_controller/order_controller.go

@@ -208,6 +208,11 @@ func (self *OrderController) MultShopCreate() {
 	if len(nums) <= 0 || len(ids) <= 0 {
 		self.ReturnError(403, apps.NoCart, "", nil)
 	}
+	//非群主店铺专区不能下单
+	wxUser := user_model.GetWxUserByUserId(uId, true)
+	if wxUser.Rank != int64(2) {
+		self.ReturnError(403, apps.OtherSNotAllow, "", nil)
+	}
 	totalPrice := int64(0)
 	//创建订单
 	order := new(order_model.Order).CreateNew(wxUId, uId,

+ 46 - 6
go/gopath/src/fohow.com/apps/controllers/pay_controller/after_pay_controller.go

@@ -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)
 	}
 
 	//发放赠品

+ 1 - 1
go/gopath/src/fohow.com/apps/controllers/pay_controller/pay_exchange_controller.go

@@ -62,7 +62,7 @@ func (self *PayController) payExchange(oId, payWay, tradPwd, returnUrl, source s
 	if len(order.PayWay) <= 0 {
 		SaleNumsMap := make(map[int64]int64)
 		//支付方式判断
-		if order.OrderType == order_model.ORDER_TYPE_SEKILL && payWay == pay_model.PAYWAY_BALANCE {
+		if (order.OrderType == order_model.ORDER_TYPE_SEKILL || order.OrderType == order_model.ORDER_TYPE_SHOP) && payWay == pay_model.PAYWAY_BALANCE {
 			self.ReturnError(403, apps.NotRightPayWay, "", nil)
 		}
 		//获取购物商品明细

+ 1 - 0
go/gopath/src/fohow.com/apps/init.go

@@ -27,6 +27,7 @@ const (
 
 var (
 	// 共用
+	OtherSNotAllow        = []string{"othersNotAllow", "非店长无法在专区下单!"}
 	AlreadyShop           = []string{"alreadyShop", "您已经是店主,请勿重复申请"}
 	ShopNoRepit           = []string{"shopNoRepit", "请勿重复申请"}
 	NoCart                = []string{"noCart", "请选择您需要结算的产品"}

+ 7 - 5
go/gopath/src/fohow.com/apps/models/order_model/order.go

@@ -46,11 +46,13 @@ const (
 	ORDER_TYPE_SEKILL = int64(1)
 	ORDER_TYPE_SHOP   = int64(2)
 
-	FREIGHT_LIMIT   = int64(9900)
-	FREIGHT         = int64(500)
-	PROMOTION_TOTAL = int64(9900)
-	SEND_PRODUCT_ID = int64(77)
-	ZT_PASSWORD     = "pQtIjP"
+	FREIGHT_LIMIT    = int64(9900)
+	FREIGHT          = int64(500)
+	PROMOTION_TOTAL  = int64(9900)
+	SEND_PRODUCT_ID  = int64(77)
+	SHOP_BENETFIT_BL = float64(0.08)
+
+	ZT_PASSWORD = "pQtIjP"
 )
 
 var STATUS_CN_TEXT = map[string]string{