- test test miniprogram

- support WSC vendor order id
This commit is contained in:
gazebo
2019-01-21 16:16:11 +08:00
parent 35b39816b3
commit f096b1da8e
2 changed files with 33 additions and 10 deletions

View File

@@ -78,6 +78,8 @@ func SplitUniversalOrderID(universalOrderID string) (orderID string, vendorID in
vendorID = model.VendorIDEBAI
} else if orderIDLen == len("33437032333978492") {
vendorID = model.VendorIDMTWM
} else if orderIDLen == len("5287873015048") {
vendorID = model.VendorIDWSC
} else {
// globals.SugarLogger.Errorf("unkown order type:%v", universalOrderID)
panic(fmt.Sprintf("unkown order type:%v, orderIDLen:%d", universalOrderID, orderIDLen))

View File

@@ -22,6 +22,11 @@ const (
WX_TO_SHOW_COMMENTS_DETAIL_URL = "http://wx.jxc4.com/#/assess-list?jxStoreId=" //展示差评详情的页面
WX_TO_SHOW_MSG = "http://wx.jxc4.com/#/message-detail?msgID=%d&msgStatusID=%d"
WX_MINI_TO_ORDER_PAGE_URL = "pages/order-manager/main"
WX_MINI_TO_STORE_SKU_PAGE_URL = "pages/goods-manager/main"
WX_MINI_TO_SHOW_COMMENTS_DETAIL_URL = "pages/store-comment/main"
WX_MINI_TO_SHOW_MSG = ""
//新订单模板消息文字颜色
WX_NEW_ORDER_TEMPLATE_COLOR = "#173177"
WX_HIGHLEVEL_TEMPLATE_COLOR = "#FF0000" //红色
@@ -88,17 +93,17 @@ func GetWeixinOpenIDsFromStoreID(storeID int) (retVal []string) {
return retVal
}
func SendMsgToStore(storeID int, templateID, downloadURL string, data interface{}) (err error) {
globals.SugarLogger.Debugf("SendMsgToStore storeID:%d, templateID:%s, downloadURL:%s", storeID, templateID, downloadURL)
func SendMsgToStore(storeID int, templateID, downloadURL, miniPageURL string, data interface{}) (err error) {
globals.SugarLogger.Debugf("SendMsgToStore storeID:%d, templateID:%s, downloadURL:%s, miniPageURL:%s", storeID, templateID, downloadURL, miniPageURL)
if globals.ReallySendWeixinMsg {
if storeID == 0 { // 测试,只发给我
// api.WeixinAPI.MessageTemplateSend("oYN_ust9hXKEvEv0X6Mq6nlAWs_E", templateID, downloadURL, nil, data)
// SmartMessageTemplateSend("oYN_ust9hXKEvEv0X6Mq6nlAWs_E", templateID, downloadURL, miniPageURL, data)
} else {
openIDs := GetWeixinOpenIDsFromStoreID(storeID)
successCount := 0
for _, openID := range openIDs {
globals.SugarLogger.Debugf("SendMsgToStore storeID:%d, openID:%s, templateID:%s, downloadURL:%s", storeID, openID, templateID, downloadURL)
if err2 := api.WeixinAPI.MessageTemplateSend(openID, templateID, downloadURL, nil, data); err2 == nil {
if err2 := SmartMessageTemplateSend(openID, templateID, downloadURL, miniPageURL, data); err2 == nil {
successCount++
} else {
err = err2
@@ -115,6 +120,22 @@ func SendMsgToStore(storeID int, templateID, downloadURL string, data interface{
return err
}
func SmartMessageTemplateSend(userOpenID, templateID, downloadURL, miniPageURL string, data interface{}) (err error) {
const (
DebugOpenID = "oYN_usk0AeGc_C6VEZfmFQP5VHMQ"
)
if userOpenID == DebugOpenID && miniPageURL != "" {
if err2 := api.WeixinAPI.MessageTemplateSend(userOpenID, templateID, downloadURL, map[string]interface{}{
"appid": api.WeixinMiniAPI.GetAppID(),
"pagepath": miniPageURL,
}, data); err2 != nil {
globals.SugarLogger.Infof("SmartMessageTemplateSend failed with error:%v", err2)
}
}
err = api.WeixinAPI.MessageTemplateSend(userOpenID, templateID, downloadURL, nil, data)
return err
}
func NotifyNewOrder(order *model.GoodsOrder) (err error) {
globals.SugarLogger.Debugf("NotifyNewOrder orderID:%s", order.VendorOrderID)
if order.VendorID == model.VendorIDELM {
@@ -164,7 +185,7 @@ func NotifyNewOrder(order *model.GoodsOrder) (err error) {
},
}
storeID := jxutils.GetJxStoreIDFromOrder(order)
return SendMsgToStore(storeID, WX_NEWORDER_TEMPLATE_ID, fmt.Sprintf("%s%d", WX_TO_ORDER_PAGE_URL, storeID), data)
return SendMsgToStore(storeID, WX_NEWORDER_TEMPLATE_ID, fmt.Sprintf("%s%d", WX_TO_ORDER_PAGE_URL, storeID), WX_MINI_TO_ORDER_PAGE_URL, data)
}
func NotifyWaybillStatus(bill *model.Waybill, order *model.GoodsOrder, isBillAlreadyCandidate bool) error {
@@ -228,7 +249,7 @@ func NotifyWaybillStatus(bill *model.Waybill, order *model.GoodsOrder, isBillAlr
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
},
}
return SendMsgToStore(jxutils.GetJxStoreIDFromOrder(order), templateID, "", data)
return SendMsgToStore(jxutils.GetJxStoreIDFromOrder(order), templateID, "", "", data)
}
return nil
}
@@ -262,7 +283,7 @@ func PushJDBadCommentToWeiXin(comment *legacymodel.JxBadComments) (err error) {
},
}
storeID := int(utils.Str2Int64(comment.Jxstoreid))
return SendMsgToStore(storeID, WX_BAD_COMMENT_PUSH_TEMPLATE_ID, fmt.Sprintf("%s%d", WX_TO_SHOW_COMMENTS_DETAIL_URL, storeID), data)
return SendMsgToStore(storeID, WX_BAD_COMMENT_PUSH_TEMPLATE_ID, fmt.Sprintf("%s%d", WX_TO_SHOW_COMMENTS_DETAIL_URL, storeID), WX_MINI_TO_SHOW_COMMENTS_DETAIL_URL, data)
}
func NotifySaleBill(storeID int, title, fileURL string) (err error) {
@@ -289,7 +310,7 @@ func NotifySaleBill(storeID int, title, fileURL string) (err error) {
"value": "手机买菜上京西,极速到家送惊喜",
},
}
return SendMsgToStore(storeID, WX_SALE_BILL_TEMPLATE_ID, fileURL, data)
return SendMsgToStore(storeID, WX_SALE_BILL_TEMPLATE_ID, fileURL, "", data)
}
func NotifyStoreOpRequestStatus(isAccepted bool, storeID, nameID int, spuName string, originalUnitPrice, unitPrice int, rejectReason string) (err error) {
@@ -336,7 +357,7 @@ func NotifyStoreOpRequestStatus(isAccepted bool, storeID, nameID int, spuName st
},
}
}
return SendMsgToStore(storeID, templateID, fileURL, data)
return SendMsgToStore(storeID, templateID, fileURL, WX_MINI_TO_STORE_SKU_PAGE_URL, data)
}
func NotifyStoreMessage(storeID, msgID, msgStatusID int, title, content string) (err error) {
@@ -364,7 +385,7 @@ func NotifyStoreMessage(storeID, msgID, msgStatusID int, title, content string)
"value": "",
},
}
return SendMsgToStore(storeID, templateID, fileURL, data)
return SendMsgToStore(storeID, templateID, fileURL, WX_MINI_TO_SHOW_MSG, data)
}
func FormatDeliveryTime(order *model.GoodsOrder) string {