Commit a4749138 by fudahua

门店信息包含总部还是代理信息

parent cec6b998
......@@ -22,6 +22,25 @@ public class EnterpriseDetailDTO implements Serializable{
private String staffName;
private Date createTime;
private String brandName;
private Integer wxEnterpriseType;
private Integer memberOpenCardFlag;
public Integer getWxEnterpriseType() {
return wxEnterpriseType;
}
public void setWxEnterpriseType(Integer wxEnterpriseType) {
this.wxEnterpriseType = wxEnterpriseType;
}
public Integer getMemberOpenCardFlag() {
return memberOpenCardFlag;
}
public void setMemberOpenCardFlag(Integer memberOpenCardFlag) {
this.memberOpenCardFlag = memberOpenCardFlag;
}
public String getWxEnterpriseRelatedId() {
return wxEnterpriseRelatedId;
}
......
......@@ -84,157 +84,67 @@ public class StoreController extends WebBaseController{
//门店列表
@RequestMapping("/store-list")
public HaobanResponse storeList(String staffId,String wxEnterpriseId,String version) {
if(true){
if(StringUtils.isAnyBlank(staffId,wxEnterpriseId)){
return resultResponse(HaoBanErrCode.ERR_2);
if (StringUtils.isAnyBlank(staffId, wxEnterpriseId)) {
return resultResponse(HaoBanErrCode.ERR_2);
}
List<StaffStoreVO> list = new ArrayList<>();
List<EnterpriseDetailDTO> enterpriseList = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId);
if (CollectionUtils.isEmpty(enterpriseList)) {
logger.info("没有关联任何商户:{}", wxEnterpriseId);
return resultResponse(HaoBanErrCode.ERR_1);
}
Map<String, Integer> enterpriseTypeMap = enterpriseList.stream().collect(Collectors.toMap(dto -> dto.getEnterpriseId(), dto -> dto.getWxEnterpriseType()));
List<String> enterpriseIdList = enterpriseList.stream().map(EnterpriseDetailDTO::getEnterpriseId).collect(Collectors.toList());
List<StaffClerkRelationDTO> bindRelationList = staffClerkRelationApiService.listBindCodeByStaffId(enterpriseIdList, staffId);
if (CollectionUtils.isEmpty(bindRelationList)) {
logger.info("没有关联任何商户导购:{}", wxEnterpriseId);
return resultResponse(HaoBanErrCode.ERR_1);
}
//主门店
ClerkMainStoreRelatedDTO mainDTO = clerkMainStoreRelatedApiService.getWxEnterpriseIdAndStaffId(wxEnterpriseId, staffId);
String storeId = mainDTO == null ? "" : mainDTO.getStoreId();
for (StaffClerkRelationDTO staffClerkRelationDTO : bindRelationList) {
boolean enterpriseOver = isEnterpriseOver(staffClerkRelationDTO.getStoreId());
if (enterpriseOver) {
logger.info("该企业过期了:{},{},{}", staffId, staffClerkRelationDTO.getEnterpriseId(), staffClerkRelationDTO.getStoreId());
continue;
}
List<StaffStoreVO> list = new ArrayList<>();
List<EnterpriseDetailDTO> enterpriseList = wxEnterpriseRelatedApiService.listEnterpriseByWxEnterpriseId(wxEnterpriseId);
List<String> enterpriseIdList = enterpriseList.stream().map(EnterpriseDetailDTO::getEnterpriseId).collect(Collectors.toList());
List<StaffClerkRelationDTO> bindRelationList = staffClerkRelationApiService.listBindCodeByStaffId(enterpriseIdList, staffId);
//主门店
ClerkMainStoreRelatedDTO mainDTO = clerkMainStoreRelatedApiService.getWxEnterpriseIdAndStaffId(wxEnterpriseId, staffId);
String storeId = mainDTO == null?"":mainDTO.getStoreId();
for (StaffClerkRelationDTO staffClerkRelationDTO : bindRelationList) {
boolean enterpriseOver = isEnterpriseOver(staffClerkRelationDTO.getStoreId());
if (enterpriseOver) {
logger.info("该企业过期了:{},{},{}",staffId,staffClerkRelationDTO.getEnterpriseId(),staffClerkRelationDTO.getStoreId());
ClerkDTO clerk = clerkService.getClerkByClerkCode(staffClerkRelationDTO.getEnterpriseId(), staffClerkRelationDTO.getClerkCode());
if (clerk != null) {
StoreDTO store = storeService.getStore(clerk.getStoreId());
if (store == null) {
continue;
}
ClerkDTO clerk = clerkService.getClerkByClerkCode(staffClerkRelationDTO.getEnterpriseId(), staffClerkRelationDTO.getClerkCode());
if(clerk != null){
StoreDTO store = storeService.getStore(clerk.getStoreId());
if (store == null) {
continue;
}
//主门店标志
int mainStoreFlag = 0;
if(StringUtils.isEmpty(storeId)){
mainStoreFlag = 0;
}else if(storeId.equals(store.getStoreId())){
mainStoreFlag = 1;
}
staffDepartmentRelatedApiService.listByStaffId(staffId);
StaffStoreVO vo = new StaffStoreVO();
vo.setClerkCode(clerk.getClerkCode());
vo.setClerkId(clerk.getClerkId());
vo.setClerkType(clerk.getClerkType());
vo.setEnterpriseId(clerk.getEnterpriseId());
vo.setMainStoreFlag(mainStoreFlag);
vo.setPhoneNumber(clerk.getPhoneNumber());
vo.setStaffId(staffId);
vo.setStoreId(clerk.getStoreId());
vo.setStoreImg(store.getStoreImage());
vo.setStoreName(store.getStoreName());
vo.setWxEnterpriseId(wxEnterpriseId);
vo.setClerkName(clerk.getClerkName());
vo.setBindFlag(1);
list.add(vo);
//主门店标志
int mainStoreFlag = 0;
if (StringUtils.isEmpty(storeId)) {
mainStoreFlag = 0;
} else if (storeId.equals(store.getStoreId())) {
mainStoreFlag = 1;
}
staffDepartmentRelatedApiService.listByStaffId(staffId);
StaffStoreVO vo = new StaffStoreVO();
vo.setClerkCode(clerk.getClerkCode());
vo.setWxEnterpriseType(enterpriseTypeMap.get(clerk.getEnterpriseId()));
vo.setClerkId(clerk.getClerkId());
vo.setClerkType(clerk.getClerkType());
vo.setEnterpriseId(clerk.getEnterpriseId());
vo.setMainStoreFlag(mainStoreFlag);
vo.setPhoneNumber(clerk.getPhoneNumber());
vo.setStaffId(staffId);
vo.setStoreId(clerk.getStoreId());
vo.setStoreImg(store.getStoreImage());
vo.setStoreName(store.getStoreName());
vo.setWxEnterpriseId(wxEnterpriseId);
vo.setClerkName(clerk.getClerkName());
vo.setBindFlag(1);
list.add(vo);
}
return resultResponse(HaoBanErrCode.ERR_1,list);
}else{
if(StringUtils.isAnyBlank(staffId,wxEnterpriseId)){
return resultResponse(HaoBanErrCode.ERR_2);
}
List<StoreVO> resultList = new ArrayList<StoreVO>();
//2、获取关联表数据
List<StaffDepartmentRelatedDTO> relateList = staffDepartmentRelatedApiService.listByStaffId(staffId);
if(CollectionUtil.isNotEmpty(relateList)){
List<String> departmentIds = relateList.stream().map(s->s.getDepartmentId()).collect(Collectors.toList());
List<DepartmentDTO> departmentList = departmentApiService.listByDepartmentIds(departmentIds, 1);
//1、初始化Department表数据
for(DepartmentDTO dto : departmentList){
StoreVO VO = new StoreVO();
VO.setDepartmentId(dto.getDepartmentId());
VO.setStoreId(dto.getRelatedId());//为空,则无该值
VO.setStoreName(dto.getDepartmentName());
VO.setWxEnterpriseId(dto.getWxEnterpriseId());
VO.setStoreImg("");//先置空
if(org.apache.commons.lang.StringUtils.isNotBlank(dto.getRelatedId())){
StoreDTO storeDTO = storeService.getStore(dto.getRelatedId());
if(storeDTO != null ){
VO.setEnterpriseId(storeDTO.getEnterpriseId());
VO.setStoreImg(storeDTO.getImageUrl());//先置空
}
}
VO.setCreateTime(dto.getCreateTime());
resultList.add(VO);
}
Map<String,StaffDepartmentRelatedDTO> map = com.gic.commons.util.CollectionUtil.toMap(relateList, "departmentId");
for(StoreVO VO : resultList){
StaffDepartmentRelatedDTO staffDepartmentRelatedDTO = map.get(VO.getDepartmentId());
if(staffDepartmentRelatedDTO != null){
String clerkCode = staffDepartmentRelatedDTO.getClerkCode();
VO.setBindFlag(StringUtils.isEmpty(clerkCode)?0:1);
VO.setClerkCode(clerkCode);
VO.setStaffDepartmentRelatedId(staffDepartmentRelatedDTO.getStaffDepartmentRelatedId());
VO.setStaffId(staffId);
ClerkDTO clerkDTO = clerkService.getClerkByClerkCode(VO.getEnterpriseId(), clerkCode);
VO.setClerkId(clerkDTO == null?"":clerkDTO.getClerkId());
}else{
VO.setBindFlag(0);
}
}
}
ClerkMainStoreRelatedDTO mainStore = clerkMainStoreRelatedApiService.getWxEnterpriseIdAndStaffId(wxEnterpriseId,staffId);
//3、判断是否是店长
for(StoreVO VO : resultList){
//查gic门店
StoreDTO storeDTO = storeService.getStore(VO.getStoreId());
List<StorePhotoDTO> imgList = storeService.getStoreImages(VO.getStoreId());
//TODO 销售线索 权限的门店
WxEnterpriseRelationDetailDTO detail = wxEnterpriseRelatedApiService.getEnterpriseBindInfo(wxEnterpriseId, storeDTO.getEnterpriseId());
VO.setWxEnterpriseRelatedId(detail.getWxEnterpriseRelatedId());
//已经绑定的门店
if(VO.getBindFlag()==1){
String clerkCode = VO.getClerkCode();
if(StringUtils.isEmpty(clerkCode)){
VO.setClerkType(0);
}else{
if(storeDTO != null){
//查gic门店店长
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(storeDTO.getClerkId());
if(clerkDTO != null){
//code相同,则置为1
if(clerkCode.equals(clerkDTO.getClerkCode())){
VO.setClerkType(1);
}
}
}
}
}
if(CollectionUtil.isNotEmpty(imgList)){
VO.setStoreImg(imgList.get(0).getQcloudImageUrl());;
}
if(mainStore != null && mainStore.getStoreId().equals(VO.getStoreId())){
VO.setMainStoreFlag(1);
}else{
VO.setMainStoreFlag(0);
}
boolean flag = isEnterpriseOver(VO.getStoreId());
if(flag){
VO.setStoreStatus(2);
}
}
if(CollectionUtils.isNotEmpty(resultList)){
Map<Integer,StoreVO> map = com.gic.commons.util.CollectionUtil.toMap(resultList, "clerkType");
if(map.containsKey(1)){
//店长
resultList = resultList.stream().sorted(Comparator.comparing(StoreVO::getBindFlag).thenComparing(StoreVO::getClerkType,Comparator.reverseOrder()).thenComparing(StoreVO::getCreateTime,Comparator.reverseOrder())).collect(Collectors.toList());
}else{
//店员
resultList = resultList.stream().sorted(Comparator.comparing(StoreVO::getBindFlag).thenComparing(StoreVO::getClerkType,Comparator.reverseOrder()).thenComparing(StoreVO::getCreateTime,Comparator.reverseOrder())).collect(Collectors.toList());
}
}
return resultResponse(HaoBanErrCode.ERR_1,resultList);
}
return resultResponse(HaoBanErrCode.ERR_1, list);
}
//获取首页销售数据
@RequestMapping("/sale-date")
......
......@@ -14,7 +14,8 @@ public class StaffStoreVO implements Serializable {
private String staffId;
private String storeName;
private String wxEnterpriseId;
private String enterpriseId;
private Integer wxEnterpriseType;
private String enterpriseId;
private String clerkCode;
private String clerkId;
private String storeImg;
......@@ -24,6 +25,14 @@ public class StaffStoreVO implements Serializable {
private int bindFlag;
private String clerkName;
public Integer getWxEnterpriseType() {
return wxEnterpriseType;
}
public void setWxEnterpriseType(Integer wxEnterpriseType) {
this.wxEnterpriseType = wxEnterpriseType;
}
public String getClerkName() {
return clerkName;
}
......
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