diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml index c577270c4..a6e232345 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml @@ -6,17 +6,17 @@ - - + + - + - + diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyInterviewInspectionLogMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyInterviewInspectionLogMapper.xml index 3c4f2f09a..a0b17555d 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyInterviewInspectionLogMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyInterviewInspectionLogMapper.xml @@ -9,10 +9,10 @@ - + - + diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyInspection.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyInspection.java index d463b5570..8adea1070 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyInspection.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyInspection.java @@ -1,7 +1,5 @@ package com.cool.store.entity; -import java.time.LocalDateTime; - public class HyInspection { private Long id; 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 b32075bee..c6e24adde 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 @@ -14,7 +14,7 @@ public interface InterviewInspectionService { /** * 提交稽核结果 */ - void submit(InspectionSubmissionDTO dto); + void submit(InspectionSubmissionDTO dto) throws ApiException; /** * 撤销稽核结果 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java index c33a407f0..dd6c97022 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java @@ -19,10 +19,7 @@ import com.cool.store.enums.OperateTypeEnum; import com.cool.store.enums.WorkflowStatusEnum; import com.cool.store.exception.ApiException; import com.cool.store.exception.ServiceException; -import com.cool.store.mapper.DingdingUserMapper; -import com.cool.store.mapper.HyPartnerCertificationInfoMapper; -import com.cool.store.mapper.HyPartnerInterviewMapper; -import com.cool.store.mapper.HyPartnerLineInfoMapper; +import com.cool.store.mapper.*; import com.cool.store.oss.OSSServer; import com.cool.store.request.*; import com.cool.store.request.data.flow.KeyText; @@ -94,6 +91,10 @@ public class FlowServiceImpl implements FlowService { @Autowired private HyPartnerLineInfoService hyPartnerLineInfoService; + + @Autowired + private HyInspectionMapper inspectionMapper; + @Override @Transactional public void createQualifyVerify(CreateQualifyVerifyReq request) throws ApiException, IOException { @@ -260,6 +261,10 @@ public class FlowServiceImpl implements FlowService { //3. 生成通过函并修改数据库相关信息 //TODO 问题:如果因为 pdf 生成失败或者其他原因导致异常,但是由于 MDM 只是做回调,不对回调是否成功负责,会导致流程信息缺失 genPassLetterAndUpdateDB(partnerName, verifyCity, passDate, interviewId); + //4. 向面试稽核表中新增一条信息 + HyInspection hyInspection = new HyInspection(); + hyInspection.setInterviewPlanId(Long.parseLong(interviewPlanId)); + inspectionMapper.insertSelective(hyInspection); //记录日志 LogBasicDTO log = LogBasicDTO.builder().operateTime(DateUtil.format(new Date(), CoolDateUtils.DATE_FORMAT_SEC)) .build(); 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 bacc530f1..4ea92fda1 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 @@ -17,6 +17,7 @@ import com.cool.store.service.InterviewInspectionService; import org.springframework.beans.BeanUtils; 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; @@ -37,7 +38,11 @@ public class InterviewInspectionServiceImpl implements InterviewInspectionServic private HyInterviewInspectionLogMapper interviewInspectionLogMapper; @Override - public void submit(InspectionSubmissionDTO dto) { + public void submit(InspectionSubmissionDTO dto) throws ApiException { + HyInspection rawInspection = inspectionMapper.selectByPrimaryKey(dto.getInspectionId()); + if (Objects.isNull(rawInspection)) { + throw new ApiException(ErrorCodeEnum.INSPECTION_INFO_NOT_EXIST); + } HyInspection hyInspection = new HyInspection(); //稽核结果和说明及文件等 hyInspection.setId(dto.getInspectionId()); @@ -49,14 +54,16 @@ public class InterviewInspectionServiceImpl implements InterviewInspectionServic hyInspection.setDescription(dto.getDescription()); String filesStr = spliceFiles(dto.getFiles()); hyInspection.setFiles(filesStr); - //稽核人,稽核时间 + //稽核人,稽核时间,创建人 hyInspection.setOperatorUserId(CurrentUserHolder.getUserId()); hyInspection.setUpdator(CurrentUserHolder.getUserId()); hyInspection.setInspectionTime(DateUtil.now()); + hyInspection.setCreator(rawInspection.getCreator() == null ? CurrentUserHolder.getUserId() : rawInspection.getCreator()); inspectionMapper.updateByPrimaryKeySelective(hyInspection); } @Override + @Transactional public void revoke(InspectionRevocationDTO dto) throws ApiException { //2.1 查询之前的一次操作 HyInspection hyInspection = inspectionMapper.selectByPrimaryKey(dto.getInspectionId()); @@ -72,7 +79,7 @@ public class InterviewInspectionServiceImpl implements InterviewInspectionServic String filesStr = spliceFiles(dto.getFiles()); inspectionLog.setOperationTime(DateUtil.now()); inspectionLog.setFiles(filesStr); - interviewInspectionLogMapper.updateByPrimaryKeySelective(inspectionLog); + interviewInspectionLogMapper.insertSelective(inspectionLog); //2. 撤销操作之前的一次操作写入面试稽核操作记录表 inspectionLog.setOperatorUserId(hyInspection.getOperatorUserId()); inspectionLog.setInspectionId(hyInspection.getId()); @@ -83,7 +90,8 @@ public class InterviewInspectionServiceImpl implements InterviewInspectionServic } inspectionLog.setDescription(hyInspection.getDescription()); inspectionLog.setFiles(hyInspection.getFiles()); - inspectionLog.setOperationTime(DateUtil.now()); + inspectionLog.setOperationTime(hyInspection.getInspectionTime()); + interviewInspectionLogMapper.insertSelective(inspectionLog); //3. 撤销操作之前的一次操作稽核信息状态修改为未稽核,并且将数据状态(其他字段)也恢复到未稽核时的状态 hyInspection.setOperatorUserId(null); hyInspection.setStatus(InspectionStatusEnum.NOT_INSPECT.getCode()); diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/config/swagger/Swagger2Config.java b/coolstore-partner-webb/src/main/java/com/cool/store/config/swagger/Swagger2Config.java index 016da5c33..2aa5aa10c 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/config/swagger/Swagger2Config.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/config/swagger/Swagger2Config.java @@ -52,7 +52,7 @@ public class Swagger2Config { .groupName(groupName) .select() .apis(this.scanBasePackage(packages)) - .paths(PathSelectors.regex(".*/inspection/setting/.*|.*getRegionUserAndSubRegion")) + .paths(PathSelectors.regex(".*/inspection/setting/.*|.*getRegionUserAndSubRegion|/inspection/.*")) .build() .globalOperationParameters(pars); } 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 eff1c3cd8..f2b3a4279 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 @@ -28,7 +28,7 @@ public class InterviewInspectionController { @PostMapping("/submission") @ApiOperation("提交稽核结果") - public ResponseResult interviewInspectionSubmit(@RequestBody InspectionSubmissionDTO dto) { + public ResponseResult interviewInspectionSubmit(@RequestBody InspectionSubmissionDTO dto) throws ApiException { interviewInspectionService.submit(dto); return ResponseResult.success(); }