This commit is contained in:
richboo111
2023-05-05 14:48:54 +08:00
parent 2b7bfe4e5e
commit 82cd796b5c
11 changed files with 343 additions and 188 deletions

View File

@@ -3,10 +3,11 @@ package weixinmsg
import (
"encoding/json"
"fmt"
"git.rosy.net.cn/baseapi/platformapi/weixinapi"
"strings"
"time"
"git.rosy.net.cn/baseapi/platformapi/weixinapi"
beego "github.com/astaxie/beego/server/web"
"git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin"
@@ -48,6 +49,7 @@ const (
WX_TEMPLATE_VENDERCOLOR_ELM = "#0191EA" //蓝色
WX_TEMPLATE_VENDERCOLOR_BAD_COMMENTS = "#4F4DA0"
WX_NEWORDER_TEMPLATE_ID2 = "b8-tLyWwAmK-1tEU1eGqp_YAAqQtSzoVDZkHuyUe9lk" //微信新订单推送2
WX_NEWORDER_TEMPLATE_ID = "_DtNGwmOeR6TkkTVUblxLIlkV2MAPOX57TkvfdqG6nY" //微信新订单推送
WX_ADJUSTORDER_TEMPLATE_ID = "N5rmV2-PDf3opjkv23IdLc76VnFThr_uOKSh5FzT13M" //微信调整订单推送
WX_MTPS_DELIVERY_GRABDONE_TEMPLATE_ID = "h4dkON6AgnHz1XmaksEUB_8Bcir4V8MSexUhC149pPE" //微信美团配送员接单推送
@@ -197,6 +199,7 @@ func getOrderDetailBrief(order *model.GoodsOrder) (brief string) {
return sb.String()
}
//新订单推送模板2
func NotifyNewOrder(order *model.GoodsOrder) (err error) {
if order.VendorID == model.VendorIDELM {
return nil
@@ -210,49 +213,90 @@ func NotifyNewOrder(order *model.GoodsOrder) (err error) {
globals.SugarLogger.Infof("NotifyNewOrder orderID:%s is not solid", order.VendorOrderID)
return nil
}
suffix := ""
storeDetail, err := dao.GetStoreDetail(dao.GetDB(), jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, "")
if err == nil && storeDetail != nil {
suffix = storeDetail.CityName + "," + storeDetail.Name
}
sb := new(strings.Builder)
sb.WriteString(suffix + "老板,")
sb.WriteString(order.ConsigneeName)
sb.WriteString("购买了商品")
sb.WriteString(getOrderDetailBrief(order))
data := map[string]interface{}{
"first": map[string]interface{}{
"value": sb.String(),
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
},
"Day": map[string]interface{}{
"value": FormatDeliveryTime(order),
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
},
"orderId": map[string]interface{}{
"value": order.VendorOrderID,
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
},
"orderType": map[string]interface{}{
"value": fmt.Sprintf("%s 第%d号订单", model.VendorChineseNames[order.VendorID], order.OrderSeq),
"keyword1": map[string]interface{}{ //订单来源
"value": fmt.Sprintf("%s #%d", model.VendorChineseNames[order.VendorID], order.OrderSeq),
"color": VendorColors[order.VendorID],
},
"customerName": map[string]interface{}{
"value": order.ConsigneeName,
"keyword2": map[string]interface{}{ //商家信息
"value": storeDetail.Name,
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
},
"customerPhone": map[string]interface{}{
"value": order.ConsigneeMobile,
"keyword3": map[string]interface{}{ //顾客信息
"value": order.ConsigneeName + " " + order.ConsigneeMobile,
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
},
"keyword4": map[string]interface{}{ //下单时间及金额
"value": utils.Time2Str(order.CreatedAt) + "(¥" + utils.Int64ToStr(order.ActualPayPrice) + ")",
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
},
"keyword5": map[string]interface{}{ //配送时间
"value": order.ExpectedDeliveredTime,
"color": WX_NEW_ORDER_TEMPLATE_COLOR,
},
}
storeID := jxutils.GetSaleStoreIDFromOrder(order)
//return SendMsgToStore(storeID, WX_NEWORDER_TEMPLATE_ID, globals.WxBackstageHost+fmt.Sprintf("%s%d", WX_TO_ORDER_PAGE_URL, storeID), WX_MINI_TO_ORDER_PAGE_URL+fmt.Sprintf("?jxStoreId=%v", storeID), data)
//dataStore := fmt.Sprintf(`{"address":"%s","cityName":"%s","id":%d,"name":"%s","payeeName":"%s","status":%d,"tel1":"%s","tel2":"%s"}`, storeDetail.Address, storeDetail.CityName, storeDetail.ID, storeDetail.Name, storeDetail.PayeeName, storeDetail.Status, storeDetail.Tel1, storeDetail.Tel2)
//url := WX_MINI_TO_ORDER_PAGE_URL + fmt.Sprintf("?jxStoreId=%v&data=%v", storeID, dataStore)
return SendMsgToStore(storeID, WX_NEWORDER_TEMPLATE_ID, globals.WxBackstageHost+fmt.Sprintf("%s%d", WX_TO_ORDER_PAGE_URL, storeID), WX_MINI_TO_ORDER_PAGE_URL, data)
return SendMsgToStore(storeID, WX_NEWORDER_TEMPLATE_ID2, globals.WxBackstageHost+fmt.Sprintf("%s%d", WX_TO_ORDER_PAGE_URL, storeID), WX_MINI_TO_ORDER_PAGE_URL, data)
}
//func NotifyNewOrder(order *model.GoodsOrder) (err error) {
// if order.VendorID == model.VendorIDELM {
// return nil
// }
//
// if len(order.Skus) == 0 {
// return nil
// }
//
// if !model.IsOrderSolid(order) {
// globals.SugarLogger.Infof("NotifyNewOrder orderID:%s is not solid", order.VendorOrderID)
// return nil
// }
// suffix := ""
// storeDetail, err := dao.GetStoreDetail(dao.GetDB(), jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, "")
// if err == nil && storeDetail != nil {
// suffix = storeDetail.CityName + "," + storeDetail.Name
// }
// sb := new(strings.Builder)
// sb.WriteString(suffix + "老板,")
// sb.WriteString(order.ConsigneeName)
// sb.WriteString("购买了商品")
// sb.WriteString(getOrderDetailBrief(order))
// data := map[string]interface{}{
// "first": map[string]interface{}{
// "value": sb.String(),
// "color": WX_NEW_ORDER_TEMPLATE_COLOR,
// },
// "Day": map[string]interface{}{
// "value": FormatDeliveryTime(order),
// "color": WX_NEW_ORDER_TEMPLATE_COLOR,
// },
// "orderId": map[string]interface{}{
// "value": order.VendorOrderID,
// "color": WX_NEW_ORDER_TEMPLATE_COLOR,
// },
// "orderType": map[string]interface{}{
// "value": fmt.Sprintf("%s 第%d号订单", model.VendorChineseNames[order.VendorID], order.OrderSeq),
// "color": VendorColors[order.VendorID],
// },
// "customerName": map[string]interface{}{
// "value": order.ConsigneeName,
// "color": WX_NEW_ORDER_TEMPLATE_COLOR,
// },
// "customerPhone": map[string]interface{}{
// "value": order.ConsigneeMobile,
// "color": WX_NEW_ORDER_TEMPLATE_COLOR,
// },
// }
// storeID := jxutils.GetSaleStoreIDFromOrder(order)
// //return SendMsgToStore(storeID, WX_NEWORDER_TEMPLATE_ID, globals.WxBackstageHost+fmt.Sprintf("%s%d", WX_TO_ORDER_PAGE_URL, storeID), WX_MINI_TO_ORDER_PAGE_URL+fmt.Sprintf("?jxStoreId=%v", storeID), data)
// //dataStore := fmt.Sprintf(`{"address":"%s","cityName":"%s","id":%d,"name":"%s","payeeName":"%s","status":%d,"tel1":"%s","tel2":"%s"}`, storeDetail.Address, storeDetail.CityName, storeDetail.ID, storeDetail.Name, storeDetail.PayeeName, storeDetail.Status, storeDetail.Tel1, storeDetail.Tel2)
// //url := WX_MINI_TO_ORDER_PAGE_URL + fmt.Sprintf("?jxStoreId=%v&data=%v", storeID, dataStore)
// return SendMsgToStore(storeID, WX_NEWORDER_TEMPLATE_ID, globals.WxBackstageHost+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) (err error) {
if order.VendorID == model.VendorIDELM {
return nil