Merge remote-tracking branch 'hs/dev/feat/partner1.1_20230727' into dev/feat/partner1.1_20230727

This commit is contained in:
zhangchenbiao
2023-07-20 14:42:56 +08:00
13 changed files with 470 additions and 7 deletions

View File

@@ -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<InterviewInspectionVO> interviewInspectionGetList(GetInterviewInspectionListReq request);
InterviewInspectionInfo interviewInspectionGetDetail(@Param("id") Long id);
List<InterviewInspectionHistoryInfo> interviewInspectionGetHistoryDetail(@Param("id") Long id);
List<InterviewInspectionResultVO> interviewInspectionResultGetList(GetInterviewInspectionResultListReq request);
}

View File

@@ -29,7 +29,19 @@
from hy_inspection
where id = #{id}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
<select id="interviewInspectionGetList" resultType="com.cool.store.vo.interview.InterviewInspectionVO">
</select>
<select id="interviewInspectionGetDetail" resultType="com.cool.store.vo.interview.InterviewInspectionInfo">
</select>
<select id="interviewInspectionGetHistoryDetail" resultType="com.cool.store.vo.interview.InterviewInspectionHistoryInfo">
</select>
<select id="interviewInspectionResultGetList" resultType="com.cool.store.vo.interview.InterviewInspectionResultVO">
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from hy_inspection
where id = #{id}
</delete>

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<InterviewInspectionHistoryInfo> interviewInspectionHistoryInfos;
}

View File

@@ -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<String> files;
}

View File

@@ -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<String> files;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<InterviewInspectionVO> interviewInspectionGetList(GetInterviewInspectionListReq request);
/**
* 提交稽核结果
@@ -21,4 +37,10 @@ public interface InterviewInspectionService {
*/
void revoke(InspectionRevocationDTO dto) throws ApiException;
InterviewInspectionInfo interviewInspectionGetDetail(Long id);
List<InterviewInspectionHistoryInfo> interviewInspectionGetHistoryDetail(Long id);
List<InterviewInspectionResultVO> interviewInspectionResultGetList(GetInterviewInspectionResultListReq request);
}

View File

@@ -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<InterviewInspectionHistoryInfo> interviewInspectionGetHistoryDetail(Long id) {
return inspectionMapper.interviewInspectionGetHistoryDetail(id);
}
@Override
public List<InterviewInspectionResultVO> interviewInspectionResultGetList(GetInterviewInspectionResultListReq request) {
return inspectionMapper.interviewInspectionResultGetList(request);
}
private String spliceFiles(List<String> 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<InterviewInspectionVO> interviewInspectionGetList(GetInterviewInspectionListReq request) {
String userId = CurrentUserHolder.getUserId();
return inspectionMapper.interviewInspectionGetList(request);
}
}

View File

@@ -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<PageInfo<InterviewInspectionResultVO>> interviewInspectionResultGetList(GetInterviewInspectionResultListReq request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
List<InterviewInspectionResultVO> interviewInspectionResultGetList = interviewInspectionService.interviewInspectionResultGetList(request);
return ResponseResult.success(new PageInfo<>(interviewInspectionResultGetList));
}
}

View File

@@ -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<PageInfo<InterviewInspectionVO>> interviewInspectionGetList(GetInterviewInspectionListReq request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
List<InterviewInspectionVO> interviewInspectionVOList = interviewInspectionService.interviewInspectionGetList(request);
return ResponseResult.success(new PageInfo<>(interviewInspectionVOList));
}
/**
* 获取面试稽核详情信息
*
* @param id
* @return
*/
@GetMapping("/getDetail")
@ApiOperation("获取面试稽核详情信息")
public ResponseResult<InterviewInspectionInfo> interviewInspectionGetDetail(@RequestParam("id") Long id) {
InterviewInspectionInfo interviewInspectionInfo = interviewInspectionService.interviewInspectionGetDetail(id);
return ResponseResult.success(interviewInspectionInfo);
}
/**
* 面试稽核历史结果查看
*
* @param id
* @return
*/
@GetMapping("/getHistoryDetail")
@ApiOperation("稽核历史结果查看")
public ResponseResult<GetInterviewInspectionHistoryListVO> interviewInspectionGetHistoryDetail(@RequestParam("id") Long id) {
List<InterviewInspectionHistoryInfo> interviewInspectionHistoryInfos = interviewInspectionService.interviewInspectionGetHistoryDetail(id);
return ResponseResult.success(new GetInterviewInspectionHistoryListVO().setInterviewInspectionHistoryInfos(interviewInspectionHistoryInfos));
}
}