Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner

This commit is contained in:
pserimal
2023-06-29 10:02:32 +08:00
10 changed files with 125 additions and 4 deletions

View File

@@ -104,4 +104,8 @@ public class HyOpenAreaInfoDAO {
} }
return hyOpenAreaInfoMapper.selectById(id); return hyOpenAreaInfoMapper.selectById(id);
} }
public List<HyOpenAreaInfoDO> getAllOpenArea(){
return hyOpenAreaInfoMapper.getAllOpenArea();
}
} }

View File

@@ -105,5 +105,11 @@ public interface HyOpenAreaInfoMapper {
HyOpenAreaInfoDO selectById(@Param("id") Long id); HyOpenAreaInfoDO selectById(@Param("id") Long id);
/**
* 获取所有的区域
* @return
*/
List<HyOpenAreaInfoDO> getAllOpenArea();
} }

View File

@@ -281,4 +281,8 @@
</where> </where>
</select> </select>
<select id="getAllOpenArea" resultMap="BaseResultMap">
select <include refid="Base_Column_List"/> from hy_open_area_info
</select>
</mapper> </mapper>

View File

@@ -307,10 +307,12 @@
b.interviewer as interviewer, b.interviewer as interviewer,
b.create_time as createTime, b.create_time as createTime,
b.room_id as roomId, b.room_id as roomId,
b.id as id b.id as id,
hpci.intention_contract_no as intentionContractNo
from hy_partner_line_info hpli from hy_partner_line_info hpli
left join hy_partner_interview a on hpli.id = a.partner_line_id left join hy_partner_interview a on hpli.id = a.partner_line_id
left join hy_partner_interview_plan b on a.interview_plan_id = b.id left join hy_partner_interview_plan b on a.interview_plan_id = b.id
left join hy_partner_certification_info hpci on hpci.partner_interview_id = a.id
<where> <where>
and hpli.deleted = 0 and hpli.line_status!=3 and hpli.deleted = 0 and hpli.line_status!=3
<if test="filter"> <if test="filter">

View File

@@ -38,7 +38,7 @@ public class PartnerInterviewInfoDTO {
private Date approveTime; private Date approveTime;
@ApiModelProperty("意向合同号") @ApiModelProperty("意向合同号")
private String authCode; private String intentionContractNo;
@ApiModelProperty("面试开始时间") @ApiModelProperty("面试开始时间")
private Date startTime; private Date startTime;

View File

@@ -1,10 +1,18 @@
package com.cool.store.vo; package com.cool.store.vo;
import com.cool.store.entity.HyOpenAreaInfoDO;
import com.google.common.collect.Lists;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;
/** /**
* @Author suzhuhong * @Author suzhuhong
@@ -36,5 +44,77 @@ public class OpenAreaTreeVO {
private String detailBanner; private String detailBanner;
@ApiModelProperty("子区域") @ApiModelProperty("子区域")
List<OpenAreaTreeVO> childNode; private List<OpenAreaTreeVO> childNode;
public static List<OpenAreaTreeVO> convertTree(List<HyOpenAreaInfoDO> allOpenArea, String keyword){
List<HyOpenAreaInfoDO> firstArea = allOpenArea.stream().filter(o -> Objects.isNull(o.getParentId())).collect(Collectors.toList());
Map<Long, List<HyOpenAreaInfoDO>> openAreaParentMap = allOpenArea.stream().filter(o->Objects.nonNull(o.getParentId())).collect(Collectors.groupingBy(k -> k.getParentId()));
List<OpenAreaTreeVO> allTree = new ArrayList<>();
for (HyOpenAreaInfoDO openAreaInfo : firstArea) {
OpenAreaTreeVO node = copyProperties(openAreaInfo);
List<OpenAreaTreeVO> childList = dealChild(openAreaInfo, openAreaParentMap);
node.setChildNode(childList);
allTree.add(node);
}
Map<Long, List<OpenAreaTreeVO>> childMap = allTree.stream().collect(Collectors.toMap(k -> k.getId(), v -> v.getChildNode()));
List<HyOpenAreaInfoDO> filterList = allOpenArea.stream().filter(o -> o.getAreaPath().contains(keyword)).collect(Collectors.toList());
Map<Long, HyOpenAreaInfoDO> openAreaMap = allOpenArea.stream().collect(Collectors.toMap(k -> k.getId(), Function.identity()));
List<HyOpenAreaInfoDO> list = new ArrayList<>();
//向上处理节点
for (HyOpenAreaInfoDO openAreaInfo : filterList) {
list.add(openAreaInfo);
while (Objects.nonNull(openAreaInfo) && Objects.nonNull(openAreaInfo.getParentId())){
openAreaInfo = openAreaMap.get(openAreaInfo.getParentId());
if(Objects.isNull(openAreaInfo)){
continue;
}
list.add(openAreaInfo);
}
}
List<OpenAreaTreeVO> resultList = new ArrayList<>();
List<HyOpenAreaInfoDO> filterFirstArea = list.stream().filter(o -> Objects.isNull(o.getParentId())).distinct().collect(Collectors.toList());
Map<Long, List<HyOpenAreaInfoDO>> filterOpenAreaParentMap = list.stream().filter(Objects::nonNull).filter(o->Objects.nonNull(o.getParentId())).collect(Collectors.groupingBy(k -> k.getParentId()));
for (HyOpenAreaInfoDO openAreaInfo : filterFirstArea) {
OpenAreaTreeVO node = copyProperties(openAreaInfo);
List<OpenAreaTreeVO> childList = dealChild(openAreaInfo, filterOpenAreaParentMap);
if(CollectionUtils.isEmpty(childList)){
childList = childMap.get(node.getId());
}
node.setChildNode(childList);
resultList.add(node);
}
return resultList;
}
public static List<OpenAreaTreeVO> dealChild(HyOpenAreaInfoDO areaInfo, Map<Long, List<HyOpenAreaInfoDO>> openAreaParentMap){
List<HyOpenAreaInfoDO> childList = openAreaParentMap.get(areaInfo.getId());
if(CollectionUtils.isEmpty(childList)){
return Lists.newArrayList();
}
List<OpenAreaTreeVO> resultList = new ArrayList<>();
for (HyOpenAreaInfoDO hyOpenAreaInfo : childList) {
OpenAreaTreeVO openAreaTree = copyProperties(hyOpenAreaInfo);
openAreaTree.setChildNode(dealChild(hyOpenAreaInfo, openAreaParentMap));
resultList.add(openAreaTree);
}
return resultList;
}
/**
* 属性处理
* @param area
* @return
*/
public static OpenAreaTreeVO copyProperties(HyOpenAreaInfoDO area){
OpenAreaTreeVO result = new OpenAreaTreeVO();
result.setId(area.getId());
result.setParentId(area.getParentId());
result.setAreaName(area.getAreaName());
result.setAreaPath(area.getAreaPath());
result.setAreaStatus(area.getAreaStatus());
result.setBackgroundBanner(area.getBackgroundBanner());
result.setDetailBanner(area.getDetailBanner());
return result;
}
} }

