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 1fa86ae6d..3596ff1da 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 @@ -1,7 +1,16 @@ package com.cool.store.mapper; import com.cool.store.entity.HyInspection; +import com.cool.store.request.GetInterviewInspectionListReq; +import com.cool.store.request.GetInterviewInspectionResultListReq; +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 org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; @Mapper public interface HyInspectionMapper { @@ -16,4 +25,13 @@ public interface HyInspectionMapper { int updateByPrimaryKeySelective(HyInspection record); int updateByPrimaryKey(HyInspection record); + + List interviewInspectionGetList(GetInterviewInspectionListReq request); + + InterviewInspectionInfo interviewInspectionGetDetail(@Param("id") Long id); + + List interviewInspectionGetHistoryDetail(@Param("id") Long id); + + List interviewInspectionResultGetList(GetInterviewInspectionResultListReq request); + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml index a6e232345..833887206 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml @@ -29,7 +29,19 @@ from hy_inspection where id = #{id} - + + + + + delete from hy_inspection where id = #{id} 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 new file mode 100644 index 000000000..93eec46c2 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/GetInterviewInspectionListReq.java @@ -0,0 +1,44 @@ +package com.cool.store.request; + +import com.cool.store.common.PageBasicInfo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author: hxd + * @Date: 2023-06-06 15:50 + * @Description: + */ +@Data +@ApiModel +public class GetInterviewInspectionListReq extends PageBasicInfo { + + @ApiModelProperty("搜索类型") + private String searchType; + + + @ApiModelProperty("搜索内容") + private String searchContent; + + + @ApiModelProperty("稽核状态(0为未稽核,1为合格,2为不合格)") + private Integer status; + + + @ApiModelProperty("意向开店区域") + private String wantShopArea; + + + @ApiModelProperty("面试开始时间") + private String startTime; + + + @ApiModelProperty("面试结束时间") + private String endTime; + + + 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 new file mode 100644 index 000000000..f037a2be8 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/GetInterviewInspectionResultListReq.java @@ -0,0 +1,41 @@ +package com.cool.store.request; + + +import com.cool.store.common.PageBasicInfo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author: hxd + * @Date: 2023-06-06 15:50 + * @Description: + */ +@Data +@ApiModel +public class GetInterviewInspectionResultListReq extends PageBasicInfo { + + @ApiModelProperty("搜索类型") + private String searchType; + + + @ApiModelProperty("搜索内容") + private String searchContent; + + + @ApiModelProperty("稽核状态(0为未稽核,1为合格,2为不合格)") + private Integer status; + + + @ApiModelProperty("意向开店区域") + private String wantShopArea; + + + @ApiModelProperty("面试开始时间") + private String startTime; + + + @ApiModelProperty("面试结束时间") + private String endTime; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/GetInterviewInspectionHistoryListVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/GetInterviewInspectionHistoryListVO.java new file mode 100644 index 000000000..3c4f50220 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/GetInterviewInspectionHistoryListVO.java @@ -0,0 +1,24 @@ +package com.cool.store.vo.interview; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * @Author: hxd + * @Date: 2023-06-16 13:19 + * @Description: + */ +@Data +@Accessors(chain = true) +@ApiModel(description = "面试稽核历史") +public class GetInterviewInspectionHistoryListVO { + + @ApiModelProperty("面试稽核历史列表") + private List interviewInspectionHistoryInfos; + +} 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 new file mode 100644 index 000000000..3a56aa0de --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionHistoryInfo.java @@ -0,0 +1,34 @@ +package com.cool.store.vo.interview; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @Author: hxd + * @Date: 2023-06-16 13:19 + * @Description: + */ +@ApiModel(description = "面试稽核历史详情") +@Data +public class InterviewInspectionHistoryInfo { + + @ApiModelProperty(value = "操作人") + private String operatorUser; + + @ApiModelProperty(value = "稽核时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date inspectionTime; + + + @ApiModelProperty(value = "原因") + private String description; + + @ApiModelProperty(value = "凭证或者证据") + private List files; +} 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 new file mode 100644 index 000000000..75b044f86 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionInfo.java @@ -0,0 +1,37 @@ +package com.cool.store.vo.interview; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; +import java.util.List; + +/** + * @Author: hxd + * @Date: 2023-06-08 16:26 + * @Description: + */ +@Data +@Accessors(chain = true) +@ApiModel(description = "面试稽核详情信息") +public class InterviewInspectionInfo { + + @ApiModelProperty(value = "稽核人") + private String auditor; + + @ApiModelProperty(value = "稽核时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date inspectionTime; + + @ApiModelProperty(value = "稽核结果(0为未稽核,1为合格,2为不合格,3为撤销)") + private Integer status; + + @ApiModelProperty(value = "稽核说明") + private String description; + + @ApiModelProperty(value = "凭证或者证据") + private List files; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionResultVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionResultVO.java new file mode 100644 index 000000000..7b3793c67 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionResultVO.java @@ -0,0 +1,50 @@ +package com.cool.store.vo.interview; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * @Author: HXD + * @Date: 2023-06-08 16:26 + * @Description: + */ +@Data +@Accessors(chain = true) +@ApiModel(description = "面试稽核结果信息") +public class InterviewInspectionResultVO { + + @ApiModelProperty(value = "被面试人姓名") + private String intervieweeName; + + + @ApiModelProperty(value = "被面试人手机号") + private String intervieweeMobile; + + @ApiModelProperty(value = "意向开店区域") + private String wantShopAreaName; + + @ApiModelProperty(value = "面试通过时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date interviewPassTime; + + @ApiModelProperty(value = "稽核状态(0为未稽核,1为合格,2为不合格)") + private Integer status; + + @ApiModelProperty(value = "稽核人姓名") + private String auditorName; + + @ApiModelProperty(value = "稽核人电话") + private String auditorMobile; + + + @ApiModelProperty(value = "稽核时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date inspectionTime; + +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionVO.java new file mode 100644 index 000000000..f03a29fb2 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/interview/InterviewInspectionVO.java @@ -0,0 +1,60 @@ +package com.cool.store.vo.interview; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * @Author: HXD + * @Date: 2023-06-08 16:26 + * @Description: + */ +@Data +@Accessors(chain = true) +@ApiModel(description = "面试稽核信息") +public class InterviewInspectionVO { + + @ApiModelProperty(value = "面试官姓名") + private String interviewerName; + + @ApiModelProperty(value = "面试官手机号") + private String interviewerMobile; + + @ApiModelProperty(value = "被面试人姓名") + private String intervieweeName; + + + @ApiModelProperty(value = "被面试人手机号") + private String intervieweeMobile; + + @ApiModelProperty(value = "意向开店区域") + private String wantShopAreaName; + + @ApiModelProperty(value = "面试通过时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date interviewPassTime; + + @ApiModelProperty(value = "稽核状态(0为未稽核,1为合格,2为不合格)") + private Integer status; + + @ApiModelProperty(value = "稽核人姓名") + private String auditorName; + + @ApiModelProperty(value = "稽核人电话") + private String auditorMobile; + + + @ApiModelProperty(value = "稽核时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date inspectionTime; + + @ApiModelProperty(value = "稽核表id") + private Long id; + + @ApiModelProperty(value = "面试计划id") + private Integer interviewPlanId; +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewInspectionService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewInspectionService.java index c6e24adde..a5643bd9a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewInspectionService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewInspectionService.java @@ -1,15 +1,31 @@ package com.cool.store.service; +import com.cool.store.request.GetInterviewInspectionListReq; +import com.cool.store.request.GetInterviewInspectionResultListReq; +import com.cool.store.response.ResponseResult; +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 com.cool.store.dto.inspection.interview.InspectionRevocationDTO; import com.cool.store.dto.inspection.interview.InspectionSubmissionDTO; import com.cool.store.exception.ApiException; +import com.cool.store.dto.inspection.interview.InspectionRevocationDTO; +import com.cool.store.dto.inspection.interview.InspectionSubmissionDTO; +import com.cool.store.exception.ApiException; + +import java.util.List; + /** * @author Fun Li * @version 1.0 * @date 2023/7/19 16:50 */ public interface InterviewInspectionService { + List interviewInspectionGetList(GetInterviewInspectionListReq request); /** * 提交稽核结果 @@ -21,4 +37,10 @@ public interface InterviewInspectionService { */ void revoke(InspectionRevocationDTO dto) throws ApiException; + InterviewInspectionInfo interviewInspectionGetDetail(Long id); + + List interviewInspectionGetHistoryDetail(Long id); + + List interviewInspectionResultGetList(GetInterviewInspectionResultListReq request); + } 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 4ea92fda1..6a3806f3f 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 @@ -9,12 +9,18 @@ import com.cool.store.entity.HyInterviewInspectionLog; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.enums.InspectionOperationTypeEnum; import com.cool.store.enums.InspectionStatusEnum; -import com.cool.store.enums.InspectionTyeEnum; 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 org.springframework.beans.BeanUtils; +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; @@ -102,6 +108,21 @@ public class InterviewInspectionServiceImpl implements InterviewInspectionServic inspectionMapper.updateByPrimaryKey(hyInspection); } + @Override + public InterviewInspectionInfo interviewInspectionGetDetail(Long id) { + return inspectionMapper.interviewInspectionGetDetail(id); + } + + @Override + public List interviewInspectionGetHistoryDetail(Long id) { + return inspectionMapper.interviewInspectionGetHistoryDetail(id); + } + + @Override + public List interviewInspectionResultGetList(GetInterviewInspectionResultListReq request) { + return inspectionMapper.interviewInspectionResultGetList(request); + } + private String spliceFiles(List files) { if (files == null || files.size() == 0) { return null; @@ -109,4 +130,9 @@ public class InterviewInspectionServiceImpl implements InterviewInspectionServic return files.stream().map(String::valueOf).collect(Collectors.joining(",")); } + @Override + public List interviewInspectionGetList(GetInterviewInspectionListReq request) { + String userId = CurrentUserHolder.getUserId(); + return inspectionMapper.interviewInspectionGetList(request); + } } diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/AuditResultController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/AuditResultController.java new file mode 100644 index 000000000..74bd56cef --- /dev/null +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/AuditResultController.java @@ -0,0 +1,45 @@ +package com.cool.store.controller; + +import com.cool.store.request.GetInterviewInspectionResultListReq; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.InterviewInspectionService; +import com.cool.store.vo.interview.InterviewInspectionResultVO; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * @author hxd + * @version 1.0 + * @date 2023/7/19 16:48 + */ +@RestController +@RequestMapping("/inspection/auditResult") +@Api(tags = "面试稽核结果") +public class AuditResultController { + + @Autowired + private InterviewInspectionService interviewInspectionService; + + /** + * 获取面试稽核结果列表 + * + * @param request + * @return + */ + @PostMapping("/getList") + @ApiOperation("获取面试稽核结果列表") + public ResponseResult> interviewInspectionResultGetList(GetInterviewInspectionResultListReq request) { + PageHelper.startPage(request.getPageNum(), request.getPageSize()); + List interviewInspectionResultGetList = interviewInspectionService.interviewInspectionResultGetList(request); + return ResponseResult.success(new PageInfo<>(interviewInspectionResultGetList)); + } + +} 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 f2b3a4279..11962780b 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 @@ -3,15 +3,22 @@ package com.cool.store.controller; import com.cool.store.dto.inspection.interview.InspectionRevocationDTO; import com.cool.store.dto.inspection.interview.InspectionSubmissionDTO; import com.cool.store.exception.ApiException; +import com.cool.store.request.GetInterviewInspectionListReq; import com.cool.store.response.ResponseResult; import com.cool.store.service.InterviewInspectionService; +import com.cool.store.vo.interview.GetInterviewInspectionHistoryListVO; +import com.cool.store.vo.interview.InterviewInspectionHistoryInfo; +import com.cool.store.vo.interview.InterviewInspectionInfo; +import com.cool.store.vo.interview.InterviewInspectionVO; +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.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; /** * @author Fun Li @@ -40,4 +47,47 @@ public class InterviewInspectionController { return ResponseResult.success(); } + + /** + * 获取面试稽核列表 + * + * @param request + * @return + */ + @PostMapping("/getList") + @ApiOperation("获取面试稽核列表") + public ResponseResult> interviewInspectionGetList(GetInterviewInspectionListReq request) { + PageHelper.startPage(request.getPageNum(), request.getPageSize()); + List interviewInspectionVOList = interviewInspectionService.interviewInspectionGetList(request); + return ResponseResult.success(new PageInfo<>(interviewInspectionVOList)); + } + + + /** + * 获取面试稽核详情信息 + * + * @param id + * @return + */ + @GetMapping("/getDetail") + @ApiOperation("获取面试稽核详情信息") + public ResponseResult interviewInspectionGetDetail(@RequestParam("id") Long id) { + InterviewInspectionInfo interviewInspectionInfo = interviewInspectionService.interviewInspectionGetDetail(id); + return ResponseResult.success(interviewInspectionInfo); + } + + /** + * 面试稽核历史结果查看 + * + * @param id + * @return + */ + @GetMapping("/getHistoryDetail") + @ApiOperation("稽核历史结果查看") + public ResponseResult interviewInspectionGetHistoryDetail(@RequestParam("id") Long id) { + List interviewInspectionHistoryInfos = interviewInspectionService.interviewInspectionGetHistoryDetail(id); + return ResponseResult.success(new GetInterviewInspectionHistoryListVO().setInterviewInspectionHistoryInfos(interviewInspectionHistoryInfos)); + } + + }