Commit d3255f9a by guojx

门店状态筛选接口优化

parent 1e3d5de3
......@@ -237,13 +237,26 @@ public interface StaffApiService {
/**
* 导购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 isMustReturnStoreIdWhenSuperAdmin false:全部门店权限则返回为空 true:必返回门店id
* @param addUnassignedStore 当符合条件时,是否需要无归属门店Id -1 的数据,如果需要,则添加到返回集合中。默认不需要。
* @return
*/
List<String> getHaobanStoreIdsRolesByClerkIdAndStoreStatus(String clerkId, String wxEnterpriseId, List<String> storeStatusList, boolean isMustReturnStoreIdWhenSuperAdmin);
List<String> getNotEmptyHaobanStoreIdsRolesByClerkIdAndStoreStatus(String clerkId, String wxEnterpriseId, List<String> storeStatusList, Boolean addUnassignedStore);
List<String> isGicSuper(String clerkId , String wxEnterpriseId) ;
......
......@@ -900,23 +900,39 @@ public class StaffApiServiceImpl implements StaffApiService {
return gicStoreIds;
}
@Override
public List<String> getHaobanStoreIdsRolesByClerkIdAndStoreStatus(String clerkId, String wxEnterpriseId, List<String> storeStatusList, boolean isMustReturnStoreIdWhenSuperAdmin) {
boolean hasStoreStatusFilter = CollectionUtils.isNotEmpty(storeStatusList);
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 (!hasStoreStatusFilter && !isMustReturnStoreIdWhenSuperAdmin) {
if (!needQueryStore) {
return Collections.emptyList();
}
}
if (!hasStoreStatusFilter) {
if (!needQueryStore) {
return storeIds;
}
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
......@@ -932,8 +948,8 @@ public class StaffApiServiceImpl implements StaffApiService {
storeSearchDTO.setStatusAnyIn(storeStatusList);
}
List<String> resultList = storeService.listStoreIds(storeSearchDTO);
if (isSuperAdminStore) {
if (storeStatusList.contains("2")) {
if (addUnassignedStore && isSuperAdminStore) {
if (!hasStoreStatusFilter || storeStatusList.contains("2")) {
//所有门店权限,且选择了上线门店状态,则添加无归属门店id
resultList.add("-1");
}
......
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