Merge remote-tracking branch 'origin/mark' into su

This commit is contained in:
苏尹岚
2019-10-31 14:57:51 +08:00
2 changed files with 16 additions and 4 deletions

View File

@@ -13,8 +13,8 @@ import (
) )
const ( const (
minCSOrderPayment = 0 // 供货订单的最小金额 minCSOrderPayment = 0 // 供货订单的最小金额(单位为元)
maxUnitPrice = 3000 // 为防止误填单价,限制单价最高 maxUnitPrice = 3000 // 为防止误填单价,限制单价最高(单位为分)
) )
func OnCallbackMsg(msg *weimobapi.CallbackMsg) (response *weimobapi.CallbackResponse) { func OnCallbackMsg(msg *weimobapi.CallbackMsg) (response *weimobapi.CallbackResponse) {
@@ -26,23 +26,29 @@ func OnCallbackMsg(msg *weimobapi.CallbackMsg) (response *weimobapi.CallbackResp
} }
func onOrderMsg(msg *weimobapi.CallbackMsg) (response *weimobapi.CallbackResponse) { func onOrderMsg(msg *weimobapi.CallbackMsg) (response *weimobapi.CallbackResponse) {
globals.SugarLogger.Debugf("onOrderMsg:%s", utils.Format4Output(msg, true))
if msg.Event == weimobapi.MsgEventOrderStatusChange { if msg.Event == weimobapi.MsgEventOrderStatusChange {
if orderDetail, err := api.WeimobAPI.QueryOrderDetail2(msg.OrderNo, false); err == nil { if orderDetail, err := api.WeimobAPI.QueryOrderDetail2(msg.OrderNo, false); err == nil {
if orderDetail.OrderStatus == weimobapi.OrderStatusFinished && orderDetail.PaymentAmount >= minCSOrderPayment { if orderDetail.OrderStatus == weimobapi.OrderStatusFinished && orderDetail.PaymentAmount >= minCSOrderPayment {
changeStoreSkusByOrder(orderDetail) changeStoreSkusByOrder(orderDetail)
} }
} else {
globals.SugarLogger.Debugf("onOrderMsg order:%s failed with err:%v", msg.OrderNo, err)
response = weimobapi.Err2CallbackResponse(err, "")
} }
} }
return response return response
} }
func changeStoreSkusByOrder(order *weimobapi.OrderDetail) { func changeStoreSkusByOrder(order *weimobapi.OrderDetail) {
globals.SugarLogger.Debugf("changeStoreSkusByOrder order:%s", utils.Format4Output(order, true))
receiverMobile := order.DeliveryDetail.LogisticsDeliveryDetail.ReceiverMobile receiverMobile := order.DeliveryDetail.LogisticsDeliveryDetail.ReceiverMobile
storeList, err := dao.GetStoreList(dao.GetDB(), nil, []string{receiverMobile}, "") storeList, err := dao.GetStoreList(dao.GetDB(), nil, []string{receiverMobile}, "")
if err != nil { if err != nil {
if len(storeList) == 1 { if len(storeList) == 1 {
var skuBindInfos []*cms.StoreSkuBindInfo var skuBindInfos []*cms.StoreSkuBindInfo
storeID := storeList[0].ID storeID := storeList[0].ID
globals.SugarLogger.Debugf("changeStoreSkusByOrder storeID:%d", storeID)
for _, v := range order.ItemList { for _, v := range order.ItemList {
nameID := int(utils.Str2Int64WithDefault(v.SkuCode, 0)) nameID := int(utils.Str2Int64WithDefault(v.SkuCode, 0))
unitPrice := v.OriginalPrice unitPrice := v.OriginalPrice
@@ -60,9 +66,13 @@ func changeStoreSkusByOrder(order *weimobapi.OrderDetail) {
} }
if len(skuBindInfos) > 0 { if len(skuBindInfos) > 0 {
cms.UpdateStoreSkus(jxcontext.NewWithUserName(nil, utils.LimitStringLen(utils.Int64ToStr(order.OrderNo), 32), nil, nil), storeID, skuBindInfos, true, true) cms.UpdateStoreSkus(jxcontext.NewWithUserName(nil, utils.LimitStringLen(utils.Int64ToStr(order.OrderNo), 32), nil, nil), storeID, skuBindInfos, true, true)
} else {
globals.SugarLogger.Debugf("changeStoreSkusByOrder storeID:%d is empty", storeID)
} }
} else { } else {
globals.SugarLogger.Infof("[运营],微商城订单:%s手机:%s找不到唯一一个京西门店%d", order.OrderNo, receiverMobile, len(storeList)) globals.SugarLogger.Infof("[运营],微商城订单:%s手机:%s找不到唯一一个京西门店%d", order.OrderNo, receiverMobile, len(storeList))
} }
} else {
globals.SugarLogger.Warnf("changeStoreSkusByOrder receiverMobile:%s failed with err:%v", receiverMobile, err)
} }
} }

View File

@@ -2,8 +2,8 @@ package controllers
import ( import (
"git.rosy.net.cn/baseapi/platformapi/weimobapi" "git.rosy.net.cn/baseapi/platformapi/weimobapi"
"git.rosy.net.cn/jx-callback/business/jxutils/tasks"
"git.rosy.net.cn/jx-callback/business/cs" "git.rosy.net.cn/jx-callback/business/cs"
"git.rosy.net.cn/jx-callback/business/jxutils/tasks"
"git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api" "git.rosy.net.cn/jx-callback/globals/api"
"github.com/astaxie/beego" "github.com/astaxie/beego"
@@ -15,12 +15,14 @@ type WeimobController struct {
func (c *WeimobController) onCallbackMsg() { func (c *WeimobController) onCallbackMsg() {
if true { //c.Ctx.Input.Method() == http.MethodPost { if true { //c.Ctx.Input.Method() == http.MethodPost {
callbackResponse := weimobapi.SuccessResponse
msg, callbackResponse := api.WeimobAPI.GetCallbackMsg(c.Ctx.Input.RequestBody) msg, callbackResponse := api.WeimobAPI.GetCallbackMsg(c.Ctx.Input.RequestBody)
if callbackResponse == nil { if callbackResponse == nil {
// callbackResponse = wsc.OnCallbackMsg(msg) // callbackResponse = wsc.OnCallbackMsg(msg)
callbackResponse = cs.OnCallbackMsg(msg) callbackResponse = cs.OnCallbackMsg(msg)
} }
if callbackResponse == nil {
callbackResponse = weimobapi.SuccessResponse
}
c.Data["json"] = callbackResponse c.Data["json"] = callbackResponse
c.ServeJSON() c.ServeJSON()
} else { } else {