diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java index 81a9779bb..34a46bbcf 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java @@ -83,6 +83,7 @@ public enum ErrorCodeEnum { GET_ACCESSTOKEN_ERROR(600001, "获取小程序TOKEN错误!", null), NEW_MOBILE_HAS_EXIST(600002,"加盟商用户信息已存在",null), INSPECTION_USER_OCCUPY(600002,"当前稽核人已经配置其他战区",null), + INSPECTION_INFO_NOT_EXIST(600005, "稽核信息不存在!", null) ; diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/InspectionOperationTypeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/InspectionOperationTypeEnum.java new file mode 100644 index 000000000..2656b91e1 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/InspectionOperationTypeEnum.java @@ -0,0 +1,33 @@ +package com.cool.store.enums; + +/** + * @author Fun Li + * @version 1.0 + * @date 2023/7/19 17:55 + */ +//稽核操作类型 +public enum InspectionOperationTypeEnum { + + PASS(0, "合格"), + NOT_PASS(1, "不合格"), + REVOCATION(2, "撤销"); + + private Integer code; + + private String type; + + InspectionOperationTypeEnum(Integer code, String type) { + this.code = code; + this.type = type; + } + + public Integer getCode() { + return code; + } + + public String getType() { + return type; + } + + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/InspectionStatusEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/InspectionStatusEnum.java new file mode 100644 index 000000000..b86464259 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/InspectionStatusEnum.java @@ -0,0 +1,32 @@ +package com.cool.store.enums; + +/** + * @author Fun Li + * @version 1.0 + * @date 2023/7/19 17:22 + */ +//稽核信息状态 +public enum InspectionStatusEnum { + + NOT_INSPECT(0, "未稽核"), + PASS(1, "合格"), + NOT_PASS(2, "不合格"); + + private Integer code; + + private String type; + + InspectionStatusEnum(Integer code, String type) { + this.code = code; + this.type = type; + } + + public Integer getCode() { + return code; + } + + public String getType() { + return type; + } + +} diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/InspectionTyeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/InspectionTyeEnum.java new file mode 100644 index 000000000..712db6357 --- /dev/null +++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/InspectionTyeEnum.java @@ -0,0 +1,29 @@ +package com.cool.store.enums; + +/** + * @author Fun Li + * @version 1.0 + * @date 2023/7/19 17:16 + */ +//稽核类型 +public enum InspectionTyeEnum { + + INTERVIEW_INSPECTION(0, "面试稽核"); + + private Integer code; + + private String type; + + InspectionTyeEnum(Integer code, String type) { + this.code = code; + this.type = type; + } + + public Integer getCode() { + return code; + } + + public String getType() { + return type; + } +} 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 new file mode 100644 index 000000000..1fa86ae6d --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyInspectionMapper.java @@ -0,0 +1,19 @@ +package com.cool.store.mapper; + +import com.cool.store.entity.HyInspection; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface HyInspectionMapper { + int deleteByPrimaryKey(Long id); + + int insert(HyInspection record); + + int insertSelective(HyInspection record); + + HyInspection selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(HyInspection record); + + int updateByPrimaryKey(HyInspection record); +} \ No newline at end of file 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 new file mode 100644 index 000000000..c5fea072d --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyInterviewInspectionLogMapper.java @@ -0,0 +1,19 @@ +package com.cool.store.mapper; + +import com.cool.store.entity.HyInterviewInspectionLog; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface HyInterviewInspectionLogMapper { + int deleteByPrimaryKey(Long id); + + int insert(HyInterviewInspectionLog record); + + int insertSelective(HyInterviewInspectionLog record); + + HyInterviewInspectionLog selectByPrimaryKey(Long id); + + int updateByPrimaryKeySelective(HyInterviewInspectionLog record); + + int updateByPrimaryKey(HyInterviewInspectionLog record); +} \ 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 new file mode 100644 index 000000000..c577270c4 --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + id, interview_plan_id, operator_user_id, type, status, files, description, inspection_time, + creator, updator, remark, deleted, create_time, update_time + + + + delete from hy_inspection + where id = #{id} + + + insert into hy_inspection (id, interview_plan_id, operator_user_id, + type, status, files, + description, inspection_time, creator, + updator, remark, deleted, + create_time, update_time) + values (#{id}, #{interviewPlanId}, #{operatorUserId,jdbcType=VARCHAR}, + #{type,jdbcType=TINYINT}, #{status,jdbcType=TINYINT}, #{files,jdbcType=VARCHAR}, + #{description,jdbcType=VARCHAR}, #{inspectionTime,jdbcType=TIMESTAMP}, #{creator,jdbcType=VARCHAR}, + #{updator,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}, #{deleted,jdbcType=BIT}, + #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}) + + + insert into hy_inspection + + + id, + + + interview_plan_id, + + + operator_user_id, + + + type, + + + status, + + + files, + + + description, + + + inspection_time, + + + creator, + + + updator, + + + remark, + + + deleted, + + + create_time, + + + update_time, + + + + + #{id}, + + + #{interviewPlanId}, + + + #{operatorUserId,jdbcType=VARCHAR}, + + + #{type,jdbcType=TINYINT}, + + + #{status,jdbcType=TINYINT}, + + + #{files,jdbcType=VARCHAR}, + + + #{description,jdbcType=VARCHAR}, + + + #{inspectionTime,jdbcType=TIMESTAMP}, + + + #{creator,jdbcType=VARCHAR}, + + + #{updator,jdbcType=VARCHAR}, + + + #{remark,jdbcType=VARCHAR}, + + + #{deleted,jdbcType=BIT}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + + + update hy_inspection + + + interview_plan_id = #{interviewPlanId}, + + + operator_user_id = #{operatorUserId,jdbcType=VARCHAR}, + + + type = #{type,jdbcType=TINYINT}, + + + status = #{status,jdbcType=TINYINT}, + + + files = #{files,jdbcType=VARCHAR}, + + + description = #{description,jdbcType=VARCHAR}, + + + inspection_time = #{inspectionTime,jdbcType=TIMESTAMP}, + + + creator = #{creator,jdbcType=VARCHAR}, + + + updator = #{updator,jdbcType=VARCHAR}, + + + remark = #{remark,jdbcType=VARCHAR}, + + + deleted = #{deleted,jdbcType=BIT}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + update_time = #{updateTime,jdbcType=TIMESTAMP}, + + + where id = #{id} + + + update hy_inspection + set interview_plan_id = #{interviewPlanId}, + operator_user_id = #{operatorUserId,jdbcType=VARCHAR}, + type = #{type,jdbcType=TINYINT}, + status = #{status,jdbcType=TINYINT}, + files = #{files,jdbcType=VARCHAR}, + description = #{description,jdbcType=VARCHAR}, + inspection_time = #{inspectionTime,jdbcType=TIMESTAMP}, + creator = #{creator,jdbcType=VARCHAR}, + updator = #{updator,jdbcType=VARCHAR}, + remark = #{remark,jdbcType=VARCHAR}, + deleted = #{deleted,jdbcType=BIT}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + update_time = #{updateTime,jdbcType=TIMESTAMP} + where id = #{id} + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml index 4af30f031..052e907bf 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyIntendDevelopementMappingMapper.xml @@ -3,7 +3,7 @@ - + diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyInterviewInspectionLogMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyInterviewInspectionLogMapper.xml new file mode 100644 index 000000000..3c4f2f09a --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/HyInterviewInspectionLogMapper.xml @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + id, operator_user_id, inspection_id, operation_type, description, files, operation_time, + remark, create_time, update_time + + + + delete from hy_interview_inspection_log + where id = #{id,jdbcType=BIGINT} + + + insert into hy_interview_inspection_log (id, operator_user_id, inspection_id, + operation_type, description, files, + operation_time, remark, create_time, + update_time) + values (#{id,jdbcType=BIGINT}, #{operatorUserId,jdbcType=VARCHAR}, #{inspectionId,jdbcType=BIGINT}, + #{operationType,jdbcType=TINYINT}, #{description,jdbcType=VARCHAR}, #{files,jdbcType=VARCHAR}, + #{operationTime,jdbcType=TIMESTAMP}, #{remark,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, + #{updateTime,jdbcType=TIMESTAMP}) + + + insert into hy_interview_inspection_log + + + id, + + + operator_user_id, + + + inspection_id, + + + operation_type, + + + description, + + + files, + + + operation_time, + + + remark, + + + create_time, + + + update_time, + + + + + #{id,jdbcType=BIGINT}, + + + #{operatorUserId,jdbcType=VARCHAR}, + + + #{inspectionId,jdbcType=BIGINT}, + + + #{operationType,jdbcType=TINYINT}, + + + #{description,jdbcType=VARCHAR}, + + + #{files,jdbcType=VARCHAR}, + + + #{operationTime,jdbcType=TIMESTAMP}, + + + #{remark,jdbcType=VARCHAR}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + + + update hy_interview_inspection_log + + + operator_user_id = #{operatorUserId,jdbcType=VARCHAR}, + + + inspection_id = #{inspectionId,jdbcType=BIGINT}, + + + operation_type = #{operationType,jdbcType=TINYINT}, + + + description = #{description,jdbcType=VARCHAR}, + + + files = #{files,jdbcType=VARCHAR}, + + + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + + + remark = #{remark,jdbcType=VARCHAR}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + update_time = #{updateTime,jdbcType=TIMESTAMP}, + + + where id = #{id,jdbcType=BIGINT} + + + update hy_interview_inspection_log + set operator_user_id = #{operatorUserId,jdbcType=VARCHAR}, + inspection_id = #{inspectionId,jdbcType=BIGINT}, + operation_type = #{operationType,jdbcType=TINYINT}, + description = #{description,jdbcType=VARCHAR}, + files = #{files,jdbcType=VARCHAR}, + operation_time = #{operationTime,jdbcType=TIMESTAMP}, + remark = #{remark,jdbcType=VARCHAR}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + update_time = #{updateTime,jdbcType=TIMESTAMP} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/inspection/interview/InspectionRevocationDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/inspection/interview/InspectionRevocationDTO.java new file mode 100644 index 000000000..8e960b269 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/inspection/interview/InspectionRevocationDTO.java @@ -0,0 +1,25 @@ +package com.cool.store.dto.inspection.interview; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author Fun Li + * @version 1.0 + * @date 2023/7/19 17:47 + */ +@Data +public class InspectionRevocationDTO { + + @ApiModelProperty("稽核信息Id") + private Long inspectionId; + + @ApiModelProperty("操作说明") + private String description; + + @ApiModelProperty("多凭证文件链接集合") + private List files; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/inspection/interview/InspectionSubmissionDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/inspection/interview/InspectionSubmissionDTO.java new file mode 100644 index 000000000..398bd3741 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/inspection/interview/InspectionSubmissionDTO.java @@ -0,0 +1,29 @@ +package com.cool.store.dto.inspection.interview; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author Fun Li + * @version 1.0 + * @date 2023/7/19 17:05 + */ +@Data +public class InspectionSubmissionDTO { + + @ApiModelProperty(value = "稽核信息表id", required = true) + private Long inspectionId; + + @ApiModelProperty(value = "是否合格,0为不合格,1为合格", required = true) + private Integer whetherPass; + + @ApiModelProperty("稽核说明,仅当不合格时为必传项") + private String description; + + @ApiModelProperty("稽核多凭证文件链接") + private List files; + +} 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 new file mode 100644 index 000000000..d463b5570 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyInspection.java @@ -0,0 +1,166 @@ +package com.cool.store.entity; + +import java.time.LocalDateTime; + +public class HyInspection { + private Long id; + + private Long interviewPlanId; + + private String operatorUserId; + + private Integer type; + + private Integer status; + + private String files; + + private String description; + + private String inspectionTime; + + private String creator; + + private String updator; + + private String remark; + + private Boolean deleted; + + private String createTime; + + private String updateTime; + + public HyInspection(Long id, Long interviewPlanId, String operatorUserId, Integer type, Integer status, String files, String description, String inspectionTime, String creator, String updator, String remark, Boolean deleted, String createTime, String updateTime) { + this.id = id; + this.interviewPlanId = interviewPlanId; + this.operatorUserId = operatorUserId; + this.type = type; + this.status = status; + this.files = files; + this.description = description; + this.inspectionTime = inspectionTime; + this.creator = creator; + this.updator = updator; + this.remark = remark; + this.deleted = deleted; + this.createTime = createTime; + this.updateTime = updateTime; + } + + public HyInspection() { + super(); + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getInterviewPlanId() { + return interviewPlanId; + } + + public void setInterviewPlanId(Long interviewPlanId) { + this.interviewPlanId = interviewPlanId; + } + + public String getOperatorUserId() { + return operatorUserId; + } + + public void setOperatorUserId(String operatorUserId) { + this.operatorUserId = operatorUserId == null ? null : operatorUserId.trim(); + } + + public Integer getType() { + return type; + } + + public void setType(Integer type) { + this.type = type; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public String getFiles() { + return files; + } + + public void setFiles(String files) { + this.files = files == null ? null : files.trim(); + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description == null ? null : description.trim(); + } + + public String getInspectionTime() { + return inspectionTime; + } + + public void setInspectionTime(String inspectionTime) { + this.inspectionTime = inspectionTime; + } + + public String getCreator() { + return creator; + } + + public void setCreator(String creator) { + this.creator = creator == null ? null : creator.trim(); + } + + public String getUpdator() { + return updator; + } + + public void setUpdator(String updator) { + this.updator = updator == null ? null : updator.trim(); + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark == null ? null : remark.trim(); + } + + public Boolean getDeleted() { + return deleted; + } + + public void setDeleted(Boolean deleted) { + this.deleted = deleted; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime == null ? null : createTime.trim(); + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyIntendDevelopementMappingDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyIntendDevelopementMappingDO.java index c91a0ebbe..e0ffe6f63 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyIntendDevelopementMappingDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyIntendDevelopementMappingDO.java @@ -22,7 +22,7 @@ public class HyIntendDevelopementMappingDO implements Serializable { private Long id; @ApiModelProperty("hy_intend_developement_zone_info.id") - private String mappingId; + private Long mappingId; @ApiModelProperty("hy_open_area_info.id或者区域ID") private String openAreaMappingId; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/HyInterviewInspectionLog.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyInterviewInspectionLog.java new file mode 100644 index 000000000..9742533cc --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/HyInterviewInspectionLog.java @@ -0,0 +1,120 @@ +package com.cool.store.entity; + +public class HyInterviewInspectionLog { + private Long id; + + private String operatorUserId; + + private Long inspectionId; + + private Integer operationType; + + private String description; + + private String files; + + private String operationTime; + + private String remark; + + private String createTime; + + private String updateTime; + + public HyInterviewInspectionLog(Long id, String operatorUserId, Long inspectionId, Integer operationType, String description, String files, String operationTime, String remark, String createTime, String updateTime) { + this.id = id; + this.operatorUserId = operatorUserId; + this.inspectionId = inspectionId; + this.operationType = operationType; + this.description = description; + this.files = files; + this.operationTime = operationTime; + this.remark = remark; + this.createTime = createTime; + this.updateTime = updateTime; + } + + public HyInterviewInspectionLog() { + super(); + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getOperatorUserId() { + return operatorUserId; + } + + public void setOperatorUserId(String operatorUserId) { + this.operatorUserId = operatorUserId == null ? null : operatorUserId.trim(); + } + + public Long getInspectionId() { + return inspectionId; + } + + public void setInspectionId(Long inspectionId) { + this.inspectionId = inspectionId; + } + + public Integer getOperationType() { + return operationType; + } + + public void setOperationType(Integer operationType) { + this.operationType = operationType; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description == null ? null : description.trim(); + } + + public String getFiles() { + return files; + } + + public void setFiles(String files) { + this.files = files == null ? null : files.trim(); + } + + public String getOperationTime() { + return operationTime; + } + + public void setOperationTime(String operationTime) { + this.operationTime = operationTime; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark == null ? null : remark.trim(); + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime == null ? null : createTime.trim(); + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } +} \ No newline at end of file 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 new file mode 100644 index 000000000..b32075bee --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/InterviewInspectionService.java @@ -0,0 +1,24 @@ +package com.cool.store.service; + +import com.cool.store.dto.inspection.interview.InspectionRevocationDTO; +import com.cool.store.dto.inspection.interview.InspectionSubmissionDTO; +import com.cool.store.exception.ApiException; + +/** + * @author Fun Li + * @version 1.0 + * @date 2023/7/19 16:50 + */ +public interface InterviewInspectionService { + + /** + * 提交稽核结果 + */ + void submit(InspectionSubmissionDTO dto); + + /** + * 撤销稽核结果 + */ + void revoke(InspectionRevocationDTO dto) throws ApiException; + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java index a733b4238..08af13797 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java @@ -563,7 +563,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { } List result = new ArrayList<>(); if (hyIntendDevelopementMappingDO!=null){ - HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(Long.valueOf(hyIntendDevelopementMappingDO.getMappingId())); + HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(hyIntendDevelopementMappingDO.getMappingId()); if (hyIntendDevZoneInfoDO!=null && StringUtil.isNotEmpty(hyIntendDevZoneInfoDO.getAssociatedRegionId())) { List list = JSONObject.parseArray(hyIntendDevZoneInfoDO.getAssociatedRegionId(), String.class); result.addAll(list); @@ -650,7 +650,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = hyIntendDevMappingDAO.selectByOpenAreaMappingId(Long.valueOf(wantShopArea),type); List result = new ArrayList<>(); if (hyIntendDevelopementMappingDO!=null){ - HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(Long.valueOf(hyIntendDevelopementMappingDO.getMappingId())); + HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(hyIntendDevelopementMappingDO.getMappingId()); if (hyIntendDevZoneInfoDO!=null && StringUtil.isNotEmpty(hyIntendDevZoneInfoDO.getAssociatedRegionId())) { List list = JSONObject.parseArray(hyIntendDevZoneInfoDO.getAssociatedRegionId(), String.class); result.addAll(list); @@ -658,8 +658,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { } String userId = ""; List userListByRegionIds = enterpriseUserDAO.getUserListByRegionIds(result); - String zoneId = hyIntendDevelopementMappingDO.getMappingId(); - HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(Long.valueOf(zoneId)); + HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(hyIntendDevelopementMappingDO.getMappingId()); if (CollectionUtils.isNotEmpty(userListByRegionIds)){ List userIdList = userListByRegionIds.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList()); int i = userIdList.indexOf(hyIntendDevZoneInfoDO.getLastAllotUserId()); 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 new file mode 100644 index 000000000..bacc530f1 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewInspectionServiceImpl.java @@ -0,0 +1,104 @@ +package com.cool.store.service.impl; + +import cn.hutool.core.date.DateUtil; +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.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.mapper.HyInterviewInspectionLogMapper; +import com.cool.store.service.InterviewInspectionService; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * @author Fun Li + * @version 1.0 + * @date 2023/7/19 16:50 + */ +@Service +public class InterviewInspectionServiceImpl implements InterviewInspectionService { + + @Autowired + private HyInspectionMapper inspectionMapper; + + @Autowired + private HyInterviewInspectionLogMapper interviewInspectionLogMapper; + + @Override + public void submit(InspectionSubmissionDTO dto) { + HyInspection hyInspection = new HyInspection(); + //稽核结果和说明及文件等 + hyInspection.setId(dto.getInspectionId()); + if (dto.getWhetherPass().equals(0)) { + hyInspection.setStatus(InspectionStatusEnum.NOT_PASS.getCode()); + } else if (dto.getWhetherPass().equals(1)) { + hyInspection.setStatus(InspectionStatusEnum.PASS.getCode()); + } + hyInspection.setDescription(dto.getDescription()); + String filesStr = spliceFiles(dto.getFiles()); + hyInspection.setFiles(filesStr); + //稽核人,稽核时间 + hyInspection.setOperatorUserId(CurrentUserHolder.getUserId()); + hyInspection.setUpdator(CurrentUserHolder.getUserId()); + hyInspection.setInspectionTime(DateUtil.now()); + inspectionMapper.updateByPrimaryKeySelective(hyInspection); + } + + @Override + public void revoke(InspectionRevocationDTO dto) throws ApiException { + //2.1 查询之前的一次操作 + HyInspection hyInspection = inspectionMapper.selectByPrimaryKey(dto.getInspectionId()); + if (Objects.isNull(hyInspection)) { + throw new ApiException(ErrorCodeEnum.INSPECTION_INFO_NOT_EXIST); + } + //1. 撤销操作记录写入数据库面试稽核操作记录表 + HyInterviewInspectionLog inspectionLog = new HyInterviewInspectionLog(); + inspectionLog.setOperatorUserId(CurrentUserHolder.getUserId()); + inspectionLog.setInspectionId(dto.getInspectionId()); + inspectionLog.setOperationType(InspectionOperationTypeEnum.REVOCATION.getCode()); + inspectionLog.setDescription(dto.getDescription()); + String filesStr = spliceFiles(dto.getFiles()); + inspectionLog.setOperationTime(DateUtil.now()); + inspectionLog.setFiles(filesStr); + interviewInspectionLogMapper.updateByPrimaryKeySelective(inspectionLog); + //2. 撤销操作之前的一次操作写入面试稽核操作记录表 + inspectionLog.setOperatorUserId(hyInspection.getOperatorUserId()); + inspectionLog.setInspectionId(hyInspection.getId()); + if (hyInspection.getStatus().equals(1)) { + inspectionLog.setOperationType(InspectionOperationTypeEnum.PASS.getCode()); + } else if (hyInspection.getStatus().equals(2)) { + inspectionLog.setOperationType(InspectionOperationTypeEnum.NOT_PASS.getCode()); + } + inspectionLog.setDescription(hyInspection.getDescription()); + inspectionLog.setFiles(hyInspection.getFiles()); + inspectionLog.setOperationTime(DateUtil.now()); + //3. 撤销操作之前的一次操作稽核信息状态修改为未稽核,并且将数据状态(其他字段)也恢复到未稽核时的状态 + hyInspection.setOperatorUserId(null); + hyInspection.setStatus(InspectionStatusEnum.NOT_INSPECT.getCode()); + hyInspection.setFiles(null); + hyInspection.setDescription(null); + hyInspection.setInspectionTime(null); + hyInspection.setUpdator(null); + inspectionMapper.updateByPrimaryKey(hyInspection); + } + + private String spliceFiles(List files) { + if (files == null || files.size() == 0) { + return null; + } + return files.stream().map(String::valueOf).collect(Collectors.joining(",")); + } + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java index bacb7b2d3..75b5f0fbc 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java @@ -147,7 +147,7 @@ public class InterviewServiceImpl implements InterviewService { return vo; } //查询开发主管 - EnterpriseUserDO development = enterpriseUserService.getDevelopmentByZoneId(Long.parseLong(hyIntendDevelopementMappingDO.getMappingId())); + EnterpriseUserDO development = enterpriseUserService.getDevelopmentByZoneId(hyIntendDevelopementMappingDO.getMappingId()); vo.setDevelopmentDirector(development); } return vo; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ZoneServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ZoneServiceImpl.java index 56feba928..80f2d5763 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ZoneServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ZoneServiceImpl.java @@ -72,7 +72,7 @@ public class ZoneServiceImpl implements ZoneService { HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = new HyIntendDevelopementMappingDO(); hyIntendDevelopementMappingDO.setType(intentAreaSettingRequest.getType()); hyIntendDevelopementMappingDO.setOpenAreaMappingId(String.valueOf(x)); - hyIntendDevelopementMappingDO.setMappingId(String.valueOf(hyIntendDevZoneInfoDO.getId())); + hyIntendDevelopementMappingDO.setMappingId(hyIntendDevZoneInfoDO.getId()); list.add(hyIntendDevelopementMappingDO); }); hyIntendDevMappingDAO.batchInsert(list); @@ -100,7 +100,7 @@ public class ZoneServiceImpl implements ZoneService { HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = new HyIntendDevelopementMappingDO(); hyIntendDevelopementMappingDO.setType(intentAreaSettingRequest.getType()); hyIntendDevelopementMappingDO.setOpenAreaMappingId(String.valueOf(x)); - hyIntendDevelopementMappingDO.setMappingId(String.valueOf(hyIntendDevZoneInfoDO.getId())); + hyIntendDevelopementMappingDO.setMappingId((hyIntendDevZoneInfoDO.getId())); list.add(hyIntendDevelopementMappingDO); }); hyIntendDevMappingDAO.batchInsert(list); 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 new file mode 100644 index 000000000..eff1c3cd8 --- /dev/null +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/InterviewInspectionController.java @@ -0,0 +1,43 @@ +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.response.ResponseResult; +import com.cool.store.service.InterviewInspectionService; +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.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author Fun Li + * @version 1.0 + * @date 2023/7/19 16:48 + */ +@RestController +@RequestMapping("/inspection/interview") +@Api(tags = "面试稽核") +public class InterviewInspectionController { + + @Autowired + private InterviewInspectionService interviewInspectionService; + + @PostMapping("/submission") + @ApiOperation("提交稽核结果") + public ResponseResult interviewInspectionSubmit(@RequestBody InspectionSubmissionDTO dto) { + interviewInspectionService.submit(dto); + return ResponseResult.success(); + } + + @PostMapping("/revocation") + @ApiOperation("撤销稽核结果") + public ResponseResult interviewInspectionRevoke(@RequestBody InspectionRevocationDTO dto) throws ApiException { + interviewInspectionService.revoke(dto); + return ResponseResult.success(); + } + +}