Commit f09fe87d by guojx

Merge branch 'feature-2024-11-05-add-store-status-filter' into 'master'

Feature 2024 11 05 add store status filter

See merge request !2292
parents 897a1469 4b92dc1a
...@@ -235,6 +235,29 @@ public interface StaffApiService { ...@@ -235,6 +235,29 @@ public interface StaffApiService {
*/ */
List<String> getHaoBanStoreIdsRolesByClerkId(String clerkId, String wxEnterpriseId); List<String> getHaoBanStoreIdsRolesByClerkId(String clerkId, String wxEnterpriseId);
/**
* 导购gic门店和好办企业门店交集
*
* 当管理员是所有门店权限的时候:返回为空
* @param clerkId
* @param wxEnterpriseId
* @param storeStatusList 可以为空,为空则查询全部。门店状态筛选: 状态(0:无效,2:上线,3:未上线,-3:回收站 , 4占坑 ,6:停业整顿),7待上线
* @param addUnassignedStore 当符合条件时,是否需要无归属门店Id -1 的数据,如果需要,则添加到返回集合中。默认不需要。
* @return
*/
List<String> getHaobanStoreIdsRolesByClerkIdAndStoreStatus(String clerkId, String wxEnterpriseId, List<String> storeStatusList, Boolean addUnassignedStore);
/**
* 导购gic门店和好办企业门店交集(比返回门店Id)
* 当管理员是所有门店权限的时候返回所有门店id
* @param clerkId
* @param wxEnterpriseId
* @param storeStatusList 可以为空,为空则查询全部。门店状态筛选: 状态(0:无效,2:上线,3:未上线,-3:回收站 , 4占坑 ,6:停业整顿),7待上线
* @param addUnassignedStore 当符合条件时,是否需要无归属门店Id -1 的数据,如果需要,则添加到返回集合中。默认不需要。
* @return
*/
List<String> getNotEmptyHaobanStoreIdsRolesByClerkIdAndStoreStatus(String clerkId, String wxEnterpriseId, List<String> storeStatusList, Boolean addUnassignedStore);
List<String> isGicSuper(String clerkId , String wxEnterpriseId) ; List<String> isGicSuper(String clerkId , String wxEnterpriseId) ;
......
...@@ -900,6 +900,67 @@ public class StaffApiServiceImpl implements StaffApiService { ...@@ -900,6 +900,67 @@ public class StaffApiServiceImpl implements StaffApiService {
return gicStoreIds; return gicStoreIds;
} }
@Override
public List<String> getHaobanStoreIdsRolesByClerkIdAndStoreStatus(String clerkId, String wxEnterpriseId, List<String> storeStatusList, Boolean addUnassignedStore) {
return getHaobanStoreIdsRolesByClerkIdAndStoreStatusCommon(clerkId, wxEnterpriseId, storeStatusList, false, addUnassignedStore);
}
@Override
public List<String> getNotEmptyHaobanStoreIdsRolesByClerkIdAndStoreStatus(String clerkId, String wxEnterpriseId, List<String> storeStatusList, Boolean addUnassignedStore) {
return getHaobanStoreIdsRolesByClerkIdAndStoreStatusCommon(clerkId, wxEnterpriseId, storeStatusList, true, addUnassignedStore);
}
private List<String> getHaobanStoreIdsRolesByClerkIdAndStoreStatusCommon(String clerkId, String wxEnterpriseId, List<String> storeStatusList,
boolean isMustReturnStoreIdWhenSuperAdmin, Boolean addUnassignedStore) {
if (addUnassignedStore == null) {
addUnassignedStore = false;
}
List<String> storeIds = getHaoBanStoreIdsRolesByClerkId(clerkId, wxEnterpriseId);
if (CollectionUtils.isEmpty(storeIds)) {
//无权限
return Collections.singletonList("no_store");
}
boolean hasStoreStatusFilter = CollectionUtils.isNotEmpty(storeStatusList);
boolean isSuperAdminStore = storeIds.size() == 1 && StringUtils.equals(storeIds.get(0), "-1");
//当有门店状态筛选或者是超管且强制返回门店Id,需要去调用门店接口
boolean needQueryStore = hasStoreStatusFilter || (isSuperAdminStore && isMustReturnStoreIdWhenSuperAdmin);
if (isSuperAdminStore) {
//所有权限
if (!needQueryStore) {
return Collections.emptyList();
}
}
if (!needQueryStore) {
return storeIds;
}
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
StoreSearchDTO storeSearchDTO = new StoreSearchDTO() ;
storeSearchDTO.setEnterpriseId(clerkDTO.getEnterpriseId());
if (isSuperAdminStore) {
storeSearchDTO.setStatusIn("-3");
}
if (!isSuperAdminStore) {
storeSearchDTO.setAuthStoreIdList(storeIds);
}
if (CollectionUtils.isNotEmpty(storeStatusList)) {
storeSearchDTO.setStatusAnyIn(storeStatusList);
}
List<String> resultList = storeService.listStoreIds(storeSearchDTO);
if (CollectionUtils.isEmpty(resultList)) {
return Collections.singletonList("no_store");
}
if (addUnassignedStore && isSuperAdminStore) {
if (!hasStoreStatusFilter || storeStatusList.contains("2")) {
//所有门店权限,且选择了上线门店状态,则添加无归属门店id
resultList.add("-1");
}
}
return resultList;
}
@Override @Override
public List<String> getHaoBanStoreIdsRolesByClerkId(String clerkId, String wxEnterpriseId) { public List<String> getHaoBanStoreIdsRolesByClerkId(String clerkId, String wxEnterpriseId) {
logger.info("查询导购权限,clerkId={},wxEnterpriseId={}", clerkId, wxEnterpriseId); logger.info("查询导购权限,clerkId={},wxEnterpriseId={}", clerkId, wxEnterpriseId);
......
...@@ -13,6 +13,7 @@ import com.gic.haoban.manage.web.qo.wechatwork.WechatWorkOverviewTrendQO; ...@@ -13,6 +13,7 @@ import com.gic.haoban.manage.web.qo.wechatwork.WechatWorkOverviewTrendQO;
import com.gic.haoban.manage.web.utils.AuthorizedUserUtils; import com.gic.haoban.manage.web.utils.AuthorizedUserUtils;
import com.gic.haoban.manage.web.utils.data.DataApiQO; import com.gic.haoban.manage.web.utils.data.DataApiQO;
import com.gic.haoban.manage.web.utils.data.StoreAuthUtils; import com.gic.haoban.manage.web.utils.data.StoreAuthUtils;
import com.gic.haoban.manage.web.utils.data.StoreStatusFilterUtils;
import com.gic.haoban.manage.web.vo.wechatwork.DataPageVO; import com.gic.haoban.manage.web.vo.wechatwork.DataPageVO;
import com.gic.haoban.manage.web.vo.wechatwork.WechatWorkOverviewStoreGroupVO; import com.gic.haoban.manage.web.vo.wechatwork.WechatWorkOverviewStoreGroupVO;
import com.gic.haoban.manage.web.vo.wechatwork.WechatWorkOverviewTrendVO; import com.gic.haoban.manage.web.vo.wechatwork.WechatWorkOverviewTrendVO;
...@@ -60,7 +61,7 @@ public class WechatWorkOverviewController extends NewBaseController { ...@@ -60,7 +61,7 @@ public class WechatWorkOverviewController extends NewBaseController {
List<WechatWorkOverviewVO> voList = storeAuthUtils.getOverview( List<WechatWorkOverviewVO> voList = storeAuthUtils.getOverview(
"data_mbr_scale_haoban_background_overview", "data_mbr_scale_haoban_background_overview",
new JSONObject(), new JSONObject(),
new StoreGroupCommonQO().setStoreGroupId(qo.getStoreGroupId()), new StoreGroupCommonQO().setStoreGroupId(qo.getStoreGroupId()).setStatusList(StoreStatusFilterUtils.getStoreStatusList(qo.getStoreStatusFilter())),
WechatWorkOverviewVO.class); WechatWorkOverviewVO.class);
return RestResponse.successResult(CollectionUtils.isEmpty(voList) ? null : voList.get(0)); return RestResponse.successResult(CollectionUtils.isEmpty(voList) ? null : voList.get(0));
} }
...@@ -79,7 +80,7 @@ public class WechatWorkOverviewController extends NewBaseController { ...@@ -79,7 +80,7 @@ public class WechatWorkOverviewController extends NewBaseController {
List<WechatWorkOverviewTrendVO> list = storeAuthUtils.getOverview( List<WechatWorkOverviewTrendVO> list = storeAuthUtils.getOverview(
"data_mbr_scale_haoban_background_overview_date", "data_mbr_scale_haoban_background_overview_date",
jsonObject, jsonObject,
new StoreGroupCommonQO().setStoreGroupId(qo.getStoreGroupId()), new StoreGroupCommonQO().setStoreGroupId(qo.getStoreGroupId()).setStatusList(StoreStatusFilterUtils.getStoreStatusList(qo.getStoreStatusFilter())),
WechatWorkOverviewTrendVO.class); WechatWorkOverviewTrendVO.class);
Map<String, WechatWorkOverviewTrendVO> map = new HashMap<>(); Map<String, WechatWorkOverviewTrendVO> map = new HashMap<>();
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
...@@ -113,7 +114,7 @@ public class WechatWorkOverviewController extends NewBaseController { ...@@ -113,7 +114,7 @@ public class WechatWorkOverviewController extends NewBaseController {
List<WechatWorkOverviewTrendVO> voList = storeAuthUtils.getOverview( List<WechatWorkOverviewTrendVO> voList = storeAuthUtils.getOverview(
"data_mbr_scale_haoban_background_overview_date", "data_mbr_scale_haoban_background_overview_date",
jsonObject, jsonObject,
new StoreGroupCommonQO().setStoreGroupId(qo.getStoreGroupId()), new StoreGroupCommonQO().setStoreGroupId(qo.getStoreGroupId()).setStatusList(StoreStatusFilterUtils.getStoreStatusList(qo.getStoreStatusFilter())),
WechatWorkOverviewTrendVO.class); WechatWorkOverviewTrendVO.class);
return RestResponse.successResult(CollectionUtils.isEmpty(voList) ? null : voList.get(0)); return RestResponse.successResult(CollectionUtils.isEmpty(voList) ? null : voList.get(0));
} }
...@@ -125,6 +126,7 @@ public class WechatWorkOverviewController extends NewBaseController { ...@@ -125,6 +126,7 @@ public class WechatWorkOverviewController extends NewBaseController {
*/ */
@RequestMapping(value = "store-group") @RequestMapping(value = "store-group")
public RestResponse<DataPageVO<WechatWorkOverviewStoreGroupVO>> storeGroup(@RequestBody WechatWorkOverviewStoreGroupQO qo) { public RestResponse<DataPageVO<WechatWorkOverviewStoreGroupVO>> storeGroup(@RequestBody WechatWorkOverviewStoreGroupQO qo) {
qo.setStatusList(StoreStatusFilterUtils.getStoreStatusList(qo.getStoreStatusFilter()));
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(qo); JSONObject jsonObject = (JSONObject) JSONObject.toJSON(qo);
return RestResponse.successResult(storeAuthUtils.getData(new DataApiQO() return RestResponse.successResult(storeAuthUtils.getData(new DataApiQO()
.setPageSize(qo.getPageSize()) .setPageSize(qo.getPageSize())
...@@ -154,6 +156,7 @@ public class WechatWorkOverviewController extends NewBaseController { ...@@ -154,6 +156,7 @@ public class WechatWorkOverviewController extends NewBaseController {
task.setTotalCount(storeGroup(qo).getResult().getTotalNum()); task.setTotalCount(storeGroup(qo).getResult().getTotalNum());
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(qo); JSONObject jsonObject = (JSONObject) JSONObject.toJSON(qo);
qo.setStatusList(StoreStatusFilterUtils.getStoreStatusList(qo.getStoreStatusFilter()));
storeAuthUtils.setStoreGroupJsonParam(jsonObject, qo); storeAuthUtils.setStoreGroupJsonParam(jsonObject, qo);
boolean isTotalQuery = qo.getQueryDataType() == 1; boolean isTotalQuery = qo.getQueryDataType() == 1;
......
...@@ -13,4 +13,9 @@ import java.io.Serializable; ...@@ -13,4 +13,9 @@ import java.io.Serializable;
@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
public class WechatWorkOverviewQO implements Serializable { public class WechatWorkOverviewQO implements Serializable {
private String storeGroupId; private String storeGroupId;
/**
* 0或者空:全部 1:上线 2:未上线
*/
private Integer storeStatusFilter;
} }
...@@ -15,6 +15,11 @@ import java.io.Serializable; ...@@ -15,6 +15,11 @@ import java.io.Serializable;
public class WechatWorkOverviewStoreGroupQO extends StoreGroupCommonQO implements Serializable { public class WechatWorkOverviewStoreGroupQO extends StoreGroupCommonQO implements Serializable {
/** /**
* 0或者空:全部 1:上线 2:未上线
*/
private Integer storeStatusFilter;
/**
* 1:总数 2:新增 * 1:总数 2:新增
*/ */
@JSONField(serialize = false) @JSONField(serialize = false)
......
...@@ -25,4 +25,9 @@ public class WechatWorkOverviewTrendQO implements Serializable { ...@@ -25,4 +25,9 @@ public class WechatWorkOverviewTrendQO implements Serializable {
* yyyy-MM-dd * yyyy-MM-dd
*/ */
private String endDate; private String endDate;
/**
* 0或者空:全部 1:上线 2:未上线
*/
private Integer storeStatusFilter;
} }
package com.gic.haoban.manage.web.utils.data;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class StoreStatusFilterUtils {
/**
* 获取门店实际状态值
* @param storeStatusFilter 0或者空:全部 1:上线 2:未上线 -3 :回收站
* @return
*/
public static List<String> getStoreStatusList(Integer storeStatusFilter) {
if (storeStatusFilter == null || storeStatusFilter == 0) {
return Collections.emptyList();
}
switch (storeStatusFilter) {
case 2:
return Stream.of("3", "6", "7").collect(Collectors.toList());
case -3:
return Stream.of("-3").collect(Collectors.toList());
default:
return Stream.of("2").collect(Collectors.toList());
}
}
public static Integer getStoreStatusFilter(Integer storeStatus) {
switch (storeStatus) {
case 2:
return 1;
case -3:
return -3;
default :
return 2;
}
}
}
...@@ -24,6 +24,7 @@ import com.gic.haoban.manage.web.controller.content.adaptor.MaterialDataAdaptor; ...@@ -24,6 +24,7 @@ import com.gic.haoban.manage.web.controller.content.adaptor.MaterialDataAdaptor;
import com.gic.haoban.manage.web.controller.goods.GoodsInfoAdaptor; import com.gic.haoban.manage.web.controller.goods.GoodsInfoAdaptor;
import com.gic.haoban.manage.web.qo.content.*; import com.gic.haoban.manage.web.qo.content.*;
import com.gic.haoban.manage.web.qo.content.like.ContentMaterialLikeQO; import com.gic.haoban.manage.web.qo.content.like.ContentMaterialLikeQO;
import com.gic.haoban.manage.web.utils.storestatusfilter.StoreStatusFilterUtils;
import com.gic.haoban.manage.web.vo.content.*; import com.gic.haoban.manage.web.vo.content.*;
import com.gic.haoban.manage.web.vo.content.statistics.ContentMaterialKnowVO; import com.gic.haoban.manage.web.vo.content.statistics.ContentMaterialKnowVO;
import com.gic.store.goods.enums.ThirdTypeEnum; import com.gic.store.goods.enums.ThirdTypeEnum;
...@@ -77,11 +78,12 @@ public class ContentMaterialController { ...@@ -77,11 +78,12 @@ public class ContentMaterialController {
*/ */
@RequestMapping(path = "/column-list") @RequestMapping(path = "/column-list")
public RestResponse<List<ContentColumnInfoVO>> queryContentColumn(String enterpriseId, String storeId, String wxEnterpriseId, String clerkId, public RestResponse<List<ContentColumnInfoVO>> queryContentColumn(String enterpriseId, String storeId, String wxEnterpriseId, String clerkId,
Integer columnType) { Integer columnType,Integer storeStatusFilter) {
List<String> storeIdList = new ArrayList<>(); List<String> storeIdList = new ArrayList<>();
if (StringUtils.isBlank(storeId)) { if (StringUtils.isBlank(storeId)) {
// 区经 获取管辖的权限 // 区经 获取管辖的权限
List<String> storeIds = this.clerkStoreAdaptor.queryClerkStoreIds(clerkId, wxEnterpriseId); List<String> storeIds = this.clerkStoreAdaptor.queryClerkStoreIds(clerkId, wxEnterpriseId,
StoreStatusFilterUtils.getStoreStatusList(storeStatusFilter));
storeIdList.addAll(storeIds); storeIdList.addAll(storeIds);
} else { } else {
storeIdList.add(storeId); storeIdList.add(storeId);
...@@ -127,7 +129,8 @@ public class ContentMaterialController { ...@@ -127,7 +129,8 @@ public class ContentMaterialController {
} }
if (StringUtils.isBlank(contentMaterialQO.getStoreId())) { if (StringUtils.isBlank(contentMaterialQO.getStoreId())) {
// 区经 获取管辖的权限 // 区经 获取管辖的权限
List<String> storeIds = this.clerkStoreAdaptor.queryClerkStoreIds(contentMaterialQO.getClerkId(), contentMaterialQO.getWxEnterpriseId()); List<String> storeIds = this.clerkStoreAdaptor.queryClerkStoreIds(contentMaterialQO.getClerkId(), contentMaterialQO.getWxEnterpriseId(),
StoreStatusFilterUtils.getStoreStatusList(contentMaterialQO.getStoreStatusFilter()));
pageQDTO.setStoreIdList(storeIds); pageQDTO.setStoreIdList(storeIds);
} else { } else {
pageQDTO.setStoreIdList(Collections.singletonList(contentMaterialQO.getStoreId())); pageQDTO.setStoreIdList(Collections.singletonList(contentMaterialQO.getStoreId()));
......
...@@ -21,6 +21,7 @@ import com.gic.haoban.manage.web.controller.content.adaptor.ClerkStoreAdaptor; ...@@ -21,6 +21,7 @@ import com.gic.haoban.manage.web.controller.content.adaptor.ClerkStoreAdaptor;
import com.gic.haoban.manage.web.controller.content.adaptor.MaterialDataAdaptor; import com.gic.haoban.manage.web.controller.content.adaptor.MaterialDataAdaptor;
import com.gic.haoban.manage.web.qo.content.ContentMaterialBaseQO; import com.gic.haoban.manage.web.qo.content.ContentMaterialBaseQO;
import com.gic.haoban.manage.web.qo.content.statistics.*; import com.gic.haoban.manage.web.qo.content.statistics.*;
import com.gic.haoban.manage.web.utils.storestatusfilter.StoreStatusFilterUtils;
import com.gic.haoban.manage.web.vo.content.statistics.MaterialAreaUsedDataVO; import com.gic.haoban.manage.web.vo.content.statistics.MaterialAreaUsedDataVO;
import com.gic.haoban.manage.web.vo.content.statistics.MaterialClerkUsedDataVO; import com.gic.haoban.manage.web.vo.content.statistics.MaterialClerkUsedDataVO;
import com.gic.haoban.manage.web.vo.content.statistics.MaterialDataOverviewVO; import com.gic.haoban.manage.web.vo.content.statistics.MaterialDataOverviewVO;
...@@ -83,7 +84,8 @@ public class MaterialDataStaticsController { ...@@ -83,7 +84,8 @@ public class MaterialDataStaticsController {
List<String> storeIds = new ArrayList<>(); List<String> storeIds = new ArrayList<>();
if (StringUtils.isBlank(contentMaterialBaseQO.getStoreId())) { if (StringUtils.isBlank(contentMaterialBaseQO.getStoreId())) {
// 区经 获取管辖的权限 // 区经 获取管辖的权限
storeIds = this.clerkStoreAdaptor.queryClerkStoreIds(contentMaterialBaseQO.getClerkId(), contentMaterialBaseQO.getWxEnterpriseId()); storeIds = this.clerkStoreAdaptor.queryClerkStoreIds(contentMaterialBaseQO.getClerkId(), contentMaterialBaseQO.getWxEnterpriseId(),
StoreStatusFilterUtils.getStoreStatusList(contentMaterialBaseQO.getStoreStatusFilter()));
search.setStoreIdList(storeIds); search.setStoreIdList(storeIds);
} else { } else {
storeIds.add(contentMaterialBaseQO.getStoreId()); storeIds.add(contentMaterialBaseQO.getStoreId());
...@@ -129,7 +131,8 @@ public class MaterialDataStaticsController { ...@@ -129,7 +131,8 @@ public class MaterialDataStaticsController {
List<String> storeIds = new ArrayList<>(); List<String> storeIds = new ArrayList<>();
if (StringUtils.isBlank(materialStatisticsBaseQO.getStoreId())) { if (StringUtils.isBlank(materialStatisticsBaseQO.getStoreId())) {
storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialStatisticsBaseQO.getClerkId(), materialStatisticsBaseQO.getWxEnterpriseId()); storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialStatisticsBaseQO.getClerkId(), materialStatisticsBaseQO.getWxEnterpriseId(),
StoreStatusFilterUtils.getStoreStatusList(materialStatisticsBaseQO.getStoreStatusFilter()));
} else { } else {
storeIds.add(materialStatisticsBaseQO.getStoreId()); storeIds.add(materialStatisticsBaseQO.getStoreId());
} }
...@@ -155,7 +158,8 @@ public class MaterialDataStaticsController { ...@@ -155,7 +158,8 @@ public class MaterialDataStaticsController {
List<String> storeIds = new ArrayList<>(); List<String> storeIds = new ArrayList<>();
if (StringUtils.isBlank(materialStatisticsBaseQO.getStoreId())) { if (StringUtils.isBlank(materialStatisticsBaseQO.getStoreId())) {
storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialStatisticsBaseQO.getClerkId(), materialStatisticsBaseQO.getWxEnterpriseId()); storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialStatisticsBaseQO.getClerkId(), materialStatisticsBaseQO.getWxEnterpriseId(),
StoreStatusFilterUtils.getStoreStatusList(materialStatisticsBaseQO.getStoreStatusFilter()));
} else { } else {
storeIds.add(materialStatisticsBaseQO.getStoreId()); storeIds.add(materialStatisticsBaseQO.getStoreId());
} }
...@@ -175,7 +179,8 @@ public class MaterialDataStaticsController { ...@@ -175,7 +179,8 @@ public class MaterialDataStaticsController {
// //
List<String> storeIds = new ArrayList<>(); List<String> storeIds = new ArrayList<>();
if (StringUtils.isBlank(materialStatisticsBaseQO.getStoreId())) { if (StringUtils.isBlank(materialStatisticsBaseQO.getStoreId())) {
storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialStatisticsBaseQO.getClerkId(), materialStatisticsBaseQO.getWxEnterpriseId()); storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialStatisticsBaseQO.getClerkId(), materialStatisticsBaseQO.getWxEnterpriseId(),
StoreStatusFilterUtils.getStoreStatusList(materialStatisticsBaseQO.getStoreStatusFilter()));
} else { } else {
storeIds.add(materialStatisticsBaseQO.getStoreId()); storeIds.add(materialStatisticsBaseQO.getStoreId());
} }
...@@ -192,7 +197,8 @@ public class MaterialDataStaticsController { ...@@ -192,7 +197,8 @@ public class MaterialDataStaticsController {
public RestResponse<Page<MaterialStoreUsedDataVO>> queryMaterialStoreUsedData(@RequestBody MaterialStoreAnalyzeDataQO materialStatisticsBaseQO) { public RestResponse<Page<MaterialStoreUsedDataVO>> queryMaterialStoreUsedData(@RequestBody MaterialStoreAnalyzeDataQO materialStatisticsBaseQO) {
List<String> storeIds = new ArrayList<>(); List<String> storeIds = new ArrayList<>();
if (StringUtils.isBlank(materialStatisticsBaseQO.getStoreId())) { if (StringUtils.isBlank(materialStatisticsBaseQO.getStoreId())) {
storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialStatisticsBaseQO.getClerkId(), materialStatisticsBaseQO.getWxEnterpriseId()); storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialStatisticsBaseQO.getClerkId(), materialStatisticsBaseQO.getWxEnterpriseId(),
StoreStatusFilterUtils.getStoreStatusList(materialStatisticsBaseQO.getStoreStatusFilter()));
} else { } else {
storeIds.add(materialStatisticsBaseQO.getStoreId()); storeIds.add(materialStatisticsBaseQO.getStoreId());
} }
...@@ -231,7 +237,8 @@ public class MaterialDataStaticsController { ...@@ -231,7 +237,8 @@ public class MaterialDataStaticsController {
public RestResponse<MaterialPersonalUsedDataVO> queryMaterialUsedReport(@RequestBody MaterialReportQO materialReportQO) { public RestResponse<MaterialPersonalUsedDataVO> queryMaterialUsedReport(@RequestBody MaterialReportQO materialReportQO) {
List<String> storeIds = new ArrayList<>(); List<String> storeIds = new ArrayList<>();
if (StringUtils.isBlank(materialReportQO.getStoreId())) { if (StringUtils.isBlank(materialReportQO.getStoreId())) {
storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialReportQO.getClerkId(), materialReportQO.getWxEnterpriseId()); storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialReportQO.getClerkId(), materialReportQO.getWxEnterpriseId(),
StoreStatusFilterUtils.getStoreStatusList(materialReportQO.getStoreStatusFilter()));
} else { } else {
storeIds.add(materialReportQO.getStoreId()); storeIds.add(materialReportQO.getStoreId());
} }
...@@ -283,7 +290,8 @@ public class MaterialDataStaticsController { ...@@ -283,7 +290,8 @@ public class MaterialDataStaticsController {
List<String> storeIds = new ArrayList<>(); List<String> storeIds = new ArrayList<>();
if (StringUtils.isBlank(materialReportQO.getStoreId())) { if (StringUtils.isBlank(materialReportQO.getStoreId())) {
storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialReportQO.getClerkId(), materialReportQO.getWxEnterpriseId()); storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialReportQO.getClerkId(), materialReportQO.getWxEnterpriseId(),
StoreStatusFilterUtils.getStoreStatusList(materialReportQO.getStoreStatusFilter()));
} else { } else {
storeIds.add(materialReportQO.getStoreId()); storeIds.add(materialReportQO.getStoreId());
} }
...@@ -334,7 +342,8 @@ public class MaterialDataStaticsController { ...@@ -334,7 +342,8 @@ public class MaterialDataStaticsController {
public RestResponse<MaterialAreaUsedDataVO> queryMaterialAreaUseReport(@RequestBody MaterialReportQO materialReportQO) { public RestResponse<MaterialAreaUsedDataVO> queryMaterialAreaUseReport(@RequestBody MaterialReportQO materialReportQO) {
List<String> storeIds = new ArrayList<>(); List<String> storeIds = new ArrayList<>();
if (StringUtils.isBlank(materialReportQO.getStoreId())) { if (StringUtils.isBlank(materialReportQO.getStoreId())) {
storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialReportQO.getClerkId(), materialReportQO.getWxEnterpriseId()); storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialReportQO.getClerkId(), materialReportQO.getWxEnterpriseId(),
StoreStatusFilterUtils.getStoreStatusList(materialReportQO.getStoreStatusFilter()));
} else { } else {
storeIds.add(materialReportQO.getStoreId()); storeIds.add(materialReportQO.getStoreId());
} }
...@@ -354,7 +363,8 @@ public class MaterialDataStaticsController { ...@@ -354,7 +363,8 @@ public class MaterialDataStaticsController {
List<String> storeIds = new ArrayList<>(); List<String> storeIds = new ArrayList<>();
if (StringUtils.isBlank(materialReportQO.getStoreId())) { if (StringUtils.isBlank(materialReportQO.getStoreId())) {
storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialReportQO.getClerkId(), materialReportQO.getWxEnterpriseId()); storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialReportQO.getClerkId(), materialReportQO.getWxEnterpriseId(),
StoreStatusFilterUtils.getStoreStatusList(materialReportQO.getStoreStatusFilter()));
} else { } else {
storeIds.add(materialReportQO.getStoreId()); storeIds.add(materialReportQO.getStoreId());
} }
...@@ -400,7 +410,8 @@ public class MaterialDataStaticsController { ...@@ -400,7 +410,8 @@ public class MaterialDataStaticsController {
public RestResponse<Page<MaterialStoreUsedDataVO>> queryMaterialStoreUseReportList(@RequestBody MaterialStoreReportQO materialReportQO) { public RestResponse<Page<MaterialStoreUsedDataVO>> queryMaterialStoreUseReportList(@RequestBody MaterialStoreReportQO materialReportQO) {
List<String> storeIds = new ArrayList<>(); List<String> storeIds = new ArrayList<>();
if (StringUtils.isBlank(materialReportQO.getStoreId())) { if (StringUtils.isBlank(materialReportQO.getStoreId())) {
storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialReportQO.getClerkId(), materialReportQO.getWxEnterpriseId()); storeIds = clerkStoreAdaptor.queryClerkStoreIds(materialReportQO.getClerkId(), materialReportQO.getWxEnterpriseId(),
StoreStatusFilterUtils.getStoreStatusList(materialReportQO.getStoreStatusFilter()));
} else { } else {
storeIds.add(materialReportQO.getStoreId()); storeIds.add(materialReportQO.getStoreId());
} }
......
...@@ -42,13 +42,9 @@ public class ClerkStoreAdaptor { ...@@ -42,13 +42,9 @@ public class ClerkStoreAdaptor {
* @param wxEnterpriseId * @param wxEnterpriseId
* @return * @return
*/ */
public List<String> queryClerkStoreIds(String clerkId, String wxEnterpriseId) { public List<String> queryClerkStoreIds(String clerkId, String wxEnterpriseId,List<String> storeStatusList) {
List<String> storeIds = staffApiService.getHaoBanStoreIdsRolesByClerkId(clerkId, wxEnterpriseId); List<String> storeIds = staffApiService.getHaobanStoreIdsRolesByClerkIdAndStoreStatus(clerkId, wxEnterpriseId,storeStatusList,null);
if (CollectionUtils.isEmpty(storeIds)) { if (CollectionUtils.isEmpty(storeIds)) {
log.info("根据区经id查询管辖的门店为空 {} {}", clerkId, wxEnterpriseId);
return Collections.singletonList("-100");
}
if (storeIds.size() == 1 && StringUtils.equals(storeIds.get(0), "-1")) {
// 全部门店权限 // 全部门店权限
log.info("区经有全部门店权限 {}", clerkId); log.info("区经有全部门店权限 {}", clerkId);
return Collections.emptyList(); return Collections.emptyList();
......
...@@ -23,9 +23,11 @@ import com.gic.enterprise.api.service.EnterpriseChannelApiService; ...@@ -23,9 +23,11 @@ import com.gic.enterprise.api.service.EnterpriseChannelApiService;
import com.gic.enterprise.api.service.EnterpriseService; import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.enterprise.api.service.data.DataIndexApiService; import com.gic.enterprise.api.service.data.DataIndexApiService;
import com.gic.enterprise.service.CustomSettingApiService; import com.gic.enterprise.service.CustomSettingApiService;
import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.web.qo.data.*; import com.gic.haoban.manage.web.qo.data.*;
import com.gic.haoban.manage.web.utils.DateFillUtils; import com.gic.haoban.manage.web.utils.DateFillUtils;
import com.gic.haoban.manage.web.utils.StoreAuthUtils; import com.gic.haoban.manage.web.utils.StoreAuthUtils;
import com.gic.haoban.manage.web.utils.storestatusfilter.StoreStatusFilterUtils;
import com.gic.haoban.manage.web.vo.data.DataMemberExtendVO; import com.gic.haoban.manage.web.vo.data.DataMemberExtendVO;
import com.gic.haoban.manage.web.vo.data.SalesStructureVO; import com.gic.haoban.manage.web.vo.data.SalesStructureVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -52,6 +54,8 @@ import java.util.stream.Stream; ...@@ -52,6 +54,8 @@ import java.util.stream.Stream;
@Slf4j @Slf4j
public class DataController { public class DataController {
@Autowired @Autowired
private StaffApiService staffApiService;
@Autowired
private StoreAuthUtils storeAuthUtils; private StoreAuthUtils storeAuthUtils;
@Autowired @Autowired
private DataIndexApiService dataIndexApiService; private DataIndexApiService dataIndexApiService;
...@@ -487,7 +491,10 @@ public class DataController { ...@@ -487,7 +491,10 @@ public class DataController {
String storeIdParam = jsonObject.getString("storeId"); String storeIdParam = jsonObject.getString("storeId");
boolean hasStoreId = StringUtils.isNotBlank(storeIdParam); boolean hasStoreId = StringUtils.isNotBlank(storeIdParam);
if (!hasStoreId) { if (!hasStoreId) {
getAuthStore(qo.getStoreId(), qo.getClerkId(), qo.getWxEnterpriseId(), jsonObject); List<String> authStoreIdList = staffApiService.getNotEmptyHaobanStoreIdsRolesByClerkIdAndStoreStatus(qo.getClerkId(), qo.getWxEnterpriseId(),
StoreStatusFilterUtils.getStoreStatusList(jsonObject.getInteger("storeStatusFilter")), true);
jsonObject.put("storeId", authStoreIdList.stream().collect(Collectors.joining(",")));
//getAuthStore(qo.getStoreId(), qo.getClerkId(), qo.getWxEnterpriseId(), jsonObject);
} }
String apolloKey = qo.getApolloKey(); String apolloKey = qo.getApolloKey();
......
...@@ -52,6 +52,8 @@ public class ContentMaterialBaseQO extends BasePageInfo { ...@@ -52,6 +52,8 @@ public class ContentMaterialBaseQO extends BasePageInfo {
*/ */
private String unionId; private String unionId;
private Integer storeStatusFilter;
public String getEnterpriseId() { public String getEnterpriseId() {
return enterpriseId; return enterpriseId;
} }
...@@ -115,4 +117,12 @@ public class ContentMaterialBaseQO extends BasePageInfo { ...@@ -115,4 +117,12 @@ public class ContentMaterialBaseQO extends BasePageInfo {
public void setUnionId(String unionId) { public void setUnionId(String unionId) {
this.unionId = unionId; this.unionId = unionId;
} }
public Integer getStoreStatusFilter() {
return storeStatusFilter;
}
public void setStoreStatusFilter(Integer storeStatusFilter) {
this.storeStatusFilter = storeStatusFilter;
}
} }
...@@ -68,6 +68,8 @@ public class ContentMaterialQO extends PageQo { ...@@ -68,6 +68,8 @@ public class ContentMaterialQO extends PageQo {
*/ */
private String goodsId; private String goodsId;
private Integer storeStatusFilter;
public Integer getQueryScene() { public Integer getQueryScene() {
return queryScene; return queryScene;
} }
...@@ -155,4 +157,12 @@ public class ContentMaterialQO extends PageQo { ...@@ -155,4 +157,12 @@ public class ContentMaterialQO extends PageQo {
public void setGoodsId(String goodsId) { public void setGoodsId(String goodsId) {
this.goodsId = goodsId; this.goodsId = goodsId;
} }
public Integer getStoreStatusFilter() {
return storeStatusFilter;
}
public void setStoreStatusFilter(Integer storeStatusFilter) {
this.storeStatusFilter = storeStatusFilter;
}
} }
...@@ -53,6 +53,8 @@ public class MaterialStatisticsBaseQO extends BasePageInfo { ...@@ -53,6 +53,8 @@ public class MaterialStatisticsBaseQO extends BasePageInfo {
*/ */
private Integer fixedDateDiff; private Integer fixedDateDiff;
private Integer storeStatusFilter;
public String getEnterpriseId() { public String getEnterpriseId() {
return enterpriseId; return enterpriseId;
...@@ -103,6 +105,13 @@ public class MaterialStatisticsBaseQO extends BasePageInfo { ...@@ -103,6 +105,13 @@ public class MaterialStatisticsBaseQO extends BasePageInfo {
this.endDate = endDate; this.endDate = endDate;
} }
public Integer getStoreStatusFilter() {
return storeStatusFilter;
}
public void setStoreStatusFilter(Integer storeStatusFilter) {
this.storeStatusFilter = storeStatusFilter;
}
public String convertStartDate(Integer fixedDateDiff) { public String convertStartDate(Integer fixedDateDiff) {
if (fixedDateDiff == null) { if (fixedDateDiff == null) {
......
package com.gic.haoban.manage.web.utils.storestatusfilter;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class StoreStatusFilterUtils {
/**
* 获取门店实际状态值
* @param storeStatusFilter 0或者空:全部 1:上线 2:未上线 -3 :回收站
* @return
*/
public static List<String> getStoreStatusList(Integer storeStatusFilter) {
if (storeStatusFilter == null || storeStatusFilter == 0) {
return Collections.emptyList();
}
switch (storeStatusFilter) {
case 2:
return Stream.of("3", "6", "7").collect(Collectors.toList());
case -3:
return Stream.of("-3").collect(Collectors.toList());
default:
return Stream.of("2").collect(Collectors.toList());
}
}
public static Integer getStoreStatusFilter(Integer storeStatus) {
switch (storeStatus) {
case 2:
return 1;
case -3:
return -3;
default :
return 2;
}
}
}
...@@ -10,6 +10,20 @@ public class StoreListVO implements Serializable{ ...@@ -10,6 +10,20 @@ public class StoreListVO implements Serializable{
private String enterpriseId; private String enterpriseId;
/**
* 1:上线 2:未上线 -3 :回收站
*/
private Integer storeStatusFilter;
public Integer getStoreStatusFilter() {
return storeStatusFilter;
}
public void setStoreStatusFilter(Integer storeStatusFilter) {
this.storeStatusFilter = storeStatusFilter;
}
public String getStoreId() { public String getStoreId() {
return storeId; return storeId;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment