订单亏损消息给门店负责人组发

This commit is contained in:
苏尹岚
2020-06-12 17:35:40 +08:00
parent 07593d2886
commit ccc6fbb0e2

View File

@@ -6,6 +6,10 @@ import (
"sync"
"time"
"git.rosy.net.cn/jx-callback/business/jxstore/cms"
"git.rosy.net.cn/jx-callback/business/authz"
"git.rosy.net.cn/jx-callback/business/authz/autils"
"git.rosy.net.cn/jx-callback/business/jxutils/ddmsg"
"git.rosy.net.cn/jx-callback/business/partner/purchase/jdshop"
@@ -1449,11 +1453,34 @@ func OrderProfitWarning(order *model.GoodsOrder) {
}
if profit < 0 {
operatorPhone, operatorName := getOrderOperatorInfo(order, storeDetail)
operatorRole := getOrderOperatorRoleInfo(order, storeDetail)
if operatorPhone != "" {
var (
roleList []*authz.RoleInfo
userIDs []string
flag = false
)
roleList = append(roleList, autils.NewRole(operatorRole, 0))
userIDMap, err := cms.GetRolesUserList(jxcontext.AdminCtx, roleList)
noticeMsg := fmt.Sprintf("利润 [%v],运营负责人:[%v]门店ID[%v]平台门店ID[%v],门店名:[%v],订单序号:[%v],订单号(点击进入详情)%v", profit, operatorName, order.StoreID, order.VendorStoreID, order.StoreName, order.OrderSeq, globals.BackstageHost+"/#/ordermanager/"+order.VendorOrderID)
user, err := dao.GetUserByID(db, "mobile", operatorPhone)
if user != nil && err == nil {
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, user.UserID, "警告此订单利润低于0", noticeMsg)
for _, v := range userIDMap {
for _, vv := range v {
userIDs = append(userIDs, vv)
}
}
for _, v := range userIDs {
if v == user.UserID {
flag = true
}
}
if !flag {
userIDs = append(userIDs, user.UserID)
}
for _, v := range userIDs {
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, v, "警告此订单利润低于0", noticeMsg)
}
}
}
}
@@ -1502,3 +1529,15 @@ func getOrderOperatorInfo(order *model.GoodsOrder, storeDetail *dao.StoreDetail)
}
return operatorPhone, operatorName
}
func getOrderOperatorRoleInfo(order *model.GoodsOrder, storeDetail *dao.StoreDetail) (roleName string) {
switch order.VendorID {
case model.VendorIDJD:
roleName = storeDetail.OperatorRole
case model.VendorIDMTWM:
roleName = storeDetail.OperatorRole2
case model.VendorIDEBAI:
roleName = storeDetail.OperatorRole3
}
return roleName
}