From dc8f27a365e94034e7e5cc90041493e2f00da246 Mon Sep 17 00:00:00 2001 From: "xiaodong.hu" <1075471126@qq.com> Date: Fri, 21 Jul 2023 16:53:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=A8=BD=E6=A0=B8=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cool/store/mapper/HyInspectionMapper.java | 1 - .../HyInterviewInspectionLogMapper.java | 6 + .../com/cool/store/mapper/MdmAreaMapper.java | 3 + .../resources/mapper/HyInspectionMapper.xml | 115 +++++++++++++++++- .../mapper/HyInterviewInspectionLogMapper.xml | 6 +- .../main/resources/mapper/MdmAreaMapper.xml | 9 ++ .../GetInterviewInspectionListReq.java | 24 +++- .../GetInterviewInspectionResultListReq.java | 11 ++ .../InterviewInspectionHistoryInfo.java | 17 ++- .../vo/interview/InterviewInspectionInfo.java | 9 +- .../cool/store/service/MDMAreaService.java | 3 + .../impl/InterviewInspectionServiceImpl.java | 81 ++++++++++-- .../service/impl/MDMAreaServiceImpl.java | 39 ++++++ .../InterviewInspectionController.java | 1 - 14 files changed, 299 insertions(+), 26 deletions(-) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyInspectionMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyInspectionMapper.java index 3596ff1da..b49e920ad 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyInspectionMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyInspectionMapper.java @@ -30,7 +30,6 @@ public interface HyInspectionMapper { InterviewInspectionInfo interviewInspectionGetDetail(@Param("id") Long id); - List interviewInspectionGetHistoryDetail(@Param("id") Long id); List interviewInspectionResultGetList(GetInterviewInspectionResultListReq request); diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyInterviewInspectionLogMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyInterviewInspectionLogMapper.java index c5fea072d..dfcf8c9bf 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyInterviewInspectionLogMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyInterviewInspectionLogMapper.java @@ -1,7 +1,11 @@ package com.cool.store.mapper; import com.cool.store.entity.HyInterviewInspectionLog; +import com.cool.store.vo.interview.InterviewInspectionHistoryInfo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; @Mapper public interface HyInterviewInspectionLogMapper { @@ -16,4 +20,6 @@ public interface HyInterviewInspectionLogMapper { int updateByPrimaryKeySelective(HyInterviewInspectionLog record); int updateByPrimaryKey(HyInterviewInspectionLog record); + + List interviewInspectionGetHistoryDetail(@Param("inspectionId") Long id); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/MdmAreaMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/MdmAreaMapper.java index 0a909f808..0ea1d3c80 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/MdmAreaMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/MdmAreaMapper.java @@ -17,4 +17,7 @@ public interface MdmAreaMapper { List getSonArea(@Param("code") String code); + List getProvinceAllCode(@Param("code") String code); + + List getArea(@Param("code") String code); } diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml index 833887206..f2b1beb7f 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml @@ -30,16 +30,119 @@ where id = #{id} - delete from hy_inspection diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyInterviewInspectionLogMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyInterviewInspectionLogMapper.xml index a0b17555d..7eb9f169f 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyInterviewInspectionLogMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyInterviewInspectionLogMapper.xml @@ -25,7 +25,11 @@ from hy_interview_inspection_log where id = #{id,jdbcType=BIGINT} - + + delete from hy_interview_inspection_log where id = #{id,jdbcType=BIGINT} diff --git a/coolstore-partner-dao/src/main/resources/mapper/MdmAreaMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/MdmAreaMapper.xml index ba90de3a3..a4cb3bf1e 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/MdmAreaMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/MdmAreaMapper.xml @@ -15,4 +15,13 @@ FROM mdm_area WHERE parent_code = #{code} + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/GetInterviewInspectionListReq.java b/coolstore-partner-model/src/main/java/com/cool/store/request/GetInterviewInspectionListReq.java index 93eec46c2..b666b89c6 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/GetInterviewInspectionListReq.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/GetInterviewInspectionListReq.java @@ -4,6 +4,9 @@ import com.cool.store.common.PageBasicInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; /** * @Author: hxd @@ -12,14 +15,23 @@ import lombok.Data; */ @Data @ApiModel +@Accessors(chain = true) public class GetInterviewInspectionListReq extends PageBasicInfo { - @ApiModelProperty("搜索类型") - private String searchType; + @ApiModelProperty("面试官姓名") + private String interviewerName; - @ApiModelProperty("搜索内容") - private String searchContent; + @ApiModelProperty("面试官手机号") + private String interviewerMobile; + + + @ApiModelProperty("被面试人姓名") + private String intervieweeName; + + + @ApiModelProperty("被面试人手机号") + private String intervieweeMobile; @ApiModelProperty("稽核状态(0为未稽核,1为合格,2为不合格)") @@ -37,6 +49,10 @@ public class GetInterviewInspectionListReq extends PageBasicInfo { @ApiModelProperty("面试结束时间") private String endTime; + /** + * 地区编码 + */ + private List codeList; private String userId; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/GetInterviewInspectionResultListReq.java b/coolstore-partner-model/src/main/java/com/cool/store/request/GetInterviewInspectionResultListReq.java index f037a2be8..f6fa228e9 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/request/GetInterviewInspectionResultListReq.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/GetInterviewInspectionResultListReq.java @@ -5,6 +5,9 @@ import com.cool.store.common.PageBasicInfo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; /** * @Author: hxd @@ -13,6 +16,7 @@ import lombok.Data; */ @Data @ApiModel +@Accessors(chain = true) public class GetInterviewInspectionResultListReq extends PageBasicInfo { @ApiModelProperty("搜索类型") @@ -38,4 +42,11 @@ public class GetInterviewInspectionResultListReq extends PageBasicInfo { @ApiModelProperty("面试结束时间") private String endTime; + /** + * 地区编码 + */ + private List codeList; + + private String userId; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionHistoryInfo.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionHistoryInfo.java index 3a56aa0de..4e504fa4c 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionHistoryInfo.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionHistoryInfo.java @@ -18,8 +18,11 @@ import java.util.List; @Data public class InterviewInspectionHistoryInfo { - @ApiModelProperty(value = "操作人") - private String operatorUser; + @ApiModelProperty(value = "操作人姓名") + private String operatorUserName; + + @ApiModelProperty(value = "操作人电话") + private String operatorUserMobile; @ApiModelProperty(value = "稽核时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @@ -29,6 +32,16 @@ public class InterviewInspectionHistoryInfo { @ApiModelProperty(value = "原因") private String description; + @ApiModelProperty(value = "操作类型") + private String operationType; + @ApiModelProperty(value = "凭证或者证据") private List files; + + + private String filesStr; + + @ApiModelProperty(value = "id") + private Long id; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionInfo.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionInfo.java index 75b044f86..f38317202 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionInfo.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionInfo.java @@ -19,8 +19,11 @@ import java.util.List; @ApiModel(description = "面试稽核详情信息") public class InterviewInspectionInfo { - @ApiModelProperty(value = "稽核人") - private String auditor; + @ApiModelProperty(value = "稽核人姓名") + private String auditorName; + + @ApiModelProperty(value = "稽核人电话") + private String auditorMobile; @ApiModelProperty(value = "稽核时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @@ -34,4 +37,6 @@ public class InterviewInspectionInfo { @ApiModelProperty(value = "凭证或者证据") private List files; + + private String filesStr; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/MDMAreaService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/MDMAreaService.java index a1d1c665a..4de23ee92 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/MDMAreaService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/MDMAreaService.java @@ -17,4 +17,7 @@ public interface MDMAreaService { */ List getSonArea(String code); + List getAllAreaCode(String code); + + boolean getAreaProvinceType(String code); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewInspectionServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewInspectionServiceImpl.java index 6a3806f3f..2acf97c38 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewInspectionServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewInspectionServiceImpl.java @@ -1,11 +1,14 @@ package com.cool.store.service.impl; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import com.cool.store.context.CurrentUserHolder; import com.cool.store.dto.inspection.interview.InspectionRevocationDTO; import com.cool.store.dto.inspection.interview.InspectionSubmissionDTO; import com.cool.store.entity.HyInspection; import com.cool.store.entity.HyInterviewInspectionLog; +import com.cool.store.entity.MDMAreaDO; +import com.cool.store.entity.SysMenuDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.InspectionOperationTypeEnum; import com.cool.store.enums.InspectionStatusEnum; @@ -13,20 +16,21 @@ import com.cool.store.exception.ApiException; import com.cool.store.mapper.HyInspectionMapper; import com.cool.store.request.GetInterviewInspectionListReq; import com.cool.store.request.GetInterviewInspectionResultListReq; -import com.cool.store.response.ResponseResult; import com.cool.store.mapper.HyInterviewInspectionLogMapper; import com.cool.store.service.InterviewInspectionService; +import com.cool.store.service.MDMAreaService; +import com.cool.store.utils.StringUtil; import com.cool.store.vo.interview.InterviewInspectionHistoryInfo; import com.cool.store.vo.interview.InterviewInspectionInfo; import com.cool.store.vo.interview.InterviewInspectionResultVO; import com.cool.store.vo.interview.InterviewInspectionVO; -import com.github.pagehelper.PageInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.List; -import java.util.Objects; + +import java.text.SimpleDateFormat; +import java.util.*; import java.util.stream.Collectors; /** @@ -43,6 +47,10 @@ public class InterviewInspectionServiceImpl implements InterviewInspectionServic @Autowired private HyInterviewInspectionLogMapper interviewInspectionLogMapper; + + @Autowired + private MDMAreaService mdmAreaService; + @Override public void submit(InspectionSubmissionDTO dto) throws ApiException { HyInspection rawInspection = inspectionMapper.selectByPrimaryKey(dto.getInspectionId()); @@ -110,17 +118,44 @@ public class InterviewInspectionServiceImpl implements InterviewInspectionServic @Override public InterviewInspectionInfo interviewInspectionGetDetail(Long id) { - return inspectionMapper.interviewInspectionGetDetail(id); + InterviewInspectionInfo interviewInspectionInfo = inspectionMapper.interviewInspectionGetDetail(id); + if (ObjectUtil.isNotNull(interviewInspectionInfo) && ObjectUtil.isNotNull(interviewInspectionInfo.getFilesStr())) { + List list = Arrays.asList(interviewInspectionInfo.getFilesStr().split(",")); + interviewInspectionInfo.setFiles(list); + } + return interviewInspectionInfo; } @Override public List interviewInspectionGetHistoryDetail(Long id) { - return inspectionMapper.interviewInspectionGetHistoryDetail(id); + List interviewInspectionHistoryInfos = interviewInspectionLogMapper.interviewInspectionGetHistoryDetail(id); + for (InterviewInspectionHistoryInfo interviewInspectionHistoryInfo : interviewInspectionHistoryInfos) { + if (ObjectUtil.isNotNull(interviewInspectionHistoryInfo) && ObjectUtil.isNotNull(interviewInspectionHistoryInfo.getFilesStr())) { + List list = Arrays.asList(interviewInspectionHistoryInfo.getFilesStr().split(",")); + interviewInspectionHistoryInfo.setFiles(list); + } + } + return interviewInspectionHistoryInfos; } @Override public List interviewInspectionResultGetList(GetInterviewInspectionResultListReq request) { - return inspectionMapper.interviewInspectionResultGetList(request); + //给个默认时间 + if (StringUtil.isEmpty(request.getStartTime()) && StringUtil.isEmpty(request.getEndTime())) { + request.setStartTime(getHourDayDate(0, -6, true)).setEndTime(getHourDayDate(0, 0, false)); + } + //意向开店区域 不为空 + if (StringUtil.isNotEmpty(request.getWantShopArea())) { + if (mdmAreaService.getAreaProvinceType(request.getWantShopArea())) { + //是省 + + } else { + //并非省 + List codeList = mdmAreaService.getAllAreaCode(request.getWantShopArea()).stream().map(MDMAreaDO::getCode).collect(Collectors.toList()); + request.setCodeList(codeList); + } + } + return inspectionMapper.interviewInspectionResultGetList(request.setUserId(CurrentUserHolder.getUserId())); } private String spliceFiles(List files) { @@ -132,7 +167,35 @@ public class InterviewInspectionServiceImpl implements InterviewInspectionServic @Override public List interviewInspectionGetList(GetInterviewInspectionListReq request) { - String userId = CurrentUserHolder.getUserId(); - return inspectionMapper.interviewInspectionGetList(request); + //给个默认时间 + if (StringUtil.isEmpty(request.getStartTime()) && StringUtil.isEmpty(request.getEndTime())) { + request.setStartTime(getHourDayDate(0, -6, true)).setEndTime(getHourDayDate(0, 0, false)); + } + //意向开店区域 不为空 + if (StringUtil.isNotEmpty(request.getWantShopArea())) { + if (mdmAreaService.getAreaProvinceType(request.getWantShopArea())) { + //是省 + + } else { + //并非省 + List codeList = mdmAreaService.getAllAreaCode(request.getWantShopArea()).stream().map(MDMAreaDO::getCode).collect(Collectors.toList()); + request.setCodeList(codeList); + } + } + return inspectionMapper.interviewInspectionGetList(request.setUserId(CurrentUserHolder.getUserId())); } + + + private String getHourDayDate(int hour, int day, boolean pan) { + Date today = new Date(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(today); + calendar.add(Calendar.HOUR, hour); + calendar.add(Calendar.DAY_OF_MONTH, day); + Date twoDay = calendar.getTime(); + String partner = pan ? "yyyy-MM-dd 00:00:00" : "yyyy-MM-dd 24:00:00"; + return new SimpleDateFormat(partner).format(twoDay); + } + + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/MDMAreaServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/MDMAreaServiceImpl.java index 1b6dd7b03..7b401b5a7 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/MDMAreaServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/MDMAreaServiceImpl.java @@ -6,9 +6,11 @@ import com.cool.store.entity.MDMAreaDO; import com.cool.store.mapper.MdmAreaMapper; import com.cool.store.service.MDMAreaService; import com.cool.store.utils.RedisUtilPool; +import com.cool.store.utils.StringUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.text.MessageFormat; import java.util.List; @@ -57,4 +59,41 @@ public class MDMAreaServiceImpl implements MDMAreaService { return areaDOList; } + @Override + public List getAllAreaCode(String code) { + if (StringUtil.isEmpty(code)) { + return null; + } + //获取省下所有数据 + List provinceCodeList= mdmAreaMapper.getProvinceAllCode(code); + if(CollectionUtils.isEmpty(provinceCodeList)){ + //获取市区下所有数据 + List cityCodeList= mdmAreaMapper.getSonArea(code); + if(CollectionUtils.isEmpty(cityCodeList)){ + //获取区数据 + return mdmAreaMapper.getArea(code); + }else { + return cityCodeList; + } + }else { + return provinceCodeList; + } + } + + /** + * 省为true + * 非省为false + * @param code + * @return + */ + @Override + public boolean getAreaProvinceType(String code) { + if (StringUtil.isEmpty(code)) { + return false; + } + //获取省下所有数据 + List provinceCodeList= mdmAreaMapper.getProvinceAllCode(code); + return CollectionUtils.isEmpty(provinceCodeList)?false:true; + } + } diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewInspectionController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewInspectionController.java index 11962780b..19fc8dbb0 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewInspectionController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewInspectionController.java @@ -14,7 +14,6 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*;