diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 05a191a65..ab88ab3eb 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -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 +}