View File

@@ -33,6 +33,9 @@ public interface OpenAreaService {
List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword,Boolean applyFlag,Boolean flag); List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword,Boolean applyFlag,Boolean flag);
List<OpenAreaTreeVO> searchOpenArea(String keyword,Boolean applyFlag,Boolean flag);
/** /**
* 查询字列表 * 查询字列表
* @param type * @param type

View File

@@ -276,7 +276,7 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
partnerInterviewInfoVO.setDeadline(DateUtil.format(partnerInterviewInfoDTO.getDeadline(),CoolDateUtils.DATE_FORMAT_SEC_2)); partnerInterviewInfoVO.setDeadline(DateUtil.format(partnerInterviewInfoDTO.getDeadline(),CoolDateUtils.DATE_FORMAT_SEC_2));
partnerInterviewInfoVO.setStartTime(DateUtil.format(partnerInterviewInfoDTO.getStartTime(),CoolDateUtils.DATE_FORMAT_SEC_2)); partnerInterviewInfoVO.setStartTime(DateUtil.format(partnerInterviewInfoDTO.getStartTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
partnerInterviewInfoVO.setStatus(partnerInterviewInfoDTO.getStatus()); partnerInterviewInfoVO.setStatus(partnerInterviewInfoDTO.getStatus());
partnerInterviewInfoVO.setAuthCode(partnerInterviewInfoDTO.getAuthCode()); partnerInterviewInfoVO.setAuthCode(partnerInterviewInfoDTO.getIntentionContractNo());
partnerInterviewInfoVO.setEndTime(DateUtil.format(partnerInterviewInfoDTO.getEndTime(),CoolDateUtils.DATE_FORMAT_SEC_2)); partnerInterviewInfoVO.setEndTime(DateUtil.format(partnerInterviewInfoDTO.getEndTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
partnerInterviewInfoVO.setApproveTime(DateUtil.format(partnerInterviewInfoDTO.getApproveTime(),CoolDateUtils.DATE_FORMAT_SEC_2)); partnerInterviewInfoVO.setApproveTime(DateUtil.format(partnerInterviewInfoDTO.getApproveTime(),CoolDateUtils.DATE_FORMAT_SEC_2));
return partnerInterviewInfoVO; return partnerInterviewInfoVO;

View File

@@ -2,6 +2,7 @@ package com.cool.store.service.impl;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants;
import com.cool.store.dao.HyOpenAreaInfoDAO; import com.cool.store.dao.HyOpenAreaInfoDAO;
import com.cool.store.dto.partner.ApplyReservationProvinceDTO; import com.cool.store.dto.partner.ApplyReservationProvinceDTO;
import com.cool.store.entity.HyOpenAreaInfoDO; import com.cool.store.entity.HyOpenAreaInfoDO;
@@ -13,10 +14,12 @@ import com.cool.store.vo.OpenProvinceVO;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.*; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@@ -106,6 +109,13 @@ public class OpenAreaServiceImpl implements OpenAreaService {
return openAreaTreeVOS; return openAreaTreeVOS;
} }
@Override
public List<OpenAreaTreeVO> searchOpenArea(String keyword,Boolean applyFlag, Boolean flag) {
//先查出所有的一级菜单
List<HyOpenAreaInfoDO> allOpenArea = hyOpenAreaInfoDAO.getAllOpenArea();
return OpenAreaTreeVO.convertTree(allOpenArea, keyword);
}
@Override @Override
public List<OpenAreaVO> getChildrenList(String type, Long parentId) { public List<OpenAreaVO> getChildrenList(String type, Long parentId) {
List<HyOpenAreaInfoDO> childrenList = hyOpenAreaInfoDAO.getChildrenList(type, parentId); List<HyOpenAreaInfoDO> childrenList = hyOpenAreaInfoDAO.getChildrenList(type, parentId);

View File

@@ -2,10 +2,12 @@ package com.cool.store.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.cool.store.dao.EnterpriseUserDAO; import com.cool.store.dao.EnterpriseUserDAO;
import com.cool.store.dao.HyPartnerTaskInfoLogDAO;
import com.cool.store.dto.calendar.CreateCalendarEventDTO; import com.cool.store.dto.calendar.CreateCalendarEventDTO;
import com.cool.store.dto.calendar.DeleteCalendarEventDTO; import com.cool.store.dto.calendar.DeleteCalendarEventDTO;
import com.cool.store.dto.calendar.UpdateCalendarEventDTO; import com.cool.store.dto.calendar.UpdateCalendarEventDTO;
import com.cool.store.dto.calendar.UserCalendarsEventDTO; import com.cool.store.dto.calendar.UserCalendarsEventDTO;
import com.cool.store.dto.log.LineLogInfo;
import com.cool.store.dto.message.SendCardMessageDTO; import com.cool.store.dto.message.SendCardMessageDTO;
import com.cool.store.dto.response.ResultDTO; import com.cool.store.dto.response.ResultDTO;
import com.cool.store.entity.HyOpenAreaInfoDO; import com.cool.store.entity.HyOpenAreaInfoDO;
@@ -23,6 +25,7 @@ import com.cool.store.response.ResponseResult;
import com.cool.store.service.AliyunService; import com.cool.store.service.AliyunService;
import com.cool.store.service.EnterpriseSyncService; import com.cool.store.service.EnterpriseSyncService;
import com.cool.store.service.EnterpriseUserService; import com.cool.store.service.EnterpriseUserService;
import com.cool.store.service.OpenAreaService;
import com.cool.store.vo.cuser.IdentityCardInfoVO; import com.cool.store.vo.cuser.IdentityCardInfoVO;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -56,6 +59,10 @@ public class TestController {
private EnterpriseUserDAO enterpriseUserDAO; private EnterpriseUserDAO enterpriseUserDAO;
@Resource @Resource
private AliyunService aliyunService; private AliyunService aliyunService;
@Resource
private HyPartnerTaskInfoLogDAO hyPartnerTaskInfoLogDAO;
@Resource
private OpenAreaService openAreaService;
@PostMapping("/post") @PostMapping("/post")
public ResponseResult<Boolean> get(@RequestBody List<TestRequest> testRequestList){ public ResponseResult<Boolean> get(@RequestBody List<TestRequest> testRequestList){
@@ -239,4 +246,9 @@ public class TestController {
return ResponseResult.success(enterpriseUserService.getDevelopmentByZoneId(zoneId)); return ResponseResult.success(enterpriseUserService.getDevelopmentByZoneId(zoneId));
} }
@GetMapping("/searchOpenArea")
public ResponseResult searchOpenArea(@RequestParam(value = "keyword",required = false)String keyword){
return ResponseResult.success(openAreaService.searchOpenArea(keyword,null,Boolean.FALSE));
}
} }