This commit is contained in:
邹宗楠
2024-10-21 11:01:40 +08:00
parent 38d91b461c
commit 98f1e1a353
5 changed files with 235 additions and 158 deletions

View File

@@ -506,6 +506,15 @@ func (c *OrderController) GetStoresOrderSaleInfo() {
// @router /StaleIndexInfo [get]
func (c *OrderController) StaleIndexInfo() {
c.callStaleIndexInfo(func(params *tOrderStaleIndexInfoParams) (retVal interface{}, code string, err error) {
var (
storeList []*dao.StoreWithCityName
dataList = make([]int, 0, len(storeList))
mapDataList = make(map[int]int, len(storeList))
isAdmin = false
vendors []int
brandIds []int
)
timeList, err := jxutils.BatchStr2Time(params.FromTime, params.ToTime)
if err != nil {
return nil, "", err
@@ -520,26 +529,33 @@ func (c *OrderController) StaleIndexInfo() {
return nil, "", fmt.Errorf("不能得到用户手机号,%s,%s", userID, mobile)
}
var storeList []*dao.StoreWithCityName
dataList := make([]int, 0, len(storeList))
mapDataList := make(map[int]int, len(storeList))
if storeList, err = cms.GetStoreList4User(ctx, mobile, userID); err == nil && len(storeList) > 0 {
// todo应该用通用方法
for _, v := range storeList {
dataList = append(dataList, v.Store.ID)
mapDataList[v.Store.ID] = model.YES
userRoles, err := dao.GetUserRole(dao.GetDB(), []string{userID}, nil)
if err != nil {
return nil, "", err
}
for _, role := range userRoles {
if role.RoleID == model.YES {
isAdmin = true
break
}
}
if params.StoreID != 0 && mapDataList[params.StoreID] != model.YES {
return retVal, "", fmt.Errorf("此门店%d,不归属于该用户%s", params.StoreID, ctx.GetUserName())
if !isAdmin {
if storeList, err = cms.GetStoreList4User(ctx, mobile, userID); err == nil && len(storeList) > 0 {
for _, v := range storeList {
dataList = append(dataList, v.Store.ID)
mapDataList[v.Store.ID] = model.YES
}
}
if params.StoreID != 0 && mapDataList[params.StoreID] != model.YES {
return retVal, "", fmt.Errorf("此门店%d,不归属于该用户%s", params.StoreID, ctx.GetUserName())
}
}
var vendors []int
var brandIds []int
if err := jxutils.Strings2Objs(params.VendorIds, &vendors, params.BrandIds, &brandIds); err != nil {
return retVal, "", err
}
retVal, err = orderman.FixedOrderManager.GetStoresOrderSaleInfo2(params.Ctx, timeList[0], timeList[1], params.StoreID, brandIds, vendors, dataList, mapDataList)
retVal, err = orderman.FixedOrderManager.GetStoresOrderSaleInfo2(params.Ctx, timeList[0], timeList[1], params.StoreID, brandIds, vendors, dataList)
return retVal, "", err
})
}