- fix weixin push msg bug.

- handle jd out-of-order msg.
This commit is contained in:
gazebo
2018-07-20 23:22:31 +08:00
parent 6f0d27e54d
commit 65eeef9966
6 changed files with 97 additions and 65 deletions

View File

@@ -35,6 +35,14 @@ const (
WX_DADA_DELIVERY_DONE_TEMPLATE_ID = "YXdCrQAHZlcZX1htYUiarrLmtkmKAjp7rynjwObgODo" //微信达达众包配送员配送完成推送
)
var (
venderColors = map[int]string{
model.VendorIDJD: WX_TEMPLATE_VENDERCOLOR_JDDJ,
model.VendorIDMTWM: WX_TEMPLATE_VENDERCOLOR_MT,
model.VendorIDELM: WX_TEMPLATE_VENDERCOLOR_ELM,
}
)
func GetWeixinOpenIDsFromStoreID(storeID int) (retVal []string) {
db := orm.NewOrm()
var lists []orm.ParamsList
@@ -60,7 +68,7 @@ func GetWeixinOpenIDsFromStoreID(storeID int) (retVal []string) {
}
// todo调试只发给我
globals.SugarLogger.Debugf("GetWeixinOpenIDsFromStoreID store:%d, openids:%v", storeID, retVal)
if storeID%3 == 0 { //} storeID == 100146 {
if storeID == 100146 {
retVal = []string{"oYN_ust9hXKEvEv0X6Mq6nlAWs_E"}
} else {
retVal = []string{}
@@ -86,7 +94,7 @@ func SendMsgToStore(storeID int, templateID, downloadURL string, data interface{
func NotifyNewOrder(order *model.GoodsOrder) (err error) {
sb := new(strings.Builder)
sb.WriteString("老板")
sb.WriteString("老板")
sb.WriteString(order.ConsigneeName)
sb.WriteString("购买了商品")
sb.WriteString(order.Skus[0].SkuName)
@@ -102,7 +110,7 @@ func NotifyNewOrder(order *model.GoodsOrder) (err error) {
"value": sb.String(),
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
},
"day": map[string]interface{}{
"Day": map[string]interface{}{
"value": FormatDeliveryTime(order),
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
},
@@ -111,8 +119,8 @@ func NotifyNewOrder(order *model.GoodsOrder) (err error) {
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
},
"orderType": map[string]interface{}{
"value": fmt.Sprintf("%s第%d号订单", model.VendorChineseNames[order.VendorID], order.OrderSeq),
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
"value": fmt.Sprintf("%s 第%d号订单", model.VendorChineseNames[order.VendorID], order.OrderSeq),
"color": venderColors[order.VendorID],
},
"customerName": map[string]interface{}{
"value": order.ConsigneeName,
@@ -186,5 +194,5 @@ func FormatDeliveryTime(order *model.GoodsOrder) string {
left := tmpTime.Sub(time.Now()) / time.Minute
leftHours := left / 60
leftMinutes := left % 60
return fmt.Sprintf("请于%s前送达剩余时间%d小时%d分钟", utils.Time2Str(tmpTime), leftHours, leftMinutes)
return fmt.Sprintf("请于%s前送达剩余时间%d小时%d分钟", utils.Time2Str(tmpTime), leftHours, leftMinutes)
}