service
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package com.cool.store.Service;
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.vo.InterviewPlanVO;
|
||||
import com.cool.store.vo.InterviewScheduleInfoVO;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.cool.store.Service;
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.request.AddTagsRequest;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.cool.store.Service;
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.request.BaseUserInfoRequest;
|
||||
import com.cool.store.vo.PartnerIntentApplyInfoVO;
|
||||
@@ -1,12 +1,9 @@
|
||||
package com.cool.store.Service;
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.entity.HyPartnerInterviewPlanDO;
|
||||
import com.cool.store.vo.InterviewDetailInfoVO;
|
||||
import com.cool.store.vo.PartnerInterviewInfoVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.cool.store.Service;
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.LineRequest;
|
||||
@@ -1,8 +1,10 @@
|
||||
package com.cool.store.Service;
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.request.OpenAreaRequest;
|
||||
import com.cool.store.vo.OpenAreaTreeVO;
|
||||
import com.cool.store.vo.OpenAreaVO;
|
||||
import com.cool.store.vo.OpenProvinceVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -19,7 +21,7 @@ public interface OpenAreaService {
|
||||
* @param keyword
|
||||
* @return
|
||||
*/
|
||||
List<OpenAreaTreeVO> queryByKeyword(String keyword);
|
||||
List<OpenAreaTreeVO> queryByKeyword(String keyword,Boolean flag);
|
||||
|
||||
|
||||
/**
|
||||
@@ -38,4 +40,17 @@ public interface OpenAreaService {
|
||||
*/
|
||||
Boolean batchUpdate(String userId, OpenAreaRequest openAreaRequest);
|
||||
|
||||
|
||||
PageInfo<OpenAreaVO> queryKeyOpenAreaList(Integer pageSize, Integer pageNumber);
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询可申请区域 可预约区域
|
||||
* @return
|
||||
*/
|
||||
OpenProvinceVO getOpenProvince();
|
||||
|
||||
|
||||
}
|
||||
@@ -1,10 +1,9 @@
|
||||
package com.cool.store.Service;
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.cool.store.request.IntentAreaSettingRequest;
|
||||
import com.cool.store.vo.ZoneCheckVO;
|
||||
import com.cool.store.vo.ZoneVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import io.swagger.models.auth.In;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -1,23 +1,21 @@
|
||||
package com.cool.store.Service.impl;
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.cool.store.Service.DeskService;
|
||||
import com.cool.store.Service.HyPartnerInterviewPlanService;
|
||||
import com.cool.store.Service.HyPartnerLineInfoService;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dao.HyPartnerInterviewPlanDAO;
|
||||
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
||||
import com.cool.store.dto.partner.SpecialDateRangeInterviewCountDTO;
|
||||
import com.cool.store.entity.HyPartnerInterviewPlanDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.service.DeskService;
|
||||
import com.cool.store.service.HyPartnerInterviewPlanService;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.utils.CoolDateUtils;
|
||||
import com.cool.store.vo.InterviewDetailInfoVO;
|
||||
import com.cool.store.vo.InterviewPlanVO;
|
||||
import com.cool.store.vo.InterviewScheduleInfoVO;
|
||||
import com.cool.store.vo.StageCountVO;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.http.client.utils.DateUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -1,15 +1,14 @@
|
||||
package com.cool.store.Service.impl;
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.Service.HyPartnerBaseInfoService;
|
||||
import com.cool.store.dao.HyPartnerBaseInfoDAO;
|
||||
import com.cool.store.entity.HyPartnerBaseInfoDO;
|
||||
import com.cool.store.request.AddTagsRequest;
|
||||
import com.cool.store.service.HyPartnerBaseInfoService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
@@ -1,21 +1,18 @@
|
||||
package com.cool.store.Service.impl;
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.Service.HyPartnerIntentInfoService;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dao.HyPartnerBaseInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerIntentInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
||||
import com.cool.store.dto.partner.PartnerIntentApplyInfoDTO;
|
||||
import com.cool.store.entity.HyPartnerIntentInfoDO;
|
||||
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||
import com.cool.store.entity.HyPartnerUserInfoDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.enums.WorkflowStatusEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.HyPartnerBaseInfoMapper;
|
||||
import com.cool.store.request.BaseUserInfoRequest;
|
||||
import com.cool.store.service.HyPartnerIntentInfoService;
|
||||
import com.cool.store.vo.PartnerIntentApplyInfoVO;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.cool.store.Service.impl;
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.cool.store.Service.HyPartnerInterviewPlanService;
|
||||
import com.cool.store.constants.CommonConstants;
|
||||
import com.cool.store.dao.HyPartnerInterviewPlanDAO;
|
||||
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
||||
@@ -10,6 +9,7 @@ import com.cool.store.entity.HyPartnerInterviewPlanDO;
|
||||
import com.cool.store.entity.HyPartnerUserInfoDO;
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.enums.WorkflowStatusEnum;
|
||||
import com.cool.store.service.HyPartnerInterviewPlanService;
|
||||
import com.cool.store.utils.CoolDateUtils;
|
||||
import com.cool.store.vo.InterviewDetailInfoVO;
|
||||
import com.cool.store.vo.PartnerInterviewInfoVO;
|
||||
@@ -20,7 +20,10 @@ import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -1,9 +1,7 @@
|
||||
package com.cool.store.Service.impl;
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.fastjson.JSONPObject;
|
||||
import com.cool.store.Service.HyPartnerLineInfoService;
|
||||
import com.cool.store.dao.HyPartnerLineInfoDAO;
|
||||
import com.cool.store.dao.HyPartnerUserInfoDAO;
|
||||
import com.cool.store.dto.partner.PartnerBlackListDTO;
|
||||
@@ -18,6 +16,7 @@ import com.cool.store.enums.WorkflowStatusEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.LineRequest;
|
||||
import com.cool.store.service.HyPartnerLineInfoService;
|
||||
import com.cool.store.utils.CoolDateUtils;
|
||||
import com.cool.store.utils.StringUtil;
|
||||
import com.cool.store.vo.BlackListVO;
|
||||
@@ -26,16 +25,11 @@ import com.cool.store.vo.PartnerLineInfoVO;
|
||||
import com.cool.store.vo.StageCountVO;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.gson.JsonObject;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
@@ -1,36 +1,85 @@
|
||||
package com.cool.store.service.Impl;
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.dao.HyOpenAreaInfoDAO;
|
||||
import com.cool.store.dto.partner.ApplyReservationProvinceDTO;
|
||||
import com.cool.store.entity.HyOpenAreaInfoDO;
|
||||
import com.cool.store.request.OpenAreaRequest;
|
||||
import com.cool.store.service.OpenAreaService;
|
||||
import com.cool.store.vo.OpenAreaTreeVO;
|
||||
import com.cool.store.vo.OpenAreaVO;
|
||||
import com.cool.store.vo.OpenProvinceVO;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2023/6/6 14:28
|
||||
* @Date 2023/6/13 22:11
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Service
|
||||
public class OpenAreaServiceImpl implements OpenAreaService {
|
||||
|
||||
|
||||
@Resource
|
||||
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
|
||||
|
||||
|
||||
@Override
|
||||
public List<OpenAreaTreeVO> queryByKeyword(String keyword,Boolean flag) {
|
||||
//先查出所有的一级菜单
|
||||
List<HyOpenAreaInfoDO> openArea = hyOpenAreaInfoDAO.queryFirstLevel();
|
||||
Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
|
||||
|
||||
//查询关键字下所有的数据 原始的数据
|
||||
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,flag);
|
||||
Set<Long> longSet = hyOpenAreaInfoDOS.stream().map(HyOpenAreaInfoDO::getId).collect(Collectors.toSet());
|
||||
|
||||
hyOpenAreaInfoDOS.stream().forEach(x->{
|
||||
Long parentId = x.getParentId();
|
||||
|
||||
if (parentId!=null&&!longSet.contains(parentId)){
|
||||
//添加到集合中
|
||||
longSet.add(x.getParentId());
|
||||
HyOpenAreaInfoDO hyOpenAreaInfoDO = longHyOpenAreaInfoDOMap.get(parentId);
|
||||
hyOpenAreaInfoDOS.add(hyOpenAreaInfoDO);
|
||||
}
|
||||
});
|
||||
|
||||
JSONArray objects = buildTree(JSONArray.parseArray(JSONObject.toJSONString(hyOpenAreaInfoDOS)), "id", "parentId","childNode" );
|
||||
List<OpenAreaTreeVO> openAreaTreeVOS = JSONObject.parseArray(objects.toJSONString(), OpenAreaTreeVO.class);
|
||||
return openAreaTreeVOS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OpenAreaVO> getChildrenList(String type, Long parentId) {
|
||||
List<HyOpenAreaInfoDO> childrenList = hyOpenAreaInfoDAO.getChildrenList(type, parentId);
|
||||
List<OpenAreaVO> result = new ArrayList<>();
|
||||
childrenList.stream().forEach(x->{
|
||||
OpenAreaVO openAreaVO = convertDoToVo(x);
|
||||
result.add(openAreaVO);
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean batchUpdate(String userId, OpenAreaRequest request) {
|
||||
//修改选择的区域
|
||||
hyOpenAreaInfoDAO.batchUpdateById(request.getBackgroundBanner(),request.getDetailBanner(),request.getStatus(),userId,request.getIdList());
|
||||
//修改选择区域的子区域
|
||||
hyOpenAreaInfoDAO.batchUpdateByParentId(request.getBackgroundBanner(),request.getDetailBanner(),request.getStatus(),userId,request.getIdList());
|
||||
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<OpenAreaVO> queryKeyOpenAreaList(Integer pageSize, Integer pageNumber) {
|
||||
PageHelper.startPage(pageNumber,pageSize);
|
||||
@@ -47,73 +96,6 @@ public class OpenAreaServiceImpl implements OpenAreaService {
|
||||
return hyOpenAreaInfoDOPageInfo;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* List DO->VO
|
||||
* @param hyOpenAreaInfoDO
|
||||
* @return
|
||||
*/
|
||||
private OpenAreaVO convertDoToVo(HyOpenAreaInfoDO hyOpenAreaInfoDO){
|
||||
OpenAreaVO openAreaVO = new OpenAreaVO();
|
||||
openAreaVO.setId(hyOpenAreaInfoDO.getId());
|
||||
openAreaVO.setAreaName(hyOpenAreaInfoDO.getAreaName());
|
||||
openAreaVO.setParentId(hyOpenAreaInfoDO.getParentId());
|
||||
openAreaVO.setAreaPath(hyOpenAreaInfoDO.getAreaPath());
|
||||
openAreaVO.setAreaStatus(hyOpenAreaInfoDO.getAreaStatus());
|
||||
openAreaVO.setBackgroundBanner(hyOpenAreaInfoDO.getBackgroundBanner());
|
||||
openAreaVO.setDetailBanner(hyOpenAreaInfoDO.getDetailBanner());
|
||||
return openAreaVO;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<OpenAreaTreeVO> queryByKeyword(String keyword) {
|
||||
//先查出所有的一级菜单
|
||||
List<HyOpenAreaInfoDO> openArea = hyOpenAreaInfoDAO.queryFirstLevel();
|
||||
Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
|
||||
|
||||
//查询关键字下所有的数据 原始的数据
|
||||
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,Boolean.FALSE);
|
||||
|
||||
Map<Long, HyOpenAreaInfoDO> hyMap = hyOpenAreaInfoDOS.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
|
||||
|
||||
Set list = new HashSet();
|
||||
hyOpenAreaInfoDOS.stream().forEach(x->{
|
||||
Long parentId = x.getParentId();
|
||||
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyMap.get(parentId);
|
||||
if (hyOpenAreaInfoDO==null&&parentId!=null){
|
||||
//添加到集合中
|
||||
list.add(x.getParentId());
|
||||
}
|
||||
});
|
||||
if (CollectionUtils.isNotEmpty(list)){
|
||||
//二级采单
|
||||
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOList = hyOpenAreaInfoDAO.queryByIdsExcludeFirstLevel(new ArrayList<>(list));
|
||||
hyOpenAreaInfoDOS.addAll(hyOpenAreaInfoDOList);
|
||||
//如果二级采单是空 说明list全部是一级采单
|
||||
if (CollectionUtils.isEmpty(hyOpenAreaInfoDOList)){
|
||||
list.stream().forEach(x->{
|
||||
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyMap.get(x);
|
||||
if (hyOpenAreaInfoDO==null){
|
||||
hyOpenAreaInfoDOS.add(longHyOpenAreaInfoDOMap.get(x));
|
||||
}
|
||||
});
|
||||
}
|
||||
hyOpenAreaInfoDOList.stream().forEach(x->{
|
||||
Long parentId = x.getParentId();
|
||||
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyMap.get(parentId);
|
||||
if (hyOpenAreaInfoDO==null){
|
||||
HyOpenAreaInfoDO infoDO = longHyOpenAreaInfoDOMap.get(parentId);
|
||||
hyOpenAreaInfoDOS.add(infoDO);
|
||||
}
|
||||
});
|
||||
}
|
||||
JSONArray objects = buildTree(JSONArray.parseArray(JSONObject.toJSONString(hyOpenAreaInfoDOS)), "id", "parentId","childNode" );
|
||||
List<OpenAreaTreeVO> openAreaTreeVOS = JSONObject.parseArray(objects.toJSONString(), OpenAreaTreeVO.class);
|
||||
return openAreaTreeVOS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public OpenProvinceVO getOpenProvince() {
|
||||
//先查出所有的一级菜单
|
||||
@@ -139,20 +121,21 @@ public class OpenAreaServiceImpl implements OpenAreaService {
|
||||
return openProvinceVO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OpenAreaVO> getChildrenList(String type, Long parentId) {
|
||||
List<HyOpenAreaInfoDO> childrenList = hyOpenAreaInfoDAO.getChildrenList(type, parentId);
|
||||
List<OpenAreaVO> result = new ArrayList<>();
|
||||
childrenList.stream().forEach(x->{
|
||||
OpenAreaVO openAreaVO = convertDoToVo(x);
|
||||
result.add(openAreaVO);
|
||||
});
|
||||
return result;
|
||||
private OpenAreaVO convertDoToVo(HyOpenAreaInfoDO hyOpenAreaInfoDO){
|
||||
OpenAreaVO openAreaVO = new OpenAreaVO();
|
||||
openAreaVO.setId(hyOpenAreaInfoDO.getId());
|
||||
openAreaVO.setAreaName(hyOpenAreaInfoDO.getAreaName());
|
||||
openAreaVO.setParentId(hyOpenAreaInfoDO.getParentId());
|
||||
openAreaVO.setAreaPath(hyOpenAreaInfoDO.getAreaPath());
|
||||
openAreaVO.setAreaStatus(hyOpenAreaInfoDO.getAreaStatus());
|
||||
openAreaVO.setBackgroundBanner(hyOpenAreaInfoDO.getBackgroundBanner());
|
||||
openAreaVO.setDetailBanner(hyOpenAreaInfoDO.getDetailBanner());
|
||||
return openAreaVO;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 组装城市树
|
||||
* 构建树
|
||||
* @param arr
|
||||
* @param id
|
||||
* @param pid
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.cool.store.Service.impl;
|
||||
package com.cool.store.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.Service.ZoneService;
|
||||
import com.cool.store.dao.EnterpriseUserDAO;
|
||||
import com.cool.store.dao.HyIntendDevMappingDAO;
|
||||
import com.cool.store.dao.HyIntendDevZoneInfoDAO;
|
||||
@@ -13,18 +12,16 @@ import com.cool.store.entity.HyIntendDevelopementMappingDO;
|
||||
import com.cool.store.entity.HyOpenAreaInfoDO;
|
||||
import com.cool.store.enums.ErrorCodeEnum;
|
||||
import com.cool.store.exception.ServiceException;
|
||||
import com.cool.store.mapper.HyIntendDevelopementMappingMapper;
|
||||
import com.cool.store.request.IntentAreaSettingRequest;
|
||||
import com.cool.store.service.ZoneService;
|
||||
import com.cool.store.vo.ZoneCheckVO;
|
||||
import com.cool.store.vo.ZoneVO;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.lang.reflect.Array;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@@ -1,148 +0,0 @@
|
||||
package com.cool.store.Service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cool.store.Service.OpenAreaService;
|
||||
import com.cool.store.dao.HyOpenAreaInfoDAO;
|
||||
import com.cool.store.entity.HyOpenAreaInfoDO;
|
||||
import com.cool.store.request.OpenAreaRequest;
|
||||
import com.cool.store.vo.OpenAreaTreeVO;
|
||||
import com.cool.store.vo.OpenAreaVO;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2023/6/13 22:11
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Service
|
||||
public class OpenAreaServiceImpl implements OpenAreaService {
|
||||
|
||||
@Resource
|
||||
HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
|
||||
|
||||
|
||||
@Override
|
||||
public List<OpenAreaTreeVO> queryByKeyword(String keyword) {
|
||||
//先查出所有的一级菜单
|
||||
List<HyOpenAreaInfoDO> openArea = hyOpenAreaInfoDAO.queryFirstLevel();
|
||||
Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
|
||||
|
||||
//查询关键字下所有的数据 原始的数据
|
||||
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,Boolean.TRUE);
|
||||
Set<Long> longSet = hyOpenAreaInfoDOS.stream().map(HyOpenAreaInfoDO::getId).collect(Collectors.toSet());
|
||||
|
||||
hyOpenAreaInfoDOS.stream().forEach(x->{
|
||||
Long parentId = x.getParentId();
|
||||
|
||||
if (parentId!=null&&!longSet.contains(parentId)){
|
||||
//添加到集合中
|
||||
longSet.add(x.getParentId());
|
||||
HyOpenAreaInfoDO hyOpenAreaInfoDO = longHyOpenAreaInfoDOMap.get(parentId);
|
||||
hyOpenAreaInfoDOS.add(hyOpenAreaInfoDO);
|
||||
}
|
||||
});
|
||||
|
||||
JSONArray objects = buildTree(JSONArray.parseArray(JSONObject.toJSONString(hyOpenAreaInfoDOS)), "id", "parentId","childNode" );
|
||||
List<OpenAreaTreeVO> openAreaTreeVOS = JSONObject.parseArray(objects.toJSONString(), OpenAreaTreeVO.class);
|
||||
return openAreaTreeVOS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OpenAreaVO> getChildrenList(String type, Long parentId) {
|
||||
List<HyOpenAreaInfoDO> childrenList = hyOpenAreaInfoDAO.getChildrenList(type, parentId);
|
||||
List<OpenAreaVO> result = new ArrayList<>();
|
||||
childrenList.stream().forEach(x->{
|
||||
OpenAreaVO openAreaVO = convertDoToVo(x);
|
||||
result.add(openAreaVO);
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean batchUpdate(String userId, OpenAreaRequest request) {
|
||||
//修改选择的区域
|
||||
hyOpenAreaInfoDAO.batchUpdateById(request.getBackgroundBanner(),request.getDetailBanner(),request.getStatus(),userId,request.getIdList());
|
||||
//修改选择区域的子区域
|
||||
hyOpenAreaInfoDAO.batchUpdateByParentId(request.getBackgroundBanner(),request.getDetailBanner(),request.getStatus(),userId,request.getIdList());
|
||||
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
private OpenAreaVO convertDoToVo(HyOpenAreaInfoDO hyOpenAreaInfoDO){
|
||||
OpenAreaVO openAreaVO = new OpenAreaVO();
|
||||
openAreaVO.setId(hyOpenAreaInfoDO.getId());
|
||||
openAreaVO.setAreaName(hyOpenAreaInfoDO.getAreaName());
|
||||
openAreaVO.setParentId(hyOpenAreaInfoDO.getParentId());
|
||||
openAreaVO.setAreaPath(hyOpenAreaInfoDO.getAreaPath());
|
||||
openAreaVO.setAreaStatus(hyOpenAreaInfoDO.getAreaStatus());
|
||||
openAreaVO.setBackgroundBanner(hyOpenAreaInfoDO.getBackgroundBanner());
|
||||
openAreaVO.setDetailBanner(hyOpenAreaInfoDO.getDetailBanner());
|
||||
return openAreaVO;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 构建树
|
||||
* @param arr
|
||||
* @param id
|
||||
* @param pid
|
||||
* @param child
|
||||
* @return
|
||||
*/
|
||||
public static JSONArray buildTree(JSONArray arr, String id, String pid, String child) {
|
||||
//新建一个JSONArray来接收组装成树形结构的返回值
|
||||
JSONArray jsonArray = new JSONArray();
|
||||
//新建一个JSONObject对象
|
||||
JSONObject hash = new JSONObject();
|
||||
//将数组转换为object格式
|
||||
for (int i = 0; i < arr.size(); i++) {
|
||||
//获取当前的JSON对象
|
||||
JSONObject json = (JSONObject) arr.get(i);
|
||||
//把当前id作为键,当前JSON对象作为值 put回hash这个Object对象中
|
||||
//这里的put方法类似于map的put方法
|
||||
hash.put(json.getString(id), json);
|
||||
}
|
||||
//遍历结果集
|
||||
for (int j = 0; j < arr.size(); j++) {
|
||||
//单条记录
|
||||
JSONObject aVal = (JSONObject) arr.get(j);
|
||||
//在hash中取出key为单条记录中pid的值
|
||||
String pidStr = "";
|
||||
//如果父级id不等于null
|
||||
if (aVal.get(pid) != null) {
|
||||
pidStr = aVal.get(pid).toString();
|
||||
}
|
||||
//从hash这个对象中获取父级对象 parent
|
||||
JSONObject hashParent = (JSONObject) hash.get(pidStr);
|
||||
//如果记录的pid存在,则说明它有父节点,将她添加到孩子节点的集合中
|
||||
if (hashParent != null) {
|
||||
//检查是否有child属性
|
||||
if (hashParent.get(child) != null) {
|
||||
//有子节点 则先将子节点取出
|
||||
JSONArray children = (JSONArray) hashParent.get(child);
|
||||
//然后把当前这个对象放进子节点之中
|
||||
children.add(aVal);
|
||||
//最后把子节点在放回父节点之中
|
||||
hashParent.put(child, children);
|
||||
} else {
|
||||
//无子节点 则新建一个子节点
|
||||
JSONArray children = new JSONArray();
|
||||
//然后再把当前对象放进去
|
||||
children.add(aVal);
|
||||
//最后在放回父节点之中
|
||||
hashParent.put(child, children);
|
||||
}
|
||||
} else {
|
||||
jsonArray.add(aVal);
|
||||
}
|
||||
}
|
||||
return jsonArray;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.cool.store.controller;
|
||||
|
||||
import com.cool.store.Service.*;
|
||||
import com.cool.store.enums.LineStatusEnum;
|
||||
import com.cool.store.request.*;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.*;
|
||||
import com.cool.store.vo.*;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
@@ -263,7 +263,7 @@ public class DeskController {
|
||||
})
|
||||
public ResponseResult<List<OpenAreaTreeVO>> getOpenAreaTree(@RequestParam(value = "keyWord",required = false)String keyWord){
|
||||
|
||||
return ResponseResult.success(openAreaService.queryByKeyword(keyWord));
|
||||
return ResponseResult.success(openAreaService.queryByKeyword(keyWord,Boolean.TRUE));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
package com.cool.store.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.aliyun.openservices.shade.com.alibaba.rocketmq.common.filter.impl.Op;
|
||||
import com.cool.store.enums.RocketMqTagEnum;
|
||||
import com.cool.store.response.ResponseResult;
|
||||
import com.cool.store.service.OpenAreaService;
|
||||
import com.cool.store.utils.UUIDUtils;
|
||||
import com.cool.store.vo.OpenAreaTreeVO;
|
||||
import com.cool.store.vo.OpenAreaVO;
|
||||
import com.cool.store.vo.OpenProvinceVO;
|
||||
@@ -55,7 +51,7 @@ public class OpenAreaController {
|
||||
@ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false),
|
||||
})
|
||||
public ResponseResult<List<OpenAreaTreeVO>> getOpenAreaList(@RequestParam(value = "keyword",required = false)String keyword){
|
||||
List<OpenAreaTreeVO> openAreaTreeVOS = openAreaService.queryByKeyword(keyword);
|
||||
List<OpenAreaTreeVO> openAreaTreeVOS = openAreaService.queryByKeyword(keyword,Boolean.FALSE);
|
||||
return ResponseResult.success(openAreaTreeVOS);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
package com.cool.store.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.cool.store.vo.OpenAreaTreeVO;
|
||||
import com.cool.store.vo.OpenAreaVO;
|
||||
import com.cool.store.vo.OpenProvinceVO;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
* @Date 2023/6/6 14:27
|
||||
* @Version 1.0
|
||||
*/
|
||||
public interface OpenAreaService {
|
||||
|
||||
/**
|
||||
* 重点城市
|
||||
* @param pageSize
|
||||
* @param pageNumber
|
||||
* @return
|
||||
*/
|
||||
PageInfo<OpenAreaVO> queryKeyOpenAreaList(Integer pageSize,Integer pageNumber);
|
||||
|
||||
|
||||
/**
|
||||
* 查询全部
|
||||
* @return
|
||||
*/
|
||||
List<OpenAreaTreeVO> queryByKeyword(String keyword);
|
||||
|
||||
|
||||
/**
|
||||
* 查询可申请区域 可预约区域
|
||||
* @return
|
||||
*/
|
||||
OpenProvinceVO getOpenProvince();
|
||||
|
||||
|
||||
/**
|
||||
* 查询子列表
|
||||
* @param type
|
||||
* @param parentId
|
||||
* @return
|
||||
*/
|
||||
List<OpenAreaVO> getChildrenList(String type,Long parentId);
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user