Commit b76b20f3 by 徐高华

门店列表查询

parent 64800efa
package com.gic.haoban.manage.web.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.TreeSet;
import java.util.stream.Collectors;
import javax.validation.Valid;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page;
......@@ -10,6 +35,7 @@ import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.dto.ClerkListDTO;
import com.gic.clerk.api.service.ClerkNewService;
import com.gic.clerk.api.service.ClerkService;
import com.gic.clerk.api.service.PowerService;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.webapi.reponse.RestResponse;
......@@ -27,31 +53,58 @@ import com.gic.haoban.common.anno.IgnoreLogin;
import com.gic.haoban.common.utils.GooglePhoneNumberUtil;
import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.dto.AuditDTO;
import com.gic.haoban.manage.api.dto.AuditSettingDTO;
import com.gic.haoban.manage.api.dto.ClerkMainStoreRelatedDTO;
import com.gic.haoban.manage.api.dto.EnterpriseDetailDTO;
import com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO;
import com.gic.haoban.manage.api.dto.StaffClerkInfoDTO;
import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO;
import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseRelationDetailDTO;
import com.gic.haoban.manage.api.dto.role.HaobanRoleDTO;
import com.gic.haoban.manage.api.dto.role.StoreRoleDTO;
import com.gic.haoban.manage.api.enums.*;
import com.gic.haoban.manage.api.enums.AuditStatus;
import com.gic.haoban.manage.api.enums.AuditType;
import com.gic.haoban.manage.api.enums.ChannelCodeEnum;
import com.gic.haoban.manage.api.enums.NoticeMessageTypeEnum;
import com.gic.haoban.manage.api.enums.SyncTaskTypeEnum;
import com.gic.haoban.manage.api.enums.role.RoleClerkTypeEnum;
import com.gic.haoban.manage.api.service.*;
import com.gic.haoban.manage.api.service.AuditApiService;
import com.gic.haoban.manage.api.service.AuditSettingApiService;
import com.gic.haoban.manage.api.service.ClerkMainStoreRelatedApiService;
import com.gic.haoban.manage.api.service.DealSyncOperationApiService;
import com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService;
import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.StaffClerkRelationApiService;
import com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService;
import com.gic.haoban.manage.api.service.SyncHaobanToGicApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.api.service.role.HaobanRoleApiService;
import com.gic.haoban.manage.api.util.notify.NoticeMessageUtil;
import com.gic.haoban.manage.web.config.Config;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.qo.CommonQO;
import com.gic.haoban.manage.web.vo.*;
import com.gic.haoban.manage.web.vo.AuditSettingVO;
import com.gic.haoban.manage.web.vo.BindClerkVO;
import com.gic.haoban.manage.web.vo.ClerkDetailVo;
import com.gic.haoban.manage.web.vo.ClerkEditInfoVO;
import com.gic.haoban.manage.web.vo.ClerkStoreVO;
import com.gic.haoban.manage.web.vo.OperationSettingVO;
import com.gic.haoban.manage.web.vo.StaffStoreVO;
import com.gic.haoban.manage.web.vo.StaffVO;
import com.gic.haoban.manage.web.vo.StoreClerkVO;
import com.gic.haoban.manage.web.vo.StoreListVO;
import com.gic.haoban.manage.web.vo.StoreRoleVO;
import com.gic.haoban.manage.web.vo.notify.CustomerFriendMemberVO;
import com.gic.redis.data.util.RedisUtil;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.*;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert;
@RestController
public class WxStaffController extends WebBaseController {
......@@ -99,6 +152,8 @@ public class WxStaffController extends WebBaseController {
private StoreWidgetService storeWidgetService;
@Autowired
private HaobanRoleApiService haobanRoleApiService;
@Autowired
private PowerService powerService ;
//选择成员列表
@RequestMapping("/staff-list")
......@@ -1562,16 +1617,60 @@ public class WxStaffController extends WebBaseController {
// 区经门店列表
@ResponseBody
@RequestMapping("/list-clerk-store")
public RestResponse<Object> listClerkStore(String enterpriseId,String clerkId,String searchParams) {
List<StoreListVO> storeList = new ArrayList<>();
StoreListVO s1 = new StoreListVO();
s1.setStoreId("1");
s1.setStoreName("门店1");
storeList.add(s1) ;
public RestResponse<Object> listClerkStore(String wxEnterpriseId , String enterpriseId,String clerkId,String searchParams , int pageSize , int currentPage) {
List<StoreListVO> voList = new ArrayList<>();
List<String> storeIdList = this.staffApiService.getHaoBanStoreIdsRolesByClerkId(clerkId, wxEnterpriseId) ;
int totalCount = 0 ;
List<StoreDTO> storeDTOList = null ;
if(storeIdList.get(0).contains("-1")) {
ClerkDTO clerk = this.clerkService.getclerkById(clerkId) ;
storeIdList = getStoreIdList(clerk) ;
logger.info("权限-所有门店",storeIdList.size());
String storeWidgetId = this.powerService.getStoreWidgetId(new Date(), clerkId);
Page pageParam = new Page();
pageParam.setCurrentPage(currentPage);
pageParam.setPageSize(pageSize);
Page<StoreDTO> page = storeWidgetService.getStoreWidgetStore(storeWidgetId, null, enterpriseId, pageParam, clerkId,null);
if (page != null) {
storeDTOList = page.getResult();
totalCount = page.getTotalCount();
}
}else {
totalCount = storeIdList.size();
int start = pageSize * (currentPage-1) ;
int end = start +pageSize ;
List<String> subStoreIdList = storeIdList.subList(start, end) ;
if(CollectionUtils.isNotEmpty(subStoreIdList)) {
logger.info("分页当前页storeid数={}",subStoreIdList.size());
String[] arr = new String[subStoreIdList.size()] ;
storeDTOList = this.storeService.getStores(subStoreIdList.toArray(arr));
}
}
if(CollectionUtils.isNotEmpty(storeDTOList)) {
for(StoreDTO store : storeDTOList) {
StoreListVO vo = new StoreListVO();
vo.setStoreId(store.getStoreId());
vo.setStoreName(store.getStoreName());
voList.add(vo) ;
}
}
Page<StoreListVO> page = new Page<>();
page.setResult(storeList);
page.setTotalCount(10);
page.setPageSize(20);
page.setResult(voList);
page.setTotalCount(totalCount);
page.setCurrentPage(currentPage);
page.setPageSize(pageSize);
return RestResponse.successResult(page);
}
private List<String> getStoreIdList(ClerkDTO clerkDTO) {
String enterpriseId = clerkDTO.getEnterpriseId() ;
String clerkId = clerkDTO.getClerkId();
String storeWidgetId = this.powerService.getStoreWidgetId(new Date(), clerkId);
// 门店id列表
List<String> storeIdList = storeWidgetService.getStoreWidgetStore(storeWidgetId, enterpriseId, null, null, 0);
if (CollectionUtils.isEmpty(storeIdList)) {
return Collections.emptyList();
}
return storeIdList;
}
}
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