Selaa lähdekoodia

add balance ,shop promotion

abiao 4 vuotta sitten
vanhempi
commit
379da6c253

+ 3 - 0
go/gopath/src/fohow.com/apps/controllers/pay_controller/after_pay_controller.go

@@ -189,6 +189,9 @@ func (self *PayController) wxPayExchangeAsync() {
 	lib_redis.ThrowOutRedisList(cancelKey, order.OrderId)
 	//更新商品售量
 	go UpdatePdSaleNums(order)
+	//赠品写入订单
+	go helpers.PresentTransferToOrder(order.OrderId, order.WxUserId)
+
 	notifyResponse["return_code"] = wx_mp.PAY_SUCCESS
 	//beego.BeeLogger.Warn("商品购买微信支付回调通知,订单编号=%s  订单状态=%s", order.OrderId, order.Status)
 	self.Ctx.WriteString(wx_mp.MapToXmlString(notifyResponse))

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

@@ -172,6 +172,8 @@ func (self *PayController) payExchange(oId, payWay, tradPwd, returnUrl, source,
 			lib_redis.ThrowOutRedisList(cancelKey, order.OrderId)
 			//更新已售数量
 			go order_model.UpdateSaleNums(SaleNumsMap)
+			//赠品写入订单
+			go helpers.PresentTransferToOrder(order.OrderId, wxUId)
 			//go CreateOrderNotify(order, product)
 			//wxUser := user_model.GetWxUserById(order.WxUserId, true)
 			//go sendInviterBenefit(wxUser, order.OrderId, user_model.SOURCE_PRODUCT_BENEFIT)

+ 24 - 0
go/gopath/src/fohow.com/apps/helpers/promotion_helper.go

@@ -434,3 +434,27 @@ func ShopOrderPromotion(shopApplyId, wxUid, depart int64) {
 		}
 	}
 }
+
+//赠品明细写入订单
+func PresentTransferToOrder(orderId string, wxUid int64) {
+	beego.BeeLogger.Warn("******* PresentTransferToOrder shopApplyId:%s wxUid:%d", orderId, wxUid)
+	//获取订单明细
+	order := order_model.GetOrderById(orderId, false)
+	if order == nil {
+		return
+	}
+	// 获取所有未写入赠品记录
+	presents := promotion_model.GetAllNoPatchPresents(wxUid)
+	for _, item := range presents {
+		item.OrderId = orderId
+		item.Status = true
+		item.Save()
+		//赠送赠品
+		product := product_model.GetProductById(item.SendProd, true)
+		if product != nil {
+			order_model.SendCreate(order.OrderId, order.Id, product.Id, product.Price, product.Price, product.Name, item.SendNums, order.Depart)
+		}
+	}
+	beego.BeeLogger.Warn("******* End PresentTransferToOrder shopApplyId:%s wxUid:%d", orderId, wxUid)
+
+}

+ 14 - 0
go/gopath/src/fohow.com/apps/models/promotion_model/present.go

@@ -61,3 +61,17 @@ func (self *Present) Save() error {
 	}
 	return nil
 }
+
+//获取所有未写入订单赠品
+func GetAllNoPatchPresents(wxUId int64) (presents []*Present) {
+	present := new(Present)
+	qs := orm.NewOrm().QueryTable(present)
+	qs = qs.Filter("wx_user_id", wxUId)
+	qs = qs.Filter("status", false)
+
+	if _, err := qs.OrderBy("-created_at").All(&presents); err != nil {
+		beego.BeeLogger.Debug("GetAllNoPatchPresents,  wxUId=[%d] order list err=[%s]", wxUId, err)
+		return nil
+	}
+	return presents
+}