Merge remote-tracking branch 'origin/mark' into don
This commit is contained in:
@@ -356,7 +356,7 @@ func (s *DefScheduler) OnOrderStatusChanged(order *model.GoodsOrder, status *mod
|
|||||||
}
|
}
|
||||||
if !isPending {
|
if !isPending {
|
||||||
if status.Status == model.OrderStatusAgreeFailedGetGoods || status.Status == model.OrderStatusDeliverFailed {
|
if status.Status == model.OrderStatusAgreeFailedGetGoods || status.Status == model.OrderStatusDeliverFailed {
|
||||||
s.updateOrderByBill(order, nil, true)
|
s.updateOrderByBill(order, nil, status.Status != model.OrderStatusAgreeFailedGetGoods)
|
||||||
s.removeWaybillFromMap(savedOrderInfo, order.VendorID)
|
s.removeWaybillFromMap(savedOrderInfo, order.VendorID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,10 @@ const (
|
|||||||
|
|
||||||
type StoreExt struct {
|
type StoreExt struct {
|
||||||
model.Store
|
model.Store
|
||||||
|
|
||||||
|
MarketManName string `orm:"size(8)" json:"marketManName"` // 市场负责人姓名
|
||||||
|
OperatorName string `orm:"size(8)" json:"operatorName"` // 运营人姓名
|
||||||
|
|
||||||
FloatLng float64 `json:"lng"`
|
FloatLng float64 `json:"lng"`
|
||||||
FloatLat float64 `json:"lat"`
|
FloatLat float64 `json:"lat"`
|
||||||
|
|
||||||
@@ -151,7 +155,7 @@ func GetStores(ctx *jxcontext.Context, keyword string, params map[string]interfa
|
|||||||
t1.licence2_code,
|
t1.licence2_code,
|
||||||
t1.licence2_valid,
|
t1.licence2_valid,
|
||||||
t1.licence2_expire,
|
t1.licence2_expire,
|
||||||
t1.market_man_name,
|
IF(mm.name <> '', mm.name, mm.user_id2) market_man_name,
|
||||||
t1.market_man_phone,
|
t1.market_man_phone,
|
||||||
t1.jx_brand_fee_factor,
|
t1.jx_brand_fee_factor,
|
||||||
t1.market_add_fee_factor,
|
t1.market_add_fee_factor,
|
||||||
@@ -162,7 +166,7 @@ func GetStores(ctx *jxcontext.Context, keyword string, params map[string]interfa
|
|||||||
bank.value payee_bank_name,
|
bank.value payee_bank_name,
|
||||||
|
|
||||||
t1.pay_percentage,
|
t1.pay_percentage,
|
||||||
t1.operator_name,
|
IF(om.name <> '', om.name, om.user_id2) operator_name,
|
||||||
t1.operator_phone,
|
t1.operator_phone,
|
||||||
t1.printer_disabled,
|
t1.printer_disabled,
|
||||||
|
|
||||||
@@ -188,12 +192,16 @@ func GetStores(ctx *jxcontext.Context, keyword string, params map[string]interfa
|
|||||||
LEFT JOIN place district ON t1.district_code = district.code AND district.level = 3
|
LEFT JOIN place district ON t1.district_code = district.code AND district.level = 3
|
||||||
LEFT JOIN store_map m1 ON t1.id = m1.store_id AND m1.deleted_at = ?
|
LEFT JOIN store_map m1 ON t1.id = m1.store_id AND m1.deleted_at = ?
|
||||||
LEFT JOIN store_courier_map m2 ON t1.id = m2.store_id AND m2.deleted_at = ?
|
LEFT JOIN store_courier_map m2 ON t1.id = m2.store_id AND m2.deleted_at = ?
|
||||||
|
LEFT JOIN user mm ON mm.mobile <> '' AND mm.mobile = t1.market_man_phone AND mm.deleted_at = ?
|
||||||
|
LEFT JOIN user om ON om.mobile <> '' AND om.mobile = t1.operator_phone AND om.deleted_at = ?
|
||||||
`
|
`
|
||||||
sqlParams := []interface{}{
|
sqlParams := []interface{}{
|
||||||
utils.DefaultTimeValue,
|
utils.DefaultTimeValue,
|
||||||
model.ConfigTypeBank,
|
model.ConfigTypeBank,
|
||||||
utils.DefaultTimeValue,
|
utils.DefaultTimeValue,
|
||||||
utils.DefaultTimeValue,
|
utils.DefaultTimeValue,
|
||||||
|
utils.DefaultTimeValue,
|
||||||
|
utils.DefaultTimeValue,
|
||||||
}
|
}
|
||||||
sqlWhere := `
|
sqlWhere := `
|
||||||
WHERE t1.deleted_at = ?
|
WHERE t1.deleted_at = ?
|
||||||
@@ -1513,6 +1521,46 @@ func isVendorStoresStatusNotOk(storeMapList []*model.VendorStoreSnapshot) bool {
|
|||||||
return len(statusMap) > 1 && maxStatus == model.StoreStatusOpened
|
return len(statusMap) > 1 && maxStatus == model.StoreStatusOpened
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getAllUsers4Store(ctx *jxcontext.Context, db *dao.DaoDB, store *model.Store) (userList []*model.User) {
|
||||||
|
storeID := store.ID
|
||||||
|
var userIDs []string
|
||||||
|
userMap := make(map[string]int)
|
||||||
|
|
||||||
|
// 门店老板
|
||||||
|
if roleUserIDList, err := GetRoleUserList(ctx, autils.NewStoreBossRole(storeID)); err == nil && len(roleUserIDList) > 0 {
|
||||||
|
userIDs = append(userIDs, roleUserIDList...)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 全局相关角色(市场或运营)
|
||||||
|
for _, v := range []string{store.MarketManRole, store.OperatorRole, store.OperatorRole2} {
|
||||||
|
if v != "" {
|
||||||
|
if roleUserIDList, err := GetRoleUserList(ctx, autils.NewRole(v, 0)); err == nil && len(roleUserIDList) > 0 {
|
||||||
|
userIDs = append(userIDs, roleUserIDList...)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(userIDs) > 0 {
|
||||||
|
userList, _, _ = dao.GetUsers(db, 0, "", userIDs, "", "", 0, -1)
|
||||||
|
for _, v := range userList {
|
||||||
|
userMap[v.GetID()] = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 直接电话信息相关人员
|
||||||
|
for _, mobile := range []string{store.Tel1, store.Tel2, store.MarketManPhone, store.OperatorPhone} {
|
||||||
|
if mobile != "" {
|
||||||
|
if user, err2 := dao.GetUserByID(db, "mobile", mobile); err2 == nil {
|
||||||
|
if userMap[user.GetID()] == 0 {
|
||||||
|
userMap[user.GetID()] = 1
|
||||||
|
userList = append(userList, user)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return userList
|
||||||
|
}
|
||||||
|
|
||||||
func SendAlarmVendorSnapshot(ctx *jxcontext.Context, parentTask tasksch.ITask, prevSnapshotList, curSnapshotList []*model.VendorStoreSnapshot) (err error) {
|
func SendAlarmVendorSnapshot(ctx *jxcontext.Context, parentTask tasksch.ITask, prevSnapshotList, curSnapshotList []*model.VendorStoreSnapshot) (err error) {
|
||||||
if len(prevSnapshotList) == 0 {
|
if len(prevSnapshotList) == 0 {
|
||||||
return nil
|
return nil
|
||||||
@@ -1578,23 +1626,9 @@ func SendAlarmVendorSnapshot(ctx *jxcontext.Context, parentTask tasksch.ITask, p
|
|||||||
storeDetail, _ := dao.GetStoreDetail(db, storeID, list[0].VendorID)
|
storeDetail, _ := dao.GetStoreDetail(db, storeID, list[0].VendorID)
|
||||||
if storeDetail != nil {
|
if storeDetail != nil {
|
||||||
storeDetailMap[storeID] = storeDetail
|
storeDetailMap[storeID] = storeDetail
|
||||||
|
userList := getAllUsers4Store(ctx, db, &storeDetail.Store)
|
||||||
var userList []*model.User
|
|
||||||
if roleUserIDList, err := GetRoleUserList(ctx, autils.NewStoreBossRole(storeID)); err == nil && len(roleUserIDList) > 0 {
|
|
||||||
userList, _, _ = dao.GetUsers(db, 0, "", roleUserIDList, "", "", 0, -1)
|
|
||||||
}
|
|
||||||
for _, mobile := range []string{storeDetail.Tel1, storeDetail.Tel2, storeDetail.MarketManPhone, storeDetail.OperatorPhone} {
|
|
||||||
if mobile != "" {
|
|
||||||
if user, err2 := dao.GetUserByID(db, "mobile", mobile); err2 == nil {
|
|
||||||
userList = append(userList, user)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
processedUser := make(map[string]int)
|
|
||||||
for _, user := range userList {
|
for _, user := range userList {
|
||||||
userID := user.GetID()
|
userID := user.GetID()
|
||||||
if processedUser[userID] == 0 {
|
|
||||||
processedUser[userID] = 1
|
|
||||||
if userMap[userID] == nil {
|
if userMap[userID] == nil {
|
||||||
userMap[userID] = make(map[int]int)
|
userMap[userID] = make(map[int]int)
|
||||||
userMap2[userID] = user
|
userMap2[userID] = user
|
||||||
@@ -1606,7 +1640,6 @@ func SendAlarmVendorSnapshot(ctx *jxcontext.Context, parentTask tasksch.ITask, p
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
var userList []*model.User
|
var userList []*model.User
|
||||||
for _, user := range userMap2 {
|
for _, user := range userMap2 {
|
||||||
userList = append(userList, user)
|
userList = append(userList, user)
|
||||||
|
|||||||
@@ -31,9 +31,9 @@ func GetPlacesByCond(db *DaoDB, enableCond int) (placeList []*model.Place, err e
|
|||||||
FROM place
|
FROM place
|
||||||
WHERE level = 2
|
WHERE level = 2
|
||||||
`
|
`
|
||||||
if enableCond == 1 {
|
if enableCond == EnableCondEnalbed {
|
||||||
sql += " AND enabled = 1"
|
sql += " AND enabled = 1"
|
||||||
} else if enableCond == 2 {
|
} else if enableCond == EnableCondDisabled {
|
||||||
sql += " AND enabled = 0"
|
sql += " AND enabled = 0"
|
||||||
}
|
}
|
||||||
sql += " ORDER BY code"
|
sql += " ORDER BY code"
|
||||||
|
|||||||
@@ -285,9 +285,9 @@ type Store struct {
|
|||||||
Licence2Valid string `orm:"size(32)" json:"licence2Valid"` // 有效期开始
|
Licence2Valid string `orm:"size(32)" json:"licence2Valid"` // 有效期开始
|
||||||
Licence2Expire string `orm:"size(32)" json:"licence2Expire"` // 有效期结束
|
Licence2Expire string `orm:"size(32)" json:"licence2Expire"` // 有效期结束
|
||||||
|
|
||||||
MarketManName string `orm:"size(8)" json:"marketManName"` // 市场负责人姓名
|
// MarketManName string `orm:"size(8)" json:"marketManName"` // 市场负责人姓名
|
||||||
MarketManPhone string `orm:"size(16)" json:"marketManPhone"` // 市场负责人电话
|
MarketManPhone string `orm:"size(16)" json:"marketManPhone"` // 市场负责人电话
|
||||||
MarketManRole string `orm:"size(32)" json:"marketManRole"` // 市场负责人组(角色)
|
MarketManRole string `orm:"size(32)" json:"marketManRole"` // 市场负责人组(角色,单人)
|
||||||
|
|
||||||
JxBrandFeeFactor int `json:"jxBrandFeeFactor"` // 京西品牌费因子
|
JxBrandFeeFactor int `json:"jxBrandFeeFactor"` // 京西品牌费因子
|
||||||
MarketAddFeeFactor int `json:"marketAddFeeFactor"` // 市场附加费因子
|
MarketAddFeeFactor int `json:"marketAddFeeFactor"` // 市场附加费因子
|
||||||
@@ -298,7 +298,7 @@ type Store struct {
|
|||||||
PayeeBankCode string `orm:"size(8)" json:"payeeBankCode"` // 开户行代码
|
PayeeBankCode string `orm:"size(8)" json:"payeeBankCode"` // 开户行代码
|
||||||
PayPercentage int `json:"payPercentage"`
|
PayPercentage int `json:"payPercentage"`
|
||||||
|
|
||||||
OperatorName string `orm:"size(8)" json:"operatorName"` // 运营人姓名
|
// OperatorName string `orm:"size(8)" json:"operatorName"` // 运营人姓名
|
||||||
OperatorPhone string `orm:"size(16)" json:"operatorPhone"` // 运营人电话
|
OperatorPhone string `orm:"size(16)" json:"operatorPhone"` // 运营人电话
|
||||||
OperatorRole string `orm:"size(32)" json:"operatorRole"` // 京东运营人组(角色)
|
OperatorRole string `orm:"size(32)" json:"operatorRole"` // 京东运营人组(角色)
|
||||||
OperatorRole2 string `orm:"size(32)" json:"operatorRole2"` // 非京东运营人组(角色)
|
OperatorRole2 string `orm:"size(32)" json:"operatorRole2"` // 非京东运营人组(角色)
|
||||||
|
|||||||
Reference in New Issue
Block a user