diff --git a/business/jxcallback/orderman/getUserStore.go b/business/jxcallback/orderman/getUserStore.go new file mode 100644 index 000000000..1fc046dc6 --- /dev/null +++ b/business/jxcallback/orderman/getUserStore.go @@ -0,0 +1,50 @@ +package orderman + +import ( + "fmt" + "git.rosy.net.cn/jx-callback/business/auth2" + "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" + "git.rosy.net.cn/jx-callback/business/model" + "git.rosy.net.cn/jx-callback/business/model/dao" + "git.rosy.net.cn/jx-callback/globals/api2" +) + +// 获取用户门店权限 +func GetUserStoreByRole(ctx *jxcontext.Context) (storesInfo map[int]int, errCode string, err error) { + if !auth2.IsV2Token(ctx.GetToken()) { + return nil, model.ErrCodeTokenIsInvalid, model.ErrTokenIsInvalid + } + + mobile, userID := ctx.GetMobileAndUserID() + if mobile == "" { + return nil, "", fmt.Errorf("不能得到用户手机号") + } + var storeList []*dao.StoreWithCityName + + roleList, err := api2.RoleMan.GetUserRoleList(userID) + if err != nil { + return nil, model.ErrCodeTokenIsInvalid, model.ErrTokenIsInvalid + } + + var ( + storeIDs []int + shortRoleNameList []string + ) + for _, v := range roleList { + if v.StoreID == 0 { + shortRoleNameList = append(shortRoleNameList, v.Name) + } else { + storeIDs = append(storeIDs, v.StoreID) + } + } + + storeList, err = dao.GetStoreListByMobileOrStoreIDs(dao.GetDB(), mobile, shortRoleNameList, storeIDs) + if err == nil && len(storeList) > 0 { + mapDataList := make(map[int]int, len(storeList)) + for k, _ := range storeList { + mapDataList[k] = k + } + storesInfo = mapDataList + } + return storesInfo, "", err +} diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index b2cc97960..cadc74d12 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -8,7 +8,6 @@ import ( "strings" "time" - //"git.rosy.net.cn/jx-callback/business/jxstore/cms" "git.rosy.net.cn/jx-callback/business/jxstore/permission" beego "github.com/astaxie/beego/server/web" @@ -317,42 +316,36 @@ func (c *OrderManager) ExportMTWaybills(ctx *jxcontext.Context, fromDateStr, toD func (c *OrderManager) GetOrders(ctx *jxcontext.Context, isIncludeFake bool, fromDateStr, toDateStr string, isDateFinish bool, skuIDs []int, isJxFirst bool, params map[string]interface{}, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) { var db = dao.GetDB() //权限 - //if permission.IsRoled(ctx) { - // // 查询用户门店 - // configs, _ := dao.QueryConfigs(dao.GetDB(), "checkversion", model.ConfigTypeSys, "") - // storeIdInterface, _, err := cms.GetMyStoreListNew(ctx, configs[0].Value) - // if err != nil { - // return nil, err - // } - // fmt.Println(storeIdInterface) - // if storeIDsMap, err := permission.GetUserStoresResultMap(ctx.GetUserID()); err == nil { - // var storeIDs2 []int - // if params["storeIDs"] != nil { - // var storeIDs []int - // if err = utils.UnmarshalUseNumber([]byte(params["storeIDs"].(string)), &storeIDs); err == nil { - // for _, v := range storeIDs { - // if storeIDsMap[v] != 0 { - // storeIDs2 = append(storeIDs2, v) - // } - // } - // } - // if len(storeIDs2) == 0 { - // storeIDs2 = append(storeIDs2, -1) - // } - // } else { - // if len(storeIDsMap) > 0 { - // for k, _ := range storeIDsMap { - // storeIDs2 = append(storeIDs2, k) - // } - // } else { - // storeIDs2 = append(storeIDs2, -1) - // } - // } - // if data, err := json.Marshal(storeIDs2); err == nil { - // params["storeIDs"] = string(data) - // } - // } - //} + if permission.IsRoled(ctx) { + // 查询用户门店 + if storeIDsMap, _,err := GetUserStoreByRole(ctx); err == nil { + var storeIDs2 []int + if params["storeIDs"] != nil { + var storeIDs []int + if err = utils.UnmarshalUseNumber([]byte(params["storeIDs"].(string)), &storeIDs); err == nil { + for _, v := range storeIDs { + if storeIDsMap[v] != 0 { + storeIDs2 = append(storeIDs2, v) + } + } + } + if len(storeIDs2) == 0 { + storeIDs2 = append(storeIDs2, -1) + } + } else { + if len(storeIDsMap) > 0 { + for k, _ := range storeIDsMap { + storeIDs2 = append(storeIDs2, k) + } + } else { + storeIDs2 = append(storeIDs2, -1) + } + } + if data, err := json.Marshal(storeIDs2); err == nil { + params["storeIDs"] = string(data) + } + } + } //if isJxIncomeArea { // begin = utils.MustInterface2Int64(params["jxIncomeBegin"]) // end = utils.MustInterface2Int64(params["jxIncomeEnd"])