diff --git a/pom.xml b/pom.xml index 59e31a8..0b7b96a 100644 --- a/pom.xml +++ b/pom.xml @@ -10,12 +10,14 @@ com.newyetai - alita-bjy-uygur + demo 0.0.1 jar - 1.2.0.Final + 1.5.5.Final + 8 + 8 @@ -79,7 +81,7 @@ 4.2 - + + + org.mapstruct + mapstruct + ${org.mapstruct.version} + diff --git a/src/main/java/com/newyetai/AlitaBjyUygurApplication.java b/src/main/java/com/newyetai/DemoApplication.java similarity index 73% rename from src/main/java/com/newyetai/AlitaBjyUygurApplication.java rename to src/main/java/com/newyetai/DemoApplication.java index 2decefe..7541eb0 100644 --- a/src/main/java/com/newyetai/AlitaBjyUygurApplication.java +++ b/src/main/java/com/newyetai/DemoApplication.java @@ -9,14 +9,14 @@ import org.springframework.scheduling.annotation.EnableScheduling; /** * @author sr on 2020-04-16 */ -@SpringBootApplication(scanBasePackages = {"com.newyetai"}) +@SpringBootApplication(scanBasePackages = {"com.newyetai"}) @EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true) @EnableScheduling -public class AlitaBjyUygurApplication { +public class DemoApplication { public static void main(String[] args) { - SpringApplication.run(AlitaBjyUygurApplication.class, args); + SpringApplication.run(DemoApplication.class, args); } - + } diff --git a/src/main/java/com/newyetai/ai/controller/AiController.java b/src/main/java/com/newyetai/ai/controller/AiController.java deleted file mode 100644 index 1412fe9..0000000 --- a/src/main/java/com/newyetai/ai/controller/AiController.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.newyetai.ai.controller; - -import com.newyetai.common.AlitaResult; -import com.newyetai.sdk.ai.util.AIUtils; -import com.newyetai.sdk.xf.dto.RtasrReqDTO; -import com.newyetai.sdk.xf.model.ChatReq; -import com.newyetai.sdk.xf.model.TranslateReq; -import com.newyetai.sdk.xf.util.XfUtils; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.validation.annotation.Validated; -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; - -@Api(tags = "ai") -@RestController -@RequestMapping("anon/ai") -public class AiController { - - @PostMapping("chat") - @ApiOperation("ai对话") - public AlitaResult chat(@Validated @RequestBody ChatReq req) { - return AlitaResult.success(AIUtils.chat(req)); - } - - @PostMapping("translate") - @ApiOperation("ai翻译") - public AlitaResult translate(@Validated @RequestBody TranslateReq req) { - return AlitaResult.success(XfUtils.translate(req)); - } - - @PostMapping("rtasr") - @ApiOperation("ai实时语音转写") - public AlitaResult rtasr(@Validated @RequestBody RtasrReqDTO req) { - return AlitaResult.success(XfUtils.rtasr(req)); - } - - -} diff --git a/src/main/java/com/newyetai/ai/interview/controller/InterviewRecordController.java b/src/main/java/com/newyetai/ai/interview/controller/InterviewRecordController.java deleted file mode 100644 index 4ec7e00..0000000 --- a/src/main/java/com/newyetai/ai/interview/controller/InterviewRecordController.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.newyetai.ai.interview.controller; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import com.newyetai.common.AlitaResult; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.common.validation.Create; -import com.newyetai.common.validation.Update; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.ai.interview.dto.*; -import com.newyetai.ai.interview.service.InterviewRecordService; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.beans.factory.annotation.Autowired; -import java.util.List; - -/** - * ai面试记录 - * - * @author guixinman - * @since 1.0.0 2024-12-11 - */ -@Api(tags = "ai面试记录") -@RestController -@RequestMapping("/ai/interviewRecord") -public class InterviewRecordController { - - @Autowired - private InterviewRecordService interviewRecordService; - - @PostMapping("/create") - @ApiOperation("ai面试记录-创建") - public AlitaResult create(@RequestBody @Validated(value = Create.class) InterviewRecordOperatorDTO operatorDTO) { - return AlitaResult.success(interviewRecordService.create(operatorDTO)); - } - - @PutMapping("/modify") - @ApiOperation("ai面试记录-修改") - public AlitaResult modify(@RequestBody @Validated(value = Update.class) InterviewRecordOperatorDTO operatorDTO) { - return AlitaResult.success(interviewRecordService.modify(operatorDTO)); - } - - @DeleteMapping("{id}") - @ApiOperation("ai面试记录-删除") - public AlitaResult delete(@PathVariable("id") Long id) { - return AlitaResult.success(interviewRecordService.delete(id)); - } - - @GetMapping("{id}") - @ApiOperation("ai面试记录-查询单个") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(interviewRecordService.findById(id)); - } - - @GetMapping("list") - @ApiOperation("ai面试记录-列表查询") - public AlitaResult> list(InterviewRecordQueryDTO queryDTO) { - return AlitaResult.success(interviewRecordService.list(queryDTO)); - } - - @GetMapping("page") - @ApiOperation("ai面试记录-分页查询") - public AlitaResult> page(InterviewRecordPageQueryDTO queryDTO) { - interviewRecordService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/interview/convert/InterviewRecordConvert.java b/src/main/java/com/newyetai/ai/interview/convert/InterviewRecordConvert.java deleted file mode 100644 index 5676a5f..0000000 --- a/src/main/java/com/newyetai/ai/interview/convert/InterviewRecordConvert.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.newyetai.ai.interview.convert; - -import com.newyetai.ai.interview.entity.InterviewRecord; -import com.newyetai.ai.interview.dto.InterviewRecordDTO; -import com.newyetai.ai.interview.dto.InterviewRecordOperatorDTO; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** - * ai面试记录 - * - * @author guixinman - * @since 1.0.0 2024-12-11 - */ -@Mapper -public interface InterviewRecordConvert { - InterviewRecordConvert INSTANCE = Mappers.getMapper(InterviewRecordConvert.class); - - InterviewRecord convert(InterviewRecordDTO dto); - - InterviewRecordDTO convert(InterviewRecord entity); - - InterviewRecord convert(InterviewRecordOperatorDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/interview/dao/InterviewRecordMapper.java b/src/main/java/com/newyetai/ai/interview/dao/InterviewRecordMapper.java deleted file mode 100644 index a569b0d..0000000 --- a/src/main/java/com/newyetai/ai/interview/dao/InterviewRecordMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.ai.interview.dao; - -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.ai.interview.entity.InterviewRecord; -import com.newyetai.ai.interview.dto.InterviewRecordDTO; -import com.newyetai.ai.interview.dto.InterviewRecordQueryDTO; -import com.newyetai.ai.interview.dto.InterviewRecordPageQueryDTO; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * ai面试记录 - * - * @author guixinman - * @since 1.0.0 2024-12-11 - */ -@Mapper -public interface InterviewRecordMapper extends MyMapper { - - List page(@Param("param") InterviewRecordPageQueryDTO queryDTO); - - List list(@Param("param") InterviewRecordQueryDTO queryDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/interview/dto/InterviewRecordDTO.java b/src/main/java/com/newyetai/ai/interview/dto/InterviewRecordDTO.java deleted file mode 100644 index 8120bb0..0000000 --- a/src/main/java/com/newyetai/ai/interview/dto/InterviewRecordDTO.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.newyetai.ai.interview.dto; - -import com.newyetai.common.dto.BaseDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import java.util.Date; - -/** - * ai面试记录 - * - * @author guixinman - * @since 1.0.0 2024-12-11 - */ -@ApiModel("ai面试记录") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class InterviewRecordDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("用户ID(xs_user)") - private Long userId; - - @ApiModelProperty("模拟岗位名称") - private String positionName; - - @ApiModelProperty("面试状态(1.待开始、2.待继续、3.已完成)") - private Integer state; - - @ApiModelProperty("报告出具状态(1.未出具 2.已出具)") - private Integer reportStatus; - - private String jsonData; - - @ApiModelProperty("节点") - private Integer node; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/interview/dto/InterviewRecordOperatorDTO.java b/src/main/java/com/newyetai/ai/interview/dto/InterviewRecordOperatorDTO.java deleted file mode 100644 index 17fa561..0000000 --- a/src/main/java/com/newyetai/ai/interview/dto/InterviewRecordOperatorDTO.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.newyetai.ai.interview.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.validation.Create; -import com.newyetai.common.validation.Update; - -import org.hibernate.validator.constraints.Length; -import org.springframework.format.annotation.DateTimeFormat; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -import java.util.Date; - -/** - * ai面试记录 - * - * @author guixinman - * @since 1.0.0 2024-12-11 - */ -@ApiModel("ai面试记录") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class InterviewRecordOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - @NotNull(message = "id不能为空",groups = Update.class) - private Long id; - - @ApiModelProperty("用户ID(xs_user)") - private Long userId; - - - @Length(max = 32,message = "模拟岗位名称超长") - @NotBlank(message = "模拟岗位名称不能为空",groups = {Create.class}) - @ApiModelProperty("模拟岗位名称") - private String positionName; - - @ApiModelProperty("面试状态(1.待开始、2.待继续、3.已完成)") - private Integer state; - - @ApiModelProperty("报告出具状态(1.未出具 2.已出具)") - private Integer reportStatus; - - @NotNull(message = "数据不能为空",groups = {Update.class}) - private String jsonData; - - @NotNull(message = "节点不能为空",groups = {Update.class}) - @ApiModelProperty("节点") - private Integer node; - - //是否评分 - @Builder.Default - private Boolean gradeInterview = Boolean.FALSE; - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/interview/dto/InterviewRecordPageQueryDTO.java b/src/main/java/com/newyetai/ai/interview/dto/InterviewRecordPageQueryDTO.java deleted file mode 100644 index a3b956b..0000000 --- a/src/main/java/com/newyetai/ai/interview/dto/InterviewRecordPageQueryDTO.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.newyetai.ai.interview.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - - -import java.util.Date; - -/** - * ai面试记录 - * - * @author guixinman - * @since 1.0.0 2024-12-11 - */ - -@ApiModel("ai面试记录") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class InterviewRecordPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("用户ID(xs_user)") - private Long userId; - - @ApiModelProperty("模拟岗位名称 (模糊匹配)") - private String positionNameLike; - - @ApiModelProperty("面试状态(1.待开始、2.待继续、3.已完成)") - private Integer state; - - @ApiModelProperty("报告出具状态(1.未出具 2.已出具)") - private Integer reportStatus; - - private String jsonData; - - @ApiModelProperty("节点") - private Integer node; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("修改时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("修改时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/interview/dto/InterviewRecordQueryDTO.java b/src/main/java/com/newyetai/ai/interview/dto/InterviewRecordQueryDTO.java deleted file mode 100644 index 90f003c..0000000 --- a/src/main/java/com/newyetai/ai/interview/dto/InterviewRecordQueryDTO.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.newyetai.ai.interview.dto; - -import com.newyetai.common.dto.BaseDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -/** - * ai面试记录 - * - * @author guixinman - * @since 1.0.0 2024-12-11 - */ -@ApiModel("ai面试记录") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class InterviewRecordQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("用户ID(xs_user)") - private Long userId; - - @ApiModelProperty("模拟岗位名称 (模糊匹配)") - private String positionNameLike; - - @ApiModelProperty("面试状态(1.待开始、2.待继续、3.已完成)") - private Integer state; - - @ApiModelProperty("报告出具状态(1.未出具 2.已出具)") - private Integer reportStatus; - - private String jsonData; - - @ApiModelProperty("节点") - private Integer node; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("修改时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("修改时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/interview/entity/InterviewRecord.java b/src/main/java/com/newyetai/ai/interview/entity/InterviewRecord.java deleted file mode 100644 index 776128a..0000000 --- a/src/main/java/com/newyetai/ai/interview/entity/InterviewRecord.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.newyetai.ai.interview.entity; - - -import com.baomidou.mybatisplus.annotation.TableName; -import com.newyetai.common.entity.BaseEntity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * ai面试记录 - * - * @author guixinman - * @since 1.0.0 2024-12-11 - */ -@TableName(value = "ai_interview_record") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class InterviewRecord extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 用户ID(xs_user) - */ - private Long userId; - /** - * 模拟岗位名称 - */ - private String positionName; - /** - * 面试状态(1.待开始、2.待继续、3.已完成) - */ - private Integer state; - /** - * 报告出具状态(1.未出具 2.已出具) - */ - private Integer reportStatus; - /** - * - */ - private String jsonData; - /** - * 节点 - */ - private Integer node; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/interview/enums/InterviewRecordEnum.java b/src/main/java/com/newyetai/ai/interview/enums/InterviewRecordEnum.java deleted file mode 100644 index 5b72d3f..0000000 --- a/src/main/java/com/newyetai/ai/interview/enums/InterviewRecordEnum.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.newyetai.ai.interview.enums; -/** - * @description: 面试状态 - * @return: - * @author: guixinman - * @param: - */ -public enum InterviewRecordEnum { - INIT(1,"待开始"), - TO_BE_CONTINUED(2,"待继续"), - SUCCESS(3,"已完成"), - ; - - private Integer status; - /** - * 类型描述 - */ - private String desc; - - - InterviewRecordEnum(Integer status, String desc) { - this.status = status; - this.desc = desc; - } - - public Integer getStatus() { - return status; - } - - public String getDesc() { - return desc; - } -} diff --git a/src/main/java/com/newyetai/ai/interview/enums/InterviewRecordReportStatusEnum.java b/src/main/java/com/newyetai/ai/interview/enums/InterviewRecordReportStatusEnum.java deleted file mode 100644 index fbbb346..0000000 --- a/src/main/java/com/newyetai/ai/interview/enums/InterviewRecordReportStatusEnum.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.newyetai.ai.interview.enums; - -/** - * @description: 报告出具状态 - * @return: - * @author: guixinman - * @param: - */ -public enum InterviewRecordReportStatusEnum { - INIT(1,"未出具"), - SUCCESS(2,"已出具"), - ; - - private Integer status; - /** - * 类型描述 - */ - private String desc; - - - InterviewRecordReportStatusEnum(Integer status, String desc) { - this.status = status; - this.desc = desc; - } - - public Integer getStatus() { - return status; - } - - public String getDesc() { - return desc; - } -} diff --git a/src/main/java/com/newyetai/ai/interview/mapper/InterviewRecordMapper.xml b/src/main/java/com/newyetai/ai/interview/mapper/InterviewRecordMapper.xml deleted file mode 100644 index 0c4bde7..0000000 --- a/src/main/java/com/newyetai/ai/interview/mapper/InterviewRecordMapper.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - FROM - ai_interview_record t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.user_id = #{param.userId} - - - - AND t.position_name like #{positionNameLike} - - - AND t.state = #{param.state} - - - AND t.report_status = #{param.reportStatus} - - - AND t.json_data = #{param.jsonData} - - - AND t.node = #{param.node} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/interview/service/InterviewRecordService.java b/src/main/java/com/newyetai/ai/interview/service/InterviewRecordService.java deleted file mode 100644 index e7f52a8..0000000 --- a/src/main/java/com/newyetai/ai/interview/service/InterviewRecordService.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.newyetai.ai.interview.service; - -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -import java.util.List; - -import com.newyetai.ai.interview.dto.*; - -/** - * ai面试记录 - * - * @author guixinman - * @since 1.0.0 2024-12-11 - */ -@Validated(Default.class) -public interface InterviewRecordService { - - /** - * ai面试记录 - 创建 - * - * @param operatorDto 操作dto - * @return {@link InterviewRecordDTO} - */ - InterviewRecordDTO create(@Valid InterviewRecordOperatorDTO operatorDto); - - /** - * ai面试记录 - 修改 - * - * @param operatorDto 操作dto - * @return {@link InterviewRecordDTO} - */ - InterviewRecordDTO modify(@Valid InterviewRecordOperatorDTO operatorDto); - - /** - * ai面试记录 - 删除 - * - * @param id id - * @return {@link InterviewRecordDTO} - */ - InterviewRecordDTO delete(Long id); - - /** - * ai面试记录 - 根据ID查询单个 - * - * @param id id - * @return {@link InterviewRecordDTO} - */ - InterviewRecordDTO findById(Long id); - - /** - * ai面试记录 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link InterviewRecordDTO}> - */ - List list(InterviewRecordQueryDTO queryDTO); - - /** - * ai面试记录 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link InterviewRecordDTO} - */ - List page(InterviewRecordPageQueryDTO queryDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/interview/service/impl/InterviewRecordServiceImpl.java b/src/main/java/com/newyetai/ai/interview/service/impl/InterviewRecordServiceImpl.java deleted file mode 100644 index be5f54f..0000000 --- a/src/main/java/com/newyetai/ai/interview/service/impl/InterviewRecordServiceImpl.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.newyetai.ai.interview.service.impl; - -import cn.hutool.json.JSONUtil; -import lombok.extern.slf4j.Slf4j; - -import com.newyetai.ai.interview.convert.InterviewRecordConvert; -import com.newyetai.ai.interview.entity.InterviewRecord; -import com.newyetai.ai.interview.dto.*; -import com.newyetai.ai.interview.dao.InterviewRecordMapper; -import com.newyetai.ai.interview.enums.InterviewRecordEnum; -import com.newyetai.ai.interview.enums.InterviewRecordReportStatusEnum; -import com.newyetai.ai.interview.service.InterviewRecordService; - -import org.springframework.stereotype.Service; - -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.sdk.xf.dto.InterviewContentDTO; -import com.newyetai.sdk.xf.util.XfUtils; - -import javax.annotation.Resource; - -import java.util.*; - -/** - * ai面试记录 - * - * @author guixinman - * @since 1.0.0 2024-12-11 - */ -@Slf4j -@Service -public class InterviewRecordServiceImpl implements InterviewRecordService { - - @Resource - private InterviewRecordMapper interviewRecordMapper; - - @Override - public InterviewRecordDTO create(InterviewRecordOperatorDTO operatorDto) { - InterviewRecord interviewRecord = InterviewRecordConvert.INSTANCE.convert(operatorDto); - interviewRecord.setUserId(UserContextHolder.getExistLoginUserId()); - interviewRecord.setNode(1); - interviewRecord.setState(InterviewRecordEnum.INIT.getStatus()); - interviewRecord.setReportStatus(InterviewRecordReportStatusEnum.INIT.getStatus()); - - String data = XfUtils.generateInterviewQuestion(InterviewContentDTO.builder().positionName(operatorDto.getPositionName()).build()); - interviewRecord.setJsonData(data); - interviewRecordMapper.saveEntity(interviewRecord); - return InterviewRecordConvert.INSTANCE.convert(interviewRecord); - } - - @Override - public InterviewRecordDTO modify(InterviewRecordOperatorDTO operatorDto) { - InterviewRecordDTO interviewRecordDto = this.findById(operatorDto.getId()); - if (Objects.isNull(interviewRecordDto)) { - return null; - } - InterviewRecord interviewRecord = InterviewRecordConvert.INSTANCE.convert(operatorDto); - - String jsonData = interviewRecord.getJsonData(); - InterviewContentDTO interviewContentDTO = JsonUtils.toObject(jsonData, InterviewContentDTO.class); - - if (Boolean.TRUE.equals(operatorDto.getGradeInterview())) { - String jsonDataNew = XfUtils.gradeInterview(interviewContentDTO); - interviewRecord.setReportStatus(InterviewRecordReportStatusEnum.SUCCESS.getStatus()); - interviewRecord.setJsonData(jsonDataNew); - interviewRecord.setState(InterviewRecordEnum.SUCCESS.getStatus()); - }else { - interviewRecord.setState(InterviewRecordEnum.TO_BE_CONTINUED.getStatus()); - } - interviewRecordMapper.updateEntitySelective(interviewRecord); - - return this.findById(operatorDto.getId()); - } - - @Override - public InterviewRecordDTO delete(Long id) { - InterviewRecordDTO interviewRecordDto = this.findById(id); - if (Objects.isNull(interviewRecordDto)) { - return null; - } - InterviewRecord interviewRecord = InterviewRecord.builder().build(); - interviewRecord.setId(id); - interviewRecordMapper.deleteEntity(interviewRecord, UserContextHolder.getLoginUserId()); - return interviewRecordDto; - } - - @Override - public InterviewRecordDTO findById(Long id) { - InterviewRecord interviewRecord = interviewRecordMapper.getById(id); - if (Objects.isNull(interviewRecord)) { - return null; - } - return InterviewRecordConvert.INSTANCE.convert(interviewRecord); - } - - @Override - public List list(InterviewRecordQueryDTO queryDTO) { - return interviewRecordMapper.list(queryDTO); - } - - @Override - public List page(InterviewRecordPageQueryDTO queryDTO) { - queryDTO.setUserId(UserContextHolder.getExistLoginUserId()); - return interviewRecordMapper.page(queryDTO); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/mbti/controller/MbtiRecordController.java b/src/main/java/com/newyetai/ai/mbti/controller/MbtiRecordController.java deleted file mode 100644 index 7def508..0000000 --- a/src/main/java/com/newyetai/ai/mbti/controller/MbtiRecordController.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.newyetai.ai.mbti.controller; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -import com.newyetai.common.AlitaResult; -import com.newyetai.common.validation.Create; -import com.newyetai.common.validation.Update; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.ai.mbti.dto.*; -import com.newyetai.ai.mbti.service.MbtiRecordService; - -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * AI测评记录 - * - * @author guixinman - * @since 1.0.0 2024-12-20 - */ -@Api(tags = "AI测评记录") -@RestController -@RequestMapping("/ai/mbtiRecord") -public class MbtiRecordController { - - @Autowired - private MbtiRecordService mbtiRecordService; - - @PostMapping("/create") - @ApiOperation("AI测评记录-创建") - public AlitaResult create(@RequestBody @Validated(value = Create.class) MbtiRecordOperatorDTO operatorDTO) { - return AlitaResult.success(mbtiRecordService.create(operatorDTO)); - } - - @PutMapping("/modify") - @ApiOperation("AI测评记录-修改") - public AlitaResult modify(@RequestBody @Validated(value = Update.class) MbtiRecordOperatorDTO operatorDTO) { - return AlitaResult.success(mbtiRecordService.modify(operatorDTO)); - } - - @ApiOperation("AI测评记录-出具报告") - @PostMapping("/report") - public AlitaResult report(@RequestParam("id") Long id){ - mbtiRecordService.report(id); - return AlitaResult.success(); - } - - @DeleteMapping("{id}") - @ApiOperation("AI测评记录-删除") - public AlitaResult delete(@PathVariable("id") Long id) { - return AlitaResult.success(mbtiRecordService.delete(id)); - } - - @GetMapping("{id}") - @ApiOperation("AI测评记录-查询单个") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(mbtiRecordService.findById(id)); - } - - @GetMapping("list") - @ApiOperation("AI测评记录-列表查询") - public AlitaResult> list(MbtiRecordQueryDTO queryDTO) { - return AlitaResult.success(mbtiRecordService.list(queryDTO)); - } - - @GetMapping("page") - @ApiOperation("AI测评记录-分页查询") - public AlitaResult> page(MbtiRecordPageQueryDTO queryDTO) { - mbtiRecordService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/mbti/convert/MbtiRecordConvert.java b/src/main/java/com/newyetai/ai/mbti/convert/MbtiRecordConvert.java deleted file mode 100644 index 79c3897..0000000 --- a/src/main/java/com/newyetai/ai/mbti/convert/MbtiRecordConvert.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.newyetai.ai.mbti.convert; - -import com.newyetai.ai.mbti.entity.MbtiRecord; -import com.newyetai.ai.mbti.dto.MbtiRecordDTO; -import com.newyetai.ai.mbti.dto.MbtiRecordOperatorDTO; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** - * AI测评记录 - * - * @author guixinman - * @since 1.0.0 2024-12-20 - */ -@Mapper -public interface MbtiRecordConvert { - MbtiRecordConvert INSTANCE = Mappers.getMapper(MbtiRecordConvert.class); - - MbtiRecord convert(MbtiRecordDTO dto); - - MbtiRecordDTO convert(MbtiRecord entity); - - MbtiRecord convert(MbtiRecordOperatorDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/mbti/dao/MbtiRecordMapper.java b/src/main/java/com/newyetai/ai/mbti/dao/MbtiRecordMapper.java deleted file mode 100644 index 70e6e15..0000000 --- a/src/main/java/com/newyetai/ai/mbti/dao/MbtiRecordMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.ai.mbti.dao; - -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.ai.mbti.entity.MbtiRecord; -import com.newyetai.ai.mbti.dto.MbtiRecordDTO; -import com.newyetai.ai.mbti.dto.MbtiRecordQueryDTO; -import com.newyetai.ai.mbti.dto.MbtiRecordPageQueryDTO; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * AI测评记录 - * - * @author guixinman - * @since 1.0.0 2024-12-20 - */ -@Mapper -public interface MbtiRecordMapper extends MyMapper { - - List page(@Param("param") MbtiRecordPageQueryDTO queryDTO); - - List list(@Param("param") MbtiRecordQueryDTO queryDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/mbti/dto/MbtiRecordDTO.java b/src/main/java/com/newyetai/ai/mbti/dto/MbtiRecordDTO.java deleted file mode 100644 index d4c380d..0000000 --- a/src/main/java/com/newyetai/ai/mbti/dto/MbtiRecordDTO.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.newyetai.ai.mbti.dto; - -import com.newyetai.common.dto.BaseDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import java.util.Date; - -/** - * AI测评记录 - * - * @author guixinman - * @since 1.0.0 2024-12-20 - */ -@ApiModel("AI测评记录") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class MbtiRecordDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - private Long userId; - - private String liangBiaoId; - - @ApiModelProperty("节点") - private Integer node; - - private String jsonData; - - private String orderId; - - @ApiModelProperty("状态(1.待开始、2.待继续、3.已完成)") - private Integer state; - - @ApiModelProperty("报告出具状态(1.未出具 2.已出具)") - private Integer reportStatus; - - private String content; - - private String reportId; - - private String name; - - private String phone; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/mbti/dto/MbtiRecordOperatorDTO.java b/src/main/java/com/newyetai/ai/mbti/dto/MbtiRecordOperatorDTO.java deleted file mode 100644 index 2b92554..0000000 --- a/src/main/java/com/newyetai/ai/mbti/dto/MbtiRecordOperatorDTO.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.newyetai.ai.mbti.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.validation.Create; -import com.newyetai.common.validation.Update; - -import org.springframework.format.annotation.DateTimeFormat; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -import java.util.Date; -import java.util.Map; - -/** - * AI测评记录 - * - * @author guixinman - * @since 1.0.0 2024-12-20 - */ -@ApiModel("AI测评记录") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class MbtiRecordOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - @NotNull(message = "id不能为空",groups = Update.class) - private Long id; - - private Long userId; - - @NotBlank(message = "liangBiaoId不能为空",groups = {Create.class, Update.class}) - private String liangBiaoId; - - @NotNull(message = "节点不能为空",groups = {Update.class}) - @ApiModelProperty("节点") - private Integer node; - - @NotNull(message = "数据不能为空",groups = {Update.class}) - private Map answers; - - private String orderId; - - @ApiModelProperty("状态(2.待继续、3.已完成)") - private Integer state; - - @ApiModelProperty("报告出具状态(1.未出具 2.已出具)") - private Integer reportStatus; - - - @Builder.Default - private Boolean submit = Boolean.FALSE; - - private String content; - - private String reportId; - - @NotBlank(message = "name不能为空",groups = {Create.class, Update.class}) - private String name; - - @NotBlank(message = "phone不能为空",groups = {Create.class, Update.class}) - private String phone; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/mbti/dto/MbtiRecordPageQueryDTO.java b/src/main/java/com/newyetai/ai/mbti/dto/MbtiRecordPageQueryDTO.java deleted file mode 100644 index fd76fd5..0000000 --- a/src/main/java/com/newyetai/ai/mbti/dto/MbtiRecordPageQueryDTO.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.newyetai.ai.mbti.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - - -import java.util.Date; - -/** - * AI测评记录 - * - * @author guixinman - * @since 1.0.0 2024-12-20 - */ - -@ApiModel("AI测评记录") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class MbtiRecordPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - private Long userId; - - private String liangBiaoId; - - @ApiModelProperty("节点") - private Integer node; - - private String jsonData; - - private String orderId; - - @ApiModelProperty("状态(1.待开始、2.待继续、3.已完成)") - private Integer state; - - @ApiModelProperty("报告出具状态(1.未出具 2.已出具)") - private Integer reportStatus; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/mbti/dto/MbtiRecordQueryDTO.java b/src/main/java/com/newyetai/ai/mbti/dto/MbtiRecordQueryDTO.java deleted file mode 100644 index 388c72c..0000000 --- a/src/main/java/com/newyetai/ai/mbti/dto/MbtiRecordQueryDTO.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.newyetai.ai.mbti.dto; - -import com.newyetai.common.dto.BaseDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -/** - * AI测评记录 - * - * @author guixinman - * @since 1.0.0 2024-12-20 - */ -@ApiModel("AI测评记录") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class MbtiRecordQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - private Long userId; - - private String liangBiaoId; - - @ApiModelProperty("节点") - private Integer node; - - private String jsonData; - - private String orderId; - - @ApiModelProperty("状态(1.待开始、2.待继续、3.已完成)") - private Integer state; - - @ApiModelProperty("报告出具状态(1.未出具 2.已出具)") - private Integer reportStatus; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/mbti/entity/MbtiRecord.java b/src/main/java/com/newyetai/ai/mbti/entity/MbtiRecord.java deleted file mode 100644 index ea11df0..0000000 --- a/src/main/java/com/newyetai/ai/mbti/entity/MbtiRecord.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.newyetai.ai.mbti.entity; - - -import lombok.*; -import lombok.experimental.SuperBuilder; - -import com.baomidou.mybatisplus.annotation.*; -import com.newyetai.common.entity.BaseEntity; - -/** - * AI测评记录 - * - * @author guixinman - * @since 1.0.0 2024-12-20 - */ -@TableName(value = "ai_mbti_record") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class MbtiRecord extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * - */ - private Long userId; - /** - * - */ - private String liangBiaoId; - /** - * 节点 - */ - private Integer node; - /** - * - */ - private String jsonData; - /** - * - */ - private String orderId; - - /** - * 状态(1.待开始、2.待继续、3.已完成) - */ - private Integer state; - /** - * 报告出具状态(1.未出具 2.已出具) - */ - private Integer reportStatus; - - private String content; - - private String reportId; - - private String name; - - private String phone; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/mbti/enums/MbtiRecordEnum.java b/src/main/java/com/newyetai/ai/mbti/enums/MbtiRecordEnum.java deleted file mode 100644 index bf35f41..0000000 --- a/src/main/java/com/newyetai/ai/mbti/enums/MbtiRecordEnum.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.newyetai.ai.mbti.enums; -/** - * @description: 状态 - * @return: - * @author: guixinman - * @param: - */ -public enum MbtiRecordEnum { - TO_BE_CONTINUED(2,"待继续"), - SUCCESS(3,"已完成"), - ; - - private Integer status; - /** - * 类型描述 - */ - private String desc; - - - MbtiRecordEnum(Integer status, String desc) { - this.status = status; - this.desc = desc; - } - - public Integer getStatus() { - return status; - } - - public String getDesc() { - return desc; - } -} diff --git a/src/main/java/com/newyetai/ai/mbti/enums/MbtiRecordReportStatusEnum.java b/src/main/java/com/newyetai/ai/mbti/enums/MbtiRecordReportStatusEnum.java deleted file mode 100644 index 1d7a4d3..0000000 --- a/src/main/java/com/newyetai/ai/mbti/enums/MbtiRecordReportStatusEnum.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.newyetai.ai.mbti.enums; - -/** - * @description: 报告出具状态 - * @return: - * @author: guixinman - * @param: - */ -public enum MbtiRecordReportStatusEnum { - INIT(1,"未出具"), - SUCCESS(2,"已出具"), - ; - - private Integer status; - /** - * 类型描述 - */ - private String desc; - - - MbtiRecordReportStatusEnum(Integer status, String desc) { - this.status = status; - this.desc = desc; - } - - public Integer getStatus() { - return status; - } - - public String getDesc() { - return desc; - } -} diff --git a/src/main/java/com/newyetai/ai/mbti/mapper/MbtiRecordMapper.xml b/src/main/java/com/newyetai/ai/mbti/mapper/MbtiRecordMapper.xml deleted file mode 100644 index 001cb85..0000000 --- a/src/main/java/com/newyetai/ai/mbti/mapper/MbtiRecordMapper.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - FROM - ai_mbti_record t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.user_id = #{param.userId} - - - AND t.liang_biao_id = #{param.liangBiaoId} - - - AND t.node = #{param.node} - - - AND t.json_data = #{param.jsonData} - - - AND t.order_id = #{param.orderId} - - - AND t.state = #{param.state} - - - AND t.report_status = #{param.reportStatus} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/mbti/service/MbtiRecordService.java b/src/main/java/com/newyetai/ai/mbti/service/MbtiRecordService.java deleted file mode 100644 index 5088202..0000000 --- a/src/main/java/com/newyetai/ai/mbti/service/MbtiRecordService.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.newyetai.ai.mbti.service; - -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -import java.util.List; - -import com.newyetai.ai.mbti.dto.*; - -/** - * AI测评记录 - * - * @author guixinman - * @since 1.0.0 2024-12-20 - */ -@Validated(Default.class) -public interface MbtiRecordService { - - /** - * AI测评记录 - 创建 - * - * @param operatorDto 操作dto - * @return {@link MbtiRecordDTO} - */ - MbtiRecordDTO create(@Valid MbtiRecordOperatorDTO operatorDto); - - /** - * AI测评记录 - 修改 - * - * @param operatorDto 操作dto - * @return {@link MbtiRecordDTO} - */ - MbtiRecordDTO modify(@Valid MbtiRecordOperatorDTO operatorDto); - - /** - * @description: 出具报告 - * @return: - * @author: guixinman - * @param: - */ - void report(Long id); - - /** - * AI测评记录 - 删除 - * - * @param id id - * @return {@link MbtiRecordDTO} - */ - MbtiRecordDTO delete(Long id); - - /** - * AI测评记录 - 根据ID查询单个 - * - * @param id id - * @return {@link MbtiRecordDTO} - */ - MbtiRecordDTO findById(Long id); - - /** - * AI测评记录 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link MbtiRecordDTO}> - */ - List list(MbtiRecordQueryDTO queryDTO); - - /** - * AI测评记录 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link MbtiRecordDTO} - */ - List page(MbtiRecordPageQueryDTO queryDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/mbti/service/impl/MbtiRecordServiceImpl.java b/src/main/java/com/newyetai/ai/mbti/service/impl/MbtiRecordServiceImpl.java deleted file mode 100644 index cf6f2d2..0000000 --- a/src/main/java/com/newyetai/ai/mbti/service/impl/MbtiRecordServiceImpl.java +++ /dev/null @@ -1,166 +0,0 @@ -package com.newyetai.ai.mbti.service.impl; - -import lombok.extern.slf4j.Slf4j; - -import com.newyetai.ai.interview.enums.InterviewRecordEnum; -import com.newyetai.ai.interview.enums.InterviewRecordReportStatusEnum; -import com.newyetai.ai.mbti.convert.MbtiRecordConvert; -import com.newyetai.ai.mbti.entity.MbtiRecord; -import com.newyetai.ai.mbti.dto.*; -import com.newyetai.ai.mbti.dao.MbtiRecordMapper; -import com.newyetai.ai.mbti.enums.MbtiRecordEnum; -import com.newyetai.ai.mbti.enums.MbtiRecordReportStatusEnum; -import com.newyetai.ai.mbti.service.MbtiRecordService; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.newyetai.common.AlitaResult; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.sensitive.SensitiveInfoUtils; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.common.util.RandomUtils; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.sdk.mbti.mobel.AnswerReq; -import com.newyetai.sdk.mbti.mobel.AnswerReqDTO; -import com.newyetai.sdk.mbti.mobel.AnswerRes; -import com.newyetai.sdk.mbti.mobel.OrderQueryReq; -import com.newyetai.sdk.mbti.mobel.OrderQueryRes; -import com.newyetai.sdk.mbti.mobel.ReportReq; -import com.newyetai.sdk.mbti.mobel.ReportRes; -import com.newyetai.sdk.mbti.service.MbtiProvider; - -import javax.annotation.Resource; - -import java.util.*; - -/** - * AI测评记录 - * - * @author guixinman - * @since 1.0.0 2024-12-20 - */ -@Slf4j -@Service -public class MbtiRecordServiceImpl implements MbtiRecordService { - - @Resource - private MbtiRecordMapper mbtiRecordMapper; - - @Autowired - private MbtiProvider mbtiProvider; - - @Override - public MbtiRecordDTO create(MbtiRecordOperatorDTO operatorDto) { - MbtiRecord mbtiRecord = MbtiRecordConvert.INSTANCE.convert(operatorDto); - mbtiRecord.setUserId(UserContextHolder.getExistLoginUserId()); - mbtiRecord.setState(MbtiRecordEnum.TO_BE_CONTINUED.getStatus()); - mbtiRecord.setReportStatus(MbtiRecordReportStatusEnum.INIT.getStatus()); - mbtiRecord.setJsonData(JsonUtils.toJsonString(operatorDto.getAnswers())); - mbtiRecord.setName(operatorDto.getName()); - mbtiRecord.setPhone(operatorDto.getPhone()); - - if (operatorDto.getSubmit()) { - if (Objects.isNull(operatorDto.getAnswers())) { - throw new BusinessException("answers不能为空"); - } - AnswerReq answerReq = new AnswerReq(); - AnswerReqDTO answerData = AnswerReqDTO.builder() - .Answers(operatorDto.getAnswers()) - .test_name(SensitiveInfoUtils.mobilePhone2(operatorDto.getPhone()) + RandomUtils.getRandomString(5)) - .test_email(RandomUtils.getRandomString(5)) - .build(); - answerReq.setLiangbiaoId(operatorDto.getLiangBiaoId()); - answerReq.setAnswerData(answerData); - AlitaResult answerResAlitaResult = mbtiProvider.http(answerReq); - Assert.isTrue(answerResAlitaResult.getSuccess(),answerResAlitaResult.getMsg()); - AnswerRes answerRes = answerResAlitaResult.getData(); - mbtiRecord.setOrderId(answerRes.getOrderId()); - mbtiRecord.setState(MbtiRecordEnum.SUCCESS.getStatus()); - } - mbtiRecordMapper.saveEntity(mbtiRecord); - return MbtiRecordConvert.INSTANCE.convert(mbtiRecord); - } - - @Override - public MbtiRecordDTO modify(MbtiRecordOperatorDTO operatorDto) { - MbtiRecordDTO mbtiRecordDto = this.findById(operatorDto.getId()); - if (Objects.isNull(mbtiRecordDto)) { - return null; - } - MbtiRecord mbtiRecord = MbtiRecordConvert.INSTANCE.convert(operatorDto); - mbtiRecord.setJsonData(JsonUtils.toJsonString(operatorDto.getAnswers())); - mbtiRecord.setName(operatorDto.getName()); - mbtiRecord.setPhone(operatorDto.getPhone()); - if (operatorDto.getSubmit()) { - AnswerReq answerReq = new AnswerReq(); - answerReq.setLiangbiaoId(operatorDto.getLiangBiaoId()); - answerReq.setAnswerData(AnswerReqDTO.builder() - .Answers(operatorDto.getAnswers()) - .test_name(SensitiveInfoUtils.mobilePhone2(operatorDto.getPhone()) + RandomUtils.getRandomString(5)) - .test_email(RandomUtils.getRandomString(5)) - .build()); - AlitaResult answerResAlitaResult = mbtiProvider.http(answerReq); - Assert.isTrue(answerResAlitaResult.getSuccess(),answerResAlitaResult.getMsg()); - AnswerRes answerRes = answerResAlitaResult.getData(); - mbtiRecord.setOrderId(answerRes.getOrderId()); - mbtiRecord.setState(MbtiRecordEnum.SUCCESS.getStatus()); - } - mbtiRecordMapper.updateEntitySelective(mbtiRecord); - return this.findById(operatorDto.getId()); - } - - @Override - public void report(Long id) { - MbtiRecordDTO mbtiRecordDto = this.findById(id); - if (Objects.isNull(mbtiRecordDto)) { - return; - } - AlitaResult queryRes = mbtiProvider.http(OrderQueryReq.builder().liangbiaoId(mbtiRecordDto.getLiangBiaoId()).orderId(mbtiRecordDto.getOrderId()).build()); - Assert.isTrue(queryRes.getSuccess(),queryRes.getMsg()); - - AlitaResult reportRes = mbtiProvider.http(ReportReq.builder().liangbiaoId(mbtiRecordDto.getLiangBiaoId()).reportId(queryRes.getData().getReportId()).build()); - Assert.isTrue(reportRes.getSuccess(),reportRes.getMsg()); - - MbtiRecord mbtiRecord = MbtiRecordConvert.INSTANCE.convert(mbtiRecordDto); - mbtiRecord.setReportId(queryRes.getData().getReportId()); - mbtiRecord.setReportStatus(MbtiRecordReportStatusEnum.SUCCESS.getStatus()); - mbtiRecord.setContent(reportRes.getData().getContent()); - mbtiRecordMapper.updateEntitySelective(mbtiRecord); - } - - @Override - public MbtiRecordDTO delete(Long id) { - MbtiRecordDTO mbtiRecordDto = this.findById(id); - if (Objects.isNull(mbtiRecordDto)) { - return null; - } - MbtiRecord mbtiRecord = MbtiRecord.builder().build(); - mbtiRecord.setId(id); - mbtiRecordMapper.deleteEntity(mbtiRecord, UserContextHolder.getLoginUserId()); - return mbtiRecordDto; - } - - @Override - public MbtiRecordDTO findById(Long id) { - MbtiRecord mbtiRecord = mbtiRecordMapper.getById(id); - if (Objects.isNull(mbtiRecord)) { - return null; - } - return MbtiRecordConvert.INSTANCE.convert(mbtiRecord); - } - - @Override - public List list(MbtiRecordQueryDTO queryDTO) { - return mbtiRecordMapper.list(queryDTO); - } - - @Override - public List page(MbtiRecordPageQueryDTO queryDTO) { - queryDTO.setUserId(UserContextHolder.getExistLoginUserId()); - return mbtiRecordMapper.page(queryDTO); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/ai/resume/controller/AiResumeController.java b/src/main/java/com/newyetai/ai/resume/controller/AiResumeController.java deleted file mode 100644 index 4409bd7..0000000 --- a/src/main/java/com/newyetai/ai/resume/controller/AiResumeController.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.newyetai.ai.resume.controller; - -import com.newyetai.ai.resume.dto.AiResumeReqDTO; -import com.newyetai.ai.resume.service.AiResumeService; -import com.newyetai.common.AlitaResult; -import com.newyetai.sdk.xf.dto.TtsReqDTO; -import com.newyetai.sdk.xf.util.XfUtils; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -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.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.Map; - -import cn.hutool.json.JSONUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -/** - * @description: - * @author: guixinman - * @create: 2024-12-12 10:03 - **/ -@Api(tags = "AI简历") -@RestController -@RequestMapping("/ai/resume") -public class AiResumeController { - - @Autowired - private AiResumeService aiResumeService; - - @PostMapping("/create") - @ApiOperation("ai简历-创建") - public AlitaResult create(@RequestBody @Validated AiResumeReqDTO reqDto) { - aiResumeService.create(reqDto); - return AlitaResult.success(); - } - - @PostMapping("/iat") - @ApiOperation("ai简历-语音听写") - public AlitaResult iat(@RequestParam("fileCode") String fileCode) { - return AlitaResult.success(XfUtils.iat(fileCode)); - } - - @PostMapping("/tts") - @ApiOperation("ai简历-语音合成") - public AlitaResult tts(@RequestBody @Validated TtsReqDTO ttsReq) { - return AlitaResult.success(XfUtils.tts(ttsReq)); - } - - @PostMapping("/analyseResume") - @ApiOperation("分析简历") - public AlitaResult analyseResume(@RequestParam("text") String text) { - return AlitaResult.success(XfUtils.analyseResume(text)); - } - - @PostMapping("/generateSelfEvaluate") - @ApiOperation("生成自我评价") - public AlitaResult generateSelfEvaluate(@RequestBody Map map) { - return AlitaResult.success(XfUtils.generateSelfEvaluate(JSONUtil.toJsonStr(map))); - } - - @PostMapping("/generateWorkExperience") - @ApiOperation("生成工作经历") - public AlitaResult generateWorkExperience(@RequestBody Map map) { - return AlitaResult.success(XfUtils.generateWorkExperience(JSONUtil.toJsonStr(map))); - } - -} diff --git a/src/main/java/com/newyetai/ai/resume/dto/AiResumeReqDTO.java b/src/main/java/com/newyetai/ai/resume/dto/AiResumeReqDTO.java deleted file mode 100644 index 190d087..0000000 --- a/src/main/java/com/newyetai/ai/resume/dto/AiResumeReqDTO.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.newyetai.ai.resume.dto; - -import com.newyetai.common.validation.Create; -import com.newyetai.common.validation.Update; - -import java.io.Serializable; -import java.math.BigDecimal; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @description: - * @author: guixinman - * @create: 2024-12-12 10:07 - **/ -@ApiModel("ai面试记录") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class AiResumeReqDTO implements Serializable { - private static final long serialVersionUID = 1L; - - @NotBlank(message = "请输入内容") - private String content; - - @ApiModelProperty("岗位类型") - private String typeCode; - - @ApiModelProperty("期望城市") - private String expectCity; - - @ApiModelProperty("期望月薪") - private BigDecimal expectSalary; -} diff --git a/src/main/java/com/newyetai/ai/resume/model/AiResumeModel.java b/src/main/java/com/newyetai/ai/resume/model/AiResumeModel.java deleted file mode 100644 index 031d46c..0000000 --- a/src/main/java/com/newyetai/ai/resume/model/AiResumeModel.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.newyetai.ai.resume.model; - -import java.io.Serializable; -import java.util.List; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @description: Ai生成简历返回model - * @author: guixinman - * @create: 2024-12-12 11:31 - **/ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class AiResumeModel implements Serializable { - - private String name; - private String birthday; - @ApiModelProperty("期望工作地") - private String desiredWorkLocation; - @ApiModelProperty("期望最低薪资") - private String desiredSalaryMin; - @ApiModelProperty("期望最高薪资") - private String desiredSalaryMax; - @ApiModelProperty("期望岗位性质") - private String desiredPositionNature; - @ApiModelProperty("期望岗位") - private String desiredPosition; - @ApiModelProperty("最高学历") - private String highestDegree; - @ApiModelProperty("到岗状态") - private String reportStatus; - @ApiModelProperty("自我介绍") - private String selfIntroduction; -// @ApiModelProperty("简历标签") -// private String tags; - -} diff --git a/src/main/java/com/newyetai/ai/resume/service/AiResumeService.java b/src/main/java/com/newyetai/ai/resume/service/AiResumeService.java deleted file mode 100644 index 3fc002c..0000000 --- a/src/main/java/com/newyetai/ai/resume/service/AiResumeService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.newyetai.ai.resume.service; - -import com.newyetai.ai.resume.dto.AiResumeReqDTO; - -/** - * @description: - * @author: guixinman - * @create: 2024-12-12 10:57 - **/ -public interface AiResumeService { - - void create(AiResumeReqDTO reqDto); - -} diff --git a/src/main/java/com/newyetai/ai/resume/service/impl/AiResumeServiceImpl.java b/src/main/java/com/newyetai/ai/resume/service/impl/AiResumeServiceImpl.java deleted file mode 100644 index 5a0b80a..0000000 --- a/src/main/java/com/newyetai/ai/resume/service/impl/AiResumeServiceImpl.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.newyetai.ai.resume.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.ai.resume.dto.AiResumeReqDTO; -import com.newyetai.ai.resume.model.AiResumeModel; -import com.newyetai.ai.resume.service.AiResumeService; -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.component.dict.util.DictUtils; -import com.newyetai.config.service.ConfigService; -import com.newyetai.recruit.position.dao.PositionTypeMapper; -import com.newyetai.recruit.position.entity.PositionType; -import com.newyetai.recruit.user.dao.JobExpectMapper; -import com.newyetai.recruit.user.dao.ResumeMapper; -import com.newyetai.recruit.user.dto.JobExpectOperateDTO; -import com.newyetai.recruit.user.dto.ResumeDTO; -import com.newyetai.recruit.user.dto.ResumeOperatorDTO; -import com.newyetai.recruit.user.entity.Resume; -import com.newyetai.recruit.user.enums.InductionCycleEnum; -import com.newyetai.recruit.user.service.JobExpectService; -import com.newyetai.recruit.user.service.ResumeService; -import com.newyetai.sdk.xf.util.XfUtils; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.math.BigInteger; -import java.util.List; -import java.util.Objects; - -import javax.annotation.Resource; - -import lombok.extern.slf4j.Slf4j; - -/** - * @description: - * @author: guixinman - * @create: 2024-12-12 10:57 - **/ -@Slf4j -@Service -public class AiResumeServiceImpl implements AiResumeService { - - @Autowired - private ConfigService configService; - @Autowired - private ResumeService resumeService; - @Resource - private ResumeMapper resumeMapper; - - @Autowired - private JobExpectService jobExpectService; - - @Autowired - private PositionTypeMapper positionTypeMapper; - - - @Transactional(rollbackFor = Exception.class) - @Override - public void create(AiResumeReqDTO reqDto) { - String errMsg = "抱歉,我无法回答,请告诉我你想找什么样的工作"; - try { - String jsonData = XfUtils.generateResume(reqDto.getContent()); - if (StringUtils.equalsAny(jsonData, errMsg)) { - throw new BusinessException(jsonData); - } - AiResumeModel aiResumeModel = JsonUtils.toObject(jsonData, AiResumeModel.class); - - if (StringUtils.isBlank(aiResumeModel.getDesiredPosition())) { - throw new BusinessException(errMsg); - } - //学历 - String education = DictUtils.getNameCodeMap("education").get(StringUtils.isNotBlank(aiResumeModel.getHighestDegree()) ? aiResumeModel.getHighestDegree() : ""); - - jobExpectService.removeByUserId(); - jobExpectService.create( - JobExpectOperateDTO.builder() - .userId(UserContextHolder.getExistLoginUserId()) - .typeCode(reqDto.getTypeCode()) - .expectCity(reqDto.getExpectCity()) - .expectSalary(reqDto.getExpectSalary()) - .onDuty(false) - .inductionCycle(InductionCycleEnum.findTypeByDesc(aiResumeModel.getReportStatus())) - .positionName(aiResumeModel.getDesiredPosition()) - .build()); - - } catch (Exception e) { - log.error(e.getMessage()); - throw new BusinessException(errMsg); - } - } - -} diff --git a/src/main/java/com/newyetai/alitaforward/common/mq/constant/ForwardMqConstants.java b/src/main/java/com/newyetai/alitaforward/common/mq/constant/ForwardMqConstants.java deleted file mode 100644 index 594f78e..0000000 --- a/src/main/java/com/newyetai/alitaforward/common/mq/constant/ForwardMqConstants.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.newyetai.alitaforward.common.mq.constant; - -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.constant.SystemCodeEnum; - -/** - * mq常量类(routingkey) - * @author sr on 2021-08-09 - */ -public interface ForwardMqConstants { - - /** 用户中心系统mq前缀 **/ - String MQ_PREFIX = SystemCodeEnum.ALITA_FORWARD.getName() + CommonConstants.POINT; - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/constants/FactorVerificationSourceTypeEnum.java b/src/main/java/com/newyetai/alitaforward/verification/constants/FactorVerificationSourceTypeEnum.java deleted file mode 100644 index 412eb6c..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/constants/FactorVerificationSourceTypeEnum.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.newyetai.alitaforward.verification.constants; - -/** - * @author czy - * @date 2021-06-21 - */ -public enum FactorVerificationSourceTypeEnum { - - FXQ("放心签", 1), - CL("创蓝", 2), - SYS("系统", 3), - ALI("阿里", 4), - ; - - private final String desc; - - private final Integer type; - - FactorVerificationSourceTypeEnum(String desc, Integer type) { - this.desc = desc; - this.type = type; - } - - public String getDesc() { - return desc; - } - - public Integer getType() { - return type; - } -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/constants/VerificationTypeEnum.java b/src/main/java/com/newyetai/alitaforward/verification/constants/VerificationTypeEnum.java deleted file mode 100644 index 6882019..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/constants/VerificationTypeEnum.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.newyetai.alitaforward.verification.constants; - -import com.newyetai.alitaforward.common.mq.constant.ForwardMqConstants; - -public enum VerificationTypeEnum { - - /** 二要素认证 */ - TWO("real_name_two_verification"), - /** 银行卡三要素认证 */ - THREE("three_verification"), - /** 手机三要素认证 **/ - PHONE_THREE("phone_three_verification"), - /** 银行卡四要素认证 **/ - FOUR("four_verification"); - - private String fullname; - VerificationTypeEnum(String fullname){ - this.fullname = fullname; - } - - public String getFullName() { - return this.fullname; - } - - public String getAsyncKey() { - return ForwardMqConstants.MQ_PREFIX + this.fullname ; - } - - public String getStatusChangeKey() { - return getAsyncKey() + "_status_update"; - } - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/consumer/providers/SystemFourFactorVerificationProvider.java b/src/main/java/com/newyetai/alitaforward/verification/consumer/providers/SystemFourFactorVerificationProvider.java deleted file mode 100644 index 30c7930..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/consumer/providers/SystemFourFactorVerificationProvider.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.newyetai.alitaforward.verification.consumer.providers; - -import cn.hutool.json.JSONUtil; -import com.newyetai.alitaforward.verification.dto.FourFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.PhoneThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.PhoneThreeVerify; -import com.newyetai.alitaforward.verification.factor.ThreeVerify; -import com.newyetai.alitaforward.verification.service.FourFactorVerificationProvider; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.mq.dto.TopicMqMessage; -import com.newyetai.usercenter.user.consumer.FourFactorVerifyStatusUpdateHandler; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -@Slf4j -@Component -public class SystemFourFactorVerificationProvider implements FourFactorVerificationProvider { - @Autowired - private FourFactorVerifyStatusUpdateHandler fourFactorVerifyStatusUpdateHandler; - - - @Override - public void onMessage(TopicMqMessage message) { - log.info("系统手机号四要素处理->生成三要素数据 开始,参数:{}", JSONUtil.toJsonStr(message)); - FourFactorVerificationDTO verificationDTO = message.getData(); - Integer status = verificationDTO.getStatus(); - if (!AuthStatusEnum.AUTH_SUCCESS.getType().equals(status)) { - return; - } - fourFactorVerifyStatusUpdateHandler.onMessage(verificationDTO); - try { - ThreeFactorVerificationDTO threeFactorVerificationDTO = ThreeFactorVerificationDTO.builder() - .realName(verificationDTO.getRealName()) - .cardNo(verificationDTO.getCardNo()) - .bankAccountNo(verificationDTO.getBankAccountNo()) - .build(); - threeFactorVerificationDTO.setStatus(verificationDTO.getStatus()); - threeVerify.autoVerify(threeFactorVerificationDTO); - } catch (Exception e) { - log.info("系统手机号四要素处理->生成三要素数据 异常,", e); - } - - try { - PhoneThreeFactorVerificationDTO phoneThreeFactorVerificationDTO = PhoneThreeFactorVerificationDTO.builder() - .realName(verificationDTO.getRealName()) - .cardNo(verificationDTO.getCardNo()) - .phone(verificationDTO.getPhone()) - .build(); - phoneThreeFactorVerificationDTO.setStatus(verificationDTO.getStatus()); - phoneThreeVerify.autoVerify(phoneThreeFactorVerificationDTO); - } catch (Exception e) { - log.info("系统手机号四要素处理->生成手机三要素数据 异常,", e); - } - } - - @Autowired - private PhoneThreeVerify phoneThreeVerify; - - @Autowired - private ThreeVerify threeVerify; -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/consumer/providers/SystemPhoneThreeFactorVerificationProvider.java b/src/main/java/com/newyetai/alitaforward/verification/consumer/providers/SystemPhoneThreeFactorVerificationProvider.java deleted file mode 100644 index cf9c503..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/consumer/providers/SystemPhoneThreeFactorVerificationProvider.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.newyetai.alitaforward.verification.consumer.providers; - -import cn.hutool.json.JSONUtil; -import com.newyetai.alitaforward.verification.dto.PhoneThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.RealNameTwoFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.RealNameTwoVerify; -import com.newyetai.alitaforward.verification.service.PhoneThreeFactorVerificationProvider; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.mq.dto.TopicMqMessage; -import com.newyetai.usercenter.user.consumer.PhoneThreeFactorVerifyStatusUpdateHandler; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -@Slf4j -@Component -public class SystemPhoneThreeFactorVerificationProvider implements PhoneThreeFactorVerificationProvider { - - @Autowired - private RealNameTwoVerify realNameTwoVerify; - - @Autowired - private PhoneThreeFactorVerifyStatusUpdateHandler phoneThreeFactorVerifyStatusUpdateHandler; - - @Override - public void onMessage(TopicMqMessage message) { - log.info("系统手机号三要素成功处理->生成二要素数据 开始,参数:{}", JSONUtil.toJsonStr(message)); - PhoneThreeFactorVerificationDTO verificationDTO = message.getData(); - Integer status = verificationDTO.getStatus(); - if (!AuthStatusEnum.AUTH_SUCCESS.getType().equals(status)) { - return; - } - phoneThreeFactorVerifyStatusUpdateHandler.onMessage(verificationDTO); - try { - RealNameTwoFactorVerificationDTO realNameTwoFactorVerificationDTO = RealNameTwoFactorVerificationDTO.builder() - .realName(verificationDTO.getRealName()) - .cardNo(verificationDTO.getCardNo()) - .build(); - realNameTwoFactorVerificationDTO.setStatus(status); - realNameTwoVerify.autoVerify(realNameTwoFactorVerificationDTO); - } catch (Exception e) { - log.info("系统手机号三要素处理->生成二要素数据 异常,", e); - } - } -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/consumer/providers/SystemThreeFactorVerificationProvider.java b/src/main/java/com/newyetai/alitaforward/verification/consumer/providers/SystemThreeFactorVerificationProvider.java deleted file mode 100644 index 6148582..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/consumer/providers/SystemThreeFactorVerificationProvider.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.newyetai.alitaforward.verification.consumer.providers; - -import cn.hutool.json.JSONUtil; -import com.newyetai.alitaforward.verification.dto.RealNameTwoFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.RealNameTwoVerify; -import com.newyetai.alitaforward.verification.service.ThreeFactorVerificationProvider; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.mq.dto.TopicMqMessage; -import com.newyetai.usercenter.user.consumer.ThreeFactorVerifyStatusUpdateHandler; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -@Slf4j -@Component -public class SystemThreeFactorVerificationProvider implements ThreeFactorVerificationProvider { - - @Autowired - private RealNameTwoVerify realNameTwoVerify; - - @Autowired - private ThreeFactorVerifyStatusUpdateHandler threeFactorVerifyStatusUpdateHandler; - - @Override - public void onMessage(TopicMqMessage message) { - log.info("系统三要素成功处理->生成二要素数据 开始,参数:{}", JSONUtil.toJsonStr(message)); - ThreeFactorVerificationDTO verificationDTO = message.getData(); - Integer status = verificationDTO.getStatus(); - if (!AuthStatusEnum.AUTH_SUCCESS.getType().equals(status)) { - return; - } - threeFactorVerifyStatusUpdateHandler.onMessage(verificationDTO); - try { - RealNameTwoFactorVerificationDTO realNameTwoFactorVerificationDTO = RealNameTwoFactorVerificationDTO.builder() - .realName(verificationDTO.getRealName()) - .cardNo(verificationDTO.getCardNo()) - .build(); - realNameTwoFactorVerificationDTO.setStatus(verificationDTO.getStatus()); - realNameTwoVerify.autoVerify(realNameTwoFactorVerificationDTO); - } catch (Exception e) { - log.info("系统三要素处理->生成二要素数据 异常,", e); - } - } -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/controller/FactorVerificationContorller.java b/src/main/java/com/newyetai/alitaforward/verification/controller/FactorVerificationContorller.java deleted file mode 100644 index 953a899..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/controller/FactorVerificationContorller.java +++ /dev/null @@ -1,214 +0,0 @@ -package com.newyetai.alitaforward.verification.controller; - -import com.newyetai.alitaforward.verification.dto.*; -import com.newyetai.alitaforward.verification.factor.FourVerify; -import com.newyetai.alitaforward.verification.factor.PhoneThreeVerify; -import com.newyetai.alitaforward.verification.factor.RealNameTwoVerify; -import com.newyetai.alitaforward.verification.factor.ThreeVerify; -import com.newyetai.alitaforward.verification.service.BankCardVerificationService; -import com.newyetai.common.AlitaResult; -import com.newyetai.tkmybatis.pojo.Page; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * @author czy - * @date 2021-06-21 - */ -@Api("要素认证") -@RestController -@RequestMapping("factor_verify") -public class FactorVerificationContorller { - @Autowired - private FourVerify fourVerify; - - @Autowired - private BankCardVerificationService bankCardVerificationService; - - @Autowired - private RealNameTwoVerify realNameTwoVerify; - - @Autowired - private ThreeVerify threeVerify; - - @Autowired - private PhoneThreeVerify phoneThreeVerify; - - @ApiOperation("二要素认证(同步)") - @PostMapping("/real_name/two/sync") - public AlitaResult syncRealNameTwoAuthenticate( - @Validated @RequestBody RealNameTwoFactorVerificationDTO verificationInfo) { - return AlitaResult.success(realNameTwoVerify.sync(verificationInfo)); - } - - @ApiOperation("二要素认证(批量、同步)") - @PostMapping("/real_name/two/sync/batch") - public AlitaResult> syncRealNameTwoAuthenticate( - @Validated @RequestBody List verificationInfoList) { - return AlitaResult.success(realNameTwoVerify.sync(verificationInfoList)); - } - - @ApiOperation("二要素认证(异步)") - @PostMapping("/real_name/two/async") - public AlitaResult asyncRealNameTwoAuthenticate( - @Validated @RequestBody RealNameTwoFactorVerificationDTO verificationInfo) { - return AlitaResult.success(realNameTwoVerify.async(verificationInfo)); - } - - @ApiOperation("二要素认证(批量、异步)") - @PostMapping("/real_name/two/async/batch") - public AlitaResult> asyncRealNameTwoAuthenticate( - @Validated @RequestBody List verificationInfoList) { - return AlitaResult.success(realNameTwoVerify.async(verificationInfoList)); - } - - - @ApiOperation("手机三要素认证(同步)") - @PostMapping("/phone/three/sync") - public AlitaResult syncPhoneThreeAuthenticate( - @Validated @RequestBody PhoneThreeFactorVerificationDTO verificationInfo) { - return AlitaResult.success(phoneThreeVerify.sync(verificationInfo)); - } - - @ApiOperation("手机三要素认证(批量、同步)") - @PostMapping("/phone/three/sync/batch") - public AlitaResult> syncPhoneThreeAuthenticate( - @Validated @RequestBody List verificationInfoList) { - return AlitaResult.success(phoneThreeVerify.sync(verificationInfoList)); - } - - @ApiOperation("手机三要素认证(异步)") - @PostMapping("/phone/three/async") - public AlitaResult asyncPhoneThreeAuthenticate( - @Validated @RequestBody PhoneThreeFactorVerificationDTO verificationInfo) { - return AlitaResult.success(phoneThreeVerify.async(verificationInfo)); - } - - @ApiOperation("手机三要素认证(批量、异步)") - @PostMapping("/phone/three/async/batch") - public AlitaResult> asyncPhoneThreeAuthenticate( - @Validated @RequestBody List verificationInfoList) { - return AlitaResult.success(phoneThreeVerify.async(verificationInfoList)); - } - - @ApiOperation("三要素认证(同步)") - @PostMapping("/three/sync") - public AlitaResult syncThreeAuthenticate( - @Validated @RequestBody ThreeFactorVerificationDTO verificationInfo) { - return AlitaResult.success(threeVerify.sync(verificationInfo)); - } - - @ApiOperation("三要素认证(批量、同步)") - @PostMapping("/three/sync/batch") - public AlitaResult> syncThreeAuthenticate( - @Validated @RequestBody List verificationInfoList) { - return AlitaResult.success(threeVerify.sync(verificationInfoList)); - } - - @ApiOperation("三要素认证(异步)") - @PostMapping("/three/async") - public AlitaResult asyncThreeAuthenticate( - @Validated @RequestBody ThreeFactorVerificationDTO verificationInfo) { - return AlitaResult.success(threeVerify.async(verificationInfo)); - } - - @ApiOperation("三要素认证(批量、异步)") - @PostMapping("/three/async/batch") - public AlitaResult> asyncThreeAuthenticate( - @Validated @RequestBody List verificationInfoList) { - return AlitaResult.success(threeVerify.async(verificationInfoList)); - } - - @ApiOperation("获取匹配请求内容的三要素认证数据") - @PostMapping("/match_three/list") - public AlitaResult> queryMatchThreeList(@RequestBody List queryDtoList){ - return AlitaResult.success(threeVerify.queryListByData(queryDtoList)); - }; - - @ApiOperation("三要素认证根据id获取") - @PostMapping("/three/find/id") - public AlitaResult threeFindById(@RequestParam("id") Long id){ - return AlitaResult.success(threeVerify.findById(id)); - }; - - @ApiOperation("三要素认证根据查询条件获取列表") - @PostMapping("/three/list") - public AlitaResult> threeList(@RequestBody FactorVerificationQueryDTO query){ - query.setNeedPage(Boolean.FALSE); - return AlitaResult.success(threeVerify.list(query)); - }; - - @ApiOperation("三要素认证根据查询条件获取列表(分页)") - @PostMapping("/three/page") - public AlitaResult> threePage(@RequestBody FactorVerificationQueryDTO query){ - threeVerify.list(query); - return AlitaResult.success(query.getPageResult()); - }; - - @ApiOperation("四要素认证(同步)") - @PostMapping("/four/sync") - public AlitaResult syncFourAuthenticate( - @Validated @RequestBody FourFactorVerificationDTO verificationInfoList) { - return AlitaResult.success(fourVerify.sync(verificationInfoList)); - } - - @ApiOperation("四要素认证(批量、同步)") - @PostMapping("/four/sync/batch") - public AlitaResult> syncFourAuthenticate( - @Validated @RequestBody List verificationInfoList) { - return AlitaResult.success(fourVerify.sync(verificationInfoList)); - } - - @ApiOperation("四要素认证(异步)") - @PostMapping("/four/async") - public AlitaResult asyncFourAuthenticate( - @Validated @RequestBody FourFactorVerificationDTO verificationInfoList) { - return AlitaResult.success(fourVerify.async(verificationInfoList)); - } - - @ApiOperation("四要素认证(批量、异步)") - @PostMapping("/four/async/batch") - public AlitaResult> asyncFourAuthenticate( - @Validated @RequestBody List verificationInfoList) { - return AlitaResult.success(fourVerify.async(verificationInfoList)); - } - - @ApiOperation("四要素认证根据id获取") - @PostMapping("/four/find/id") - public AlitaResult fourFindById(@RequestParam("id") Long id){ - return AlitaResult.success(fourVerify.findById(id)); - }; - - @ApiOperation("获取匹配请求内容的四要素认证数据") - @PostMapping("/match_four/list") - public AlitaResult> queryMatchFourList(@RequestBody List queryDtoList){ - return AlitaResult.success(fourVerify.queryListByData(queryDtoList)); - }; - - @ApiOperation("四要素认证根据查询条件获取列表") - @PostMapping("/four/list") - public AlitaResult> fourList(@RequestBody FactorVerificationQueryDTO query){ - query.setNeedPage(Boolean.FALSE); - return AlitaResult.success(fourVerify.list(query)); - }; - - @ApiOperation("四要素认证根据查询条件获取列表(分页)") - @PostMapping("/four/page") - public AlitaResult> fourPage(@RequestBody FactorVerificationQueryDTO query){ - fourVerify.list(query); - return AlitaResult.success(query.getPageResult()); - }; - - - @ApiOperation("白名单管理-->三、四要素查询合并为银行卡查询") - @PostMapping("/bank_card/page") - AlitaResult> bankCardPage(String cardNo,Integer status){ - return AlitaResult.success(bankCardVerificationService.list(cardNo, status)); - } - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/dao/BankCardVerificationMapper.java b/src/main/java/com/newyetai/alitaforward/verification/dao/BankCardVerificationMapper.java deleted file mode 100644 index 4f8b194..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/dao/BankCardVerificationMapper.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.newyetai.alitaforward.verification.dao; - -import com.newyetai.alitaforward.verification.dto.BankCordVerificationResDTO; -import com.newyetai.alitaforward.verification.factor.four.entity.BankCardFourVerification; -import com.newyetai.tkmybatis.mybatis.MyMapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * @author fzp - * @date 2021年9月6日13:42:17 - */ -public interface BankCardVerificationMapper{ - - /** - * 白名单管理-->三、四要素查询合并为银行卡查询 - * @param cardNo - */ - @Select("select " - + " t.id,t.card_no,t.real_name,t.bank_account_no,'' as phone,'三要素' as `type`, " - + " (case t.authentication_source when '1' then '放心签' when '2' then '创蓝' when '3' then '系统' else '' end) as source, " - + " t.status,t.fail_reason,t.deleted " - + "from bank_card_three_verification t " - + "where t.deleted = 0 and t.card_no = #{cardNo} " - + "union all " - + "select " - + " f.id,f.card_no,f.real_name,f.bank_account_no,f.phone,'四要素' as `type`, " - + " (case f.authentication_source when '1' then '放心签' when '2' then '创蓝' when '3' then '系统' else '' end) as source, " - + " f.status,f.fail_reason,f.deleted " - + "from bank_card_four_verification f " - + "where f.deleted = 0 and f.card_no = #{cardNo} ") - List list(@Param("cardNo") String cardNo); - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/dto/BankCordVerificationResDTO.java b/src/main/java/com/newyetai/alitaforward/verification/dto/BankCordVerificationResDTO.java deleted file mode 100644 index 57c4bf3..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/dto/BankCordVerificationResDTO.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.newyetai.alitaforward.verification.dto; - -import com.newyetai.common.dto.BaseDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -/** - * @author fzp - * @date 三、四要素合并银行卡查询 - */ -@ApiModel("三、四要素合并银行卡查询") -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class BankCordVerificationResDTO extends BaseDTO { - - private static final long serialVersionUID = 4820612112161649806L; - @ApiModelProperty("姓名") - private String realName; - - @ApiModelProperty("证件号") - private String cardNo; - - @ApiModelProperty("银行卡号") - private String bankAccountNo; - - @ApiModelProperty("手机号") - private String phone; - - @ApiModelProperty("要素类型") - private String type; - - @ApiModelProperty("认证来源 1系统,2放心签,3创蓝") - private String source; - - @ApiModelProperty("认证状态(1-未认证 2-认证中 3-认证成功 4-认证失败)") - private Integer status; - - @ApiModelProperty("失败原因") - private String failReason; - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/dto/FactorVerificationDTO.java b/src/main/java/com/newyetai/alitaforward/verification/dto/FactorVerificationDTO.java deleted file mode 100644 index 9332a5d..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/dto/FactorVerificationDTO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.newyetai.alitaforward.verification.dto; - -import com.newyetai.common.dto.BaseDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * @author czy - * @date 2021-06-17 - */ -@ApiModel("要素认证DTO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@SuperBuilder -public class FactorVerificationDTO extends BaseDTO { - - private static final long serialVersionUID = 2838128328843902963L; - @ApiModelProperty("认证状态(1-未认证 2-认证中 3-认证成功 4-认证失败)") - private Integer status; - - @ApiModelProperty("认证来源") - private Integer authenticationSource; - - @ApiModelProperty("调用数据") - private String invokeData; - - @ApiModelProperty("失败原因") - private String failReason; - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/dto/FactorVerificationQueryDTO.java b/src/main/java/com/newyetai/alitaforward/verification/dto/FactorVerificationQueryDTO.java deleted file mode 100644 index 0fd2e6e..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/dto/FactorVerificationQueryDTO.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.newyetai.alitaforward.verification.dto; - -import com.newyetai.common.annotation.trimAndUpper.TrimAndUpper; -import com.newyetai.common.dto.PageQueryDTO; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import java.util.Set; - -/** - * @author czy - * @date 2021-07-01 - */ - -@EqualsAndHashCode(callSuper = true) -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -public class FactorVerificationQueryDTO extends PageQueryDTO { - - private static final long serialVersionUID = -2357416347060650749L; - - private Long id; - - private Set ids; - - @ApiModelProperty("姓名") - @TrimAndUpper - private String realName; - - @ApiModelProperty("证件号") - @TrimAndUpper - private String cardNo; - - @ApiModelProperty("银行卡号") - @TrimAndUpper - private String bankAccountNo; - - @ApiModelProperty("手机号") - @TrimAndUpper - private String phone; - - @ApiModelProperty("认证状态(1-未认证 2-认证中 3-认证成功 4-认证失败)") - private Integer status; - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/dto/FourFactorVerificationDTO.java b/src/main/java/com/newyetai/alitaforward/verification/dto/FourFactorVerificationDTO.java deleted file mode 100644 index 1891f30..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/dto/FourFactorVerificationDTO.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.newyetai.alitaforward.verification.dto; - -import com.newyetai.common.annotation.trimAndUpper.TrimAndUpper; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -import javax.validation.constraints.NotBlank; - -/** - * @author czy - * @date 2021-06-17 - */ -@ApiModel("四要素认证DTO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class FourFactorVerificationDTO extends FactorVerificationDTO { - - private static final long serialVersionUID = -5514764157174505641L; - @ApiModelProperty("姓名") - @NotBlank(message = "姓名不能为空") - @TrimAndUpper - private String realName; - - @ApiModelProperty("证件号") - @NotBlank(message = "证件号不能为空") - @TrimAndUpper - private String cardNo; - - @ApiModelProperty("银行卡号") - @NotBlank(message = "银行卡号不能为空") - @TrimAndUpper - private String bankAccountNo; - - @ApiModelProperty("手机号") - @NotBlank(message = "手机号不能为空") - @TrimAndUpper - private String phone; - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/dto/PhoneThreeFactorVerificationDTO.java b/src/main/java/com/newyetai/alitaforward/verification/dto/PhoneThreeFactorVerificationDTO.java deleted file mode 100644 index dfcd61b..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/dto/PhoneThreeFactorVerificationDTO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.newyetai.alitaforward.verification.dto; - -import com.newyetai.common.annotation.trimAndUpper.TrimAndUpper; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import javax.validation.constraints.NotBlank; - -/** - * @author czy - * @date 2021-06-17 - */ -@EqualsAndHashCode(callSuper = true) -@ApiModel("手机号三要素认证DTO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@SuperBuilder -public class PhoneThreeFactorVerificationDTO extends FactorVerificationDTO { - - - private static final long serialVersionUID = 1594482919800883278L; - @ApiModelProperty("姓名") - @NotBlank(message = "姓名不能为空") - @TrimAndUpper - private String realName; - - @ApiModelProperty("证件号") - @NotBlank(message = "证件号不能为空") - @TrimAndUpper - private String cardNo; - - @ApiModelProperty("手机号") - @NotBlank(message = "手机号不能为空") - @TrimAndUpper - private String phone; - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/dto/RealNameTwoFactorVerificationDTO.java b/src/main/java/com/newyetai/alitaforward/verification/dto/RealNameTwoFactorVerificationDTO.java deleted file mode 100644 index 14865e7..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/dto/RealNameTwoFactorVerificationDTO.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.newyetai.alitaforward.verification.dto; - -import com.newyetai.common.annotation.trimAndUpper.TrimAndUpper; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import javax.validation.constraints.NotBlank; - -/** - * 二要素认证DTO - * - * @author Administrator - * @date 2022/07/22 - */ -@ApiModel("二要素认证DTO") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class RealNameTwoFactorVerificationDTO extends FactorVerificationDTO { - - private static final long serialVersionUID = -2114148883543603016L; - @ApiModelProperty("姓名") - @NotBlank(message = "姓名不能为空") - @TrimAndUpper - private String realName; - - @ApiModelProperty("证件号") - @NotBlank(message = "证件号不能为空") - @TrimAndUpper - private String cardNo; -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/dto/ThreeFactorVerificationDTO.java b/src/main/java/com/newyetai/alitaforward/verification/dto/ThreeFactorVerificationDTO.java deleted file mode 100644 index 106d7bd..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/dto/ThreeFactorVerificationDTO.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.newyetai.alitaforward.verification.dto; - -import com.newyetai.common.annotation.trimAndUpper.TrimAndUpper; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import javax.validation.constraints.NotBlank; - -/** - * @author czy - * @date 2021-06-17 - */ -@ApiModel("三要素认证DTO") -@Data -@NoArgsConstructor -@AllArgsConstructor -@SuperBuilder -@EqualsAndHashCode(callSuper = true) -public class ThreeFactorVerificationDTO extends FactorVerificationDTO { - - private static final long serialVersionUID = 656164023756231640L; - @ApiModelProperty("姓名") - @NotBlank(message = "姓名不能为空") - @TrimAndUpper - private String realName; - - @ApiModelProperty("证件号") - @NotBlank(message = "证件号不能为空") - @TrimAndUpper - private String cardNo; - - @ApiModelProperty("银行卡号") - @NotBlank(message = "银行卡号不能为空") - @TrimAndUpper - private String bankAccountNo; - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/AbstractVerify.java b/src/main/java/com/newyetai/alitaforward/verification/factor/AbstractVerify.java deleted file mode 100644 index c6e5d57..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/AbstractVerify.java +++ /dev/null @@ -1,233 +0,0 @@ -package com.newyetai.alitaforward.verification.factor; - -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.aop.framework.AopContext; -import org.springframework.stereotype.Component; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.newyetai.alitaforward.verification.constants.FactorVerificationSourceTypeEnum; -import com.newyetai.alitaforward.verification.dto.FactorVerificationDTO; -import com.newyetai.alitaforward.verification.source.FactorVerificationSourceService; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.EnvironmentUtils; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.frame.redis.dto.LockDTO; -import com.newyetai.frame.redis.redisson.RedissonUtils; -import com.newyetai.mq.consumer.handler.ITopicMqHandler; -import com.newyetai.mq.dto.TopicMqMessage; -import com.newyetai.mq.util.MqSendUtils; - -import cn.hutool.json.JSONUtil; -import lombok.extern.slf4j.Slf4j; - -/** - * 要素校验顶层接口 - * - * @author cheny - * @date 2022/08/11 - */ -@Slf4j -@Component -@SuppressWarnings("rawtypes,unchecked") -public abstract class AbstractVerify implements IVerify, ITopicMqHandler{ - - static final Map SOURCE_SERVICE_MAP = Maps.newConcurrentMap(); - - /** - * 终态通知key - * @return - * @author sr on 2023-11-27 - */ - final String statusChangeRoutingKey() { - return getType().getStatusChangeKey(); - } - - - @Override - public final String getRoutingKey() { - return getType().getAsyncKey(); - } - - @Override - public final void onMessage(TopicMqMessage message) { - T verificationDTO = message.getData(); - log.info("【MQ】异步处理认证开始,参数:{}", JsonUtils.toJsonString(verificationDTO)); - if (verificationDTO == null) { - return; - } - try { - T sync = this.sync(verificationDTO); - log.info("【MQ】异步处理认证结束,参数:{}", JsonUtils.toJsonString(sync)); - } catch (Exception e) { - log.info("【MQ】异步处理认证异常", e); - } - } - - // 幂等创建 - abstract T createAndGet(T t); - - /** - * 得到锁 - * - * @param t t - * @return {@link LockDTO} - */ - abstract LockDTO getLock(T t); - - // 上一级认证创建 - abstract void autoVerify(T t); - - /** - * 同步校验前置hook - * - * @param t t - * @return {@link T} - */ - protected T syncBeforeVerify(T t) { - // 认证源根据配置文件不同调用不同SDK 1放心签、2创蓝 - String source = EnvironmentUtils.getProperty("alita.authenticationSource"); - int authenticationSource = FactorVerificationSourceTypeEnum.CL.getType(); - try { - authenticationSource = Integer.parseInt(source); - } catch (NumberFormatException e) { - //doNothing - } - t.setAuthenticationSource(authenticationSource); - return t; - } - - /** - * 真正执行校验逻辑的方法 - * - * @param verifyDto 验证dto - * @return {@link T} - */ - @Transactional(propagation = Propagation.REQUIRES_NEW) - public T doSyncVerify(T verifyDto) { - String failReason = verifyDto.getFailReason(); - //如果校验失败了 直接返回 - if (StringUtils.isNotEmpty(failReason)) { - return verifyDto; - } - //拿锁 - LockDTO lockDTO = getLock(verifyDto); - try { - Assert.isTrue(RedissonUtils.tryLock(lockDTO), "要素认证正在处理中,请稍后再试"); - T preVerifyDto = createAndGet(verifyDto); - //如果不是待认证的数直接返回 - if (!AuthStatusEnum.NOT_AUTH.getType().equals(preVerifyDto.getStatus())) { - return preVerifyDto; - } - - return realVerification(preVerifyDto); - } finally { - RedissonUtils.unlock(lockDTO); - } - } - - abstract T realVerification(T verificationDTO); - - T syncVerifyWrapper(T t) { - T beforeVerify = syncBeforeVerify(t); - - T doVerify = (T) ((AbstractVerify) AopContext.currentProxy()).doSyncVerify(beforeVerify); - - Integer status = doVerify.getStatus(); - //如果执行到了终态 发送消息通知 - if (AuthStatusEnum.AUTH_FAIL.getType().equals(status) - || AuthStatusEnum.AUTH_SUCCESS.getType().equals(status)) { - log.info("【MQ】通知认证状态变更,参数:{}", JSONUtil.toJsonStr(doVerify)); - MqSendUtils.send(statusChangeRoutingKey(), doVerify); - } - return doVerify; - } - - /** - * 同步校验 - * - * @param list 列表 - * @return {@link List}<{@link T}> - */ - @Override - public List sync(List list) { - if (CollectionUtils.isEmpty(list)) { - return Lists.newArrayList(); - } - return list.stream().map(this::syncVerifyWrapper).collect(Collectors.toList()); - } - - // -------------------------------------------------------- async ------------------------------------------------------- - - /** - * 异步校验前置hook - * - * @param t t - * @return {@link T} - */ - protected T asyncBeforeVerify(T t) { - return syncBeforeVerify(t); - } - - /** - * 真正执行校验逻辑的方法 - * - * @param verifyDto 验证dto - * @return {@link T} - */ - protected T doAsyncVerify(T verifyDto) { - String failReason = verifyDto.getFailReason(); - //如果校验失败了 直接返回 - if (StringUtils.isNotEmpty(failReason)) { - return verifyDto; - } - //拿锁 - LockDTO lockDTO = getLock(verifyDto); - try { - Assert.isTrue(RedissonUtils.tryLock(lockDTO), "要素认证正在处理中,请稍后再试"); - T preVerifyDto = createAndGet(verifyDto); - //如果不是待认证的数直接返回 - if (AuthStatusEnum.NOT_AUTH.getType().equals(preVerifyDto.getStatus())) { - //mq异步处理认证 - log.info("async【MQ】要素认证异步处理,参数:{}", JSONUtil.toJsonStr(preVerifyDto)); - MqSendUtils.send(getRoutingKey(), preVerifyDto); - } - return preVerifyDto; - } finally { - RedissonUtils.unlock(lockDTO); - } - - } - - - T asyncVerifyWrapper(T t) { - T beforeVerify = asyncBeforeVerify(t); - - T doVerify = doAsyncVerify(beforeVerify); - - Integer status = doVerify.getStatus(); - //如果执行到了终态 发送消息通知 - if (AuthStatusEnum.AUTH_FAIL.getType().equals(status) - || AuthStatusEnum.AUTH_SUCCESS.getType().equals(status)) { - log.info("【MQ】通知认证状态变更,参数:{}", JSONUtil.toJsonStr(doVerify)); - MqSendUtils.send(statusChangeRoutingKey(), doVerify); - } - return doVerify; - } - - @Override - public List async(List list) { - if (CollectionUtils.isEmpty(list)) { - return Lists.newArrayList(); - } - return list.stream().map(this::asyncVerifyWrapper).collect(Collectors.toList()); - } -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/FourVerify.java b/src/main/java/com/newyetai/alitaforward/verification/factor/FourVerify.java deleted file mode 100644 index 2c7cf00..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/FourVerify.java +++ /dev/null @@ -1,176 +0,0 @@ -package com.newyetai.alitaforward.verification.factor; - -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.StringJoiner; -import java.util.stream.Collectors; - -import javax.annotation.Resource; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Component; - -import com.google.common.collect.Lists; -import com.newyetai.alitaforward.verification.constants.FactorVerificationSourceTypeEnum; -import com.newyetai.alitaforward.verification.constants.VerificationTypeEnum; -import com.newyetai.alitaforward.verification.dto.FactorVerificationQueryDTO; -import com.newyetai.alitaforward.verification.dto.FourFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.four.dao.FourVerificationMapper; -import com.newyetai.alitaforward.verification.factor.four.entity.BankCardFourVerification; -import com.newyetai.alitaforward.verification.factor.four.mapstruct.FourVerificationMapMapper; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.common.validation.util.ValidateUtils; -import com.newyetai.frame.redis.aop.annotation.AutoUnLock; -import com.newyetai.frame.redis.dto.LockDTO; -import com.newyetai.frame.redis.redisson.RedissonUtils; -import com.newyetai.mq.util.MqSendUtils; - -import cn.hutool.json.JSONUtil; -import lombok.extern.slf4j.Slf4j; - -@Slf4j -@Component -public class FourVerify extends AbstractVerify implements IQueryVerify { - - @Resource - private FourVerificationMapper fourVerificationMapper; - - @Override - protected FourFactorVerificationDTO syncBeforeVerify(FourFactorVerificationDTO verificationDTO) { - StringJoiner stringJoiner = new StringJoiner("、"); - if (!ValidateUtils.checkRealName(verificationDTO.getRealName())) { - stringJoiner.add("姓名格式有误"); - } - if (!ValidateUtils.isIdCard(verificationDTO.getCardNo())) { - stringJoiner.add("证件号格式有误"); - } - if (StringUtils.isBlank(verificationDTO.getBankAccountNo())) { - stringJoiner.add("银行卡号为空"); - } - if (StringUtils.isBlank(verificationDTO.getPhone())) { - stringJoiner.add("手机号为空"); - } - String failReason = stringJoiner.toString(); - if (StringUtils.isNotBlank(failReason)) { - verificationDTO.setFailReason(failReason); - } else { - //校验成功调用 - super.syncBeforeVerify(verificationDTO); - } - return verificationDTO; - } - - @Override - FourFactorVerificationDTO createAndGet(FourFactorVerificationDTO verificationDTO) { - BankCardFourVerification bankCardFourVerification = fourVerificationMapper.selectInfo(verificationDTO); - if (bankCardFourVerification == null) { - //认证库不存在,以默认状态入库——"未认证" - verificationDTO.setStatus(AuthStatusEnum.NOT_AUTH.getType()); - bankCardFourVerification = FourVerificationMapMapper.INSTANCE.toEntity(verificationDTO); - fourVerificationMapper.saveEntity(bankCardFourVerification); - } - return FourVerificationMapMapper.INSTANCE.toDto(bankCardFourVerification); - } - - @Override - LockDTO getLock(FourFactorVerificationDTO verificationDTO) { - return LockDTO.builder().methodName("verify:four").tryLockWaitTime(0L) - .arg(verificationDTO.getRealName()) - .arg(verificationDTO.getCardNo()) - .arg(verificationDTO.getBankAccountNo()) - .arg(verificationDTO.getPhone()) - .build(); - } - - @Override - @AutoUnLock - public void autoVerify(FourFactorVerificationDTO verificationDTO) { - //拿锁 - LockDTO lockDTO = getLock(verificationDTO); - Assert.isTrue(RedissonUtils.tryLockAutomatically(lockDTO), "请勿重复校验四要素"); - - BankCardFourVerification verificationEntity = fourVerificationMapper.selectInfo(verificationDTO); - - if (Objects.nonNull(verificationEntity)) { - if (AuthStatusEnum.AUTH_SUCCESS.getType().equals(verificationEntity.getStatus())) { - return; - } - verificationEntity.setAuthenticationSource(FactorVerificationSourceTypeEnum.SYS.getType()); - verificationEntity.setStatus(AuthStatusEnum.AUTH_SUCCESS.getType()); - fourVerificationMapper.updateEntitySelective(verificationEntity, - UserContextHolder.getLoginUserId()); - } else { - verificationEntity = - BankCardFourVerification.builder() - .realName(verificationDTO.getRealName()) - .cardNo(verificationDTO.getCardNo()) - .phone(verificationDTO.getPhone()) - .bankAccountNo(verificationDTO.getBankAccountNo()) - .authenticationSource(FactorVerificationSourceTypeEnum.SYS.getType()) - .status(AuthStatusEnum.AUTH_SUCCESS.getType()) - .build(); - fourVerificationMapper.saveEntity(verificationEntity); - } - log.info("【MQ】通知认证状态变更,参数:{}", JSONUtil.toJsonStr(verificationDTO)); - MqSendUtils.send(statusChangeRoutingKey(), verificationDTO); - } - - @Override - public List list(FactorVerificationQueryDTO queryDTO) { - return fourVerificationMapper.list(queryDTO); - } - - @Override - public List queryListByData(List queryDTOList) { - List resultList = Lists - .newArrayListWithCapacity(queryDTOList.size()); - if (CollectionUtils.isEmpty(queryDTOList)) { - return resultList; - } - List bankCardThreeVerifications = fourVerificationMapper - .findFinishStatusData(); - Map threeVerificationMap = bankCardThreeVerifications - .stream().collect( - Collectors.toMap(k -> k.getRealName() + k.getCardNo() + k.getBankAccountNo() + k.getPhone(), v -> v, (v1, v2) -> v1)); - - for (FactorVerificationQueryDTO queryDTO : queryDTOList) { - FourFactorVerificationDTO FourFactorVerificationDTO = threeVerificationMap - .get(queryDTO.getRealName() + queryDTO.getCardNo() + queryDTO.getBankAccountNo() + queryDTO - .getPhone()); - if (FourFactorVerificationDTO != null) { - resultList.add(FourFactorVerificationDTO); - } - } - return resultList; - } - - @Override - public FourFactorVerificationDTO findById(Long id) { - FourFactorVerificationDTO fourFactorVerificationDTO = null; - BankCardFourVerification entity = fourVerificationMapper.getById(id); - if (entity != null) { - fourFactorVerificationDTO = FourVerificationMapMapper.INSTANCE.toDto(entity); - } - return fourFactorVerificationDTO; - } - - @Override - FourFactorVerificationDTO realVerification(FourFactorVerificationDTO verificationDTO) { - Integer authenticationSource = verificationDTO.getAuthenticationSource(); - SOURCE_SERVICE_MAP.get(authenticationSource).fourVerify(verificationDTO); - //更新状态 - BankCardFourVerification entity = FourVerificationMapMapper.INSTANCE - .toEntity(verificationDTO); - fourVerificationMapper.updateEntitySelective(entity, UserContextHolder.getLoginUserId()); - return verificationDTO; - } - - @Override - public VerificationTypeEnum getType() { - return VerificationTypeEnum.FOUR; - } -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/IQueryVerify.java b/src/main/java/com/newyetai/alitaforward/verification/factor/IQueryVerify.java deleted file mode 100644 index 1ad4ddc..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/IQueryVerify.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.newyetai.alitaforward.verification.factor; - -import com.newyetai.alitaforward.verification.dto.FactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.FactorVerificationQueryDTO; - -import java.util.List; - -/** - * 要素查询顶层接口 - * - * @author cheny - * @date 2022/08/11 - */ -public interface IQueryVerify { - - - /** - * 根据参数查list - * - * @param queryDTO 查询DTO - * @return {@link List}<{@link T}> - */ - List list(FactorVerificationQueryDTO queryDTO); - - - /** - * 根据传来的数据,查出认证库中存在的数据 - * - * @param queryDTOList 查询DTO集合 - * @return {@link List}<{@link T}> - */ - List queryListByData(List queryDTOList); - - - /** - * 根据id获取 - * - * @param id id - * @return {@link T} - */ - T findById(Long id); -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/IVerify.java b/src/main/java/com/newyetai/alitaforward/verification/factor/IVerify.java deleted file mode 100644 index d250333..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/IVerify.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.newyetai.alitaforward.verification.factor; - -import java.util.ArrayList; -import java.util.List; - -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; - -import com.newyetai.alitaforward.verification.constants.VerificationTypeEnum; - -/** - * 要素校验顶层接口 - * - * @author cheny - * @date 2022/08/11 - */ -public interface IVerify { - - /** - * 同步校验 - * - * @param list 列表 - * @return {@link List}<{@link T}> - */ - List sync(List list); - - /** - * 异步校验 - * - * @param list 列表 - * @return {@link List}<{@link T}> - */ - List async(List list); - - default T sync(T t) { - List syncSingle = new ArrayList<>(1); - syncSingle.add(t); - return sync(syncSingle).get(0); - } - - default T async(T t) { - List asyncSingle = new ArrayList<>(1); - asyncSingle.add(t); - return async(asyncSingle).get(0); - } - - VerificationTypeEnum getType(); -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/PhoneThreeVerify.java b/src/main/java/com/newyetai/alitaforward/verification/factor/PhoneThreeVerify.java deleted file mode 100644 index daad4c1..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/PhoneThreeVerify.java +++ /dev/null @@ -1,170 +0,0 @@ -package com.newyetai.alitaforward.verification.factor; - -import cn.hutool.json.JSONUtil; -import com.google.common.collect.Lists; -import com.newyetai.alitaforward.common.mq.constant.ForwardMqConstants; -import com.newyetai.alitaforward.verification.constants.FactorVerificationSourceTypeEnum; -import com.newyetai.alitaforward.verification.constants.VerificationTypeEnum; -import com.newyetai.alitaforward.verification.dto.FactorVerificationQueryDTO; -import com.newyetai.alitaforward.verification.dto.PhoneThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.phoneThree.dao.PhoneThreeVerificationMapper; -import com.newyetai.alitaforward.verification.factor.phoneThree.entity.PhoneThreeVerification; -import com.newyetai.alitaforward.verification.factor.phoneThree.mapstruct.PhoneThreeVerificationMapMapper; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.common.validation.util.ValidateUtils; -import com.newyetai.frame.redis.aop.annotation.AutoUnLock; -import com.newyetai.frame.redis.dto.LockDTO; -import com.newyetai.frame.redis.redisson.RedissonUtils; -import com.newyetai.mq.util.MqSendUtils; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Component; - -import javax.annotation.Resource; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.StringJoiner; -import java.util.stream.Collectors; - -@Slf4j -@Component -public class PhoneThreeVerify extends AbstractVerify implements IQueryVerify { - - @Resource - private PhoneThreeVerificationMapper phoneThreeVerificationMapper; - - @Override - protected PhoneThreeFactorVerificationDTO syncBeforeVerify(PhoneThreeFactorVerificationDTO verificationDTO) { - StringJoiner stringJoiner = new StringJoiner("、"); - if (!ValidateUtils.checkRealName(verificationDTO.getRealName())) { - stringJoiner.add("姓名格式有误"); - } - if (!ValidateUtils.isIdCard(verificationDTO.getCardNo())) { - stringJoiner.add("证件号格式有误"); - } - if (StringUtils.isBlank(verificationDTO.getPhone())) { - stringJoiner.add("手机号为空"); - } - String failReason = stringJoiner.toString(); - if (StringUtils.isNotBlank(failReason)) { - verificationDTO.setFailReason(failReason); - } else { - //校验成功调用 - super.syncBeforeVerify(verificationDTO); - } - return verificationDTO; - } - - @Override - PhoneThreeFactorVerificationDTO createAndGet(PhoneThreeFactorVerificationDTO verificationDTO) { - PhoneThreeVerification entity = phoneThreeVerificationMapper.find(verificationDTO); - if (entity == null) { - //认证库不存在,以默认状态入库——"未认证" - verificationDTO.setStatus(AuthStatusEnum.NOT_AUTH.getType()); - entity = PhoneThreeVerificationMapMapper.INSTANCE.exchange(verificationDTO); - phoneThreeVerificationMapper.saveEntity(entity); - } - return PhoneThreeVerificationMapMapper.INSTANCE.exchange(entity); - } - - @Override - LockDTO getLock(PhoneThreeFactorVerificationDTO verificationDTO) { - return LockDTO.builder() - .methodName("verify:three:phone") - .tryLockWaitTime(0L) - .arg(verificationDTO.getRealName()) - .arg(verificationDTO.getCardNo()) - .arg(verificationDTO.getPhone()) - .build(); - } - - @Override - @AutoUnLock - public void autoVerify(PhoneThreeFactorVerificationDTO verificationDTO) { -//拿锁 - LockDTO lockDTO = getLock(verificationDTO); - Assert.isTrue(RedissonUtils.tryLockAutomatically(lockDTO), "请勿重复校验手机三要素"); - - PhoneThreeVerification verificationEntity = phoneThreeVerificationMapper.find(verificationDTO); - - if (Objects.nonNull(verificationEntity)) { - if (!AuthStatusEnum.NOT_AUTH.getType().equals(verificationEntity.getStatus())) { - return; - } - verificationEntity.setAuthenticationSource(FactorVerificationSourceTypeEnum.SYS.getType()); - verificationEntity.setStatus(verificationDTO.getStatus()); - phoneThreeVerificationMapper.updateEntitySelective(verificationEntity, - UserContextHolder.getLoginUserId()); - } else { - verificationEntity = - PhoneThreeVerification.builder() - .realName(verificationDTO.getRealName()) - .cardNo(verificationDTO.getCardNo()) - .phone(verificationDTO.getPhone()) - .authenticationSource(FactorVerificationSourceTypeEnum.SYS.getType()) - .status(verificationDTO.getStatus()) - .build(); - phoneThreeVerificationMapper.saveEntity(verificationEntity); - } - log.info("【MQ】通知认证状态变更,参数:{}", JSONUtil.toJsonStr(verificationDTO)); - MqSendUtils.send(statusChangeRoutingKey(), verificationDTO); - } - - @Override - public List list(FactorVerificationQueryDTO queryDTO) { - return phoneThreeVerificationMapper.list(queryDTO); - } - - @Override - public List queryListByData(List queryDTOList) { - List resultList = Lists - .newArrayListWithCapacity(queryDTOList.size()); - if (CollectionUtils.isEmpty(queryDTOList)) { - return resultList; - } - List bankCardThreeVerifications = phoneThreeVerificationMapper - .findFinishStatusData(); - Map threeVerificationMap = bankCardThreeVerifications - .stream().collect( - Collectors.toMap(k -> k.getRealName() + k.getCardNo() + k.getPhone(), v -> v, (v1, v2) -> v1)); - - for (FactorVerificationQueryDTO queryDTO : queryDTOList) { - PhoneThreeFactorVerificationDTO PhoneThreeFactorVerificationDTO = threeVerificationMap - .get(queryDTO.getRealName() + queryDTO.getCardNo() + queryDTO.getPhone()); - if (PhoneThreeFactorVerificationDTO != null) { - resultList.add(PhoneThreeFactorVerificationDTO); - } - } - return resultList; - } - - @Override - public PhoneThreeFactorVerificationDTO findById(Long id) { - PhoneThreeFactorVerificationDTO threeFactorVerificationDTO = null; - PhoneThreeVerification entity = phoneThreeVerificationMapper.getById(id); - if (entity != null) { - threeFactorVerificationDTO = PhoneThreeVerificationMapMapper.INSTANCE.exchange(entity); - } - return threeFactorVerificationDTO; - } - - @Override - PhoneThreeFactorVerificationDTO realVerification( - PhoneThreeFactorVerificationDTO verificationDTO) { - Integer authenticationSource = verificationDTO.getAuthenticationSource(); - SOURCE_SERVICE_MAP.get(authenticationSource).phoneThreeVerify(verificationDTO); - //更新状态 - PhoneThreeVerification entity = PhoneThreeVerificationMapMapper.INSTANCE.exchange(verificationDTO); - phoneThreeVerificationMapper.updateEntitySelective(entity, UserContextHolder.getLoginUserId()); - return verificationDTO; - } - - @Override - public VerificationTypeEnum getType() { - return VerificationTypeEnum.PHONE_THREE; - } -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/RealNameTwoVerify.java b/src/main/java/com/newyetai/alitaforward/verification/factor/RealNameTwoVerify.java deleted file mode 100644 index d0fc698..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/RealNameTwoVerify.java +++ /dev/null @@ -1,165 +0,0 @@ -package com.newyetai.alitaforward.verification.factor; - -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.StringJoiner; -import java.util.stream.Collectors; - -import javax.annotation.Resource; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Component; - -import com.google.common.collect.Lists; -import com.newyetai.alitaforward.verification.constants.FactorVerificationSourceTypeEnum; -import com.newyetai.alitaforward.verification.constants.VerificationTypeEnum; -import com.newyetai.alitaforward.verification.dto.FactorVerificationQueryDTO; -import com.newyetai.alitaforward.verification.dto.RealNameTwoFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.two.convert.RealNameTwoVerificationConvert; -import com.newyetai.alitaforward.verification.factor.two.dao.RealNameTwoVerificationMapper; -import com.newyetai.alitaforward.verification.factor.two.entity.RealNameTwoVerification; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.common.validation.util.ValidateUtils; -import com.newyetai.frame.redis.aop.annotation.AutoUnLock; -import com.newyetai.frame.redis.dto.LockDTO; -import com.newyetai.frame.redis.redisson.RedissonUtils; -import com.newyetai.mq.util.MqSendUtils; - -import cn.hutool.json.JSONUtil; -import lombok.extern.slf4j.Slf4j; - -@Slf4j -@Component -public class RealNameTwoVerify extends AbstractVerify implements IQueryVerify { - - @Resource - private RealNameTwoVerificationMapper realNameTwoVerificationMapper; - - @Override - protected RealNameTwoFactorVerificationDTO syncBeforeVerify(RealNameTwoFactorVerificationDTO verificationDTO) { - StringJoiner stringJoiner = new StringJoiner("、"); - if (!ValidateUtils.checkRealName(verificationDTO.getRealName())) { - stringJoiner.add("姓名格式有误"); - } - if (!ValidateUtils.isIdCard(verificationDTO.getCardNo())) { - stringJoiner.add("证件号格式有误"); - } - String failReason = stringJoiner.toString(); - if (StringUtils.isNotBlank(failReason)) { - verificationDTO.setFailReason(failReason); - } else { - //校验成功调用 - super.syncBeforeVerify(verificationDTO); - } - return verificationDTO; - } - - @Override - RealNameTwoFactorVerificationDTO createAndGet(RealNameTwoFactorVerificationDTO verificationDTO) { - RealNameTwoVerification entity = realNameTwoVerificationMapper.selectInfo(verificationDTO); - if (entity == null) { - //认证库不存在,以默认状态入库——"未认证" - verificationDTO.setStatus(AuthStatusEnum.NOT_AUTH.getType()); - entity = RealNameTwoVerificationConvert.INSTANCE.convert(verificationDTO); - realNameTwoVerificationMapper.saveEntity(entity); - } - return RealNameTwoVerificationConvert.INSTANCE.convertDTO(entity); - } - - @Override - LockDTO getLock(RealNameTwoFactorVerificationDTO verificationDTO) { - return LockDTO.builder() - .methodName("verify:real_name:two") - .tryLockWaitTime(0L) - .arg(verificationDTO.getRealName()) - .arg(verificationDTO.getCardNo()) - .build(); - } - - @Override - @AutoUnLock - public void autoVerify(RealNameTwoFactorVerificationDTO verificationDTO) { - //拿锁 - LockDTO lockDTO = getLock(verificationDTO); - Assert.isTrue(RedissonUtils.tryLockAutomatically(lockDTO), "请勿重复校验二要素"); - - RealNameTwoVerification realNameTwoVerification = realNameTwoVerificationMapper.selectInfo(verificationDTO); - - if (Objects.nonNull(realNameTwoVerification)) { - if (!AuthStatusEnum.NOT_AUTH.getType().equals(realNameTwoVerification.getStatus())) { - return; - } - realNameTwoVerification.setAuthenticationSource(FactorVerificationSourceTypeEnum.SYS.getType()); - realNameTwoVerification.setStatus(verificationDTO.getStatus()); - realNameTwoVerificationMapper.updateEntitySelective(realNameTwoVerification, - UserContextHolder.getLoginUserId()); - } else { - realNameTwoVerification = - RealNameTwoVerification.builder() - .realName(verificationDTO.getRealName()) - .cardNo(verificationDTO.getCardNo()) - .authenticationSource(FactorVerificationSourceTypeEnum.SYS.getType()) - .status(verificationDTO.getStatus()) - .build(); - realNameTwoVerificationMapper.saveEntity(realNameTwoVerification); - } - log.info("【MQ】通知认证状态变更,参数:{}", JSONUtil.toJsonStr(verificationDTO)); - MqSendUtils.send(statusChangeRoutingKey(), verificationDTO); - } - - @Override - public List list(FactorVerificationQueryDTO queryDTO) { - return realNameTwoVerificationMapper.list(queryDTO); - } - - @Override - public List queryListByData(List queryDTOList) { - List resultList = Lists - .newArrayListWithCapacity(queryDTOList.size()); - if (CollectionUtils.isEmpty(queryDTOList)) { - return resultList; - } - List bankCardThreeVerifications = realNameTwoVerificationMapper - .findFinishStatusData(); - Map threeVerificationMap = bankCardThreeVerifications - .stream().collect( - Collectors.toMap(k -> k.getRealName() + k.getCardNo(), v -> v, (v1, v2) -> v1)); - - for (FactorVerificationQueryDTO queryDTO : queryDTOList) { - RealNameTwoFactorVerificationDTO RealNameTwoFactorVerificationDTO = threeVerificationMap - .get(queryDTO.getRealName() + queryDTO.getCardNo()); - if (RealNameTwoFactorVerificationDTO != null) { - resultList.add(RealNameTwoFactorVerificationDTO); - } - } - return resultList; - } - - @Override - public RealNameTwoFactorVerificationDTO findById(Long id) { - RealNameTwoFactorVerificationDTO threeFactorVerificationDTO = null; - RealNameTwoVerification entity = realNameTwoVerificationMapper.getById(id); - if (entity != null) { - threeFactorVerificationDTO = RealNameTwoVerificationConvert.INSTANCE.convertDTO(entity); - } - return threeFactorVerificationDTO; - } - - @Override - RealNameTwoFactorVerificationDTO realVerification(RealNameTwoFactorVerificationDTO verificationDTO) { - Integer authenticationSource = verificationDTO.getAuthenticationSource(); - SOURCE_SERVICE_MAP.get(authenticationSource).twoVerify(verificationDTO); - RealNameTwoVerification entity = RealNameTwoVerificationConvert.INSTANCE.convert(verificationDTO); - realNameTwoVerificationMapper.updateEntitySelective(entity, UserContextHolder.getLoginUserId()); - return verificationDTO; - } - - @Override - public VerificationTypeEnum getType() { - return VerificationTypeEnum.TWO; - } -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/ThreeVerify.java b/src/main/java/com/newyetai/alitaforward/verification/factor/ThreeVerify.java deleted file mode 100644 index 8308043..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/ThreeVerify.java +++ /dev/null @@ -1,171 +0,0 @@ -package com.newyetai.alitaforward.verification.factor; - -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.StringJoiner; -import java.util.stream.Collectors; - -import javax.annotation.Resource; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Component; - -import com.google.common.collect.Lists; -import com.newyetai.alitaforward.verification.constants.FactorVerificationSourceTypeEnum; -import com.newyetai.alitaforward.verification.constants.VerificationTypeEnum; -import com.newyetai.alitaforward.verification.dto.FactorVerificationQueryDTO; -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.three.dao.ThreeVerificationMapper; -import com.newyetai.alitaforward.verification.factor.three.entity.BankCardThreeVerification; -import com.newyetai.alitaforward.verification.factor.three.mapstruct.ThreeVerificationMapMapper; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.common.validation.util.ValidateUtils; -import com.newyetai.frame.redis.aop.annotation.AutoUnLock; -import com.newyetai.frame.redis.dto.LockDTO; -import com.newyetai.frame.redis.redisson.RedissonUtils; -import com.newyetai.mq.util.MqSendUtils; - -import cn.hutool.json.JSONUtil; -import lombok.extern.slf4j.Slf4j; - -@Slf4j -@Component -public class ThreeVerify extends AbstractVerify implements IQueryVerify { - - @Resource - private ThreeVerificationMapper threeVerificationMapper; - - @Override - protected ThreeFactorVerificationDTO syncBeforeVerify(ThreeFactorVerificationDTO verificationDTO) { - StringJoiner stringJoiner = new StringJoiner("、"); - if (!ValidateUtils.checkRealName(verificationDTO.getRealName())) { - stringJoiner.add("姓名格式有误"); - } - if (!ValidateUtils.isIdCard(verificationDTO.getCardNo())) { - stringJoiner.add("证件号格式有误"); - } - if (StringUtils.isBlank(verificationDTO.getBankAccountNo())) { - stringJoiner.add("银行卡号为空"); - } - String failReason = stringJoiner.toString(); - if (StringUtils.isNotBlank(failReason)) { - verificationDTO.setFailReason(failReason); - } else { - //校验成功调用 - super.syncBeforeVerify(verificationDTO); - } - return verificationDTO; - } - - @Override - ThreeFactorVerificationDTO createAndGet(ThreeFactorVerificationDTO verificationDTO) { - BankCardThreeVerification entity = threeVerificationMapper.find(verificationDTO); - if (entity == null) { - //认证库不存在,以默认状态入库——"未认证" - verificationDTO.setStatus(AuthStatusEnum.NOT_AUTH.getType()); - entity = ThreeVerificationMapMapper.INSTANCE.toEntity(verificationDTO); - threeVerificationMapper.saveEntity(entity); - } - return ThreeVerificationMapMapper.INSTANCE.toDto(entity); - } - - @Override - @AutoUnLock - public void autoVerify(ThreeFactorVerificationDTO verificationDTO) { - //拿锁 - LockDTO lockDTO = getLock(verificationDTO); - Assert.isTrue(RedissonUtils.tryLockAutomatically(lockDTO), "请勿重复校验三要素"); - - BankCardThreeVerification verificationEntity = threeVerificationMapper.find(verificationDTO); - - if (Objects.nonNull(verificationEntity)) { - if (!AuthStatusEnum.NOT_AUTH.getType().equals(verificationEntity.getStatus())) { - return; - } - verificationEntity.setAuthenticationSource(FactorVerificationSourceTypeEnum.SYS.getType()); - verificationEntity.setStatus(verificationDTO.getStatus()); - threeVerificationMapper.updateEntitySelective(verificationEntity, - UserContextHolder.getLoginUserId()); - } else { - verificationEntity = - BankCardThreeVerification.builder() - .realName(verificationDTO.getRealName()) - .cardNo(verificationDTO.getCardNo()) - .bankAccountNo(verificationDTO.getBankAccountNo()) - .authenticationSource(FactorVerificationSourceTypeEnum.SYS.getType()) - .status(verificationDTO.getStatus()) - .build(); - threeVerificationMapper.saveEntity(verificationEntity); - } - log.info("【MQ】通知认证状态变更,参数:{}", JSONUtil.toJsonStr(verificationDTO)); - MqSendUtils.send(statusChangeRoutingKey(), verificationDTO); - } - - @Override - LockDTO getLock(ThreeFactorVerificationDTO verificationDTO) { - return LockDTO.builder() - .methodName("verify:three") - .tryLockWaitTime(0L) - .arg(verificationDTO.getRealName()) - .arg(verificationDTO.getCardNo()) - .arg(verificationDTO.getBankAccountNo()) - .build(); - } - - @Override - public List list(FactorVerificationQueryDTO queryDTO) { - return threeVerificationMapper.list(queryDTO); - } - - @Override - public List queryListByData(List queryDTOList) { - List resultList = Lists - .newArrayListWithCapacity(queryDTOList.size()); - if (CollectionUtils.isEmpty(queryDTOList)) { - return resultList; - } - List bankCardThreeVerifications = threeVerificationMapper - .findFinishStatusData(); - Map threeVerificationMap = bankCardThreeVerifications - .stream().collect( - Collectors.toMap(k -> k.getRealName() + k.getCardNo() + k.getBankAccountNo(), v -> v, (v1, v2) -> v1)); - - for (FactorVerificationQueryDTO queryDTO : queryDTOList) { - ThreeFactorVerificationDTO threeFactorVerificationDTO = threeVerificationMap - .get(queryDTO.getRealName() + queryDTO.getCardNo() + queryDTO.getBankAccountNo()); - if (threeFactorVerificationDTO != null) { - resultList.add(threeFactorVerificationDTO); - } - } - return resultList; - } - - @Override - public ThreeFactorVerificationDTO findById(Long id) { - ThreeFactorVerificationDTO threeFactorVerificationDTO = null; - BankCardThreeVerification entity = threeVerificationMapper.getById(id); - if (entity != null) { - threeFactorVerificationDTO = ThreeVerificationMapMapper.INSTANCE.toDto(entity); - } - return threeFactorVerificationDTO; - } - @Override - ThreeFactorVerificationDTO realVerification(ThreeFactorVerificationDTO verificationDTO) { - Integer authenticationSource = verificationDTO.getAuthenticationSource(); - SOURCE_SERVICE_MAP.get(authenticationSource).threeVerify(verificationDTO); - //更新状态 - BankCardThreeVerification entity = ThreeVerificationMapMapper.INSTANCE - .toEntity(verificationDTO); - threeVerificationMapper.updateEntitySelective(entity, UserContextHolder.getLoginUserId()); - return verificationDTO; - } - - @Override - public VerificationTypeEnum getType() { - return VerificationTypeEnum.THREE; - } -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/VerifyConfig.java b/src/main/java/com/newyetai/alitaforward/verification/factor/VerifyConfig.java deleted file mode 100644 index 92a929b..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/VerifyConfig.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.newyetai.alitaforward.verification.factor; - -import com.newyetai.alitaforward.verification.source.FactorVerificationSourceService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Configuration; - -import java.util.List; - -@Configuration -public class VerifyConfig { - - @Autowired - private void autowiredFactorVerificationSourceService(List sourceServices) { - for (FactorVerificationSourceService sourceService : sourceServices) { - AbstractVerify.SOURCE_SERVICE_MAP.put(sourceService.getSourceType().getType(), sourceService); - } - } -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/four/dao/FourVerificationMapper.java b/src/main/java/com/newyetai/alitaforward/verification/factor/four/dao/FourVerificationMapper.java deleted file mode 100644 index c5ecf4c..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/four/dao/FourVerificationMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.four.dao; - -import com.newyetai.alitaforward.verification.dto.FactorVerificationQueryDTO; -import com.newyetai.alitaforward.verification.dto.FourFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.four.entity.BankCardFourVerification; -import com.newyetai.tkmybatis.mybatis.MyMapper; -import java.util.List; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -/** - * @author czy - * @date 2021-06-17 - */ -public interface FourVerificationMapper extends MyMapper { - - /** - * 根据四要素查询数据 - * @param params - * @return - */ - BankCardFourVerification selectInfo(@Param("params") FourFactorVerificationDTO params); - - @Select("select * from bank_card_four_verification where deleted = false and status in (2,3)") - List findFinishStatusData(); - - List list(@Param("params") FactorVerificationQueryDTO factorVerificationQueryDTO); - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/four/entity/BankCardFourVerification.java b/src/main/java/com/newyetai/alitaforward/verification/factor/four/entity/BankCardFourVerification.java deleted file mode 100644 index 5e142b7..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/four/entity/BankCardFourVerification.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.four.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.newyetai.common.entity.BaseEntity; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -/** - * @author czy - * @date 2021-06-17 - */ - -@ApiModel("四要素认证库") -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -@EqualsAndHashCode(callSuper = true) -@TableName("bank_card_four_verification") -public class BankCardFourVerification extends BaseEntity { - - @ApiModelProperty("姓名") - private String realName; - - @ApiModelProperty("证件号") - private String cardNo; - - @ApiModelProperty("银行卡号") - private String bankAccountNo; - - @ApiModelProperty("手机号") - private String phone; - - @ApiModelProperty("认证状态(1-未认证 2-认证中 3-认证成功 4-认证失败)") - private Integer status; - - @ApiModelProperty("认证来源") - private Integer authenticationSource; - - @ApiModelProperty("调用数据") - private String invokeData; - - @ApiModelProperty("失败原因") - private String failReason; - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/four/mapper/BankCardFourVerificationMapper.xml b/src/main/java/com/newyetai/alitaforward/verification/factor/four/mapper/BankCardFourVerificationMapper.xml deleted file mode 100644 index 2578fd0..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/four/mapper/BankCardFourVerificationMapper.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/four/mapstruct/FourVerificationMapMapper.java b/src/main/java/com/newyetai/alitaforward/verification/factor/four/mapstruct/FourVerificationMapMapper.java deleted file mode 100644 index 760fbb8..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/four/mapstruct/FourVerificationMapMapper.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.four.mapstruct; - -import com.newyetai.alitaforward.verification.dto.FourFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.four.entity.BankCardFourVerification; -import com.newyetai.sdk.fangxinqian.dto.BankCardFourRequestDTO; -import com.newyetai.sdk.fangxinqian.dto.BankCardThreeRequestDTO; -import java.util.List; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.factory.Mappers; - -/** - * @author czy - * @date 2021-06-17 - */ -@Mapper -public interface FourVerificationMapMapper { - - FourVerificationMapMapper INSTANCE = Mappers.getMapper( - FourVerificationMapMapper.class); - - /** - * dto to entity - * - * @param fourVerificationDTO - * @return - * @author czy on 2021-06-17 - */ - BankCardFourVerification toEntity( - FourFactorVerificationDTO fourVerificationDTO); - - /** - * dtoList to entityList - * - * @param threeVerificationDTOList - * @return - * @author czy on 2021-06-17 - */ - List toEntityList( - List threeVerificationDTOList); - - /** - * entity to dto - * - * @param threeVerification - * @return - * @author czy on 2021-06-17 - */ - FourFactorVerificationDTO toDto( - BankCardFourVerification threeVerification); - - /** - * entityList to dtoList - * - * @param fourVerificationEntityList - * @return - * @author czy on 2021-06-17 - */ - List toDtoList( - List fourVerificationEntityList); - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/phoneThree/dao/PhoneThreeVerificationMapper.java b/src/main/java/com/newyetai/alitaforward/verification/factor/phoneThree/dao/PhoneThreeVerificationMapper.java deleted file mode 100644 index 7f29d70..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/phoneThree/dao/PhoneThreeVerificationMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.phoneThree.dao; - -import com.newyetai.alitaforward.verification.dto.FactorVerificationQueryDTO; -import com.newyetai.alitaforward.verification.dto.PhoneThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.phoneThree.entity.PhoneThreeVerification; -import com.newyetai.tkmybatis.mybatis.MyMapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * @author czy - * @date 2021-06-17 - */ -public interface PhoneThreeVerificationMapper extends MyMapper { - - /** - * 根据三要素查询数据 - * @param params - * @return - */ - PhoneThreeVerification find(@Param("params") PhoneThreeFactorVerificationDTO params); - - @Select("select * from phone_three_verification where deleted = false") - List findFinishStatusData(); - - List list(@Param("params") FactorVerificationQueryDTO factorVerificationQueryDTO); - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/phoneThree/entity/PhoneThreeVerification.java b/src/main/java/com/newyetai/alitaforward/verification/factor/phoneThree/entity/PhoneThreeVerification.java deleted file mode 100644 index d6be3a8..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/phoneThree/entity/PhoneThreeVerification.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.phoneThree.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.newyetai.common.entity.BaseEntity; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -/** - * @author czy - * @date 2021-06-17 - */ - -@ApiModel("手机号三要素认证库") -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -@EqualsAndHashCode(callSuper = true) -@TableName("phone_three_verification") -public class PhoneThreeVerification extends BaseEntity { - - private static final long serialVersionUID = 1033289792676234200L; - @ApiModelProperty("姓名") - private String realName; - - @ApiModelProperty("证件号") - private String cardNo; - - @ApiModelProperty("银行卡号") - private String phone; - - @ApiModelProperty("认证状态(1-未认证 2-认证中 3-认证成功 4-认证失败)") - private Integer status; - - @ApiModelProperty("认证来源") - private Integer authenticationSource; - - @ApiModelProperty("失败原因") - private String failReason; - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/phoneThree/mapper/PhoneThreeVerificationMapper.xml b/src/main/java/com/newyetai/alitaforward/verification/factor/phoneThree/mapper/PhoneThreeVerificationMapper.xml deleted file mode 100644 index ee0e2ee..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/phoneThree/mapper/PhoneThreeVerificationMapper.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/phoneThree/mapstruct/PhoneThreeVerificationMapMapper.java b/src/main/java/com/newyetai/alitaforward/verification/factor/phoneThree/mapstruct/PhoneThreeVerificationMapMapper.java deleted file mode 100644 index 5267e84..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/phoneThree/mapstruct/PhoneThreeVerificationMapMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.phoneThree.mapstruct; - -import com.newyetai.alitaforward.verification.dto.PhoneThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.phoneThree.entity.PhoneThreeVerification; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * @author czy - * @date 2021-06-17 - */ -@Mapper -public interface PhoneThreeVerificationMapMapper { - - PhoneThreeVerificationMapMapper INSTANCE = Mappers.getMapper( - PhoneThreeVerificationMapMapper.class); - - PhoneThreeFactorVerificationDTO exchange(PhoneThreeVerification verification); - - PhoneThreeVerification exchange(PhoneThreeFactorVerificationDTO verificationDTO); -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/three/dao/ThreeVerificationMapper.java b/src/main/java/com/newyetai/alitaforward/verification/factor/three/dao/ThreeVerificationMapper.java deleted file mode 100644 index 2556718..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/three/dao/ThreeVerificationMapper.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.three.dao; - -import com.newyetai.alitaforward.verification.dto.FactorVerificationQueryDTO; -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.three.entity.BankCardThreeVerification; -import com.newyetai.tkmybatis.mybatis.MyMapper; -import java.util.List; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -/** - * @author czy - * @date 2021-06-17 - */ -public interface ThreeVerificationMapper extends MyMapper { - - /** - * 根据三要素查询数据 - * @param params - * @return - */ - BankCardThreeVerification find(@Param("params") ThreeFactorVerificationDTO params); - - @Select("select * from bank_card_three_verification where deleted = false") - List findFinishStatusData(); - - List list(@Param("params") FactorVerificationQueryDTO factorVerificationQueryDTO); - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/three/entity/BankCardThreeVerification.java b/src/main/java/com/newyetai/alitaforward/verification/factor/three/entity/BankCardThreeVerification.java deleted file mode 100644 index d48103a..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/three/entity/BankCardThreeVerification.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.three.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.newyetai.common.entity.BaseEntity; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -/** - * @author czy - * @date 2021-06-17 - */ - -@ApiModel("三要素认证库") -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -@EqualsAndHashCode(callSuper = true) -@TableName("bank_card_three_verification") -public class BankCardThreeVerification extends BaseEntity { - - private static final long serialVersionUID = 1178897458908696195L; - @ApiModelProperty("姓名") - private String realName; - - @ApiModelProperty("证件号") - private String cardNo; - - @ApiModelProperty("银行卡号") - private String bankAccountNo; - - @ApiModelProperty("认证状态(1-未认证 2-认证中 3-认证成功 4-认证失败)") - private Integer status; - - @ApiModelProperty("认证来源") - private Integer authenticationSource; - - @ApiModelProperty("调用数据") - private String invokeData; - - @ApiModelProperty("失败原因") - private String failReason; - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/three/mapper/BankCardThreeVerificationMapper.xml b/src/main/java/com/newyetai/alitaforward/verification/factor/three/mapper/BankCardThreeVerificationMapper.xml deleted file mode 100644 index 1b0da1f..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/three/mapper/BankCardThreeVerificationMapper.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/three/mapstruct/ThreeVerificationMapMapper.java b/src/main/java/com/newyetai/alitaforward/verification/factor/three/mapstruct/ThreeVerificationMapMapper.java deleted file mode 100644 index 6cc6418..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/three/mapstruct/ThreeVerificationMapMapper.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.three.mapstruct; - -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.three.entity.BankCardThreeVerification; -import java.util.List; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * @author czy - * @date 2021-06-17 - */ -@Mapper -public interface ThreeVerificationMapMapper { - - ThreeVerificationMapMapper INSTANCE = Mappers.getMapper( - ThreeVerificationMapMapper.class); - - /** - * dto to entity - * - * @param threeVerificationDTO - * @return - * @author czy on 2021-06-17 - */ - BankCardThreeVerification toEntity( - ThreeFactorVerificationDTO threeVerificationDTO); - - /** - * dtoList to entityList - * - * @param threeVerificationDTOList - * @return - * @author czy on 2021-06-17 - */ - List toEntityList( - List threeVerificationDTOList); - - /** - * entity to dto - * - * @param threeVerification - * @return - * @author czy on 2021-06-17 - */ - ThreeFactorVerificationDTO toDto( - BankCardThreeVerification threeVerification); - - /** - * entityList to dtoList - * - * @param threeVerificationEntityList - * @return - * @author czy on 2021-06-17 - */ - List toDtoList( - List threeVerificationEntityList); - - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/two/convert/RealNameTwoVerificationConvert.java b/src/main/java/com/newyetai/alitaforward/verification/factor/two/convert/RealNameTwoVerificationConvert.java deleted file mode 100644 index 3b192e2..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/two/convert/RealNameTwoVerificationConvert.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.two.convert; - -import com.newyetai.alitaforward.verification.dto.RealNameTwoFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.two.dto.RealNameTwoVerificationDTO; -import com.newyetai.alitaforward.verification.factor.two.dto.RealNameTwoVerificationOperatorDTO; -import com.newyetai.alitaforward.verification.factor.two.entity.RealNameTwoVerification; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 二要素认证表 - * - * @author chenyun chenyun.home@outlook.com - * @since 1.0.0 2022-07-22 - */ -@Mapper -public interface RealNameTwoVerificationConvert { - RealNameTwoVerificationConvert INSTANCE = Mappers.getMapper(RealNameTwoVerificationConvert.class); - - RealNameTwoVerification convert(RealNameTwoVerificationDTO dto); - - RealNameTwoVerificationDTO convert(RealNameTwoVerification entity); - RealNameTwoFactorVerificationDTO convertDTO(RealNameTwoVerification entity); - - RealNameTwoVerification convert(RealNameTwoVerificationOperatorDTO dto); - - RealNameTwoVerification convert(RealNameTwoFactorVerificationDTO dto); -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/two/dao/RealNameTwoVerificationMapper.java b/src/main/java/com/newyetai/alitaforward/verification/factor/two/dao/RealNameTwoVerificationMapper.java deleted file mode 100644 index 6606b00..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/two/dao/RealNameTwoVerificationMapper.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.two.dao; - -import com.newyetai.alitaforward.verification.dto.FactorVerificationQueryDTO; -import com.newyetai.alitaforward.verification.dto.RealNameTwoFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.two.dto.RealNameTwoVerificationDTO; -import com.newyetai.alitaforward.verification.factor.two.dto.RealNameTwoVerificationPageQueryDTO; -import com.newyetai.alitaforward.verification.factor.two.entity.RealNameTwoVerification; -import com.newyetai.tkmybatis.mybatis.MyMapper; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -/** - * 二要素认证表 - * - * @author chenyun chenyun.home@outlook.com - * @since 1.0.0 2022-07-22 - */ -@Mapper -public interface RealNameTwoVerificationMapper extends MyMapper { - - /** - * 根据二要素查询数据 - * - * @param params - * @return - */ - RealNameTwoVerification selectInfo(@Param("param") RealNameTwoFactorVerificationDTO params); - - List page( - @Param("param") RealNameTwoVerificationPageQueryDTO queryDTO); - - List list(@Param("param") FactorVerificationQueryDTO queryDTO); - - @Select("select * from real_name_two_verification where deleted = false") - List findFinishStatusData(); -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/two/dto/RealNameTwoVerificationDTO.java b/src/main/java/com/newyetai/alitaforward/verification/factor/two/dto/RealNameTwoVerificationDTO.java deleted file mode 100644 index 27e39d4..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/two/dto/RealNameTwoVerificationDTO.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.two.dto; - -import com.newyetai.common.dto.BaseDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -/** - * 二要素认证表 - * - * @author chenyun chenyun.home@outlook.com - * @since 1.0.0 2022-07-22 - */ -@ApiModel("二要素认证表") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class RealNameTwoVerificationDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("姓名") - private String realName; - - @ApiModelProperty("证件号") - private String cardNo; - - @ApiModelProperty("状态(1待认证 2认证中 3认证成功 4认证失败)") - private Integer status; - - @ApiModelProperty("认证来源(1放心签、2创蓝 3系统)") - private Integer authenticationSource; - - @ApiModelProperty("调用数据") - private String invokeData; - - @ApiModelProperty("失败原因") - private String failReason; -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/two/dto/RealNameTwoVerificationOperatorDTO.java b/src/main/java/com/newyetai/alitaforward/verification/factor/two/dto/RealNameTwoVerificationOperatorDTO.java deleted file mode 100644 index 9d708d4..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/two/dto/RealNameTwoVerificationOperatorDTO.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.two.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 二要素认证表 - * - * @author chenyun chenyun.home@outlook.com - * @since 1.0.0 2022-07-22 - */ -@ApiModel("二要素认证表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class RealNameTwoVerificationOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("姓名") - private String realName; - - @ApiModelProperty("证件号") - private String cardNo; - - @ApiModelProperty("状态(1待认证 2认证中 3认证成功 4认证失败)") - private Integer status; - - @ApiModelProperty("认证来源(1放心签、2创蓝 3系统)") - private Integer authenticationSource; - - @ApiModelProperty("调用数据") - private String invokeData; - - @ApiModelProperty("失败原因") - private String failReason; -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/two/dto/RealNameTwoVerificationPageQueryDTO.java b/src/main/java/com/newyetai/alitaforward/verification/factor/two/dto/RealNameTwoVerificationPageQueryDTO.java deleted file mode 100644 index 0b59e8c..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/two/dto/RealNameTwoVerificationPageQueryDTO.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.two.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.dto.PageQueryDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -/** - * 二要素认证表 - * - * @author chenyun chenyun.home@outlook.com - * @since 1.0.0 2022-07-22 - */ -@ApiModel("二要素认证表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class RealNameTwoVerificationPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("ID") - private Long id; - - @ApiModelProperty("姓名 (模糊匹配)") - private String realNameLike; - - @ApiModelProperty("证件号") - private String cardNo; - - @ApiModelProperty("状态(1待认证 2认证中 3认证成功 4认证失败)") - private Integer status; - - @ApiModelProperty("认证来源(1放心签、2创蓝 3系统)") - private Integer authenticationSource; - - @ApiModelProperty("调用数据") - private String invokeData; - - @ApiModelProperty("失败原因") - private String failReason; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/two/dto/RealNameTwoVerificationQueryDTO.java b/src/main/java/com/newyetai/alitaforward/verification/factor/two/dto/RealNameTwoVerificationQueryDTO.java deleted file mode 100644 index f576c59..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/two/dto/RealNameTwoVerificationQueryDTO.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.two.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.util.Date; - -/** - * 二要素认证表 - * - * @author chenyun chenyun.home@outlook.com - * @since 1.0.0 2022-07-22 - */ -@ApiModel("二要素认证表") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class RealNameTwoVerificationQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("ID") - private Long id; - - @ApiModelProperty("姓名 (模糊匹配)") - private String realNameLike; - - @ApiModelProperty("证件号") - private String cardNo; - - @ApiModelProperty("状态(1待认证 2认证中 3认证成功 4认证失败)") - private Integer status; - - @ApiModelProperty("认证来源(1放心签、2创蓝 3系统)") - private Integer authenticationSource; - - @ApiModelProperty("调用数据") - private String invokeData; - - @ApiModelProperty("失败原因") - private String failReason; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/two/entity/RealNameTwoVerification.java b/src/main/java/com/newyetai/alitaforward/verification/factor/two/entity/RealNameTwoVerification.java deleted file mode 100644 index 5802ab9..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/two/entity/RealNameTwoVerification.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.newyetai.alitaforward.verification.factor.two.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.newyetai.common.entity.BaseEntity; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -/** - * 二要素认证表 - * - * @author chenyun chenyun.home@outlook.com - * @since 1.0.0 2022-07-22 - */ -@TableName("real_name_two_verification") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class RealNameTwoVerification extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** 姓名 */ - private String realName; - /** 证件号 */ - private String cardNo; - /** 状态(1待认证 2认证中 3认证成功 4认证失败) */ - private Integer status; - /** 认证来源(1放心签、2创蓝 3系统) */ - private Integer authenticationSource; - /** 调用数据 */ - private String invokeData; - /** 失败原因 */ - private String failReason; -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/factor/two/mapper/RealNameTwoVerificationMapper.xml b/src/main/java/com/newyetai/alitaforward/verification/factor/two/mapper/RealNameTwoVerificationMapper.xml deleted file mode 100644 index b6cb07e..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/factor/two/mapper/RealNameTwoVerificationMapper.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - FROM - real_name_two_verification t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - - AND t.real_name like #{realNameLike} - - - AND t.card_no = #{param.cardNo} - - - AND t.status = #{param.status} - - - AND t.authentication_source = #{param.authenticationSource} - - - AND t.invoke_data = #{param.invokeData} - - - AND t.fail_reason = #{param.failReason} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/alitaforward/verification/service/BankCardVerificationService.java b/src/main/java/com/newyetai/alitaforward/verification/service/BankCardVerificationService.java deleted file mode 100644 index d01bfc8..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/service/BankCardVerificationService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.newyetai.alitaforward.verification.service; - -import com.newyetai.alitaforward.verification.dto.BankCordVerificationResDTO; - -import java.util.List; - -public interface BankCardVerificationService { - - /** - * 白名单管理-->三、四要素查询合并为银行卡查询 - * @param cardNo - */ - List list(String cardNo,Integer status); -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/service/FourFactorVerificationProvider.java b/src/main/java/com/newyetai/alitaforward/verification/service/FourFactorVerificationProvider.java deleted file mode 100644 index 612be2e..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/service/FourFactorVerificationProvider.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.newyetai.alitaforward.verification.service; - -import com.newyetai.alitaforward.verification.constants.VerificationTypeEnum; -import com.newyetai.alitaforward.verification.dto.FourFactorVerificationDTO; -import com.newyetai.mq.consumer.handler.ITopicMqHandler; - -/** - * @author czy - * @date 2021-06-22 - */ -public interface FourFactorVerificationProvider extends ITopicMqHandler { - - default String getRoutingKey(){ - return VerificationTypeEnum.FOUR.getStatusChangeKey(); - } - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/service/PhoneThreeFactorVerificationProvider.java b/src/main/java/com/newyetai/alitaforward/verification/service/PhoneThreeFactorVerificationProvider.java deleted file mode 100644 index 69be352..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/service/PhoneThreeFactorVerificationProvider.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.newyetai.alitaforward.verification.service; - -import com.newyetai.alitaforward.verification.constants.VerificationTypeEnum; -import com.newyetai.alitaforward.verification.dto.PhoneThreeFactorVerificationDTO; -import com.newyetai.mq.consumer.handler.ITopicMqHandler; - -/** - * @author czy - * @date 2021-06-22 - */ -public interface PhoneThreeFactorVerificationProvider extends ITopicMqHandler { - - default String getRoutingKey(){ - return VerificationTypeEnum.PHONE_THREE.getStatusChangeKey(); - } - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/service/RealNameTwoFactorVerificationProvider.java b/src/main/java/com/newyetai/alitaforward/verification/service/RealNameTwoFactorVerificationProvider.java deleted file mode 100644 index 324c65a..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/service/RealNameTwoFactorVerificationProvider.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.newyetai.alitaforward.verification.service; - -import com.newyetai.alitaforward.verification.constants.VerificationTypeEnum; -import com.newyetai.alitaforward.verification.dto.RealNameTwoFactorVerificationDTO; -import com.newyetai.mq.consumer.handler.ITopicMqHandler; - -/** - * @author czy - * @date 2021-06-22 - */ -public interface RealNameTwoFactorVerificationProvider extends ITopicMqHandler { - - default String getRoutingKey(){ - return VerificationTypeEnum.TWO.getStatusChangeKey(); - } - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/service/ThreeFactorVerificationProvider.java b/src/main/java/com/newyetai/alitaforward/verification/service/ThreeFactorVerificationProvider.java deleted file mode 100644 index 5d1a76c..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/service/ThreeFactorVerificationProvider.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.newyetai.alitaforward.verification.service; - -import com.newyetai.alitaforward.verification.constants.VerificationTypeEnum; -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.mq.consumer.handler.ITopicMqHandler; - -/** - * @author czy - * @date 2021-06-22 - */ -public interface ThreeFactorVerificationProvider extends ITopicMqHandler { - - default String getRoutingKey(){ - return VerificationTypeEnum.THREE.getStatusChangeKey(); - } - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/service/impl/BankCardVerificationServiceImpl.java b/src/main/java/com/newyetai/alitaforward/verification/service/impl/BankCardVerificationServiceImpl.java deleted file mode 100644 index ddc75c7..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/service/impl/BankCardVerificationServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.newyetai.alitaforward.verification.service.impl; - -import com.newyetai.alitaforward.verification.dao.BankCardVerificationMapper; -import com.newyetai.alitaforward.verification.dto.BankCordVerificationResDTO; -import com.newyetai.alitaforward.verification.service.BankCardVerificationService; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.stream.Collectors; - -@Service -public class BankCardVerificationServiceImpl implements BankCardVerificationService { - - @Autowired - BankCardVerificationMapper bankCardVerificationMapper; - /** - * 白名单管理-->三、四要素查询合并为银行卡查询 - * @param cardNo - */ - public List list(String cardNo,Integer status){ - if(StringUtils.isBlank(cardNo)){ - throw new BusinessException("身份证号不能为空"); - } - List bankCordVerificationResDTOList = bankCardVerificationMapper.list(cardNo); - if(status != null){ - return bankCordVerificationResDTOList.stream(). - filter(f -> f.getStatus() != null && f.getStatus() == status).collect(Collectors.toList()); - } - return bankCordVerificationResDTOList; - } -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/source/FactorVerificationSourceService.java b/src/main/java/com/newyetai/alitaforward/verification/source/FactorVerificationSourceService.java deleted file mode 100644 index 489fac2..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/source/FactorVerificationSourceService.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.newyetai.alitaforward.verification.source; - -import com.newyetai.alitaforward.verification.constants.FactorVerificationSourceTypeEnum; -import com.newyetai.alitaforward.verification.dto.FourFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.PhoneThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.RealNameTwoFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.common.exception.BusinessException; - -/** - * 要素认证源 - 顶层接口 - * - * @author cheny - * @date 2022/08/11 - */ -public interface FactorVerificationSourceService { - - FactorVerificationSourceTypeEnum getSourceType(); - - default RealNameTwoFactorVerificationDTO twoVerify(RealNameTwoFactorVerificationDTO verificationDTO) { - throw new BusinessException("二要素不支持的该认证源:" + getSourceType()); - } - default ThreeFactorVerificationDTO threeVerify(ThreeFactorVerificationDTO verificationDTO){ - throw new BusinessException("银行卡三要素不支持的该认证源:" + getSourceType()); - } - default PhoneThreeFactorVerificationDTO phoneThreeVerify(PhoneThreeFactorVerificationDTO verificationDTO){ - throw new BusinessException("手机号三要素不支持的该认证源:" + getSourceType()); - } - default FourFactorVerificationDTO fourVerify(FourFactorVerificationDTO verificationDTO){ - throw new BusinessException("银行卡四要素不支持的该认证源:" + getSourceType()); - } - - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/source/ali/ALiVerifySourceServiceImpl.java b/src/main/java/com/newyetai/alitaforward/verification/source/ali/ALiVerifySourceServiceImpl.java deleted file mode 100644 index f99a7e0..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/source/ali/ALiVerifySourceServiceImpl.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.newyetai.alitaforward.verification.source.ali; - -import cn.hutool.json.JSONUtil; -import com.newyetai.alitaforward.verification.constants.FactorVerificationSourceTypeEnum; -import com.newyetai.alitaforward.verification.dto.FactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.RealNameTwoFactorVerificationDTO; -import com.newyetai.alitaforward.verification.source.FactorVerificationSourceService; -import com.newyetai.alitaforward.verification.source.ali.mapstruct.AliVerifyMapMapper; -import com.newyetai.common.AlitaResult; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.sdk.ali.dto.IdCardReq; -import com.newyetai.sdk.ali.dto.IdCardRes; -import com.newyetai.sdk.ali.service.AliVerifyService; -import com.newyetai.sdk.common.constant.SdkConstants; -import java.util.Objects; -import javax.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Service; - - -@Slf4j -@Service -@SuppressWarnings("unchecked") -public class ALiVerifySourceServiceImpl implements FactorVerificationSourceService { - - @Resource(name = AliVerifyService.BEAN_ID) - private AliVerifyService aliVerifyService; - - @Override - public RealNameTwoFactorVerificationDTO twoVerify(RealNameTwoFactorVerificationDTO verificationDTO) { - IdCardReq requestDTO = AliVerifyMapMapper.INSTANCE.toDTO(verificationDTO); - AlitaResult result = aliVerifyService.verify(requestDTO); - handlerResult(result, verificationDTO); - return verificationDTO; - } - - - - private void handlerResult(AlitaResult result, FactorVerificationDTO verificationDTO) { - verificationDTO.setInvokeData(JsonUtils.toNoEmptyJson(result)); - AuthStatusEnum targetStatus = null; - if (SdkConstants.SDK_INVOKE_NOT_REACH_CODE.equals(result.getCode())) { - // 接口调起失败,未拿到返回结果,视为未调起 - verificationDTO.setFailReason("调用异常,未调起第三方"); - } else { - if (Boolean.TRUE.equals(result.getSuccess())) { - targetStatus = AuthStatusEnum.AUTH_SUCCESS; - } else { - targetStatus = AuthStatusEnum.AUTH_FAIL; - verificationDTO.setFailReason(result.getMsg()); - } - } - if (Objects.nonNull(targetStatus)) { - verificationDTO.setStatus(targetStatus.getType()); - } - } - - - - - @Override - public FactorVerificationSourceTypeEnum getSourceType() { - return FactorVerificationSourceTypeEnum.ALI; - } -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/source/ali/mapstruct/AliVerifyMapMapper.java b/src/main/java/com/newyetai/alitaforward/verification/source/ali/mapstruct/AliVerifyMapMapper.java deleted file mode 100644 index d7331ff..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/source/ali/mapstruct/AliVerifyMapMapper.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.newyetai.alitaforward.verification.source.ali.mapstruct; - -import com.newyetai.alitaforward.verification.dto.RealNameTwoFactorVerificationDTO; -import com.newyetai.sdk.ali.dto.IdCardReq; -import com.newyetai.sdk.chuanglan.dto.RealNameTwoBaseRequestDTO; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.Mappings; -import org.mapstruct.factory.Mappers; - - -@Mapper -public interface AliVerifyMapMapper { - - AliVerifyMapMapper INSTANCE = Mappers.getMapper(AliVerifyMapMapper.class); - - @Mappings(value = { - @Mapping(target = "name", source = "dto.realName"), - @Mapping(target = "idcard", source = "dto.cardNo") - }) - IdCardReq toDTO(RealNameTwoFactorVerificationDTO dto); - - -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/source/cl/ClAuthenticateSourceServiceImpl.java b/src/main/java/com/newyetai/alitaforward/verification/source/cl/ClAuthenticateSourceServiceImpl.java deleted file mode 100644 index f81c61b..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/source/cl/ClAuthenticateSourceServiceImpl.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.newyetai.alitaforward.verification.source.cl; - -import java.util.Objects; -import java.util.Optional; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import com.newyetai.alitaforward.verification.constants.FactorVerificationSourceTypeEnum; -import com.newyetai.alitaforward.verification.dto.FactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.FourFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.PhoneThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.RealNameTwoFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.source.FactorVerificationSourceService; -import com.newyetai.alitaforward.verification.source.cl.mapstruct.ClMapMapper; -import com.newyetai.common.AlitaResult; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.sdk.chuanglan.dto.BankCardFourRequestDTO; -import com.newyetai.sdk.chuanglan.dto.BankCardThreeRequestDTO; -import com.newyetai.sdk.chuanglan.dto.ChuangLanResultDTO; -import com.newyetai.sdk.chuanglan.dto.PhoneThreeRequestDTO; -import com.newyetai.sdk.chuanglan.dto.RealNameTwoBaseRequestDTO; -import com.newyetai.sdk.chuanglan.service.ChuangLanService; -import com.newyetai.sdk.common.constant.SdkConstants; - -import cn.hutool.json.JSONUtil; -import lombok.extern.slf4j.Slf4j; - - -/** - * 创蓝认证源 - * - * @author cheny - * @date 2022/08/11 - */ -@Slf4j -@Service -@SuppressWarnings("unchecked") -public class ClAuthenticateSourceServiceImpl implements FactorVerificationSourceService { - - @Override - public RealNameTwoFactorVerificationDTO twoVerify(RealNameTwoFactorVerificationDTO verificationDTO) { - RealNameTwoBaseRequestDTO requestDTO = ClMapMapper.INSTANCE.toTwoRequestDTO(verificationDTO); - log.info("执行创蓝运营商二要素认证:{}", JSONUtil.toJsonStr(requestDTO)); - AlitaResult result = chuangLanService.checkRealNameTwoBase(requestDTO); - handlerResult(result, verificationDTO); - return verificationDTO; - } - - @Override - public PhoneThreeFactorVerificationDTO phoneThreeVerify(PhoneThreeFactorVerificationDTO verificationDTO) { - PhoneThreeRequestDTO phoneThreeRequestDTO = ClMapMapper.INSTANCE - .toPhoneThreeRequestDTO(verificationDTO); - log.info("执行创蓝运营商三要素认证:{}", JSONUtil.toJsonStr(phoneThreeRequestDTO)); - AlitaResult result = chuangLanService.checkPhoneThree(phoneThreeRequestDTO); - handlerResult(result, verificationDTO); - return verificationDTO; - } - - @Override - public ThreeFactorVerificationDTO threeVerify( - ThreeFactorVerificationDTO verificationDTO) { - BankCardThreeRequestDTO bankCardThreeRequestDTO = ClMapMapper.INSTANCE - .toThreeRequestDTO(verificationDTO); - log.info("执行创蓝三要素认证:{}", JSONUtil.toJsonStr(bankCardThreeRequestDTO)); - AlitaResult result = chuangLanService.checkBankCardThree(bankCardThreeRequestDTO); - handlerResult(result, verificationDTO); - return verificationDTO; - } - - @Override - public FourFactorVerificationDTO fourVerify( - FourFactorVerificationDTO verificationDTO) { - //调用放心签 - BankCardFourRequestDTO bankCardFourRequestDTO = ClMapMapper.INSTANCE - .toFourRequestDTO(verificationDTO); - log.info("执行创蓝四要素认证:{}", JSONUtil.toJsonStr(bankCardFourRequestDTO)); - AlitaResult result = chuangLanService.checkBankCardFour(bankCardFourRequestDTO); - handlerResult(result, verificationDTO); - - return verificationDTO; - } - - /** - * 处理结果 - * - * @param result 结果 - * @param verificationDTO 验证dto - */ - private void handlerResult(AlitaResult result, FactorVerificationDTO verificationDTO) { - verificationDTO.setInvokeData(Optional.ofNullable(result.getData()).map(ChuangLanResultDTO::getJsonData).orElse("")); - AuthStatusEnum targetStatus = null; - if (SdkConstants.SDK_INVOKE_NOT_REACH_CODE.equals(result.getCode())) { - // 接口调起失败,未拿到返回结果,视为未调起 - verificationDTO.setFailReason("调用异常,未调起第三方"); - } else { - if (Boolean.TRUE.equals(result.getSuccess()) && Boolean.TRUE.equals(result.getData().getStatus())) { - targetStatus = AuthStatusEnum.AUTH_SUCCESS; - } else { - targetStatus = AuthStatusEnum.AUTH_FAIL; - verificationDTO.setFailReason(result.getMsg()); - } - } - if (Objects.nonNull(targetStatus)) { - verificationDTO.setStatus(targetStatus.getType()); - } - } - - @Resource(name = ChuangLanService.BEAN_ID) - private ChuangLanService chuangLanService; - - - @Override - public FactorVerificationSourceTypeEnum getSourceType() { - return FactorVerificationSourceTypeEnum.CL; - } -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/source/cl/mapstruct/ClMapMapper.java b/src/main/java/com/newyetai/alitaforward/verification/source/cl/mapstruct/ClMapMapper.java deleted file mode 100644 index 377111f..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/source/cl/mapstruct/ClMapMapper.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.newyetai.alitaforward.verification.source.cl.mapstruct; - -import com.newyetai.alitaforward.verification.dto.FourFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.PhoneThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.RealNameTwoFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.sdk.chuanglan.dto.BankCardFourRequestDTO; -import com.newyetai.sdk.chuanglan.dto.BankCardThreeRequestDTO; -import com.newyetai.sdk.chuanglan.dto.PhoneThreeRequestDTO; -import com.newyetai.sdk.chuanglan.dto.RealNameTwoBaseRequestDTO; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.Mappings; -import org.mapstruct.factory.Mappers; - -/** - * @author czy - * @date 2021-06-23 - */ -@Mapper -public interface ClMapMapper { - - ClMapMapper INSTANCE = Mappers.getMapper(ClMapMapper.class); - - /** - * dto转创蓝三要素认证请求对象 - * - * @param dto 验证dto - * @return {@link RealNameTwoBaseRequestDTO} - */ - @Mappings(value = { - @Mapping(target = "name", source = "dto.realName"), - @Mapping(target = "idNum", source = "dto.cardNo") - }) - RealNameTwoBaseRequestDTO toTwoRequestDTO(RealNameTwoFactorVerificationDTO dto); - - /** - * dto转创蓝三要素认证请求对象 - * - * @param dto - * @return {@link BankCardThreeRequestDTO} - */ - @Mappings(value = { - @Mapping(target = "name", source = "dto.realName"), - @Mapping(target = "idNum", source = "dto.cardNo"), - @Mapping(target = "cardNo", source = "dto.bankAccountNo") - }) - BankCardThreeRequestDTO toThreeRequestDTO(ThreeFactorVerificationDTO dto); - - /** - * dto转创蓝三要素认证请求对象 - * - * @param dto dto - * @return {@link PhoneThreeRequestDTO} - */ - @Mappings(value = { - @Mapping(target = "name", source = "dto.realName"), - @Mapping(target = "idNum", source = "dto.cardNo"), - @Mapping(target = "mobile", source = "dto.phone") - }) - PhoneThreeRequestDTO toPhoneThreeRequestDTO(PhoneThreeFactorVerificationDTO dto); - - /** - * dto转创蓝四要素认证请求对象 - * - * @param dto - * @return {@link BankCardFourRequestDTO} - */ - @Mappings(value = { - @Mapping(target = "name", source = "dto.realName"), - @Mapping(target = "idNum", source = "dto.cardNo"), - @Mapping(target = "cardNo", source = "dto.bankAccountNo"), - @Mapping(target = "mobile", source = "dto.phone") - }) - BankCardFourRequestDTO toFourRequestDTO(FourFactorVerificationDTO dto); -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/source/fxq/FxqAuthenticateSourceServiceImpl.java b/src/main/java/com/newyetai/alitaforward/verification/source/fxq/FxqAuthenticateSourceServiceImpl.java deleted file mode 100644 index 637106c..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/source/fxq/FxqAuthenticateSourceServiceImpl.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.newyetai.alitaforward.verification.source.fxq; - -import java.util.Objects; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import com.newyetai.alitaforward.verification.constants.FactorVerificationSourceTypeEnum; -import com.newyetai.alitaforward.verification.dto.FactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.FourFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.source.FactorVerificationSourceService; -import com.newyetai.alitaforward.verification.source.fxq.mapstruct.FxqMapMapper; -import com.newyetai.common.AlitaResult; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.sdk.common.constant.SdkConstants; -import com.newyetai.sdk.fangxinqian.dto.BankCardFourRequestDTO; -import com.newyetai.sdk.fangxinqian.dto.BankCardThreeRequestDTO; -import com.newyetai.sdk.fangxinqian.service.FangXinQianService; - -import cn.hutool.json.JSONUtil; -import lombok.extern.slf4j.Slf4j; - -/** - * @author czy - * @date 2021-06-21 - */ -@Slf4j -@Service -public class FxqAuthenticateSourceServiceImpl implements FactorVerificationSourceService { - - @Override - public ThreeFactorVerificationDTO threeVerify( - ThreeFactorVerificationDTO threeFactorVerificationDTO) { - BankCardThreeRequestDTO bankCardThreeRequestDto = - FxqMapMapper.INSTANCE.toThreeRequestDTO(threeFactorVerificationDTO); - log.info("执行放心签三要素认证:{}", JSONUtil.toJsonStr(bankCardThreeRequestDto)); - AlitaResult result = fangXinQianService.checkBankCardThree(bankCardThreeRequestDto); - handlerResult(result, threeFactorVerificationDTO); - return threeFactorVerificationDTO; - } - - @Override - public FourFactorVerificationDTO fourVerify( - FourFactorVerificationDTO fourFactorVerificationDTO) { - //调用放心签 - BankCardFourRequestDTO bankCardFourRequestDTO = FxqMapMapper.INSTANCE - .toFourRequestDTO(fourFactorVerificationDTO); - log.info("执行放心签四要素认证:{}", JSONUtil.toJsonStr(bankCardFourRequestDTO)); - AlitaResult result = fangXinQianService.checkBankCardFour(bankCardFourRequestDTO); - handlerResult(result, fourFactorVerificationDTO); - - return fourFactorVerificationDTO; - } - - /** - * 处理结果 - * - * @param result 结果 - * @param verificationDTO 验证dto - */ - private void handlerResult(AlitaResult result, FactorVerificationDTO verificationDTO) { - AuthStatusEnum targetStatus = null; - if (SdkConstants.SDK_INVOKE_NOT_REACH_CODE.equals(result.getCode())) { - // 接口调起失败,未拿到返回结果,视为未调起 - verificationDTO.setFailReason("调用异常,未调起第三方"); - } else { - if (Boolean.TRUE.equals(result.getSuccess()) && Boolean.TRUE.equals(result.getData())) { - targetStatus = AuthStatusEnum.AUTH_SUCCESS; - } else { - targetStatus = AuthStatusEnum.AUTH_FAIL; - verificationDTO.setFailReason(result.getMsg()); - } - } - if (Objects.nonNull(targetStatus)) { - verificationDTO.setStatus(targetStatus.getType()); - } - } - - @Resource(name = FangXinQianService.BEAN_ID) - private FangXinQianService fangXinQianService; - - @Override - public FactorVerificationSourceTypeEnum getSourceType() { - return FactorVerificationSourceTypeEnum.FXQ; - } -} diff --git a/src/main/java/com/newyetai/alitaforward/verification/source/fxq/mapstruct/FxqMapMapper.java b/src/main/java/com/newyetai/alitaforward/verification/source/fxq/mapstruct/FxqMapMapper.java deleted file mode 100644 index 230879f..0000000 --- a/src/main/java/com/newyetai/alitaforward/verification/source/fxq/mapstruct/FxqMapMapper.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.newyetai.alitaforward.verification.source.fxq.mapstruct; - -import com.newyetai.alitaforward.verification.dto.FourFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.sdk.fangxinqian.dto.BankCardFourRequestDTO; -import com.newyetai.sdk.fangxinqian.dto.BankCardThreeRequestDTO; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.Mappings; -import org.mapstruct.factory.Mappers; - -/** - * @author czy - * @date 2021-06-23 - */ -@Mapper -public interface FxqMapMapper { - - FxqMapMapper INSTANCE = Mappers.getMapper( - FxqMapMapper.class); - - - /** - * dto转放心签三要素认证请求对象 - * - * @param dto - * @return {@link BankCardThreeRequestDTO} - */ - @Mappings(value = { - @Mapping(target = "name", source = "dto.realName"), - @Mapping(target = "identityCode", source = "dto.cardNo"), - @Mapping(target = "bankcardNumber", source = "dto.bankAccountNo") - }) - BankCardThreeRequestDTO toThreeRequestDTO(ThreeFactorVerificationDTO dto); - - /** - * dto转放心签四要素认证请求对象 - * - * @param dto - * @return {@link BankCardFourRequestDTO} - */ - @Mappings(value = { - @Mapping(target = "name", source = "dto.realName"), - @Mapping(target = "identityCode", source = "dto.cardNo"), - @Mapping(target = "bankcardNumber", source = "dto.bankAccountNo"), - @Mapping(target = "phoneNumber", source = "dto.phone") - }) - BankCardFourRequestDTO toFourRequestDTO(FourFactorVerificationDTO dto); -} diff --git a/src/main/java/com/newyetai/business/ability/enums/ProdTypeEnum.java b/src/main/java/com/newyetai/business/ability/enums/ProdTypeEnum.java deleted file mode 100644 index a18635b..0000000 --- a/src/main/java/com/newyetai/business/ability/enums/ProdTypeEnum.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.newyetai.business.ability.enums; - -/** - * 产品类型 - * - * @author sr on 2021-03-29 - */ -public enum ProdTypeEnum { - - /** - * 新业态-灵活就业 - **/ - XYT(10, "新业态产品"), - /** - * 其他 - **/ - OTHER(11, "其他"), - /** - * 短信 - **/ - SMS_COUNT(12, "短信计次"), - /** - * 三要素 - **/ - BANK_CARD_THREE_COUNT(13, "三要素计次"), - /** - * 电子合同 - **/ - ELECTRONIC_CONTRACT_COUNT(14, "合同计次"), - /** - * 发票 - **/ - INVOICE(15, "开票余额"), - /** - * 工商信息 - **/ - COMPANY_INFO(16, "工商信息"), - /** - * 积分 - **/ - POINT(17, "积分"), - /** - * 通用支付 - */ - OPEN_PAY(18, "通用支付"), - /** - * 无卡发薪 - */ - UPAY(19, "无卡发薪"), - /** - * 平台认证 - */ - PLATFORM_VERIFICATION(20, "平台认证"); - - ProdTypeEnum(Integer type, String desc) { - this.type = type; - this.desc = desc; - } - - private Integer type; - private String desc; - - public Integer getType() { - return type; - } - -} diff --git a/src/main/java/com/newyetai/common/constant/CommonConstants.java b/src/main/java/com/newyetai/common/constant/CommonConstants.java index 3f9a7c7..3040eb5 100644 --- a/src/main/java/com/newyetai/common/constant/CommonConstants.java +++ b/src/main/java/com/newyetai/common/constant/CommonConstants.java @@ -42,6 +42,7 @@ public interface CommonConstants { String PROFILE_KEY = "spring.profiles.active"; /** 项目名称 **/ String APPLICATION_NAME_KEY = "spring.application.name"; + String SYSTEM_CODE_KEY = "system.code"; /** security是否使用本地方法 **/ String USELOCAL_KEY = "security.useLocal"; diff --git a/src/main/java/com/newyetai/common/constant/CommonMqConstants.java b/src/main/java/com/newyetai/common/constant/CommonMqConstants.java index 25a99ee..7a7ca69 100644 --- a/src/main/java/com/newyetai/common/constant/CommonMqConstants.java +++ b/src/main/java/com/newyetai/common/constant/CommonMqConstants.java @@ -2,17 +2,5 @@ package com.newyetai.common.constant; public interface CommonMqConstants { - /** 用户中心系统mq前缀 **/ - String FORWARD_MQ_PREFIX = SystemCodeEnum.ALITA_FORWARD.getName() + CommonConstants.POINT; - - - /** - * 保存异常和发送叮 - */ - String SAVE_EXCEPTION_AND_SEND_DING = CommonMqConstants.FORWARD_MQ_PREFIX + "save_exception_and_send_ding"; - - - /** 操作记录 **/ - String ACTION_LOG = SystemCodeEnum.ALITA_TASK_NAME + CommonConstants.POINT + "action_log"; } diff --git a/src/main/java/com/newyetai/common/constant/SystemCodeEnum.java b/src/main/java/com/newyetai/common/constant/SystemCodeEnum.java deleted file mode 100644 index 7e0fb5d..0000000 --- a/src/main/java/com/newyetai/common/constant/SystemCodeEnum.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.newyetai.common.constant; - -import com.google.common.collect.Maps; - -import javax.validation.constraints.NotNull; -import java.util.Map; - -/** - * 系统枚举 - * - * @author sr on 2020-06-02 - */ -public enum SystemCodeEnum { - - /** - * 业务系统,纽业态灵活就业平台 - **/ - ALITA_TASK(1, SystemCodeEnum.ALITA_TASK_NAME), - /** - * 结算系统,运营中台 - **/ - ALITA_SETTLEMENT(2, SystemCodeEnum.ALITA_SETTLEMENT_NAME), - /** - * 用户中心 - **/ - ALITA_USER_CENTER(3, SystemCodeEnum.ALITA_USER_CENTER_NAME), - /** - * 支付系统 - **/ - ALITA_PAY(4, SystemCodeEnum.ALITA_PAY_NAME), - /** - * 在线培训 - **/ - ALITA_CLASS(5, SystemCodeEnum.ALITA_CLASS_NAME), - /** - * 转发器 - **/ - ALITA_FORWARD(6, SystemCodeEnum.ALITA_FORWARD_NAME), - /** - * 风控 - **/ - ALITA_RISK_CONTROL(7, SystemCodeEnum.ALITA_RISK_CONTROL_NAME), - /** - * 网关 - **/ - ALITA_GATEWAY(8, SystemCodeEnum.ALITA_GATEWAY_NAME), - /** - * 发号器 - **/ - ALITA_LEAF(9, SystemCodeEnum.ALITA_LEAF_NAME), - /** - * 基础框架 - **/ - ALITA_FRAMEWORK(10, SystemCodeEnum.ALITA_FRAMEWORK_NAME), - /** - * CMS - **/ - ALITA_CMS(11, SystemCodeEnum.ALITA_CMS_NAME), - /** - * 监管者 - **/ - ALITA_REGULATOR(12, SystemCodeEnum.ALITA_REGULATOR_NAME), - /** - * 招聘系统 - **/ - ALITA_RECRUIT(13, SystemCodeEnum.ALITA_RECRUIT_NAME), - - /** - * 招聘系统小程序 - */ - ALITA_RECRUIT_MINI_PROGRAM(14, SystemCodeEnum.ALITA_RECRUIT_MINI_PROGRAM_NAME), - - /** - * 无卡发薪系统 - */ - ALITA_UPAY_PROGRAM(15, SystemCodeEnum.ALITA_UPAY_NAME), - - /** 长三角招聘 **/ - ALITA_JOB(16, SystemCodeEnum.ALITA_JOB_NAME), - /** **/ - ALITA_BJY(17, SystemCodeEnum.ALITA_BJY_NAME), - ALITA_BJY_UYGUR(18, SystemCodeEnum.ALITA_BJY_UYGUR_NAME), - ; - - public static final String ALITA_TASK_NAME = "alita-task"; - public static final String ALITA_SETTLEMENT_NAME = "alita-settlement"; - public static final String ALITA_USER_CENTER_NAME = "alita-user-center"; - public static final String ALITA_PAY_NAME = "alita-pay"; - public static final String ALITA_CLASS_NAME = "alita-class"; - public static final String ALITA_FORWARD_NAME = "alita-forward"; - public static final String ALITA_RISK_CONTROL_NAME = "alita-risk-control"; - public static final String ALITA_GATEWAY_NAME = "alita-gateway"; - public static final String ALITA_LEAF_NAME = "alita-leaf"; - public static final String ALITA_FRAMEWORK_NAME = "alita-framework"; - public static final String ALITA_CMS_NAME = "alita-cms"; - public static final String ALITA_REGULATOR_NAME = "alita-regulator"; - public static final String ALITA_RECRUIT_NAME = "alita-recruit"; - public static final String ALITA_UPAY_NAME = "alita-upay"; - public static final String ALITA_JOB_NAME = "alita-job"; - public static final String ALITA_BJY_NAME = "alita-bjy"; - public static final String ALITA_BJY_UYGUR_NAME = "alita-bjy-uygur"; - - public static final String ALITA_RECRUIT_MINI_PROGRAM_NAME = "alita-recruit-mini-program"; - - /** - * 系统名称map - **/ - private static Map systemNameMap; - - static { - SystemCodeEnum[] systemCodeEnums = SystemCodeEnum.values(); - systemNameMap = Maps.newHashMapWithExpectedSize(systemCodeEnums.length); - for (SystemCodeEnum systemCodeEnum : systemCodeEnums) { - systemNameMap.put(systemCodeEnum.getName(), systemCodeEnum); - } - } - - /** - * 应用编号 - */ - private Integer code; - /** - * 应用名称 - */ - private String name; - - SystemCodeEnum(Integer code, String name) { - this.code = code; - this.name = name; - } - - public Integer getCode() { - return code; - } - - public String getName() { - return name; - } - - /** - * 根据应用名称获取应用编码 - * - * @param name - * @return - */ - public static Integer getCodeByName(@NotNull String name) { - SystemCodeEnum systemCodeEnum = systemNameMap.get(name); - if (systemCodeEnum == null) { - return null; - } - return systemCodeEnum.getCode(); - } - -} diff --git a/src/main/java/com/newyetai/common/controller/TestController.java b/src/main/java/com/newyetai/common/controller/TestController.java index 3dd8187..1a6d6d0 100644 --- a/src/main/java/com/newyetai/common/controller/TestController.java +++ b/src/main/java/com/newyetai/common/controller/TestController.java @@ -1,22 +1,15 @@ package com.newyetai.common.controller; -import java.util.List; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; -import com.google.common.collect.Lists; import com.newyetai.common.AlitaResult; import com.newyetai.common.util.JsonUtils; import com.newyetai.common.util.RequestUtils; -import com.newyetai.commonexport.dto.CommonExportPropertiesDTO; import com.newyetai.commonexport.service.ExportService; -import com.newyetai.component.file.entity.FileRecord; -import com.newyetai.recruit.talent.dto.TalentDTO; -import com.newyetai.recruit.talent.dto.TalentExportDTO; import com.newyetai.usercenter.user.dto.UserDTO; @RestController @@ -42,14 +35,7 @@ public class TestController { } - @GetMapping("anon/download") - public AlitaResult export() { - List talentExportDTOs = Lists.newArrayList(TalentExportDTO.builder() - .realName("张三").age(12).companyName("上海有限公司").cardNo("23223232").build()); - return AlitaResult - .success(exportService.export(CommonExportPropertiesDTO.builder() - .fileName("人才信息清单").sheetName("人才信息清单").datas(talentExportDTOs).build())); - } + } diff --git a/src/main/java/com/newyetai/common/exception/handle/GlobalControllerExceptionHandler.java b/src/main/java/com/newyetai/common/exception/handle/GlobalControllerExceptionHandler.java index dbec692..b2b4d87 100644 --- a/src/main/java/com/newyetai/common/exception/handle/GlobalControllerExceptionHandler.java +++ b/src/main/java/com/newyetai/common/exception/handle/GlobalControllerExceptionHandler.java @@ -1,5 +1,6 @@ package com.newyetai.common.exception.handle; +import com.newyetai.common.util.EnvironmentUtils; import java.util.List; import java.util.Set; import java.util.StringJoiner; @@ -27,7 +28,6 @@ import org.springframework.web.bind.annotation.RestControllerAdvice; import com.newyetai.common.AlitaResult; import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.constant.SystemCodeEnum; import com.newyetai.common.exception.BusinessException; import com.newyetai.common.exception.NoneLoginException; import com.newyetai.common.exception.WithResultException; @@ -169,7 +169,7 @@ public class GlobalControllerExceptionHandler { .msg(ExceptionUtils.getStackTrace(ex)).build(); LogUtils.log(exceptionLogDTO); msg = String.format("系统异常[%s#%s],请稍后重试.", - SystemCodeEnum.getCodeByName(applicationName), exceptionLogDTO.getErrNo() + EnvironmentUtils.getSystemCode(), exceptionLogDTO.getErrNo() ); LOGGER.error("系统异常,错误号:{}", exceptionLogDTO.getErrNo()); } diff --git a/src/main/java/com/newyetai/common/util/EnumUtil.java b/src/main/java/com/newyetai/common/util/EnumUtil.java index 3ae4493..bbe44e4 100644 --- a/src/main/java/com/newyetai/common/util/EnumUtil.java +++ b/src/main/java/com/newyetai/common/util/EnumUtil.java @@ -1,6 +1,5 @@ package com.newyetai.common.util; -import com.newyetai.common.constant.SystemCodeEnum; import com.newyetai.common.functions.SFunction; import java.lang.invoke.SerializedLambda; diff --git a/src/main/java/com/newyetai/common/util/EnvironmentUtils.java b/src/main/java/com/newyetai/common/util/EnvironmentUtils.java index 0184099..aefcf19 100644 --- a/src/main/java/com/newyetai/common/util/EnvironmentUtils.java +++ b/src/main/java/com/newyetai/common/util/EnvironmentUtils.java @@ -3,7 +3,6 @@ package com.newyetai.common.util; import org.springframework.core.env.Environment; import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.constant.SystemCodeEnum; import com.newyetai.common.exception.util.Assert; /** @@ -55,7 +54,7 @@ public class EnvironmentUtils{ */ public static Integer getSystemCode() { if (systemCode == null) { - systemCode = SystemCodeEnum.getCodeByName(getApplicationName()); + systemCode = Integer.valueOf(ENVIRONMENT.getProperty(CommonConstants.SYSTEM_CODE_KEY)); } Assert.notNull(systemCode, "系统标识不能为空"); return systemCode; diff --git a/src/main/java/com/newyetai/component/action/service/impl/ActionServiceImpl.java b/src/main/java/com/newyetai/component/action/service/impl/ActionServiceImpl.java index 4c45872..89e7d3e 100644 --- a/src/main/java/com/newyetai/component/action/service/impl/ActionServiceImpl.java +++ b/src/main/java/com/newyetai/component/action/service/impl/ActionServiceImpl.java @@ -1,5 +1,6 @@ package com.newyetai.component.action.service.impl; +import com.newyetai.component.action.util.ActionUtils; import java.util.List; import java.util.stream.Collectors; @@ -83,7 +84,7 @@ public class ActionServiceImpl implements ActionService , ITopicMqHandler create(@RequestBody @Validated(Create.class) HrCompanyAuditOperatorDTO operatorDTO) { - return AlitaResult.success(hrCompanyAuditService.create(operatorDTO)); - } - - @PutMapping("/modify") - @ApiOperation("企业审核表-修改") - public AlitaResult modify(@RequestBody @Validated(Update.class) HrCompanyAuditOperatorDTO operatorDTO) { - hrCompanyAuditService.modify(operatorDTO); - return AlitaResult.success(); - } - - @DeleteMapping("/remove/{id}") - @ApiOperation("企业审核表-删除") - public AlitaResult remove(@PathVariable("id") Long id) { - return AlitaResult.success(hrCompanyAuditService.remove(id)); - } - - @GetMapping("/{id}") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(hrCompanyAuditService.findById(id)); - } - - @GetMapping("list") - @ApiOperation("企业审核表-列表查询") - public AlitaResult> list(HrCompanyAuditPageQueryDTO queryDTO) { - return AlitaResult.success(hrCompanyAuditService.list(queryDTO)); - } - - @GetMapping("page") - @ApiOperation("企业审核表-分页查询") - public AlitaResult> page(HrCompanyAuditPageQueryDTO queryDTO) { - hrCompanyAuditService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @PostMapping("/audit") - @ApiOperation("企业审核表-审核") - public AlitaResult audit(@RequestBody @Validated HrCompanyAuditReqDTO reqDTO) { - hrCompanyAuditService.audit(reqDTO); - return AlitaResult.success(); - } - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/controller/HrCompanyController.java b/src/main/java/com/newyetai/recruit/company/controller/HrCompanyController.java deleted file mode 100644 index a9c0504..0000000 --- a/src/main/java/com/newyetai/recruit/company/controller/HrCompanyController.java +++ /dev/null @@ -1,124 +0,0 @@ -package com.newyetai.recruit.company.controller; - - -import com.newyetai.common.AlitaResult; -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.common.validation.Create; -import com.newyetai.common.validation.Update; -import com.newyetai.recruit.company.dto.HrCompanyDTO; -import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO; -import com.newyetai.recruit.company.entity.HrCompany; -import com.newyetai.recruit.company.service.IHrCompanyService; -import com.newyetai.tkmybatis.pojo.Page; - -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - *

- * 招聘系统-企业管理 前端控制器 - *

- * - * @author chenyun - * @since 2021-01-08 - */ -@Api(tags = "企业管理信息") -@RestController -@RequestMapping("/company") -@RequiredArgsConstructor(onConstructor = @__(@Autowired)) -public class HrCompanyController { - - private final IHrCompanyService companyService; - - /** - * 创建 - */ - @PostMapping("/create") - @ApiOperation("创建企业信息") - public AlitaResult create(@Validated(Create.class) @RequestBody HrCompanyDTO hrCompanyDTO) { - companyService.create(hrCompanyDTO); - return AlitaResult.success(); - } - - /** - * 修改 - */ - @PutMapping("/update") - @ApiOperation("修改企业信息") - public AlitaResult update( - @Validated(Update.class) @RequestBody HrCompanyDTO hrCompanyDTO) { - return AlitaResult.success(companyService.update(hrCompanyDTO)); - } - - /** - * 详情 - */ - @GetMapping("/detail") - @ApiOperation("企业信息详情") - public AlitaResult detail(HrCompanyDTO hrCompanyDTO) { - return AlitaResult.success(companyService.detail(hrCompanyDTO)); - } - - /** - * 分页查询 - */ - @GetMapping("/page") - @ApiOperation("分页查询") - public AlitaResult> page(@Validated HrCompanyPageQueryDTO queryDTO) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - Assert.isTrue(!(UserTypeEnum.PERSON.getType().equals(UserContextHolder.getExistUserType())),"用户类型不匹配"); - } - queryDTO.check(); - companyService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - /** - * 不分页查询 - */ - @GetMapping("/list") - @ApiOperation("不分页查询") - public AlitaResult> list(@Validated HrCompanyPageQueryDTO queryDTO) { - queryDTO.check(); - return AlitaResult.success(companyService.list(queryDTO)); - } - - @GetMapping("/export") - @ApiOperation("导出") - public void export(@Validated HrCompanyPageQueryDTO queryDTO) { - queryDTO.check(); - companyService.export(queryDTO); - } - - @GetMapping("/{id}") - @ApiOperation("查询单个") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(companyService.findById(id)); - } - - /** - * 分页查询-审核表的数据 - */ - @GetMapping("/audit_page") - @ApiOperation("分页查询") - public AlitaResult> auditPage(@Validated HrCompanyPageQueryDTO queryDTO) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - Assert.isTrue(!(UserTypeEnum.PERSON.getType().equals(UserContextHolder.getExistUserType())),"用户类型不匹配"); - } - - queryDTO.check(); - companyService.auditPage(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } -} - diff --git a/src/main/java/com/newyetai/recruit/company/controller/HrCompanyFileController.java b/src/main/java/com/newyetai/recruit/company/controller/HrCompanyFileController.java deleted file mode 100644 index 3f50342..0000000 --- a/src/main/java/com/newyetai/recruit/company/controller/HrCompanyFileController.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.newyetai.recruit.company.controller; - -import com.newyetai.common.exception.util.Assert; -import com.newyetai.recruit.company.entity.HrCompanyFile; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import com.newyetai.common.AlitaResult; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.company.dto.*; -import com.newyetai.recruit.company.service.HrCompanyFileService; -import org.springframework.web.bind.annotation.*; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.Objects; - -/** - * 企业文件表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@Api(tags = "企业文件表") -@RestController -@RequestMapping("/hr/company_file") -public class HrCompanyFileController { - - @Autowired - private HrCompanyFileService hrCompanyFileService; - - - @GetMapping("/page") - @ApiOperation("分页查询企业文件") - public AlitaResult> filePage(HrCompanyFilePageQueryDTO queryDTO) { - hrCompanyFileService.filePage(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @PostMapping("/create") - @ApiOperation("创建企业文件信息") - public AlitaResult create(@RequestBody HrCompanyFileDTO queryDTO) { - return AlitaResult.success(hrCompanyFileService.create(queryDTO)); - } - - @PostMapping("/update") - @ApiOperation("修改企业文件信息") - public AlitaResult update(@RequestBody HrCompanyFileDTO queryDTO) { - hrCompanyFileService.update(queryDTO); - return AlitaResult.success(); - } - - @DeleteMapping("/delete/{id}") - @ApiOperation("根据文件Id删除企业文件信息") - public AlitaResult delete(@PathVariable("id") Long id) { - hrCompanyFileService.delete(id); - return AlitaResult.success(); - } - - @PutMapping("/setDefault/{id}") - @ApiOperation("设置为默认") - public AlitaResult setDefault(@PathVariable("id") Long id) { - hrCompanyFileService.setDefault(id); - return AlitaResult.success(); - } - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/controller/UserCompanyController.java b/src/main/java/com/newyetai/recruit/company/controller/UserCompanyController.java deleted file mode 100644 index e155ee7..0000000 --- a/src/main/java/com/newyetai/recruit/company/controller/UserCompanyController.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.newyetai.recruit.company.controller; - -import cn.hutool.json.JSON; -import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.common.AlitaResult; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.recruit.company.dao.HrCompanyMapper; -import com.newyetai.recruit.company.dto.HrCompanyDTO; -import com.newyetai.recruit.company.dto.HrCompanyFileDTO; -import com.newyetai.recruit.company.dto.HrCompanyFilePageQueryDTO; -import com.newyetai.recruit.company.entity.HrCompany; -import com.newyetai.recruit.company.mapstruct.HrCompanyMapMapper; -import com.newyetai.recruit.company.service.HrCompanyFileService; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; -import java.util.Optional; - -@RestController -public class UserCompanyController { - - @Autowired - private HrCompanyMapper hrCompanyMapper; - - @Autowired - private HrCompanyFileService hrCompanyFileService; - - @GetMapping("/anon/user/company/find/{id}") - @ApiOperation("用户端查询企业信息") - public AlitaResult findById(@PathVariable("id") Long id) { - - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(HrCompany::getId, id) - .eq(HrCompany::getDeleted, false); - HrCompany hrCompany = Optional.ofNullable(hrCompanyMapper.selectOne(queryWrapper)).orElse(new HrCompany()); - HrCompanyDTO hrCompanyDTO = HrCompanyMapMapper.INSTANCE.exchange(hrCompany); - hrCompanyDTO.setOrgId(null); - List companyFileDTOS = hrCompanyFileService.filePage(HrCompanyFilePageQueryDTO.builder().companyId(id).build()); - hrCompanyDTO.setFileJson(JSONUtil.toJsonStr(companyFileDTOS)); - return AlitaResult.success(hrCompanyDTO); - } -} diff --git a/src/main/java/com/newyetai/recruit/company/dao/HrCompanyAuditMapper.java b/src/main/java/com/newyetai/recruit/company/dao/HrCompanyAuditMapper.java deleted file mode 100644 index 6c6b1e6..0000000 --- a/src/main/java/com/newyetai/recruit/company/dao/HrCompanyAuditMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.newyetai.recruit.company.dao; - -import com.newyetai.recruit.company.dto.*; -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.company.entity.HrCompanyAudit; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 企业审核表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@Mapper -public interface HrCompanyAuditMapper extends MyMapper { - - List page(@Param("param") HrCompanyAuditPageQueryDTO queryDTO); - - /** - * 获取企业最大的审核记录id - */ - Long maxIdByCompanyId(@Param("companyId") Long companyId); - - int modifyById(@Param("param") HrCompanyAudit hrCompanyAudit); - - int audit(@Param("param") HrCompanyAuditReqDTO reqDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/dao/HrCompanyFileMapper.java b/src/main/java/com/newyetai/recruit/company/dao/HrCompanyFileMapper.java deleted file mode 100644 index 5e9b89b..0000000 --- a/src/main/java/com/newyetai/recruit/company/dao/HrCompanyFileMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.company.dao; - -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.company.entity.HrCompanyFile; -import com.newyetai.recruit.company.dto.HrCompanyFileDTO; -import com.newyetai.recruit.company.dto.HrCompanyFilePageQueryDTO; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 企业文件表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@Mapper -public interface HrCompanyFileMapper extends MyMapper { - - List page(@Param("param") HrCompanyFilePageQueryDTO queryDTO); - - List filePage(HrCompanyFilePageQueryDTO queryDTO); - - void setDefault(@Param("companyId") Long companyId, @Param("id") Long id); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/dao/HrCompanyMapper.java b/src/main/java/com/newyetai/recruit/company/dao/HrCompanyMapper.java deleted file mode 100644 index 5c43349..0000000 --- a/src/main/java/com/newyetai/recruit/company/dao/HrCompanyMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.company.dao; - - -import com.newyetai.recruit.company.dto.HrCompanyDTO; -import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO; -import com.newyetai.recruit.company.entity.HrCompany; -import com.newyetai.tkmybatis.mybatis.MyMapper; - -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - *

- * 招聘系统-企业信息表 Mapper 接口 - *

- * - * @author chenyun - * @since 2021-01-08 - */ -@Mapper -public interface HrCompanyMapper extends MyMapper { - List page(HrCompanyPageQueryDTO hrCompanyPageQueryDTO); - List auditPage(HrCompanyPageQueryDTO hrCompanyPageQueryDTO); - -} diff --git a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditDTO.java b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditDTO.java deleted file mode 100644 index d4d93df..0000000 --- a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditDTO.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.newyetai.recruit.company.dto; - -import com.newyetai.common.dto.BaseDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -/** - * 企业审核表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@ApiModel("企业审核表") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class HrCompanyAuditDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("企业ID") - private Long companyId; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("统一社会信用代码") - private String creditCode; - - @ApiModelProperty("企业LOGO;FileRecord") - private String companyLogo; - - @ApiModelProperty("公司名称") - private String companyName; - - @ApiModelProperty("联系人") - private String contactPerson; - - @ApiModelProperty("联系方式") - private String contactWay; - - @ApiModelProperty("公司简介") - private String companyProfile; - - @ApiModelProperty("公司描述") - private String companyDescription; - - @ApiModelProperty("行业 数据字典)") - private String companyIndustry; - - @ApiModelProperty("规模 ;数据字典)") - private String companySize; - - @ApiModelProperty("公司注册地址") - private String companyRegisterAddress; - - @ApiModelProperty("省份 ;数据字典)") - private Integer province; - - @ApiModelProperty("市 ;数据字典)") - private Integer city; - - @ApiModelProperty("区 ;数据字典)") - private Integer district; - - @ApiModelProperty("审核状态 1:待审核 2.审核成功 3.审核失败") - private String auditStatus; - - @ApiModelProperty("审核失败原因") - private String auditFailMsg; - - @ApiModelProperty("文件json") - private String fileJson; - - @ApiModelProperty("版本号") - private Integer version; - - @ApiModelProperty("类型(数据字典 1.客户 2.供应商)") - private String companyType; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditOperatorDTO.java b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditOperatorDTO.java deleted file mode 100644 index 660c974..0000000 --- a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditOperatorDTO.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.newyetai.recruit.company.dto; - -import com.newyetai.common.dto.BaseOperateDTO; -import com.newyetai.common.validation.Create; -import com.newyetai.common.validation.Update; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - - -/** - * 企业审核表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@ApiModel("企业审核表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class HrCompanyAuditOperatorDTO extends BaseOperateDTO { - private static final long serialVersionUID = 1L; - - @NotNull(message = "id不能为空", groups = {Update.class}) - private Long id; - - private Long orgId; - - @ApiModelProperty("统一社会信用代码") - private String creditCode; - - @ApiModelProperty("企业LOGO;FileRecord") - private String companyLogo; - - @NotBlank(message = "请输入客户名称", groups = {Create.class, Update.class}) - @ApiModelProperty("公司名称") - private String companyName; - - @NotBlank(message = "请输入联系人", groups = {Create.class, Update.class}) - @ApiModelProperty("联系人") - private String contactPerson; - - @NotBlank(message = "请输入联系电话", groups = {Create.class, Update.class}) - @ApiModelProperty("联系方式") - private String contactWay; - - @ApiModelProperty("公司简介") - private String companyProfile; - - @ApiModelProperty("公司描述") - private String companyDescription; - - @NotBlank(message = "请选择行业", groups = {Create.class, Update.class}) - @ApiModelProperty("行业 数据字典)") - private String companyIndustry; - - @NotBlank(message = "请选择规模", groups = {Create.class, Update.class}) - @ApiModelProperty("规模 ;数据字典)") - private String companySize; - - @NotBlank(message = "请输入企业地址", groups = {Create.class, Update.class}) - @ApiModelProperty("公司注册地址") - private String companyRegisterAddress; - - @ApiModelProperty("省份 ;数据字典)") - private Integer province; - - @ApiModelProperty("市 ;数据字典)") - private Integer city; - - @ApiModelProperty("区 ;数据字典)") - private Integer district; - - @ApiModelProperty("文件json") - private String fileJson; - - - @NotBlank(message = "请输入类型", groups = {Create.class}) - @ApiModelProperty("类型(数据字典 1.客户 2.供应商)") - private String companyType; - - @NotNull(message = "企业id不能为空",groups = {Update.class}) - private Long companyId; - - /** - * 版本号 - */ - - @NotNull(message = "版本号不能为空",groups = {Update.class}) - private Integer version; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditPageQueryDTO.java b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditPageQueryDTO.java deleted file mode 100644 index 9d0a1c3..0000000 --- a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditPageQueryDTO.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.newyetai.recruit.company.dto; - -import com.newyetai.common.dto.PageQueryDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import java.util.Date; -import java.util.Set; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - - -/** - * 企业审核表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ - -@ApiModel("企业审核表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class HrCompanyAuditPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("企业ID") - private Long companyId; - - @ApiModelProperty("机构ID") - private Long orgId; - - private Set orgIds; - - @ApiModelProperty("统一社会信用代码") - private String creditCode; - - @ApiModelProperty("企业LOGO;FileRecord") - private String companyLogo; - - @ApiModelProperty("公司名称 (模糊匹配)") - private String companyNameLike; - - @ApiModelProperty("联系人") - private String contactPerson; - - @ApiModelProperty("联系方式") - private String contactWay; - - @ApiModelProperty("公司简介") - private String companyProfile; - - @ApiModelProperty("公司描述") - private String companyDescription; - - @ApiModelProperty("行业 数据字典)") - private String companyIndustry; - - @ApiModelProperty("规模 ;数据字典)") - private String companySize; - - @ApiModelProperty("公司注册地址") - private String companyRegisterAddress; - - @ApiModelProperty("省份 ;数据字典)") - private Integer province; - - @ApiModelProperty("市 ;数据字典)") - private Integer city; - - @ApiModelProperty("区 ;数据字典)") - private Integer district; - - @ApiModelProperty("审核状态 1:待审核 2.审核成功 3.审核失败") - private String auditStatus; - - @ApiModelProperty("审核失败原因") - private String auditFailMsg; - - @ApiModelProperty("文件json") - private String fileJson; - - @ApiModelProperty("版本号") - private Integer version; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - @ApiModelProperty("类型(数据字典 1.客户 2.供应商)") - private String companyType; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditQueryDTO.java b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditQueryDTO.java deleted file mode 100644 index c6658b6..0000000 --- a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditQueryDTO.java +++ /dev/null @@ -1,114 +0,0 @@ -package com.newyetai.recruit.company.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.Date; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - - -/** - * 企业审核表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@ApiModel("企业审核表") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class HrCompanyAuditQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("企业ID") - private Long companyId; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("统一社会信用代码") - private String creditCode; - - @ApiModelProperty("企业LOGO;FileRecord") - private String companyLogo; - - @ApiModelProperty("公司名称 (模糊匹配)") - private String companyNameLike; - - @ApiModelProperty("联系人") - private String contactPerson; - - @ApiModelProperty("联系方式") - private String contactWay; - - @ApiModelProperty("公司简介") - private String companyProfile; - - @ApiModelProperty("公司描述") - private String companyDescription; - - @ApiModelProperty("行业 数据字典)") - private String companyIndustry; - - @ApiModelProperty("规模 ;数据字典)") - private String companySize; - - @ApiModelProperty("公司注册地址") - private String companyRegisterAddress; - - @ApiModelProperty("省份 ;数据字典)") - private Integer province; - - @ApiModelProperty("市 ;数据字典)") - private Integer city; - - @ApiModelProperty("区 ;数据字典)") - private Integer district; - - @ApiModelProperty("审核状态 1:待审核 2.审核成功 3.审核失败") - private String auditStatus; - - @ApiModelProperty("审核失败原因") - private String auditFailMsg; - - @ApiModelProperty("文件json") - private String fileJson; - - @ApiModelProperty("版本号") - private Integer version; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - @ApiModelProperty("类型(数据字典 1.客户 2.供应商)") - private String companyType; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditReqDTO.java b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditReqDTO.java deleted file mode 100644 index 14c8eaa..0000000 --- a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditReqDTO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.newyetai.recruit.company.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import java.io.Serializable; - -/** - * @description: - * @author: guixinman - * @create: 2024-07-05 15:39 - **/ -@Data -public class HrCompanyAuditReqDTO implements Serializable { - - @NotNull(message = "id不能为空") - private Long id; - - @NotBlank(message = "请选择审核状态") - @ApiModelProperty("审核状态 1:待审核 2.审核成功 3.审核失败") - private String auditStatus; - - @ApiModelProperty("审核失败原因") - private String auditFailMsg; - - @NotNull(message = "版本号不能为空") - private Integer version; - - private Long updateBy; - -} diff --git a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyDTO.java b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyDTO.java deleted file mode 100644 index 0d032fd..0000000 --- a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyDTO.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.newyetai.recruit.company.dto; - -import com.newyetai.common.dto.BaseDTO; -import com.newyetai.common.validation.Create; -import com.newyetai.common.validation.Update; - -import org.hibernate.validator.constraints.Length; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import javax.validation.constraints.NotNull; - -/** - * 人力资源公司dto - * - * @author Carlye - * @date 2021/01/08 - */ -@EqualsAndHashCode(callSuper = true) -@ApiModel("招聘系统客户信息DTO") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -public class HrCompanyDTO extends BaseDTO { - - private static final long serialVersionUID = -2216352275325005059L; - - private Long companyAuditId; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("统一社会信用代码") - private String creditCode; - - @ApiModelProperty("企业LOGO FileRecord") - private String companyLogo; - - @ApiModelProperty("名称") - @NotNull(message = "名称不能为空", groups = {Create.class, Update.class}) - @Length(max = 32,message = "名称超长", groups = {Create.class, Update.class}) - private String companyName; - - @ApiModelProperty("联系人") - @Length(max = 20,message = "联系人长度超长", groups = {Create.class, Update.class}) - private String contactPerson; - - @Length(max = 50,message = "联系方式长度超长", groups = {Create.class, Update.class}) - @ApiModelProperty("联系方式") - private String contactWay; - - @Length(max = 100,message = "企业简介长度超长", groups = {Create.class, Update.class}) - @ApiModelProperty("公司简介") - private String companyProfile; - - @ApiModelProperty("公司描述") - private String companyDescription; - - @ApiModelProperty("行业 (数据字典)") - private String companyIndustry; - - @ApiModelProperty("规模 (数据字典)") - private String companySize; - - @ApiModelProperty("公司注册地址") - @Length(max = 32,message = "企业地址长度超长", groups = {Create.class, Update.class}) - private String companyRegisterAddress; - - @ApiModelProperty("省份 (数据字典)") - private Integer province; - - @ApiModelProperty("市 (数据字典)") - private Integer city; - - @ApiModelProperty("区 (数据字典)") - private Integer district; - - /** - * 类型(数据字典 1.客户 2.供应商) - */ - @NotNull(message = "类型不能为空", groups = {Create.class, Update.class}) - private String companyType; - - /** - * CompanyAuditStatusEnum - */ - private String auditStatus; - - private String auditFailMsg; - - private String fileJson; - - private String version; - - - /** - * 状态 :1开启 2关闭 - */ - private String status; -} diff --git a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyExportDTO.java b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyExportDTO.java deleted file mode 100644 index a77b1dc..0000000 --- a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyExportDTO.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.newyetai.recruit.company.dto; - -import com.alibaba.excel.annotation.ExcelProperty; - -import java.io.Serializable; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @description: - * @author: guixinman - * @create: 2024-04-11 15:03 - **/ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class HrCompanyExportDTO implements Serializable { - - @ExcelProperty("名称") - @ApiModelProperty("名称") - private String companyName; - - @ExcelProperty("行业") - @ApiModelProperty("行业 (数据字典)") - private String companyIndustry; - - @ExcelProperty("规模") - @ApiModelProperty("规模 (数据字典)") - private String companySize; - - @ExcelProperty("联系人") - @ApiModelProperty("联系人") - private String contactPerson; - - @ExcelProperty("联系方式") - @ApiModelProperty("联系方式") - private String contactWay; - - @ExcelProperty("公司简介") - @ApiModelProperty("公司简介") - private String companyProfile; - - @ExcelProperty("公司描述") - @ApiModelProperty("公司描述") - private String companyDescription; - - @ExcelProperty("创建时间") - private String createTime; -} diff --git a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFileDTO.java b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFileDTO.java deleted file mode 100644 index 994443a..0000000 --- a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFileDTO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.newyetai.recruit.company.dto; - -import com.newyetai.common.dto.BaseDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -/** - * 企业文件表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@ApiModel("企业文件表") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class HrCompanyFileDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("企业id") - private Long companyId; - - @ApiModelProperty("文件编码") - private String fileCode; - - @ApiModelProperty("附件名称") - private String fileName; - - @ApiModelProperty("分类(1-图片 2-视频 3-其它)") - private String fileType; - - @ApiModelProperty("文件后缀;文件后缀") - private String fileSuffix; - - @ApiModelProperty("默认展示") - private Boolean defaultShow; - - @ApiModelProperty("排序") - private Long sort; - - @ApiModelProperty("文件描述(前台照片,公司介绍视频等)") - private String description; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFileOperatorDTO.java b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFileOperatorDTO.java deleted file mode 100644 index dfa35d5..0000000 --- a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFileOperatorDTO.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.newyetai.recruit.company.dto; - -import com.newyetai.common.dto.BaseOperateDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - - -/** - * 企业文件表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@ApiModel("企业文件表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class HrCompanyFileOperatorDTO extends BaseOperateDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("企业id") - private Long companyId; - - @ApiModelProperty("文件编码") - private String fileCode; - - @ApiModelProperty("附件名称") - private String fileName; - - @ApiModelProperty("分类(1-图片 2-视频 3-其它)") - private String fileType; - - @ApiModelProperty("文件后缀;文件后缀") - private String fileSuffix; - - @ApiModelProperty("默认展示") - private Boolean defaultShow; - - @ApiModelProperty("排序") - private Long sort; - - @ApiModelProperty("文件描述(前台照片,公司介绍视频等)") - private String description; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFilePageQueryDTO.java b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFilePageQueryDTO.java deleted file mode 100644 index b3074df..0000000 --- a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFilePageQueryDTO.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.newyetai.recruit.company.dto; - -import com.newyetai.common.dto.PageQueryDTO; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import java.util.Date; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - - -/** - * 企业文件表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ - -@ApiModel("企业文件表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class HrCompanyFilePageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("ID") - private Long id; - - @ApiModelProperty("企业id") - private Long companyId; - - @ApiModelProperty("文件编码") - private String fileCode; - - @ApiModelProperty("附件名称 (模糊匹配)") - private String fileNameLike; - - @ApiModelProperty("分类(1-图片 2-视频 3-其它)") - private String fileType; - - @ApiModelProperty("文件后缀;文件后缀") - private String fileSuffix; - - @ApiModelProperty("默认展示") - private Boolean defaultShow; - - @ApiModelProperty("排序") - private Long sort; - - @ApiModelProperty("文件描述(前台照片,公司介绍视频等)") - private String description; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFileQueryDTO.java b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFileQueryDTO.java deleted file mode 100644 index ba92d09..0000000 --- a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFileQueryDTO.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.newyetai.recruit.company.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.Date; - -import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; - - -/** - * 企业文件表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@ApiModel("企业文件表") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class HrCompanyFileQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("ID") - private Long id; - - @ApiModelProperty("企业id") - private Long companyId; - - @ApiModelProperty("文件编码") - private String fileCode; - - @ApiModelProperty("附件名称 (模糊匹配)") - private String fileNameLike; - - @ApiModelProperty("分类(1-图片 2-视频 3-其它)") - private String fileType; - - @ApiModelProperty("文件后缀;文件后缀") - private String fileSuffix; - - @ApiModelProperty("默认展示") - private Boolean defaultShow; - - @ApiModelProperty("排序") - private Long sort; - - @ApiModelProperty("文件描述(前台照片,公司介绍视频等)") - private String description; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyPageQueryDTO.java b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyPageQueryDTO.java deleted file mode 100644 index d3417ae..0000000 --- a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyPageQueryDTO.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.newyetai.recruit.company.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.dto.PageQueryDTO; -import com.newyetai.common.exception.BusinessException; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.format.annotation.DateTimeFormat; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import java.util.Date; -import java.util.List; - -import javax.validation.constraints.NotNull; - -/** - * 人力资源公司dto - * - * @author Carlye - * @date 2021/01/08 - */ -@EqualsAndHashCode(callSuper = true) -@ApiModel("招聘系统客户信息DTO") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class HrCompanyPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = -2216352275325005059L; - - private Long id; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("统一社会信用代码") - private String creditCode; - - - @ApiModelProperty("企业LOGO FileRecord") - private String companyLogo; - - - @ApiModelProperty("公司名称") - private String companyName; - - @ApiModelProperty("联系人") - private String contactPerson; - - @ApiModelProperty("联系方式") - private String contactWay; - - - @ApiModelProperty("公司简介") - private String companyProfile; - - - @ApiModelProperty("公司描述") - private String companyDescription; - - - @ApiModelProperty("行业 (数据字典)") - private String companyIndustry; - - - @ApiModelProperty("规模 (数据字典)") - private String companySize; - - - @ApiModelProperty("公司注册地址") - private String companyRegisterAddress; - - - @ApiModelProperty("省份 (数据字典)") - private Integer province; - - - @ApiModelProperty("市 (数据字典)") - private Integer city; - - - @ApiModelProperty("区 (数据字典)") - private Integer district; - - /** - * 类型(数据字典 1.客户 2.供应商) - */ - private String companyType; - - - private List companyTypes; - - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - private String status; - - public void check(){ - if (StringUtils.isBlank(companyType) && CollectionUtils.isEmpty(companyTypes)) { - throw new BusinessException("请选择类型"); - } - } -} diff --git a/src/main/java/com/newyetai/recruit/company/entity/HrCompany.java b/src/main/java/com/newyetai/recruit/company/entity/HrCompany.java deleted file mode 100644 index dabbb96..0000000 --- a/src/main/java/com/newyetai/recruit/company/entity/HrCompany.java +++ /dev/null @@ -1,107 +0,0 @@ -package com.newyetai.recruit.company.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.newyetai.common.entity.BaseEntity; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - - - -/** - *

- * 招聘系统-企业信息表 - *

- * - * @author chenyun - * @since 2021-01-08 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@TableName(value = "hr_company") -@Builder -public class HrCompany extends BaseEntity { - - private static final long serialVersionUID = -7847448702358215622L; - /** - * 机构ID - */ - private Long orgId; - - /** - * 统一社会信用代码 - */ - private String creditCode; - - /** - * 企业LOGO FileRecord - */ - private String companyLogo; - - /** - * 公司名称 - */ - private String companyName; - - /** - * 联系人(负责人) - */ - private String contactPerson; - - /** - * 联系方式 - */ - private String contactWay; - - /** - * 公司简介 - */ - private String companyProfile; - - /** - * 公司描述 - */ - private String companyDescription; - - /** - * 行业 (数据字典) - */ - private String companyIndustry; - - /** - * 规模 (数据字典) - */ - private String companySize; - - /** - * 公司注册地址 - */ - private String companyRegisterAddress; - - /** - * 省份 (数据字典) - */ - private Integer province; - - /** - * 市 (数据字典) - */ - private Integer city; - - /** - * 区 (数据字典) - */ - private Integer district; - - /** - * 类型(数据字典 1.客户 2.供应商) - */ - private String companyType; - - /** - * 状态 :1开启 2关闭 - */ - private String status; -} diff --git a/src/main/java/com/newyetai/recruit/company/entity/HrCompanyAudit.java b/src/main/java/com/newyetai/recruit/company/entity/HrCompanyAudit.java deleted file mode 100644 index 41054d8..0000000 --- a/src/main/java/com/newyetai/recruit/company/entity/HrCompanyAudit.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.newyetai.recruit.company.entity; - - -import lombok.*; -import com.baomidou.mybatisplus.annotation.*; -import com.newyetai.common.entity.BaseEntity; -import lombok.experimental.SuperBuilder; - -/** - * 企业审核表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@TableName(value = "hr_company_audit") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class HrCompanyAudit extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 企业ID - */ - private Long companyId; - /** - * 机构ID - */ - private Long orgId; - /** - * 统一社会信用代码 - */ - private String creditCode; - /** - * 企业LOGO;FileRecord - */ - private String companyLogo; - /** - * 公司名称 - */ - private String companyName; - /** - * 联系人 - */ - private String contactPerson; - /** - * 联系方式 - */ - private String contactWay; - /** - * 公司简介 - */ - private String companyProfile; - /** - * 公司描述 - */ - private String companyDescription; - /** - * 行业 数据字典) - */ - private String companyIndustry; - /** - * 规模 ;数据字典) - */ - private String companySize; - /** - * 公司注册地址 - */ - private String companyRegisterAddress; - /** - * 省份 ;数据字典) - */ - private Integer province; - /** - * 市 ;数据字典) - */ - private Integer city; - /** - * 区 ;数据字典) - */ - private Integer district; - /** - * 审核状态 1:待审核 2.审核成功 3.审核失败 - */ - private String auditStatus; - /** - * 审核失败原因 - */ - private String auditFailMsg; - /** - * 文件json - */ - private String fileJson; - /** - * 版本号 - */ - private Integer version; - /** - * 类型(数据字典 1.客户 2.供应商) - */ - private String companyType; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/entity/HrCompanyFile.java b/src/main/java/com/newyetai/recruit/company/entity/HrCompanyFile.java deleted file mode 100644 index 53e6397..0000000 --- a/src/main/java/com/newyetai/recruit/company/entity/HrCompanyFile.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.newyetai.recruit.company.entity; - - -import lombok.*; -import com.baomidou.mybatisplus.annotation.*; -import com.newyetai.common.entity.BaseEntity; -import lombok.experimental.SuperBuilder; - -/** - * 企业文件表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@TableName(value = "hr_company_file") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class HrCompanyFile extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 企业id - */ - private Long companyId; - /** - * 文件编码 - */ - private String fileCode; - /** - * 附件名称 - */ - private String fileName; - /** - * 分类(1-图片 2-视频 3-其它) - */ - private String fileType; - /** - * 文件后缀;文件后缀 - */ - private String fileSuffix; - /** - * 默认展示 - */ - private Boolean defaultShow; - /** - * 排序 - */ - private Long sort; - /** - * 文件描述(前台照片,公司介绍视频等) - */ - private String description; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/enums/HrCompanyAuditStatusEnum.java b/src/main/java/com/newyetai/recruit/company/enums/HrCompanyAuditStatusEnum.java deleted file mode 100644 index 4704a90..0000000 --- a/src/main/java/com/newyetai/recruit/company/enums/HrCompanyAuditStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.newyetai.recruit.company.enums; - -public enum HrCompanyAuditStatusEnum { - - INIT("1", "待审核"), - SUCCESS("2", "审核成功"), - FAIL("3", "审核失败"); - - private String status; - /** - * 类型描述 - */ - private String desc; - - - HrCompanyAuditStatusEnum(String status, String desc) { - this.status = status; - this.desc = desc; - } - - public String getStatus() { - return status; - } - - public String getDesc() { - return desc; - } -} diff --git a/src/main/java/com/newyetai/recruit/company/enums/HrCompanyEnum.java b/src/main/java/com/newyetai/recruit/company/enums/HrCompanyEnum.java deleted file mode 100644 index c8760ba..0000000 --- a/src/main/java/com/newyetai/recruit/company/enums/HrCompanyEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.newyetai.recruit.company.enums; - -public enum HrCompanyEnum { - KH("1","客户"), - GYS("2","供应商"), - SELF("3", "机构本身"), - ; - - private String type; - /** - * 类型描述 - */ - private String desc; - - - HrCompanyEnum(String type, String desc) { - this.type = type; - this.desc = desc; - } - - public String getType() { - return type; - } - - public String getDesc() { - return desc; - } -} diff --git a/src/main/java/com/newyetai/recruit/company/enums/HrCompanyStatusEnum.java b/src/main/java/com/newyetai/recruit/company/enums/HrCompanyStatusEnum.java deleted file mode 100644 index ac3c558..0000000 --- a/src/main/java/com/newyetai/recruit/company/enums/HrCompanyStatusEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.newyetai.recruit.company.enums; - -public enum HrCompanyStatusEnum { - OPEN("1", "开启"), - CLOSE("2", "关闭") - ; - - private String status; - /** - * 类型描述 - */ - private String desc; - - - HrCompanyStatusEnum(String status, String desc) { - this.status = status; - this.desc = desc; - } - - public String getStatus() { - return status; - } - - public String getDesc() { - return desc; - } -} diff --git a/src/main/java/com/newyetai/recruit/company/mapper/HrCompanyAuditMapper.xml b/src/main/java/com/newyetai/recruit/company/mapper/HrCompanyAuditMapper.xml deleted file mode 100644 index 63b63c1..0000000 --- a/src/main/java/com/newyetai/recruit/company/mapper/HrCompanyAuditMapper.xml +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - update hr_company_audit - set - credit_code = #{param.creditCode}, - company_logo = #{param.companyLogo}, - company_name = #{param.companyName}, - contact_person = #{param.contactPerson}, - contact_way = #{param.contactWay}, - company_profile = #{param.companyProfile}, - company_description = #{param.companyDescription}, - company_industry = #{param.companyIndustry}, - company_size = #{param.companySize}, - company_register_address = #{param.companyRegisterAddress}, - province = #{param.province}, - city = #{param.city}, - district = #{param.district}, - file_json = #{param.fileJson}, - - audit_status = #{param.auditStatus}, - - version = version + 1, - update_by = #{param.updateBy}, - update_time = now() - where - id = #{param.id} - and company_id = #{param.companyId} - and deleted = 0 - and version = #{param.version} - and audit_status = 1 - - - update hr_company_audit - set version = version + 1, - update_by = #{param.updateBy}, - update_time = now(), - audit_status = #{param.auditStatus}, - audit_fail_msg = #{param.auditFailMsg} - where deleted = 0 - and id = #{param.id} - and version = #{param.version} - - - - - - - - - FROM - hr_company_audit t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.company_id = #{param.companyId} - - - AND t.org_id = #{param.orgId} - - - AND t.credit_code = #{param.creditCode} - - - AND t.company_logo = #{param.companyLogo} - - - - AND t.company_name like #{companyNameLike} - - - AND t.contact_person = #{param.contactPerson} - - - AND t.contact_way = #{param.contactWay} - - - AND t.company_profile = #{param.companyProfile} - - - AND t.company_description = #{param.companyDescription} - - - AND t.company_industry = #{param.companyIndustry} - - - AND t.company_size = #{param.companySize} - - - AND t.company_register_address = #{param.companyRegisterAddress} - - - AND t.province = #{param.province} - - - AND t.city = #{param.city} - - - AND t.district = #{param.district} - - - AND t.audit_status = #{param.auditStatus} - - - AND t.audit_fail_msg = #{param.auditFailMsg} - - - AND t.file_json = #{param.fileJson} - - - AND t.version = #{param.version} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - - AND t.company_type = #{param.companyType} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/mapper/HrCompanyFileMapper.xml b/src/main/java/com/newyetai/recruit/company/mapper/HrCompanyFileMapper.xml deleted file mode 100644 index 07a3670..0000000 --- a/src/main/java/com/newyetai/recruit/company/mapper/HrCompanyFileMapper.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - UPDATE hr_company_file - SET default_show = - CASE - - WHEN default_show = 1 THEN - 0 - ELSE 1 - END, - update_time = NOW() - WHERE deleted = 0 - AND file_type = '1' - AND company_id = #{companyId} - AND ( - id = #{id} - OR default_show = 1) - - - - - - - - - FROM - hr_company_file t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.company_id = #{param.companyId} - - - AND t.file_code = #{param.fileCode} - - - - AND t.file_name like #{fileNameLike} - - - AND t.file_type = #{param.fileType} - - - AND t.file_suffix = #{param.fileSuffix} - - - AND t.default_show = #{param.defaultShow} - - - AND t.sort = #{param.sort} - - - AND t.description = #{param.description} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/mapper/HrCompanyMapper.xml b/src/main/java/com/newyetai/recruit/company/mapper/HrCompanyMapper.xml deleted file mode 100644 index c31b8cf..0000000 --- a/src/main/java/com/newyetai/recruit/company/mapper/HrCompanyMapper.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - - (select org_id - from uc_org_relation - where deleted = 0 - and platform_code = 13 - - and FIND_IN_SET(#{parentOrgId}, path) - - - and FIND_IN_SET(#{orgId}, path) - - - ) - - - - - - diff --git a/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyAuditMapMapper.java b/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyAuditMapMapper.java deleted file mode 100644 index c7a2e4f..0000000 --- a/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyAuditMapMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.newyetai.recruit.company.mapstruct; - -import com.newyetai.recruit.company.entity.HrCompanyAudit; -import com.newyetai.recruit.company.dto.HrCompanyAuditDTO; -import com.newyetai.recruit.company.dto.HrCompanyAuditOperatorDTO; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 企业审核表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@Mapper -public interface HrCompanyAuditMapMapper { - HrCompanyAuditMapMapper INSTANCE = Mappers.getMapper(HrCompanyAuditMapMapper.class); - - HrCompanyAudit convert(HrCompanyAuditDTO dto); - - HrCompanyAuditDTO convert(HrCompanyAudit entity); - - HrCompanyAudit convert(HrCompanyAuditOperatorDTO dto); - - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyFileMapMapper.java b/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyFileMapMapper.java deleted file mode 100644 index 085207e..0000000 --- a/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyFileMapMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.newyetai.recruit.company.mapstruct; - -import com.newyetai.recruit.company.entity.HrCompanyFile; -import com.newyetai.recruit.company.dto.HrCompanyFileDTO; -import com.newyetai.recruit.company.dto.HrCompanyFileOperatorDTO; -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 企业文件表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@Mapper -public interface HrCompanyFileMapMapper { - HrCompanyFileMapMapper INSTANCE = Mappers.getMapper(HrCompanyFileMapMapper.class); - - HrCompanyFile convert(HrCompanyFileDTO dto); - - HrCompanyFileDTO convert(HrCompanyFile entity); - - HrCompanyFile convert(HrCompanyFileOperatorDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyMapMapper.java b/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyMapMapper.java deleted file mode 100644 index 812fe41..0000000 --- a/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyMapMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.company.mapstruct; - - -import com.newyetai.recruit.company.dto.HrCompanyAuditOperatorDTO; -import com.newyetai.recruit.company.dto.HrCompanyDTO; -import com.newyetai.recruit.company.entity.HrCompany; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * dto-entity - * - * @author sr on 2019-12-17 - */ -@Mapper -public interface HrCompanyMapMapper { - - HrCompanyMapMapper INSTANCE = Mappers.getMapper(HrCompanyMapMapper.class); - - HrCompanyDTO exchange(HrCompany company); - - HrCompany exchange(HrCompanyDTO hrCompanyDTO); - - HrCompanyDTO convert(HrCompanyAuditOperatorDTO dto); -} diff --git a/src/main/java/com/newyetai/recruit/company/service/HrCompanyAuditService.java b/src/main/java/com/newyetai/recruit/company/service/HrCompanyAuditService.java deleted file mode 100644 index caf4f15..0000000 --- a/src/main/java/com/newyetai/recruit/company/service/HrCompanyAuditService.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.newyetai.recruit.company.service; - -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; -import java.util.List; - -import com.newyetai.recruit.company.dto.*; - -/** - * 企业审核表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@Validated(Default.class) -public interface HrCompanyAuditService { - - /** - * 企业审核表 - 创建 - * - * @param operatorDto 操作dto - * @return {@link HrCompanyAuditDTO} - */ - HrCompanyAuditDTO create(@Valid HrCompanyAuditOperatorDTO operatorDto); - - /** - * 企业审核表 - 修改 - * - * @param operatorDto 操作dto - * @return {@link HrCompanyAuditDTO} - */ - void modify(@Valid HrCompanyAuditOperatorDTO operatorDto); - - /** - * 企业审核表 - 删除 - * - * @param id id - * @return {@link HrCompanyAuditDTO} - */ - HrCompanyAuditDTO remove(Long id); - - - /** - * 企业审核表 - 查询单个 - * - * @return {@link HrCompanyAuditDTO} - */ - HrCompanyAuditDTO findById(Long id); - - /** - * 企业审核表 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link HrCompanyAuditDTO}> - */ - List list(HrCompanyAuditPageQueryDTO queryDTO); - - /** - * 企业审核表 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link HrCompanyAuditDTO} - */ - List page(HrCompanyAuditPageQueryDTO queryDTO); - - /** - * @description: 审核 - * @return: - * @author: guixinman - * @param: - */ - void audit(HrCompanyAuditReqDTO reqDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/service/HrCompanyFileService.java b/src/main/java/com/newyetai/recruit/company/service/HrCompanyFileService.java deleted file mode 100644 index be4b382..0000000 --- a/src/main/java/com/newyetai/recruit/company/service/HrCompanyFileService.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.newyetai.recruit.company.service; - -import com.newyetai.recruit.company.entity.HrCompanyFile; -import org.springframework.validation.annotation.Validated; - -import javax.validation.groups.Default; -import java.util.List; - -import com.newyetai.recruit.company.dto.*; - -/** - * 企业文件表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@Validated(Default.class) -public interface HrCompanyFileService { - - /** - * 企业文件列表 - * - * @param queryDTO 查询dto - * @return {@link List}<{@link HrCompanyFileDTO}> - */ - List filePage(HrCompanyFilePageQueryDTO queryDTO); - - HrCompanyFile create(HrCompanyFileDTO queryDTO); - - void update(HrCompanyFileDTO dto); - - void delete(Long id); - void deleteByCompanyId(Long companyId); - - /** - * 设置默认展示 (封面) - * - * @param id id - */ - void setDefault(Long id); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/service/IHrCompanyService.java b/src/main/java/com/newyetai/recruit/company/service/IHrCompanyService.java deleted file mode 100644 index 8548fcc..0000000 --- a/src/main/java/com/newyetai/recruit/company/service/IHrCompanyService.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.newyetai.recruit.company.service; - - -import com.newyetai.recruit.company.dto.HrCompanyDTO; -import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO; -import com.newyetai.recruit.company.entity.HrCompany; - -import java.util.List; - -/** - *

- * 招聘系统-客户信息表 服务类 - *

- * - * @author chenyun - * @since 2021-01-08 - */ -public interface IHrCompanyService { - - /** - * 创建 - * - * @param hrCompanyDTO 人力资源公司dto - * @return {@link HrCompanyDTO} - * @throws RuntimeException 运行时异常 - */ - Long create(HrCompanyDTO hrCompanyDTO); - - /** - * 更新 - * - * @param hrCompanyDTO 人力资源公司dto - * @return {@link HrCompanyDTO} - * @throws RuntimeException 运行时异常 - */ - Integer update(HrCompanyDTO hrCompanyDTO); - - /** - * 细节 - * - * @param hrCompanyDTO 人力资源公司dto - * @return {@link HrCompanyDTO} - */ - HrCompanyDTO detail(HrCompanyDTO hrCompanyDTO); - - /** - * 分页查询 - * - * @param pageQueryDTO 页面查询dto - * @return {@link List< HrCompanyDTO >} - */ - List page(HrCompanyPageQueryDTO pageQueryDTO); - - void export(HrCompanyPageQueryDTO pageQueryDTO); - - /** - * 不分页查询 - */ - List list(HrCompanyPageQueryDTO pageQueryDTO); - - HrCompany findById(Long id); - - HrCompanyDTO find(HrCompanyPageQueryDTO pageQueryDTO); - - /** - * 分页查询 - * - * @param pageQueryDTO 页面查询dto - * @return {@link List< HrCompanyDTO >} - */ - List auditPage(HrCompanyPageQueryDTO pageQueryDTO); - - /** - * 修改状态 - */ - void updateStatus(Long id, String status); -} diff --git a/src/main/java/com/newyetai/recruit/company/service/impl/HrCompanyAuditServiceImpl.java b/src/main/java/com/newyetai/recruit/company/service/impl/HrCompanyAuditServiceImpl.java deleted file mode 100644 index 3b79b0e..0000000 --- a/src/main/java/com/newyetai/recruit/company/service/impl/HrCompanyAuditServiceImpl.java +++ /dev/null @@ -1,279 +0,0 @@ -package com.newyetai.recruit.company.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.config.entity.Config; -import com.newyetai.config.service.ConfigService; -import com.newyetai.frame.redis.aop.annotation.AutoUnLock; -import com.newyetai.frame.redis.dto.LockDTO; -import com.newyetai.frame.redis.redisson.RedissonUtils; -import com.newyetai.recruit.company.entity.HrCompany; -import com.newyetai.recruit.company.enums.HrCompanyAuditStatusEnum; -import com.newyetai.recruit.company.enums.HrCompanyEnum; -import com.newyetai.recruit.company.enums.HrCompanyStatusEnum; -import com.newyetai.recruit.company.mapstruct.HrCompanyAuditMapMapper; -import com.newyetai.recruit.company.mapstruct.HrCompanyMapMapper; -import com.newyetai.recruit.company.service.HrCompanyFileService; -import com.newyetai.recruit.company.service.IHrCompanyService; -import com.newyetai.usercenter.org.service.OrgService; -import lombok.extern.slf4j.Slf4j; - -import com.newyetai.recruit.company.entity.HrCompanyAudit; -import com.newyetai.recruit.company.dto.*; -import com.newyetai.recruit.company.dao.HrCompanyAuditMapper; -import com.newyetai.recruit.company.service.HrCompanyAuditService; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Lazy; -import org.springframework.stereotype.Service; -import com.newyetai.common.util.UserContextHolder; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; -import java.util.*; - -/** - * 企业审核表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@Slf4j -@Service -public class HrCompanyAuditServiceImpl implements HrCompanyAuditService { - - @Resource - private HrCompanyAuditMapper hrCompanyAuditMapper; - - @Autowired - private IHrCompanyService hrCompanyService; - - @Autowired - private ConfigService configService; - - @Autowired - private HrCompanyFileService hrCompanyFileService; - - @Autowired - @Lazy - private OrgService orgService; - - /** - * 先创建用工企业表(关闭状态)。然后拿到id创建企业审核表 - * 如果是入驻审批类型的创建。默认免审核企业 - * 根据配置管理的 企业审核开关 判断是否需要审核。如果不需要审核就直接 成功状态+回写用工企业表 状态开启。 - * 修改雷同逻辑 - * PC页面 企业审核入口: 审核成功也会回写企业表为开启状态。审核失败不会给企业表关闭状态。所以只要有一次开启状态。那企业会一直开启。没地方关闭 - * - */ - @Transactional(rollbackFor = Exception.class) - @Override - public HrCompanyAuditDTO create(HrCompanyAuditOperatorDTO operatorDto) { - //只有入住审批创建的。才能指定orgId。其他的模式都是获取当前登录机构 - Long orgId = (StringUtils.equals(HrCompanyEnum.SELF.getType(),operatorDto.getCompanyType()) && Objects.nonNull(operatorDto.getOrgId()) ) - ? operatorDto.getOrgId() : UserContextHolder.getLoginOrgId(); - - HrCompanyDTO hrCompanyDTO = HrCompanyMapMapper.INSTANCE.convert(operatorDto); - Long companyId = hrCompanyService.create(hrCompanyDTO); - - HrCompanyAudit hrCompanyAudit = HrCompanyAuditMapMapper.INSTANCE.convert(operatorDto); - hrCompanyAudit.setId(null); - hrCompanyAudit.setCompanyId(companyId); - hrCompanyAudit.setOrgId(orgId); - hrCompanyAudit.setVersion(1); - - - Config config = configService.getConfig("company_audit_enable", CommonConstants.PLATFORM_ORG_ID, true); - - //入驻申请创建都是需要免审核 此处直接给config设置为空就行 - if (StringUtils.equals(HrCompanyEnum.SELF.getType(),operatorDto.getCompanyType())) { - config = null; - } - - if (Objects.nonNull(config)) { - hrCompanyAudit.setAuditStatus(HrCompanyAuditStatusEnum.INIT.getStatus()); - } else { - hrCompanyAudit.setAuditStatus(HrCompanyAuditStatusEnum.SUCCESS.getStatus()); - //回写企业表。开启 - hrCompanyService.updateStatus(companyId, HrCompanyStatusEnum.OPEN.getStatus()); - } - - - hrCompanyAuditMapper.saveEntity(hrCompanyAudit); - return HrCompanyAuditMapMapper.INSTANCE.convert(hrCompanyAudit); - } - - @AutoUnLock - @Transactional(rollbackFor = Exception.class) - @Override - public void modify(HrCompanyAuditOperatorDTO operatorDto) { - //对审核表id加锁 - Assert.isTrue( - RedissonUtils.tryLockAutomatically( - LockDTO.builder() - .tryLockWaitTime(0L) - .lockTimeout(60 * 5L) - .arg(operatorDto.getId() + "") - .methodName("company:audit:modify") - .build() - ), - "客户编辑正在处理, 请稍后再试"); - - HrCompany hrCompany = hrCompanyService.findById(operatorDto.getCompanyId()); - Assert.notNull(hrCompany, "未查询的对应客户信息"); - HrCompanyAuditDTO hrCompanyAuditDTO = this.findById(operatorDto.getId()); - Assert.notNull(hrCompanyAuditDTO, "未查询到对应的客户审核信息"); - - //获取最新的审核id。如果和前端传递过来的不一致。代表需要用户刷新页面重新操作 - Long maxAuditId = hrCompanyAuditMapper.maxIdByCompanyId(operatorDto.getCompanyId()); - Assert.notNull(maxAuditId, "网络异常,请刷新页面重试"); - Assert.isTrue(maxAuditId.longValue() == operatorDto.getId().longValue(), "该页面信息已被变更,请刷新页面重试!"); - - - /* - * 修改先进审核表。审核通过后反向更新企业表。 - * 1.如果审核状态是 成功or失败。就新增一条 审核表的记录(看配置对应的状态) - 2.如果审核状态是 待审核 ,就修改审核表的记录,如果配置是不审核就修改审核状态是 成功 - */ - - HrCompanyAudit hrCompanyAudit = HrCompanyAuditMapMapper.INSTANCE.convert(operatorDto); - hrCompanyAudit.setId(operatorDto.getId()); - hrCompanyAudit.setCompanyId(operatorDto.getCompanyId()); - hrCompanyAudit.setOrgId(hrCompany.getOrgId()); - hrCompanyAudit.setCompanyType(hrCompany.getCompanyType()); - - Config config = configService.getConfig("company_audit_enable", CommonConstants.PLATFORM_ORG_ID, true); - //入驻申请创建都是需要免审核 此处直接给config设置为空就行 - - - if (Objects.nonNull(config)) { - hrCompanyAudit.setAuditStatus(HrCompanyAuditStatusEnum.INIT.getStatus()); - } else { - hrCompanyAudit.setAuditStatus(HrCompanyAuditStatusEnum.SUCCESS.getStatus()); - //回写企业表。 - HrCompanyDTO hrCompanyDTO = new HrCompanyDTO(); - BeanUtils.copyProperties(operatorDto, hrCompanyDTO); - hrCompanyDTO.setId(operatorDto.getCompanyId()); - hrCompanyDTO.setStatus(HrCompanyStatusEnum.OPEN.getStatus()); - hrCompanyService.update(hrCompanyDTO); - //删除企业相册 - hrCompanyFileService.deleteByCompanyId(operatorDto.getCompanyId()); - //新增企业相册 - if (StringUtils.isNotBlank(operatorDto.getFileJson())) { - List hrCompanyFileDTOS = JsonUtils.toList(operatorDto.getFileJson(), HrCompanyFileDTO.class); - for (HrCompanyFileDTO hrCompanyFileDTO : hrCompanyFileDTOS) { - hrCompanyFileDTO.setId(null); - hrCompanyFileDTO.setCompanyId(operatorDto.getCompanyId()); - hrCompanyFileService.create(hrCompanyFileDTO); - } - } - - } - if (HrCompanyAuditStatusEnum.INIT.getStatus().equals(hrCompanyAuditDTO.getAuditStatus())) { - hrCompanyAudit.setUpdateBy(UserContextHolder.getExistLoginUserId()); - int row = hrCompanyAuditMapper.modifyById(hrCompanyAudit); - if (row == 0) { - HrCompanyAuditDTO auditDTO = this.findById(operatorDto.getId()); - if (!HrCompanyAuditStatusEnum.INIT.getStatus().equals(auditDTO.getAuditStatus())) { - hrCompanyAudit.setVersion(1); - hrCompanyAuditMapper.saveEntity(hrCompanyAudit); - } else { - if (operatorDto.getVersion().intValue() != auditDTO.getVersion().intValue()) { - throw new BusinessException("该页面信息已被变更,请刷新页面重试!"); - } - } - - } - } else { - hrCompanyAudit.setVersion(1); - hrCompanyAuditMapper.saveEntity(hrCompanyAudit); - } - - } - - @Transactional(rollbackFor = Exception.class) - @Override - public HrCompanyAuditDTO remove(Long id) { - HrCompanyAuditDTO hrCompanyAuditDto = this.findById(id); - if (Objects.isNull(hrCompanyAuditDto)) { - return null; - } - HrCompanyAudit hrCompanyAudit = HrCompanyAudit.builder().build(); - hrCompanyAudit.setId(id); - hrCompanyAuditMapper.deleteEntity(hrCompanyAudit, UserContextHolder.getLoginUserId()); - return hrCompanyAuditDto; - } - - - @Override - public HrCompanyAuditDTO findById(Long id) { - Assert.notNull(id, "参数缺失"); - HrCompanyAuditPageQueryDTO queryDTO = new HrCompanyAuditPageQueryDTO(); - queryDTO.disablePage(); - queryDTO.setId(id); - List list = this.page(queryDTO); - return CollectionUtils.isNotEmpty(list) ? list.get(0) : null; - } - - @Override - public List list(HrCompanyAuditPageQueryDTO queryDTO) { - queryDTO.disablePage(); - return hrCompanyAuditMapper.page(queryDTO); - } - - @Override - public List page(HrCompanyAuditPageQueryDTO queryDTO) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - if (Objects.isNull(queryDTO.getOrgId())) { - queryDTO.setOrgIds(orgService.childrenOrgIdList(UserContextHolder.getLoginOrgId())); - } - } - return hrCompanyAuditMapper.page(queryDTO); - } - - - @Transactional(rollbackFor = Exception.class) - @Override - public void audit(HrCompanyAuditReqDTO reqDTO) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(HrCompanyAudit::getDeleted, false) - .eq(HrCompanyAudit::getId, reqDTO.getId()) - .eq(HrCompanyAudit::getVersion, reqDTO.getVersion()); - - HrCompanyAudit hrCompanyAudit = hrCompanyAuditMapper.selectOne(queryWrapper); - if (Objects.isNull(hrCompanyAudit)) { - throw new BusinessException("客户信息已更新,请刷新页面重新审核。"); - } - reqDTO.setUpdateBy(UserContextHolder.getExistLoginUserId()); - int row = hrCompanyAuditMapper.audit(reqDTO); - if (row == 0) { - throw new BusinessException("客户信息已更新,请刷新页面重新审核。"); - } - - if (HrCompanyAuditStatusEnum.SUCCESS.getStatus().equals(reqDTO.getAuditStatus())) { - //需要修改岗位表 审核通过会更新岗位表。H5用的 - HrCompanyDTO companyDTO = new HrCompanyDTO(); - BeanUtils.copyProperties(hrCompanyAudit, companyDTO); - companyDTO.setStatus(HrCompanyStatusEnum.OPEN.getStatus()); - companyDTO.setId(hrCompanyAudit.getCompanyId()); - hrCompanyService.update(companyDTO); - - //先删除岗位相册 - hrCompanyFileService.deleteByCompanyId(hrCompanyAudit.getCompanyId()); - if (StringUtils.isNotBlank(hrCompanyAudit.getFileJson())) { - List hrCompanyFileDTOS = JsonUtils.toList(hrCompanyAudit.getFileJson(), HrCompanyFileDTO.class); - for (HrCompanyFileDTO hrCompanyFileDTO : hrCompanyFileDTOS) { - hrCompanyFileDTO.setId(null); - hrCompanyFileDTO.setCompanyId(hrCompanyAudit.getCompanyId()); - hrCompanyFileService.create(hrCompanyFileDTO); - } - } - } - - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/service/impl/HrCompanyFileServiceImpl.java b/src/main/java/com/newyetai/recruit/company/service/impl/HrCompanyFileServiceImpl.java deleted file mode 100644 index 72ada31..0000000 --- a/src/main/java/com/newyetai/recruit/company/service/impl/HrCompanyFileServiceImpl.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.newyetai.recruit.company.service.impl; - -import cn.hutool.core.util.StrUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.recruit.company.constant.CompanyConstants; -import lombok.extern.slf4j.Slf4j; - -import com.newyetai.recruit.company.entity.HrCompanyFile; -import com.newyetai.recruit.company.dto.*; -import com.newyetai.recruit.company.dao.HrCompanyFileMapper; -import com.newyetai.recruit.company.service.HrCompanyFileService; -import org.springframework.stereotype.Service; -import com.newyetai.common.util.UserContextHolder; - -import javax.annotation.Resource; -import java.util.*; - -/** - * 企业文件表 - * - * @author guixinman - * @since 1.0.0 2025-06-25 - */ -@Slf4j -@Service -public class HrCompanyFileServiceImpl implements HrCompanyFileService { - - @Resource - private HrCompanyFileMapper hrCompanyFileMapper; - - @Override - public List filePage(HrCompanyFilePageQueryDTO queryDTO) { - return hrCompanyFileMapper.filePage(queryDTO); - } - - @Override - public HrCompanyFile create(HrCompanyFileDTO queryDTO) { - List fileList = filePage(HrCompanyFilePageQueryDTO.builder() - .companyId(queryDTO.getCompanyId()) - .fileType(queryDTO.getFileType()).build()); - - long maxFileOrder = 0; - if (fileList.size() > 0) { - maxFileOrder = fileList.stream().mapToLong(HrCompanyFileDTO::getSort).max().getAsLong(); - } - - HrCompanyFile hrCompanyFile = JsonUtils.toObject(JsonUtils.toJsonString(queryDTO), HrCompanyFile.class); - hrCompanyFile.setSort(maxFileOrder); - hrCompanyFileMapper.saveEntity(hrCompanyFile); - return hrCompanyFile; - } - - @Override - public void update(HrCompanyFileDTO dto) { - HrCompanyFile hrCompanyFile = JsonUtils.toObject(JsonUtils.toJsonString(dto), HrCompanyFile.class); - hrCompanyFileMapper.updateById(hrCompanyFile); - } - - @Override - public void delete(Long id) { - HrCompanyFile hrCompanyFile = hrCompanyFileMapper.selectById(id); - Assert.notNull(hrCompanyFile, "未找到要删除的文件信息"); - hrCompanyFileMapper.deleteEntity(hrCompanyFile); - } - - @Override - public void deleteByCompanyId(Long companyId) { - HrCompanyFile hrCompanyFile = new HrCompanyFile(); - hrCompanyFile.setDeleted(true); - hrCompanyFile.setUpdateBy(UserContextHolder.getExistLoginUserId()); - hrCompanyFile.setUpdateTime(new Date()); - hrCompanyFileMapper.update(hrCompanyFile,new LambdaQueryWrapper().eq(HrCompanyFile::getDeleted,false).eq(HrCompanyFile::getCompanyId,companyId)); - } - - @Override - public void setDefault(Long id) { - HrCompanyFile file = hrCompanyFileMapper.selectOne(new LambdaQueryWrapper() - .eq(HrCompanyFile::getDeleted, false) - .eq(HrCompanyFile::getId, id) - ); - Assert.notNull(file, "文件不存在"); - String fileType = file.getFileType(); - Assert.isTrue(StrUtil.equals(fileType, CompanyConstants.COMPANY_FILE_TYPE_IMG), "只支持设置图片"); - hrCompanyFileMapper.setDefault(file.getCompanyId(), file.getId()); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/company/service/impl/HrCompanyServiceImpl.java b/src/main/java/com/newyetai/recruit/company/service/impl/HrCompanyServiceImpl.java deleted file mode 100644 index 287f204..0000000 --- a/src/main/java/com/newyetai/recruit/company/service/impl/HrCompanyServiceImpl.java +++ /dev/null @@ -1,263 +0,0 @@ -package com.newyetai.recruit.company.service.impl; - - -import com.google.common.collect.Lists; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.dto.ExportHeadDetailInfoDTO; -import com.newyetai.common.dto.ExportHeadInfoDTO; -import com.newyetai.common.easyexcel.ExcelUtil; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.recruit.company.dao.HrCompanyMapper; -import com.newyetai.recruit.company.dto.HrCompanyDTO; -import com.newyetai.recruit.company.dto.HrCompanyExportDTO; -import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO; -import com.newyetai.recruit.company.entity.HrCompany; -import com.newyetai.recruit.company.enums.HrCompanyStatusEnum; -import com.newyetai.recruit.company.enums.HrCompanyEnum; -import com.newyetai.recruit.company.mapstruct.HrCompanyMapMapper; -import com.newyetai.recruit.company.service.IHrCompanyService; -import com.newyetai.component.dict.util.DictUtils; - -import cn.hutool.core.date.DateUtil; -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * 招聘系统-企业信息表 服务实现类 - */ -@Slf4j -@Service -@RequiredArgsConstructor(onConstructor = @__(@Autowired)) -public class HrCompanyServiceImpl implements IHrCompanyService { - - private final HrCompanyMapper hrCompanyMapper; - - @Override - public Long create(HrCompanyDTO hrCompanyDTO) { - Assert.isTrue(!(UserTypeEnum.PERSON.getType().equals(UserContextHolder.getExistUserType())),"用户类型不匹配"); - - //只有入住审批创建的。才能指定orgId。其他的模式都是获取当前登录机构 - Long orgId = (StringUtils.equals(HrCompanyEnum.SELF.getType(),hrCompanyDTO.getCompanyType()) && Objects.nonNull(hrCompanyDTO.getOrgId()) ) - ? hrCompanyDTO.getOrgId() : UserContextHolder.getLoginOrgId(); - - List HrCompanyList = hrCompanyMapper.selectList(new LambdaQueryWrapper() - .eq(HrCompany::getOrgId, orgId) - .eq(HrCompany::getCompanyName, hrCompanyDTO.getCompanyName()) - .eq(HrCompany::getCompanyType, hrCompanyDTO.getCompanyType()) - .eq(HrCompany::getDeleted, false) - ); - if (CollectionUtils.isNotEmpty(HrCompanyList)) { - throw new BusinessException("名称重复"); - } - - HrCompany HrCompany = HrCompanyMapMapper.INSTANCE.exchange(hrCompanyDTO); - HrCompany.setOrgId(orgId); - HrCompany.setStatus(HrCompanyStatusEnum.CLOSE.getStatus()); - //供应商就开启。目前前端没接入客户审核。后面再删除这代码 - if (StringUtils.equals(HrCompanyEnum.GYS.getType(),hrCompanyDTO.getCompanyType())){ - HrCompany.setStatus(HrCompanyStatusEnum.OPEN.getStatus()); - } - hrCompanyMapper.saveEntity(HrCompany, UserContextHolder.getLoginUserId()); - return HrCompany.getId(); - } - - @Override - public Integer update(HrCompanyDTO hrCompanyDTO) { - HrCompany hrCompany = hrCompanyMapper.selectOne(new LambdaQueryWrapper() - .eq(HrCompany::getId, hrCompanyDTO.getId()) - .eq(HrCompany::getDeleted, false)); - Assert.notNull(hrCompany, "未查询到要修改的数据"); - - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - Assert.isTrue(hrCompany.getOrgId().equals(UserContextHolder.getExistLoginOrgId()), "未查询到要修改的数据"); - } - - List HrCompanyList = hrCompanyMapper.selectList(new LambdaQueryWrapper() - .eq(HrCompany::getOrgId, hrCompany.getOrgId()) - .eq(HrCompany::getCompanyName, hrCompanyDTO.getCompanyName()) - .eq(HrCompany::getCompanyType, hrCompanyDTO.getCompanyType()) - .notIn(HrCompany::getId, hrCompanyDTO.getId()) - .eq(HrCompany::getDeleted, false) - ); - if (CollectionUtils.isNotEmpty(HrCompanyList)) { - throw new BusinessException("名称重复"); - } - - HrCompany HrCompany = HrCompanyMapMapper.INSTANCE.exchange(hrCompanyDTO); - HrCompany.setOrgId(hrCompany.getOrgId()); - HrCompany.setCompanyType(hrCompany.getCompanyType()); - return hrCompanyMapper.updateEntity(HrCompany, UserContextHolder.getLoginUserId()); - } - - @Override - public HrCompanyDTO detail(HrCompanyDTO hrCompanyDTO) { - return HrCompanyMapMapper.INSTANCE.exchange(hrCompanyMapper.getById(hrCompanyDTO.getId())); - } - - @Override - public List page(HrCompanyPageQueryDTO pageQueryDTO) { - if (pageQueryDTO.getOrgId() == null) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - pageQueryDTO.setOrgId(UserContextHolder.getLoginOrgId()); - } - } - return hrCompanyMapper.page(pageQueryDTO); - } - - @Override - public void export(HrCompanyPageQueryDTO pageQueryDTO) { - boolean flag = true; - Integer pageNo = 1; - Integer pageSize = 100; - - List listAll = new ArrayList<>(); - - while (flag) { - pageQueryDTO.setPageNo(pageNo); - pageQueryDTO.setPageSize(pageSize); - List list = this.page(pageQueryDTO); - if (org.springframework.util.CollectionUtils.isEmpty(list)) { - flag = false; - continue; - } - if (list.size() < pageSize) { - flag = false; - } - pageNo = pageNo + 1; - listAll.addAll(list); - } - List collect = listAll.stream().map(dto -> { - HrCompanyExportDTO companyExportDTO = new HrCompanyExportDTO(); - BeanUtils.copyProperties(dto, companyExportDTO); - companyExportDTO.setCreateTime(DateUtil.format(dto.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); - companyExportDTO.setCompanyIndustry(DictUtils.getCodeNameMap("industry_type").get(dto.getCompanyIndustry())); - companyExportDTO.setCompanySize(DictUtils.getCodeNameMap("company_size").get(dto.getCompanySize())); - return companyExportDTO; - }).collect(Collectors.toList()); - - if (org.springframework.util.CollectionUtils.isEmpty(collect)) { - return; - } - - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); - String fileName; - - if (pageQueryDTO.getCompanyType().equals(HrCompanyEnum.KH.getType())) { - fileName = HrCompanyEnum.KH.getDesc() + "明细导出" + "(" + formatter.format(LocalDateTime.now()) + ")"; - } else { - fileName = HrCompanyEnum.GYS.getDesc() + "明细导出" + "(" + formatter.format(LocalDateTime.now()) + ")"; - } - - - ExportHeadInfoDTO infoDTO = ExportHeadInfoDTO.builder() - .fileName(fileName) - .build(); - List heads = infoDTO.getHeads(); - List datas = Lists.newArrayList(); - - if (pageQueryDTO.getCompanyType().equals(HrCompanyEnum.KH.getType())) { - heads.add(ExportHeadDetailInfoDTO.builder().head("客户名称").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("所属行业").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("企业规模").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("联系人").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("联系方式").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("创建时间").build()); - for (HrCompanyExportDTO dto : collect) { - List objects = Lists.newArrayList(); - datas.add(objects); - objects.add(dto.getCompanyName()); - objects.add(dto.getCompanyIndustry()); - objects.add(dto.getCompanySize()); - objects.add(dto.getContactPerson()); - objects.add(dto.getContactWay()); - objects.add(dto.getCreateTime()); - } - } else { - heads.add(ExportHeadDetailInfoDTO.builder().head("供应商名称").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("企业规模").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("联系人").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("联系方式").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("创建时间").build()); - for (HrCompanyExportDTO dto : collect) { - List objects = Lists.newArrayList(); - datas.add(objects); - objects.add(dto.getCompanyName()); - objects.add(dto.getCompanySize()); - objects.add(dto.getContactPerson()); - objects.add(dto.getContactWay()); - objects.add(dto.getCreateTime()); - } - } - - infoDTO.setDatas(datas); - - ExcelUtil.dynamicExportTemplate(infoDTO); - } - - @Override - public List list(HrCompanyPageQueryDTO pageQueryDTO) { - pageQueryDTO.disablePage(); - //因为现在有企业审核。这个list前端用于下拉选用工企业用。所以这样只能查企业开启状态的. - pageQueryDTO.setStatus(HrCompanyStatusEnum.OPEN.getStatus()); - return this.page(pageQueryDTO); - } - - @Override - public HrCompany findById(Long id) { - Assert.notNull(id, "id不能为空"); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(HrCompany::getId, id) - .eq(HrCompany::getDeleted, false); - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - queryWrapper.eq(HrCompany::getOrgId, UserContextHolder.getLoginOrgId()); - } - HrCompany hrCompany = hrCompanyMapper.selectOne(queryWrapper); - return hrCompany; - } - - @Override - public HrCompanyDTO find(HrCompanyPageQueryDTO pageQueryDTO) { - pageQueryDTO.disablePage(); - List hrCompanyDTOS = this.page(pageQueryDTO); - if (CollectionUtils.isEmpty(hrCompanyDTOS)) { - return null; - } - return hrCompanyDTOS.get(0); - } - - @Override - public List auditPage(HrCompanyPageQueryDTO pageQueryDTO) { - if (pageQueryDTO.getOrgId() == null) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - pageQueryDTO.setOrgId(UserContextHolder.getLoginOrgId()); - } - } - return hrCompanyMapper.auditPage(pageQueryDTO); - } - - @Override - public void updateStatus(Long id,String status) { - HrCompany hrCompany = new HrCompany(); - hrCompany.setId(id); - hrCompany.setStatus(status); - hrCompanyMapper.updateEntitySelective(hrCompany, UserContextHolder.getLoginUserId()); - } -} diff --git a/src/main/java/com/newyetai/recruit/device/controller/DeviceController.java b/src/main/java/com/newyetai/recruit/device/controller/DeviceController.java deleted file mode 100644 index e844cff..0000000 --- a/src/main/java/com/newyetai/recruit/device/controller/DeviceController.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.newyetai.recruit.device.controller; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -import com.newyetai.common.AlitaResult; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.device.dto.*; -import com.newyetai.recruit.device.service.DeviceService; - -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * 设备 - * - * @author guixinman - * @since 1.0.0 2025-01-14 - */ -@Api(tags = "设备") -@RestController -@RequestMapping("/device/") -public class DeviceController { - - @Autowired - private DeviceService deviceService; - - @PostMapping("create") - @ApiOperation("设备-创建") - public AlitaResult create(@RequestBody @Validated DeviceOperatorDTO operatorDTO) { - return AlitaResult.success(deviceService.create(operatorDTO)); - } - - @PutMapping("modify") - @ApiOperation("设备-修改") - public AlitaResult modify(@RequestBody DeviceOperatorDTO operatorDTO) { - return AlitaResult.success(deviceService.modify(operatorDTO)); - } - - @DeleteMapping("{id}") - @ApiOperation("设备-删除") - public AlitaResult delete(@PathVariable("id") Long id) { - return AlitaResult.success(deviceService.delete(id)); - } - - @GetMapping("{id}") - @ApiOperation("设备-查询单个") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(deviceService.findById(id)); - } - - @GetMapping("list") - @ApiOperation("设备-列表查询") - public AlitaResult> list(DeviceQueryDTO queryDTO) { - return AlitaResult.success(deviceService.list(queryDTO)); - } - - @GetMapping("page") - @ApiOperation("设备-分页查询") - public AlitaResult> page(DevicePageQueryDTO queryDTO) { - deviceService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/device/convert/DeviceConvert.java b/src/main/java/com/newyetai/recruit/device/convert/DeviceConvert.java deleted file mode 100644 index ca55646..0000000 --- a/src/main/java/com/newyetai/recruit/device/convert/DeviceConvert.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.newyetai.recruit.device.convert; - -import com.newyetai.recruit.device.entity.Device; -import com.newyetai.recruit.device.dto.DeviceDTO; -import com.newyetai.recruit.device.dto.DeviceOperatorDTO; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** - * 设备 - * - * @author guixinman - * @since 1.0.0 2025-01-14 - */ -@Mapper -public interface DeviceConvert { - DeviceConvert INSTANCE = Mappers.getMapper(DeviceConvert.class); - - Device convert(DeviceDTO dto); - - DeviceDTO convert(Device entity); - - Device convert(DeviceOperatorDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/device/dao/DeviceMapper.java b/src/main/java/com/newyetai/recruit/device/dao/DeviceMapper.java deleted file mode 100644 index 50294ae..0000000 --- a/src/main/java/com/newyetai/recruit/device/dao/DeviceMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.device.dao; - -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.device.entity.Device; -import com.newyetai.recruit.device.dto.DeviceDTO; -import com.newyetai.recruit.device.dto.DeviceQueryDTO; -import com.newyetai.recruit.device.dto.DevicePageQueryDTO; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 设备 - * - * @author guixinman - * @since 1.0.0 2025-01-14 - */ -@Mapper -public interface DeviceMapper extends MyMapper { - - List page(@Param("param") DevicePageQueryDTO queryDTO); - - List list(@Param("param") DeviceQueryDTO queryDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/device/dto/DeviceDTO.java b/src/main/java/com/newyetai/recruit/device/dto/DeviceDTO.java deleted file mode 100644 index 7a92305..0000000 --- a/src/main/java/com/newyetai/recruit/device/dto/DeviceDTO.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.newyetai.recruit.device.dto; - -import com.newyetai.common.dto.BaseDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * 设备 - * - * @author guixinman - * @since 1.0.0 2025-01-14 - */ -@ApiModel("设备") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class DeviceDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("编号") - private String code; - - @ApiModelProperty("名称") - private String name; - - @ApiModelProperty("场所地址") - private String address; - - private String geocoderJson; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/device/dto/DeviceOperatorDTO.java b/src/main/java/com/newyetai/recruit/device/dto/DeviceOperatorDTO.java deleted file mode 100644 index e33e276..0000000 --- a/src/main/java/com/newyetai/recruit/device/dto/DeviceOperatorDTO.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.newyetai.recruit.device.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.hibernate.validator.constraints.Length; -import org.springframework.format.annotation.DateTimeFormat; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * 设备 - * - * @author guixinman - * @since 1.0.0 2025-01-14 - */ -@ApiModel("设备") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class DeviceOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @Length(max = 128,message = "编号长度超长") - @NotBlank(message = "请输入编号") - @ApiModelProperty("编号") - private String code; - - @Length(max = 64,message = "名称长度超长") - @NotBlank(message = "请输入名称") - @ApiModelProperty("名称") - private String name; - - @Length(max = 255,message = "场所地址长度超长") - @NotBlank(message = "请输入场所地址") - @ApiModelProperty("场所地址") - private String address; - - private String geocoderJson; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/device/dto/DevicePageQueryDTO.java b/src/main/java/com/newyetai/recruit/device/dto/DevicePageQueryDTO.java deleted file mode 100644 index 12dc8be..0000000 --- a/src/main/java/com/newyetai/recruit/device/dto/DevicePageQueryDTO.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.newyetai.recruit.device.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - - -import java.math.BigDecimal; -import java.util.Date; - -/** - * 设备 - * - * @author guixinman - * @since 1.0.0 2025-01-14 - */ - -@ApiModel("设备") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class DevicePageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - private Long notId; - - @ApiModelProperty("编号") - private String code; - - @ApiModelProperty("名称 (模糊匹配)") - private String nameLike; - - private String name; - - @ApiModelProperty("场所地址") - private String address; - - private String addressLike; - - private String geocoderJson; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/device/dto/DeviceQueryDTO.java b/src/main/java/com/newyetai/recruit/device/dto/DeviceQueryDTO.java deleted file mode 100644 index 84df80f..0000000 --- a/src/main/java/com/newyetai/recruit/device/dto/DeviceQueryDTO.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.newyetai.recruit.device.dto; - -import com.newyetai.common.dto.BaseDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * 设备 - * - * @author guixinman - * @since 1.0.0 2025-01-14 - */ -@ApiModel("设备") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class DeviceQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - private Long notId; - - @ApiModelProperty("编号") - private String code; - - @ApiModelProperty("名称") - private String name; - - @ApiModelProperty("名称 (模糊匹配)") - private String nameLike; - - @ApiModelProperty("场所地址") - private String address; - - private String addressLike; - - private String geocoderJson; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/device/entity/Device.java b/src/main/java/com/newyetai/recruit/device/entity/Device.java deleted file mode 100644 index a13c0e5..0000000 --- a/src/main/java/com/newyetai/recruit/device/entity/Device.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.newyetai.recruit.device.entity; - -import lombok.*; -import com.baomidou.mybatisplus.annotation.*; -import java.math.BigDecimal; -import com.newyetai.common.entity.BaseEntity; - -/** - * 设备 - * - * @author guixinman - * @since 1.0.0 2025-01-14 - */ -@TableName(value = "hr_device") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class Device extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 编号 - */ - private String code; - /** - * 名称 - */ - private String name; - /** - * 场所地址 - */ - private String address; - private String geocoderJson; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/device/mapper/DeviceMapper.xml b/src/main/java/com/newyetai/recruit/device/mapper/DeviceMapper.xml deleted file mode 100644 index b885171..0000000 --- a/src/main/java/com/newyetai/recruit/device/mapper/DeviceMapper.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - FROM - hr_device t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.id ]]> #{param.notId} - - - AND t.code = #{param.code} - - - AND t.name = #{param.name} - - - - AND t.name like #{nameLike} - - - AND t.address = #{param.address} - - - - AND t.address like #{addressLike} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/device/service/DeviceService.java b/src/main/java/com/newyetai/recruit/device/service/DeviceService.java deleted file mode 100644 index 4fb3964..0000000 --- a/src/main/java/com/newyetai/recruit/device/service/DeviceService.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.newyetai.recruit.device.service; - -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -import java.util.List; - -import com.newyetai.recruit.device.dto.*; - -/** - * 设备 - * - * @author guixinman - * @since 1.0.0 2025-01-14 - */ -@Validated(Default.class) -public interface DeviceService { - - /** - * 设备 - 创建 - * - * @param operatorDto 操作dto - * @return {@link DeviceDTO} - */ - DeviceDTO create(@Valid DeviceOperatorDTO operatorDto); - - /** - * 设备 - 修改 - * - * @param operatorDto 操作dto - * @return {@link DeviceDTO} - */ - DeviceDTO modify(@Valid DeviceOperatorDTO operatorDto); - - /** - * 设备 - 删除 - * - * @param id id - * @return {@link DeviceDTO} - */ - DeviceDTO delete(Long id); - - /** - * 设备 - 根据ID查询单个 - * - * @param id id - * @return {@link DeviceDTO} - */ - DeviceDTO findById(Long id); - - /** - * 设备 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link DeviceDTO}> - */ - List list(DeviceQueryDTO queryDTO); - - /** - * 设备 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link DeviceDTO} - */ - List page(DevicePageQueryDTO queryDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/device/service/impl/DeviceServiceImpl.java b/src/main/java/com/newyetai/recruit/device/service/impl/DeviceServiceImpl.java deleted file mode 100644 index 8ff18aa..0000000 --- a/src/main/java/com/newyetai/recruit/device/service/impl/DeviceServiceImpl.java +++ /dev/null @@ -1,154 +0,0 @@ -package com.newyetai.recruit.device.service.impl; - -import lombok.extern.slf4j.Slf4j; - -import com.newyetai.common.AlitaResult; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.recruit.device.convert.DeviceConvert; -import com.newyetai.recruit.device.entity.Device; -import com.newyetai.recruit.device.dto.*; -import com.newyetai.recruit.device.dao.DeviceMapper; -import com.newyetai.recruit.device.service.DeviceService; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.sdk.tencent.map.TencentMapContext; -import com.newyetai.sdk.tencent.map.dto.TencentMapGeocoderReqDTO; -import com.newyetai.sdk.tencent.map.dto.TencentMapGeocoderResDTO; -import com.newyetai.sdk.tencent.map.dto.TencentMapLocationV1IpResDTO; - -import javax.annotation.Resource; - -import java.util.*; - -/** - * 设备 - * - * @author guixinman - * @since 1.0.0 2025-01-14 - */ -@Slf4j -@Service -public class DeviceServiceImpl implements DeviceService { - - @Resource - private DeviceMapper deviceMapper; - - @Autowired - private TencentMapContext tencentMapContext; - - - @Override - public DeviceDTO create(DeviceOperatorDTO operatorDto) { - List deviceDTOList = this.list(DeviceQueryDTO.builder().code(operatorDto.getCode()).name(operatorDto.getName()).build()); - if (CollectionUtils.isNotEmpty(deviceDTOList)) { - throw new BusinessException("该设备编码已存在"); - } - - AlitaResult alitaResult = tencentMapContext.webServiceGeocoder(TencentMapGeocoderReqDTO.builder() - .address(operatorDto.getAddress()) - .build()); - - if (Boolean.TRUE.equals(alitaResult.getSuccess())) { - TencentMapGeocoderResDTO resultData = alitaResult.getData(); - - TencentMapGeocoderResDTO.TencentMapGeocoderLocationResDTO location = resultData.getLocation(); - TencentMapGeocoderResDTO.TencentMapGeocoderAddressComponentsDTO address_components = resultData.getAddress_components(); - TencentMapGeocoderResDTO.TencentMapGeocoderAdInfo ad_info = resultData.getAd_info(); - - if (Objects.nonNull(location)) { - TencentMapLocationV1IpResDTO tencentMapLocationV1IpResDTO = new TencentMapLocationV1IpResDTO(); - tencentMapLocationV1IpResDTO.setLocation(TencentMapLocationV1IpResDTO.TencentMapLocationDTO.builder().lat(location.getLat()).lng(location.getLng()).build()); - tencentMapLocationV1IpResDTO.setAd_info(TencentMapLocationV1IpResDTO.TencentMapLocationAdInfoDTO.builder() - .province(address_components.getProvince()) - .city(address_components.getCity()) - .district(address_components.getDistrict()) - .adcode(ad_info.getAdcode()) - .build()); - operatorDto.setGeocoderJson(JsonUtils.toJsonString(tencentMapLocationV1IpResDTO)); - } - } - Device device = DeviceConvert.INSTANCE.convert(operatorDto); - deviceMapper.saveEntity(device); - return DeviceConvert.INSTANCE.convert(device); - } - - @Override - public DeviceDTO modify(DeviceOperatorDTO operatorDto) { - List deviceDTOList = this.list(DeviceQueryDTO.builder().notId(operatorDto.getId()).name(operatorDto.getName()).build()); - if (CollectionUtils.isNotEmpty(deviceDTOList)) { - throw new BusinessException("该设备编码已存在"); - } - - DeviceDTO deviceDto = this.findById(operatorDto.getId()); - if (Objects.isNull(deviceDto)) { - return null; - } - if (!StringUtils.equals(operatorDto.getAddress(), deviceDto.getAddress())) { - AlitaResult alitaResult = tencentMapContext.webServiceGeocoder(TencentMapGeocoderReqDTO.builder() - .address(operatorDto.getAddress()) - .build()); - - if (Boolean.TRUE.equals(alitaResult.getSuccess())) { - TencentMapGeocoderResDTO resultData = alitaResult.getData(); - - TencentMapGeocoderResDTO.TencentMapGeocoderLocationResDTO location = resultData.getLocation(); - TencentMapGeocoderResDTO.TencentMapGeocoderAddressComponentsDTO address_components = resultData.getAddress_components(); - TencentMapGeocoderResDTO.TencentMapGeocoderAdInfo ad_info = resultData.getAd_info(); - - if (Objects.nonNull(location)) { - TencentMapLocationV1IpResDTO tencentMapLocationV1IpResDTO = new TencentMapLocationV1IpResDTO(); - tencentMapLocationV1IpResDTO.setLocation(TencentMapLocationV1IpResDTO.TencentMapLocationDTO.builder().lat(location.getLat()).lng(location.getLng()).build()); - tencentMapLocationV1IpResDTO.setAd_info(TencentMapLocationV1IpResDTO.TencentMapLocationAdInfoDTO.builder() - .province(address_components.getProvince()) - .city(address_components.getCity()) - .district(address_components.getDistrict()) - .adcode(ad_info.getAdcode()) - .build()); - operatorDto.setGeocoderJson(JsonUtils.toJsonString(tencentMapLocationV1IpResDTO)); - } - } - } - - Device device = DeviceConvert.INSTANCE.convert(operatorDto); - device.setCode(null); - deviceMapper.updateEntitySelective(device); - return this.findById(operatorDto.getId()); - } - - @Override - public DeviceDTO delete(Long id) { - DeviceDTO deviceDto = this.findById(id); - if (Objects.isNull(deviceDto)) { - return null; - } - Device device = Device.builder().build(); - device.setId(id); - deviceMapper.deleteEntity(device, UserContextHolder.getLoginUserId()); - return deviceDto; - } - - @Override - public DeviceDTO findById(Long id) { - Device device = deviceMapper.getById(id); - if (Objects.isNull(device)) { - return null; - } - return DeviceConvert.INSTANCE.convert(device); - } - - @Override - public List list(DeviceQueryDTO queryDTO) { - return deviceMapper.list(queryDTO); - } - - @Override - public List page(DevicePageQueryDTO queryDTO) { - return deviceMapper.page(queryDTO); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/eventtrack/controller/EventTrackController.java b/src/main/java/com/newyetai/recruit/eventtrack/controller/EventTrackController.java deleted file mode 100644 index c16f3e1..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/controller/EventTrackController.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.newyetai.recruit.eventtrack.controller; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -import com.newyetai.common.AlitaResult; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.eventtrack.dto.*; -import com.newyetai.recruit.eventtrack.service.EventTrackService; - -import org.springframework.web.bind.annotation.*; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * 埋点 - * - * @author guixinman - * @since 1.0.0 2025-01-22 - */ -@Api(tags = " 埋点") -@RestController -@RequestMapping("/event_track") -public class EventTrackController { - - @Autowired - private EventTrackService eventTrackService; - - @PostMapping("/create") - @ApiOperation(" 埋点-创建") - public AlitaResult create(@RequestBody EventTrackOperatorDTO operatorDTO) { - return AlitaResult.success(eventTrackService.create(operatorDTO)); - } - - @PutMapping("/modify") - @ApiOperation(" 埋点-修改") - public AlitaResult modify(@RequestBody EventTrackOperatorDTO operatorDTO) { - return AlitaResult.success(eventTrackService.modify(operatorDTO)); - } - - @DeleteMapping("{id}") - @ApiOperation(" 埋点-删除") - public AlitaResult delete(@PathVariable("id") Long id) { - return AlitaResult.success(eventTrackService.delete(id)); - } - - @GetMapping("{id}") - @ApiOperation(" 埋点-查询单个") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(eventTrackService.findById(id)); - } - - @GetMapping("list") - @ApiOperation(" 埋点-列表查询") - public AlitaResult> list(EventTrackQueryDTO queryDTO) { - return AlitaResult.success(eventTrackService.list(queryDTO)); - } - - @GetMapping("page") - @ApiOperation(" 埋点-分页查询") - public AlitaResult> page(EventTrackPageQueryDTO queryDTO) { - eventTrackService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @GetMapping("statistics") - public AlitaResult> statistics(EventTrackStatisticsQueryDTO queryDTO) { - return AlitaResult.success(eventTrackService.statistics(queryDTO)); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/eventtrack/convert/EventTrackConvert.java b/src/main/java/com/newyetai/recruit/eventtrack/convert/EventTrackConvert.java deleted file mode 100644 index bc137c4..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/convert/EventTrackConvert.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.newyetai.recruit.eventtrack.convert; - -import com.newyetai.recruit.eventtrack.entity.EventTrack; -import com.newyetai.recruit.eventtrack.dto.EventTrackDTO; -import com.newyetai.recruit.eventtrack.dto.EventTrackOperatorDTO; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** - * 埋点 - * - * @author guixinman - * @since 1.0.0 2025-01-22 - */ -@Mapper -public interface EventTrackConvert { - EventTrackConvert INSTANCE = Mappers.getMapper(EventTrackConvert.class); - - EventTrack convert(EventTrackDTO dto); - - EventTrackDTO convert(EventTrack entity); - - EventTrack convert(EventTrackOperatorDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/eventtrack/dao/EventTrackMapper.java b/src/main/java/com/newyetai/recruit/eventtrack/dao/EventTrackMapper.java deleted file mode 100644 index 3907092..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/dao/EventTrackMapper.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.newyetai.recruit.eventtrack.dao; - -import com.newyetai.recruit.eventtrack.dto.EventTrackStatisticsQueryDTO; -import com.newyetai.recruit.eventtrack.dto.EventTrackStatisticsResDTO; -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.eventtrack.entity.EventTrack; -import com.newyetai.recruit.eventtrack.dto.EventTrackDTO; -import com.newyetai.recruit.eventtrack.dto.EventTrackQueryDTO; -import com.newyetai.recruit.eventtrack.dto.EventTrackPageQueryDTO; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 埋点 - * - * @author guixinman - * @since 1.0.0 2025-01-22 - */ -@Mapper -public interface EventTrackMapper extends MyMapper { - - List page(@Param("param") EventTrackPageQueryDTO queryDTO); - - List list(@Param("param") EventTrackQueryDTO queryDTO); - - List statistics(@Param("param") EventTrackStatisticsQueryDTO queryDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackDTO.java b/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackDTO.java deleted file mode 100644 index 6c1ae63..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackDTO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.newyetai.recruit.eventtrack.dto; - -import com.newyetai.common.dto.BaseDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import java.util.Date; - -/** - * 埋点 - * - * @author guixinman - * @since 1.0.0 2025-01-22 - */ -@ApiModel(" 埋点") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class EventTrackDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("设备编号") - private String deviceCode; - - @ApiModelProperty("用户id") - private Long userId; - - @ApiModelProperty("类型") - private String type; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackMachineReqDTO.java b/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackMachineReqDTO.java deleted file mode 100644 index fc7e346..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackMachineReqDTO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.newyetai.recruit.eventtrack.dto; - -import java.io.Serializable; - -import lombok.Data; - -/** - * @description: - * @author: guixinman - * @create: 2025-01-23 16:43 - **/ -@Data -public class EventTrackMachineReqDTO implements Serializable { - /** - * 机器编号 - */ - private String deviceCode; - - /** - * - */ - private String name; - - private String address; - - /** - * 日期 - */ - private String createDate; - - /** - * 当日使用人数 - */ - private Long userNumber; - -} diff --git a/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackOperatorDTO.java b/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackOperatorDTO.java deleted file mode 100644 index 9163b7c..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackOperatorDTO.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.newyetai.recruit.eventtrack.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -import java.util.Date; - -/** - * 埋点 - * - * @author guixinman - * @since 1.0.0 2025-01-22 - */ -@ApiModel(" 埋点") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class EventTrackOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("设备编号") - private String deviceCode; - - @ApiModelProperty("用户id") - private Long userId; - - @ApiModelProperty("类型") - private String type; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackPageQueryDTO.java b/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackPageQueryDTO.java deleted file mode 100644 index 860d950..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackPageQueryDTO.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.newyetai.recruit.eventtrack.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - - -import java.util.Date; - -/** - * 埋点 - * - * @author guixinman - * @since 1.0.0 2025-01-22 - */ - -@ApiModel(" 埋点") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class EventTrackPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("设备编号") - private String deviceCode; - - @ApiModelProperty("用户id") - private Long userId; - - @ApiModelProperty("类型") - private String type; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackQueryDTO.java b/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackQueryDTO.java deleted file mode 100644 index 0dd606f..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackQueryDTO.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.newyetai.recruit.eventtrack.dto; - -import com.newyetai.common.dto.BaseDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -/** - * 埋点 - * - * @author guixinman - * @since 1.0.0 2025-01-22 - */ -@ApiModel(" 埋点") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class EventTrackQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("设备编号") - private String deviceCode; - - @ApiModelProperty("用户id") - private Long userId; - - @ApiModelProperty("类型") - private String type; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackStatisticsQueryDTO.java b/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackStatisticsQueryDTO.java deleted file mode 100644 index 8ac8739..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackStatisticsQueryDTO.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.newyetai.recruit.eventtrack.dto; - -import java.io.Serializable; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -/** - * @description: - * @author: guixinman - * @create: 2025-01-23 16:04 - **/ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class EventTrackStatisticsQueryDTO implements Serializable { - - private String createTimeStart; - - private String createTimeEnd; -} diff --git a/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackStatisticsResDTO.java b/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackStatisticsResDTO.java deleted file mode 100644 index 80669ad..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/dto/EventTrackStatisticsResDTO.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.newyetai.recruit.eventtrack.dto; - -import java.io.Serializable; - -import lombok.Data; - -/** - * @description: 埋点分组DTO - * @author: guixinman - * @create: 2025-01-23 15:59 - **/ -@Data -public class EventTrackStatisticsResDTO implements Serializable { - private String deviceCode; - private Long userId; - private String type; - private String name; - private String address; - private String createDate; - private Long userNumber; -} diff --git a/src/main/java/com/newyetai/recruit/eventtrack/entity/EventTrack.java b/src/main/java/com/newyetai/recruit/eventtrack/entity/EventTrack.java deleted file mode 100644 index d0a601e..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/entity/EventTrack.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.newyetai.recruit.eventtrack.entity; - -import lombok.*; - -import com.baomidou.mybatisplus.annotation.*; - -import java.util.Date; - -import com.newyetai.common.entity.BaseEntity; - -/** - * 埋点 - * - * @author guixinman - * @since 1.0.0 2025-01-22 - */ -@TableName(value = "hr_event_track") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class EventTrack extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 设备编号 - */ - private String deviceCode; - /** - * 用户id - */ - private Long userId; - /** - * 类型 - */ - private String type; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/eventtrack/job/EventTrackJob.java b/src/main/java/com/newyetai/recruit/eventtrack/job/EventTrackJob.java deleted file mode 100644 index 44a7dc1..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/job/EventTrackJob.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.newyetai.recruit.eventtrack.job; - -import com.newyetai.common.util.JsonUtils; -import com.newyetai.recruit.eventtrack.dto.EventTrackMachineReqDTO; -import com.newyetai.recruit.eventtrack.dto.EventTrackStatisticsQueryDTO; -import com.newyetai.recruit.eventtrack.dto.EventTrackStatisticsResDTO; -import com.newyetai.recruit.eventtrack.service.EventTrackService; -import com.newyetai.sdk.common.dto.DefaultSdkInvokeLogDTO; -import com.newyetai.sdk.common.util.HttpUtils; -import com.newyetai.sdk.tencent.map.dto.TencentMapBaseResDTO; -import com.newyetai.sdk.tencent.map.dto.TencentWsDistanceV1MatrixResDTO; -import com.newyetai.security.util.MockUtils; - -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpMethod; -import org.springframework.http.ResponseEntity; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; -import org.springframework.web.client.RestTemplate; - -import java.util.ArrayList; -import java.util.List; - -import cn.hutool.core.date.DateUtil; -import cn.hutool.http.HttpRequest; -import lombok.extern.slf4j.Slf4j; - -/** - * @description: 埋点job - * @author: guixinman - * @create: 2025-01-23 14:54 - **/ -@Slf4j -@Component -public class EventTrackJob { - - @Autowired - private RestTemplate restTemplate; - - @Autowired - private EventTrackService eventTrackService; - - /* @Scheduled(cron = "0 0/30 * * * *") - public void statistics() { - String createTimeStart = DateUtil.format(DateUtil.beginOfDay(DateUtil.yesterday()), "yyyy-MM-dd HH:mm:ss"); - String createTimeEnd = DateUtil.format(DateUtil.endOfDay(DateUtil.yesterday()), "yyyy-MM-dd HH:mm:ss"); - - log.info("埋点数据推送宝就业后台 ======开始"); - MockUtils.mockPlatUser(); - try { - List statistics = eventTrackService.statistics(EventTrackStatisticsQueryDTO.builder().createTimeStart(createTimeStart).createTimeEnd(createTimeEnd).build()); - List machineReqDTOList = new ArrayList(); - for (EventTrackStatisticsResDTO statistic : statistics) { - EventTrackMachineReqDTO machineReqDTO = new EventTrackMachineReqDTO(); - BeanUtils.copyProperties(statistic,machineReqDTO); - machineReqDTOList.add(machineReqDTO); - } - String result = null; - if (CollectionUtils.isNotEmpty(machineReqDTOList)) { - try { - result = HttpRequest.post("https://baoanhr-1gj59gl3122cad49-1331397164.ap-shanghai.app.tcloudbase.com/v1/api/machine") - .header("Content-Type", "application/json") // 必须声明 JSON 格式 - .body(JsonUtils.toJsonString(machineReqDTOList)) - .timeout(5000) - .execute() - .body(); - } catch (Exception e) { - log.error("EventTrackJob invoke:{} error:{}",JsonUtils.toJsonString(machineReqDTOList), - e); - } finally { - log.info("EventTrackJob invoke:{}", - JsonUtils - .toJsonString( - DefaultSdkInvokeLogDTO.builder().requestData(machineReqDTOList).responseData(result) - .build())); - } - } - } catch (Exception e) { - log.error(e.getMessage()); - } - - log.info("埋点数据推送宝就业后台 ======结束"); - - }*/ -} diff --git a/src/main/java/com/newyetai/recruit/eventtrack/mapper/EventTrackMapper.xml b/src/main/java/com/newyetai/recruit/eventtrack/mapper/EventTrackMapper.xml deleted file mode 100644 index 9da92e2..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/mapper/EventTrackMapper.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - - FROM - hr_event_track t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.device_code = #{param.deviceCode} - - - AND t.user_id = #{param.userId} - - - AND t.type = #{param.type} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/eventtrack/service/EventTrackService.java b/src/main/java/com/newyetai/recruit/eventtrack/service/EventTrackService.java deleted file mode 100644 index 8068ca5..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/service/EventTrackService.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.newyetai.recruit.eventtrack.service; - -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -import java.util.List; - -import com.newyetai.recruit.eventtrack.dto.*; - -/** - * 埋点 - * - * @author guixinman - * @since 1.0.0 2025-01-22 - */ -@Validated(Default.class) -public interface EventTrackService { - - /** - * 埋点 - 创建 - * - * @param operatorDto 操作dto - * @return {@link EventTrackDTO} - */ - EventTrackDTO create(@Valid EventTrackOperatorDTO operatorDto); - - /** - * 埋点 - 修改 - * - * @param operatorDto 操作dto - * @return {@link EventTrackDTO} - */ - EventTrackDTO modify(@Valid EventTrackOperatorDTO operatorDto); - - /** - * 埋点 - 删除 - * - * @param id id - * @return {@link EventTrackDTO} - */ - EventTrackDTO delete(Long id); - - /** - * 埋点 - 根据ID查询单个 - * - * @param id id - * @return {@link EventTrackDTO} - */ - EventTrackDTO findById(Long id); - - /** - * 埋点 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link EventTrackDTO}> - */ - List list(EventTrackQueryDTO queryDTO); - - /** - * 埋点 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link EventTrackDTO} - */ - List page(EventTrackPageQueryDTO queryDTO); - - /** - * @description: 按日统计 - * @return: - * @author: guixinman - * @param: - */ - List statistics(EventTrackStatisticsQueryDTO queryDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/eventtrack/service/impl/EventTrackServiceImpl.java b/src/main/java/com/newyetai/recruit/eventtrack/service/impl/EventTrackServiceImpl.java deleted file mode 100644 index 1b4c0fe..0000000 --- a/src/main/java/com/newyetai/recruit/eventtrack/service/impl/EventTrackServiceImpl.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.newyetai.recruit.eventtrack.service.impl; - -import lombok.extern.slf4j.Slf4j; - -import com.newyetai.common.util.JsonUtils; -import com.newyetai.recruit.eventtrack.convert.EventTrackConvert; -import com.newyetai.recruit.eventtrack.entity.EventTrack; -import com.newyetai.recruit.eventtrack.dto.*; -import com.newyetai.recruit.eventtrack.dao.EventTrackMapper; -import com.newyetai.recruit.eventtrack.service.EventTrackService; - -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; - -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.sdk.tencent.map.dto.TencentMapLocationV1IpResDTO; - -import javax.annotation.Resource; - -import java.util.*; - -/** - * 埋点 - * - * @author guixinman - * @since 1.0.0 2025-01-22 - */ -@Slf4j -@Service -public class EventTrackServiceImpl implements EventTrackService { - - @Resource - private EventTrackMapper eventTrackMapper; - - @Override - public EventTrackDTO create(EventTrackOperatorDTO operatorDto) { - EventTrack eventTrack = EventTrackConvert.INSTANCE.convert(operatorDto); - eventTrackMapper.saveEntity(eventTrack); - return EventTrackConvert.INSTANCE.convert(eventTrack); - } - - @Override - public EventTrackDTO modify(EventTrackOperatorDTO operatorDto) { - EventTrackDTO eventTrackDto = this.findById(operatorDto.getId()); - if (Objects.isNull(eventTrackDto)) { - return null; - } - EventTrack eventTrack = EventTrackConvert.INSTANCE.convert(operatorDto); - eventTrackMapper.updateEntitySelective(eventTrack); - return this.findById(operatorDto.getId()); - } - - @Override - public EventTrackDTO delete(Long id) { - EventTrackDTO eventTrackDto = this.findById(id); - if (Objects.isNull(eventTrackDto)) { - return null; - } - EventTrack eventTrack = EventTrack.builder().build(); - eventTrack.setId(id); - eventTrackMapper.deleteEntity(eventTrack, UserContextHolder.getLoginUserId()); - return eventTrackDto; - } - - @Override - public EventTrackDTO findById(Long id) { - EventTrack eventTrack = eventTrackMapper.getById(id); - if (Objects.isNull(eventTrack)) { - return null; - } - return EventTrackConvert.INSTANCE.convert(eventTrack); - } - - @Override - public List list(EventTrackQueryDTO queryDTO) { - return eventTrackMapper.list(queryDTO); - } - - @Override - public List page(EventTrackPageQueryDTO queryDTO) { - return eventTrackMapper.page(queryDTO); - } - - @Override - public List statistics(EventTrackStatisticsQueryDTO queryDTO) { - List statisticList = eventTrackMapper.statistics(queryDTO); - return statisticList; - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/jobhelp/controller/JobHelpController.java b/src/main/java/com/newyetai/recruit/jobhelp/controller/JobHelpController.java deleted file mode 100644 index 9a63ddf..0000000 --- a/src/main/java/com/newyetai/recruit/jobhelp/controller/JobHelpController.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.newyetai.recruit.jobhelp.controller; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -import com.newyetai.common.AlitaResult; -import com.newyetai.common.validation.Create; -import com.newyetai.common.validation.Update; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.jobhelp.dto.*; -import com.newyetai.recruit.jobhelp.service.JobHelpService; - -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * 就业帮扶 - * - * @author guixinman - * @since 1.0.0 2024-04-17 - */ -@Api(tags = "就业帮扶") -@RestController -@RequestMapping("/jobhelp") -public class JobHelpController { - - @Autowired - private JobHelpService jobHelpService; - - @PostMapping("/create") - @ApiOperation("就业帮扶-创建") - public AlitaResult create(@RequestBody @Validated(value = Create.class) JobHelpOperatorDTO operatorDTO) { - return AlitaResult.success(jobHelpService.create(operatorDTO)); - } - - @PutMapping("/modify") - @ApiOperation("就业帮扶-修改") - public AlitaResult modify(@RequestBody @Validated(value = Update.class) JobHelpOperatorDTO operatorDTO) { - return AlitaResult.success(jobHelpService.modify(operatorDTO)); - } - - @DeleteMapping("/{id}") - @ApiOperation("就业帮扶-删除") - public AlitaResult delete(@PathVariable("id") Long id) { - return AlitaResult.success(jobHelpService.delete(id)); - } - - @GetMapping("/{id}") - @ApiOperation("就业帮扶-查询单个") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(jobHelpService.findById(id)); - } - - @GetMapping("/list") - @ApiOperation("就业帮扶-列表查询") - public AlitaResult> list(JobHelpQueryDTO queryDTO) { - return AlitaResult.success(jobHelpService.list(queryDTO)); - } - - @GetMapping("/page") - @ApiOperation("就业帮扶-分页查询") - public AlitaResult> page(JobHelpPageQueryDTO queryDTO) { - jobHelpService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @GetMapping("/user_page") - @ApiOperation("就业帮扶-分页查询") - public AlitaResult> userPage(JobHelpPageQueryDTO queryDTO) { - jobHelpService.userPage(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/jobhelp/convert/JobHelpConvert.java b/src/main/java/com/newyetai/recruit/jobhelp/convert/JobHelpConvert.java deleted file mode 100644 index dd92cbb..0000000 --- a/src/main/java/com/newyetai/recruit/jobhelp/convert/JobHelpConvert.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.jobhelp.convert; - -import com.newyetai.recruit.jobhelp.entity.JobHelp; -import com.newyetai.recruit.jobhelp.dto.JobHelpDTO; -import com.newyetai.recruit.jobhelp.dto.JobHelpOperatorDTO; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 就业帮扶 - * - * @author guixinman - * @since 1.0.0 2024-04-17 - */ -@Mapper -public interface JobHelpConvert { - JobHelpConvert INSTANCE = Mappers.getMapper(JobHelpConvert.class); - - JobHelp convert(JobHelpDTO dto); - - JobHelpDTO convert(JobHelp entity); - - JobHelp convert(JobHelpOperatorDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/jobhelp/dao/JobHelpMapper.java b/src/main/java/com/newyetai/recruit/jobhelp/dao/JobHelpMapper.java deleted file mode 100644 index fc27f8c..0000000 --- a/src/main/java/com/newyetai/recruit/jobhelp/dao/JobHelpMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.jobhelp.dao; - -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.jobhelp.entity.JobHelp; -import com.newyetai.recruit.jobhelp.dto.JobHelpDTO; -import com.newyetai.recruit.jobhelp.dto.JobHelpQueryDTO; -import com.newyetai.recruit.jobhelp.dto.JobHelpPageQueryDTO; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 就业帮扶 - * - * @author guixinman - * @since 1.0.0 2024-04-17 - */ -@Mapper -public interface JobHelpMapper extends MyMapper { - - List page(@Param("param") JobHelpPageQueryDTO queryDTO); - - List list(@Param("param") JobHelpQueryDTO queryDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/jobhelp/dto/JobHelpDTO.java b/src/main/java/com/newyetai/recruit/jobhelp/dto/JobHelpDTO.java deleted file mode 100644 index 0bfd645..0000000 --- a/src/main/java/com/newyetai/recruit/jobhelp/dto/JobHelpDTO.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.newyetai.recruit.jobhelp.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.dto.BaseDTO; - -import org.springframework.format.annotation.DateTimeFormat; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import java.util.Date; - -/** - * 就业帮扶 - * - * @author guixinman - * @since 1.0.0 2024-04-17 - */ -@ApiModel("就业帮扶") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class JobHelpDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - private Long userId; - - @ApiModelProperty("问题") - private String question; - - @ApiModelProperty("状态:1、待回复 2、已回复") - private String status; - - @ApiModelProperty("回答") - private String answer; - - @ApiModelProperty("回复时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date answerTime; - - private String nickname; - - private String phone; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/jobhelp/dto/JobHelpOperatorDTO.java b/src/main/java/com/newyetai/recruit/jobhelp/dto/JobHelpOperatorDTO.java deleted file mode 100644 index 3b5921e..0000000 --- a/src/main/java/com/newyetai/recruit/jobhelp/dto/JobHelpOperatorDTO.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.newyetai.recruit.jobhelp.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.validation.Create; -import com.newyetai.common.validation.Update; - -import org.hibernate.validator.constraints.Length; -import org.springframework.format.annotation.DateTimeFormat; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -import java.util.Date; - -/** - * 就业帮扶 - * - * @author guixinman - * @since 1.0.0 2024-04-17 - */ -@ApiModel("就业帮扶") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class JobHelpOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - @NotNull(message = "参数缺失",groups = Update.class) - private Long id; - - private Long userId; - - @Length(max = 512,message = "问题描述超长了",groups = Create.class) - @NotBlank(message = "请输入问题描述",groups = Create.class) - @ApiModelProperty("问题") - private String question; - - @ApiModelProperty("状态:1、待回复 2、已回复") - private String status; - - @NotBlank(message = "请输入回复内容",groups = Update.class) - @ApiModelProperty("回答") - private String answer; - - @ApiModelProperty("回复时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date answerTime; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/jobhelp/dto/JobHelpPageQueryDTO.java b/src/main/java/com/newyetai/recruit/jobhelp/dto/JobHelpPageQueryDTO.java deleted file mode 100644 index b3930ee..0000000 --- a/src/main/java/com/newyetai/recruit/jobhelp/dto/JobHelpPageQueryDTO.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.newyetai.recruit.jobhelp.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - - -import java.util.Date; - -/** - * 就业帮扶 - * - * @author guixinman - * @since 1.0.0 2024-04-17 - */ - -@ApiModel("就业帮扶") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class JobHelpPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - private Long userId; - - @ApiModelProperty("问题") - private String question; - - @ApiModelProperty("状态:1、待回复 2、已回复") - private String status; - - @ApiModelProperty("回答") - private String answer; - - @ApiModelProperty("回复时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date answerTime; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/jobhelp/dto/JobHelpQueryDTO.java b/src/main/java/com/newyetai/recruit/jobhelp/dto/JobHelpQueryDTO.java deleted file mode 100644 index a838535..0000000 --- a/src/main/java/com/newyetai/recruit/jobhelp/dto/JobHelpQueryDTO.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.newyetai.recruit.jobhelp.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -/** - * 就业帮扶 - * - * @author guixinman - * @since 1.0.0 2024-04-17 - */ -@ApiModel("就业帮扶") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class JobHelpQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - private Long userId; - - @ApiModelProperty("问题") - private String question; - - @ApiModelProperty("状态:1、待回复 2、已回复") - private String status; - - @ApiModelProperty("回答") - private String answer; - - @ApiModelProperty("回复时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date answerTime; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/jobhelp/entity/JobHelp.java b/src/main/java/com/newyetai/recruit/jobhelp/entity/JobHelp.java deleted file mode 100644 index 450f586..0000000 --- a/src/main/java/com/newyetai/recruit/jobhelp/entity/JobHelp.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.newyetai.recruit.jobhelp.entity; - - -import lombok.*; - -import com.baomidou.mybatisplus.annotation.*; - -import java.util.Date; - -import com.newyetai.common.entity.BaseEntity; - -/** - * 就业帮扶 - * - * @author guixinman - * @since 1.0.0 2024-04-17 - */ -@TableName(value = "hr_job_help") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class JobHelp extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * - */ - private Long userId; - /** - * 问题 - */ - private String question; - /** - * 状态:1、待回复 2、已回复 - */ - private String status; - /** - * 回答 - */ - private String answer; - /** - * 回复时间 - */ - private Date answerTime; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/jobhelp/enums/JobHelpStatusEnum.java b/src/main/java/com/newyetai/recruit/jobhelp/enums/JobHelpStatusEnum.java deleted file mode 100644 index cb64c1a..0000000 --- a/src/main/java/com/newyetai/recruit/jobhelp/enums/JobHelpStatusEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.newyetai.recruit.jobhelp.enums; - -public enum JobHelpStatusEnum { - INIT("1", "待回复"), - ANSWER("2", "已回复") - ; - - private String status; - /** - * 类型描述 - */ - private String desc; - - - JobHelpStatusEnum(String status, String desc) { - this.status = status; - this.desc = desc; - } - - public String getStatus() { - return status; - } - - public String getDesc() { - return desc; - } -} diff --git a/src/main/java/com/newyetai/recruit/jobhelp/mapper/JobHelpMapper.xml b/src/main/java/com/newyetai/recruit/jobhelp/mapper/JobHelpMapper.xml deleted file mode 100644 index cb2ca96..0000000 --- a/src/main/java/com/newyetai/recruit/jobhelp/mapper/JobHelpMapper.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - FROM - hr_job_help t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.user_id = #{param.userId} - - - AND t.question = #{param.question} - - - AND t.status = #{param.status} - - - AND t.answer = #{param.answer} - - - AND t.answer_time = #{param.answerTime} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/jobhelp/service/JobHelpService.java b/src/main/java/com/newyetai/recruit/jobhelp/service/JobHelpService.java deleted file mode 100644 index b1ffda3..0000000 --- a/src/main/java/com/newyetai/recruit/jobhelp/service/JobHelpService.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.newyetai.recruit.jobhelp.service; - -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -import java.util.List; - -import com.newyetai.recruit.jobhelp.dto.*; - -/** - * 就业帮扶 - * - * @author guixinman - * @since 1.0.0 2024-04-17 - */ -@Validated(Default.class) -public interface JobHelpService { - - /** - * 就业帮扶 - 创建 - * - * @param operatorDto 操作dto - * @return {@link JobHelpDTO} - */ - JobHelpDTO create(@Valid JobHelpOperatorDTO operatorDto); - - /** - * 就业帮扶 - 修改 - * - * @param operatorDto 操作dto - * @return {@link JobHelpDTO} - */ - JobHelpDTO modify(@Valid JobHelpOperatorDTO operatorDto); - - /** - * 就业帮扶 - 删除 - * - * @param id id - * @return {@link JobHelpDTO} - */ - JobHelpDTO delete(Long id); - - /** - * 就业帮扶 - 根据ID查询单个 - * - * @param id id - * @return {@link JobHelpDTO} - */ - JobHelpDTO findById(Long id); - - /** - * 就业帮扶 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link JobHelpDTO}> - */ - List list(JobHelpQueryDTO queryDTO); - - /** - * 就业帮扶 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link JobHelpDTO} - */ - List page(JobHelpPageQueryDTO queryDTO); - - List userPage(JobHelpPageQueryDTO queryDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/jobhelp/service/impl/JobHelpServiceImpl.java b/src/main/java/com/newyetai/recruit/jobhelp/service/impl/JobHelpServiceImpl.java deleted file mode 100644 index 1b83583..0000000 --- a/src/main/java/com/newyetai/recruit/jobhelp/service/impl/JobHelpServiceImpl.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.newyetai.recruit.jobhelp.service.impl; - -import lombok.extern.slf4j.Slf4j; - -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.util.SensitiveWordUtils; -import com.newyetai.recruit.jobhelp.convert.JobHelpConvert; -import com.newyetai.recruit.jobhelp.entity.JobHelp; -import com.newyetai.recruit.jobhelp.dto.*; -import com.newyetai.recruit.jobhelp.dao.JobHelpMapper; -import com.newyetai.recruit.jobhelp.enums.JobHelpStatusEnum; -import com.newyetai.recruit.jobhelp.service.JobHelpService; - -import org.springframework.stereotype.Service; - -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.usercenter.enums.OrgTypeEnum; - -import javax.annotation.Resource; - -import java.util.*; - -/** - * 就业帮扶 - * - * @author guixinman - * @since 1.0.0 2024-04-17 - */ -@Slf4j -@Service -public class JobHelpServiceImpl implements JobHelpService { - - @Resource - private JobHelpMapper jobHelpMapper; - - @Override - public JobHelpDTO create(JobHelpOperatorDTO operatorDto) { - if (!SensitiveWordUtils.check(operatorDto.getQuestion())) { - throw new BusinessException("非法问题描述"); - } - Long userId = UserContextHolder.getExistLoginUserId(); - - operatorDto.setUserId(userId); - operatorDto.setStatus(JobHelpStatusEnum.INIT.getStatus()); - JobHelp jobHelp = JobHelpConvert.INSTANCE.convert(operatorDto); - jobHelpMapper.saveEntity(jobHelp); - return JobHelpConvert.INSTANCE.convert(jobHelp); - } - - @Override - public JobHelpDTO modify(JobHelpOperatorDTO operatorDto) { - JobHelpDTO jobHelpDto = this.findById(operatorDto.getId()); - if (Objects.isNull(jobHelpDto)) { - return null; - } - JobHelp jobHelp = new JobHelp(); - jobHelp.setId(operatorDto.getId()); - jobHelp.setAnswer(operatorDto.getAnswer()); - jobHelp.setAnswerTime(new Date()); - jobHelp.setStatus(JobHelpStatusEnum.ANSWER.getStatus()); - jobHelpMapper.updateEntitySelective(jobHelp); - return this.findById(operatorDto.getId()); - } - - @Override - public JobHelpDTO delete(Long id) { - JobHelpDTO jobHelpDto = this.findById(id); - if (Objects.isNull(jobHelpDto)) { - return null; - } - JobHelp jobHelp = JobHelp.builder().build(); - jobHelp.setId(id); - jobHelpMapper.deleteEntity(jobHelp, UserContextHolder.getLoginUserId()); - return jobHelpDto; - } - - @Override - public JobHelpDTO findById(Long id) { - JobHelp jobHelp = jobHelpMapper.getById(id); - if (Objects.isNull(jobHelp)) { - return null; - } - return JobHelpConvert.INSTANCE.convert(jobHelp); - } - - @Override - public List list(JobHelpQueryDTO queryDTO) { - return jobHelpMapper.list(queryDTO); - } - - @Override - public List page(JobHelpPageQueryDTO queryDTO) { - if (OrgTypeEnum.ORG_TYPE_PLATFORM.getType().equals(UserContextHolder.getOrgType()) || OrgTypeEnum.ORG_TYPE_GOV.getType().equals(UserContextHolder.getOrgType()) ) { - return jobHelpMapper.page(queryDTO); - }else { - return new ArrayList<>(); - } - } - - @Override - public List userPage(JobHelpPageQueryDTO queryDTO) { - queryDTO.setUserId(UserContextHolder.getExistLoginUserId()); - return jobHelpMapper.page(queryDTO); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/orgapply/controller/OrgApplyController.java b/src/main/java/com/newyetai/recruit/orgapply/controller/OrgApplyController.java deleted file mode 100644 index c7c87bd..0000000 --- a/src/main/java/com/newyetai/recruit/orgapply/controller/OrgApplyController.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.newyetai.recruit.orgapply.controller; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -import com.newyetai.common.AlitaResult; -import com.newyetai.recruit.orgapply.entity.OrgApply; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.orgapply.dto.*; -import com.newyetai.recruit.orgapply.service.OrgApplyService; - -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * 入驻申请表 - * - * @author guixinman - * @since 1.0.0 2024-04-08 - */ -@Api(tags = "入驻申请表") -@RestController -public class OrgApplyController { - - @Autowired - private OrgApplyService orgApplyService; - - @PostMapping("/anon/org_apply/create") - @ApiOperation("入驻申请表-创建") - public AlitaResult create(@RequestBody @Validated OrgApplyOperatorDTO operatorDTO) { - return AlitaResult.success(orgApplyService.create(operatorDTO)); - } - - @PostMapping("/org_apply/modify") - @ApiOperation("入驻申请表-修改") - public AlitaResult modify(@RequestBody OrgApplyOperatorDTO operatorDTO) { - return AlitaResult.success(orgApplyService.modify(operatorDTO)); - } - - @DeleteMapping("/org_apply/{id}") - @ApiOperation("入驻申请表-删除") - public AlitaResult delete(@PathVariable("id") Long id) { - return AlitaResult.success(orgApplyService.delete(id)); - } - - @GetMapping("/org_apply/{id}") - @ApiOperation("入驻申请表-查询单个") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(orgApplyService.findById(id)); - } - - @GetMapping("/org_apply/list") - @ApiOperation("入驻申请表-列表查询") - public AlitaResult> list(OrgApplyQueryDTO queryDTO) { - return AlitaResult.success(orgApplyService.list(queryDTO)); - } - - @GetMapping("/org_apply/page") - @ApiOperation("入驻申请表-分页查询") - public AlitaResult> page(OrgApplyPageQueryDTO queryDTO) { - orgApplyService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @PostMapping("/org_apply/approve") - @ApiOperation("审批") - public AlitaResult approve(@RequestBody @Validated OrgApplyApproveDTO applyApproveDTO) { - orgApplyService.approve(applyApproveDTO); - return AlitaResult.success(); - } - - @ApiOperation("查看审批单") - @GetMapping("/anon/org_apply/getInfo") - public AlitaResult> getInfoByPhone(@RequestParam("phone") String phone) { - List infoByPhone = orgApplyService.getInfoByPhone(phone); - return AlitaResult.success(infoByPhone); - } - - @ApiOperation("分享") - @GetMapping("/org_apply/user/share") - public AlitaResult share(){ - return AlitaResult.success(orgApplyService.share()); - } - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/orgapply/convert/OrgApplyConvert.java b/src/main/java/com/newyetai/recruit/orgapply/convert/OrgApplyConvert.java deleted file mode 100644 index 35a672e..0000000 --- a/src/main/java/com/newyetai/recruit/orgapply/convert/OrgApplyConvert.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.orgapply.convert; - -import com.newyetai.recruit.orgapply.entity.OrgApply; -import com.newyetai.recruit.orgapply.dto.OrgApplyDTO; -import com.newyetai.recruit.orgapply.dto.OrgApplyOperatorDTO; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 入驻申请表 - * - * @author guixinman - * @since 1.0.0 2024-04-08 - */ -@Mapper -public interface OrgApplyConvert { - OrgApplyConvert INSTANCE = Mappers.getMapper(OrgApplyConvert.class); - - OrgApply convert(OrgApplyDTO dto); - - OrgApplyDTO convert(OrgApply entity); - - OrgApply convert(OrgApplyOperatorDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/orgapply/dao/OrgApplyMapper.java b/src/main/java/com/newyetai/recruit/orgapply/dao/OrgApplyMapper.java deleted file mode 100644 index 6c8c784..0000000 --- a/src/main/java/com/newyetai/recruit/orgapply/dao/OrgApplyMapper.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.newyetai.recruit.orgapply.dao; - -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.orgapply.entity.OrgApply; -import com.newyetai.recruit.orgapply.dto.OrgApplyDTO; -import com.newyetai.recruit.orgapply.dto.OrgApplyQueryDTO; -import com.newyetai.recruit.orgapply.dto.OrgApplyPageQueryDTO; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 入驻申请表 - * - * @author guixinman - * @since 1.0.0 2024-04-08 - */ -@Mapper -public interface OrgApplyMapper extends MyMapper { - - List page(@Param("param") OrgApplyPageQueryDTO queryDTO); - - List list(@Param("param") OrgApplyQueryDTO queryDTO); - - int approve(@Param("id") Long id, @Param("oldStatus") String oldStatus, @Param("newStatus") String newStatus, @Param("cause") String cause, @Param("operateUserId") Long operateUserId); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyApproveDTO.java b/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyApproveDTO.java deleted file mode 100644 index 3778f3c..0000000 --- a/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyApproveDTO.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.newyetai.recruit.orgapply.dto; - -import java.io.Serializable; - -import javax.validation.constraints.NotNull; - -import lombok.Data; - -/** - * @description: 入驻审批 - * @author: guixinman - * @create: 2024-04-08 14:55 - **/ -@Data -public class OrgApplyApproveDTO implements Serializable { - - @NotNull(message = "请选择要处理的数据") - private Long id; - - @NotNull(message = "请选择状态") - private String status; - - private String cause; -} diff --git a/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyDTO.java b/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyDTO.java deleted file mode 100644 index 7dbad37..0000000 --- a/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyDTO.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.newyetai.recruit.orgapply.dto; - -import com.newyetai.common.dto.BaseDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -/** - * 入驻申请表 - * - * @author guixinman - * @since 1.0.0 2024-04-08 - */ -@ApiModel("入驻申请表") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class OrgApplyDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("统一社会信用代码") - private String creditCode; - - @ApiModelProperty("公司名称") - private String companyName; - - @ApiModelProperty("企业所在地") - private String areaCode; - - private String areaCodeName; - - @ApiModelProperty("邀请人") - private Long inviterUserId; - - @ApiModelProperty("邀请机构") - private Long inviterOrgId; - - private String inviterOrgName; - - @ApiModelProperty("企业联系手机") - private String phone; - - @ApiModelProperty("企业类型") - private String companyType; - - @ApiModelProperty("状态 1:待处理 2:已通过 3:已驳回") - private String status; - - @ApiModelProperty("营业执照") - private String businessLicenseCode; - - /** - * 原因 - */ - private String cause; - - /** - * 招聘岗位类型 - */ - private String recruitPositionType; - - private String recruitPositionTypeName; - - /** - * 注册地址 - */ - private String registeredAddress; - - /** - * 企业所在地:文本 - */ - private String addressName; - - @ApiModelProperty("管理员姓名") - private String realName; - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyInviterDTO.java b/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyInviterDTO.java deleted file mode 100644 index 734fdc5..0000000 --- a/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyInviterDTO.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.newyetai.recruit.orgapply.dto; - -import java.io.Serializable; - -import lombok.Data; - -/** - * @description: 入驻邀请人dto - * @author: guixinman - * @create: 2024-04-10 17:16 - **/ -@Data -public class OrgApplyInviterDTO implements Serializable { - - /** - * 邀请人 - */ - private Long inviterUserId; - /** - * 邀请机构 - */ - private Long inviterOrgId; -} diff --git a/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyOperatorDTO.java b/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyOperatorDTO.java deleted file mode 100644 index 82ab182..0000000 --- a/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyOperatorDTO.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.newyetai.recruit.orgapply.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import org.hibernate.validator.constraints.Length; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -/** - * 入驻申请表 - * - * @author guixinman - * @since 1.0.0 2024-04-08 - */ -@ApiModel("入驻申请表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class OrgApplyOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @Length(max = 64,message = "统一社会信用代码超长了") - @ApiModelProperty("统一社会信用代码") - private String creditCode; - - @NotBlank(message = "企业名称不能为空") - @Length(max = 32,message = "企业名称超长了") - @ApiModelProperty("公司名称") - private String companyName; - - @Length(max = 50,message = "企业所在地超长了") - @ApiModelProperty("企业所在地") - private String areaCode; - - @ApiModelProperty("邀请人") - private Long inviterUserId; - - @ApiModelProperty("邀请机构") - private Long inviterOrgId; - - @NotBlank(message = "企业联系手机不能为空") - @Length(max = 20,message = "企业联系手机超长了") - @ApiModelProperty("企业联系手机") - private String phone; - - @NotBlank(message = "管理员姓名不能为空") - @ApiModelProperty("管理员姓名") - private String realName; - - @NotNull(message = "企业类型不能为空") - @ApiModelProperty("企业类型") - private String companyType; - - @ApiModelProperty("状态 1:待处理 2:已通过 3:已驳回") - private String status; - - @NotBlank(message = "营业执照不能为空") - @ApiModelProperty("营业执照") - private String businessLicenseCode; - - private String uniqueCode; - - private String smsCode; - - /** - * 招聘岗位类型 - */ - private String recruitPositionType; - - /** - * 注册地址 - */ - @Length(max = 128,message = "注册地址超长了") - @NotBlank(message = "企业注册地址不能为空") - private String registeredAddress; - - /** - * 企业所在地:文本 - */ - @Length(max = 128,message = "企业所在地超长了") - private String addressName; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyPageQueryDTO.java b/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyPageQueryDTO.java deleted file mode 100644 index 443884f..0000000 --- a/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyPageQueryDTO.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.newyetai.recruit.orgapply.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - - -import java.util.Date; - -/** - * 入驻申请表 - * - * @author guixinman - * @since 1.0.0 2024-04-08 - */ - -@ApiModel("入驻申请表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class OrgApplyPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("统一社会信用代码") - private String creditCode; - - @ApiModelProperty("公司名称 (模糊匹配)") - private String companyNameLike; - - @ApiModelProperty("企业所在地") - private String areaCode; - - @ApiModelProperty("邀请人") - private Long inviterUserId; - - @ApiModelProperty("邀请机构") - private Long inviterOrgId; - - @ApiModelProperty("企业联系手机") - private String phone; - - @ApiModelProperty("企业类型") - private String companyType; - - @ApiModelProperty("状态 1:待处理 2:已通过 3:已驳回") - private String status; - - @ApiModelProperty("营业执照") - private String businessLicenseCode; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyQueryDTO.java b/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyQueryDTO.java deleted file mode 100644 index c27d123..0000000 --- a/src/main/java/com/newyetai/recruit/orgapply/dto/OrgApplyQueryDTO.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.newyetai.recruit.orgapply.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -/** - * 入驻申请表 - * - * @author guixinman - * @since 1.0.0 2024-04-08 - */ -@ApiModel("入驻申请表") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class OrgApplyQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("统一社会信用代码") - private String creditCode; - - @ApiModelProperty("公司名称 (模糊匹配)") - private String companyNameLike; - - @ApiModelProperty("企业所在地") - private String areaCode; - - @ApiModelProperty("邀请人") - private Long inviterUserId; - - @ApiModelProperty("邀请机构") - private Long inviterOrgId; - - @ApiModelProperty("企业联系手机") - private String phone; - - @ApiModelProperty("企业类型") - private String companyType; - - @ApiModelProperty("状态 1:待处理 2:已通过 3:已驳回") - private String status; - - @ApiModelProperty("营业执照") - private String businessLicenseCode; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/orgapply/entity/OrgApply.java b/src/main/java/com/newyetai/recruit/orgapply/entity/OrgApply.java deleted file mode 100644 index 2499c34..0000000 --- a/src/main/java/com/newyetai/recruit/orgapply/entity/OrgApply.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.newyetai.recruit.orgapply.entity; - -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import com.baomidou.mybatisplus.annotation.*; - -import com.newyetai.common.entity.BaseEntity; - -/** - * 入驻申请表 - * - * @author guixinman - * @since 1.0.0 2024-04-08 - */ -@TableName(value = "org_apply") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class OrgApply extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 统一社会信用代码 - */ - private String creditCode; - /** - * 公司名称 - */ - private String companyName; - /** - * 企业所在地 - */ - private String areaCode; - /** - * 邀请人 - */ - private Long inviterUserId; - /** - * 邀请机构 - */ - private Long inviterOrgId; - /** - * 企业联系手机 - */ - private String phone; - /** - * 企业类型 - */ - private String companyType; - /** - * 状态 1:待处理 2:已通过 3:已驳回 - */ - private String status; - /** - * 营业执照 - */ - private String businessLicenseCode; - /** - * 原因 - */ - private String cause; - - /** - * 招聘岗位类型 - */ - private String recruitPositionType; - - /** - * 注册地址 - */ - private String registeredAddress; - - /** - * 企业所在地:文本 - */ - private String addressName; - - @ApiModelProperty("管理员姓名") - private String realName; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/orgapply/enums/OrgApplyEnum.java b/src/main/java/com/newyetai/recruit/orgapply/enums/OrgApplyEnum.java deleted file mode 100644 index 87d8c8c..0000000 --- a/src/main/java/com/newyetai/recruit/orgapply/enums/OrgApplyEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.newyetai.recruit.orgapply.enums; - -public enum OrgApplyEnum { - INIT("1","待处理"), - SUCCESS("2","已通过"), - REJECT("3","已驳回") - ; - - private String status; - /** - * 类型描述 - */ - private String desc; - - - OrgApplyEnum(String status, String desc) { - this.status = status; - this.desc = desc; - } - - public String getStatus() { - return status; - } - - public String getDesc() { - return desc; - } -} diff --git a/src/main/java/com/newyetai/recruit/orgapply/mapper/OrgApplyMapper.xml b/src/main/java/com/newyetai/recruit/orgapply/mapper/OrgApplyMapper.xml deleted file mode 100644 index fdb4e76..0000000 --- a/src/main/java/com/newyetai/recruit/orgapply/mapper/OrgApplyMapper.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - update org_apply set status = #{newStatus}, cause=#{cause}, update_by = #{operateUserId}, update_time = now() where id = #{id} and status = #{oldStatus} - - - - - - - - FROM - org_apply t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.credit_code = #{param.creditCode} - - - - AND t.company_name like #{companyNameLike} - - - AND t.area_code = #{param.areaCode} - - - AND t.inviter_user_id = #{param.inviterUserId} - - - AND t.inviter_org_id = #{param.inviterOrgId} - - - AND t.phone = #{param.phone} - - - AND t.company_type = #{param.companyType} - - - AND t.status = #{param.status} - - - AND t.business_license_code = #{param.businessLicenseCode} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/orgapply/service/OrgApplyService.java b/src/main/java/com/newyetai/recruit/orgapply/service/OrgApplyService.java deleted file mode 100644 index 13acd49..0000000 --- a/src/main/java/com/newyetai/recruit/orgapply/service/OrgApplyService.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.newyetai.recruit.orgapply.service; - -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -import java.util.List; - -import com.newyetai.recruit.orgapply.dto.*; -import com.newyetai.recruit.orgapply.entity.OrgApply; - -/** - * 入驻申请表 - * - * @author guixinman - * @since 1.0.0 2024-04-08 - */ -@Validated(Default.class) -public interface OrgApplyService { - - /** - * 入驻申请表 - 创建 - * - * @param operatorDto 操作dto - * @return {@link OrgApplyDTO} - */ - OrgApplyDTO create(@Valid OrgApplyOperatorDTO operatorDto); - - /** - * 入驻申请表 - 修改 - * - * @param operatorDto 操作dto - * @return {@link OrgApplyDTO} - */ - OrgApplyDTO modify(@Valid OrgApplyOperatorDTO operatorDto); - - /** - * 入驻申请表 - 删除 - * - * @param id id - * @return {@link OrgApplyDTO} - */ - OrgApplyDTO delete(Long id); - - /** - * 入驻申请表 - 根据ID查询单个 - * - * @param id id - * @return {@link OrgApplyDTO} - */ - OrgApplyDTO findById(Long id); - - /** - * 入驻申请表 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link OrgApplyDTO}> - */ - List list(OrgApplyQueryDTO queryDTO); - - /** - * 入驻申请表 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link OrgApplyDTO} - */ - List page(OrgApplyPageQueryDTO queryDTO); - - /** - * @description: 审批 - * @return: - * @author: guixinman - * @param: - */ - void approve(OrgApplyApproveDTO orgApplyApproveDTO); - - /** - * @description: 根据手机号获取 入驻申请单 - * @return: - * @author: guixinman - * @param: - */ - - List getInfoByPhone(String phone); - - String share(); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/orgapply/service/impl/OrgApplyServiceImpl.java b/src/main/java/com/newyetai/recruit/orgapply/service/impl/OrgApplyServiceImpl.java deleted file mode 100644 index 30ba66d..0000000 --- a/src/main/java/com/newyetai/recruit/orgapply/service/impl/OrgApplyServiceImpl.java +++ /dev/null @@ -1,297 +0,0 @@ -package com.newyetai.recruit.orgapply.service.impl; - -import com.google.common.collect.Maps; - -import lombok.extern.slf4j.Slf4j; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.function.TransactionAfterCommit; -import com.newyetai.component.dict.util.DictUtils; -import com.newyetai.config.service.ConfigService; -import com.newyetai.frame.redis.aop.annotation.AutoUnLock; -import com.newyetai.frame.redis.dto.LockDTO; -import com.newyetai.frame.redis.redisson.RedissonUtils; -import com.newyetai.recruit.orgapply.convert.OrgApplyConvert; -import com.newyetai.recruit.orgapply.entity.OrgApply; -import com.newyetai.recruit.orgapply.dto.*; -import com.newyetai.recruit.orgapply.dao.OrgApplyMapper; -import com.newyetai.recruit.orgapply.enums.OrgApplyEnum; -import com.newyetai.recruit.orgapply.service.OrgApplyService; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.compress.utils.Lists; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.security.expection.BadLoginException; -import com.newyetai.usercenter.common.dto.SlickParamCreateDTO; -import com.newyetai.usercenter.common.service.SlickParamService; -import com.newyetai.usercenter.enums.OrgTypeEnum; -import com.newyetai.usercenter.enums.SmsTemplateCodeEnum; -import com.newyetai.usercenter.org.dto.OrgCreateDTO; -import com.newyetai.usercenter.org.service.OrgService; -import com.newyetai.usercenter.user.dto.UserRegisterCodeInfoDTO; -import com.newyetai.usercenter.user.phone.constant.PhoneCodeProviderEnum; -import com.newyetai.usercenter.user.phone.dto.PhoneCodeDTO; -import com.newyetai.usercenter.user.phone.dto.SmsSimpleSendDTO; -import com.newyetai.usercenter.user.phone.dto.SmsSimpleSendDetailDTO; -import com.newyetai.usercenter.user.phone.provider.simple.ISimpleSms; -import com.newyetai.usercenter.user.phone.util.PhoneCodeUtils; - -import javax.annotation.Resource; - -import java.util.*; - -/** - * 入驻申请表 - * - * @author guixinman - * @since 1.0.0 2024-04-08 - */ -@Slf4j -@Service -public class OrgApplyServiceImpl implements OrgApplyService { - - @Resource - private OrgApplyMapper orgApplyMapper; - - @Autowired - private ISimpleSms simpleSms; - - @Autowired - private SlickParamService slickParamService; - - @Autowired - private OrgService orgService; - - @Autowired - private ConfigService configService; - - - - /** - * @description: 企业名称 + 手机号只能申请一次,不能重复申请,驳回后可以重新提交 - * @return: - * @author: guixinman - * @param: - */ - - @AutoUnLock - @Override - public OrgApplyDTO create(OrgApplyOperatorDTO operatorDto) { - Assert.isTrue( - RedissonUtils.tryLockAutomatically( - LockDTO.builder() - .tryLockWaitTime(0L) - .lockTimeout(60 * 5L) - .methodName("org_apply:create") - .arg(operatorDto.getCompanyName()) - .arg(operatorDto.getPhone()) - .build() - ), - "请稍后再试"); - String inviterOrgId = configService.getConfigValue("org_apply_inviter_org_id", CommonConstants.PLATFORM_ORG_ID, true); - operatorDto.setInviterOrgId(Long.parseLong(inviterOrgId)); - - //取消验证码 - /*boolean match = PhoneCodeUtils.match(PhoneCodeDTO.builder().phone(operatorDto.getPhone()) - .code(operatorDto.getSmsCode()) - .providerType(PhoneCodeProviderEnum.ORG_APPLY.getType()).build()); - Assert.isTrue(match, new BadLoginException("验证码错误"));*/ - - Map companyTypeMap = DictUtils.getCodeNameMap("company_type"); - Assert.notNull(companyTypeMap.get(operatorDto.getCompanyType()),"企业类型错误"); - - Map recruitPositionTypeMap = DictUtils.getCodeNameMap("recruit_position_type"); - Assert.notNull(recruitPositionTypeMap.get(operatorDto.getRecruitPositionType()),"招聘岗位类型错误"); - - List orgApplys = orgApplyMapper.selectList(new LambdaQueryWrapper().eq(OrgApply::getDeleted, false).in(OrgApply::getStatus, OrgApplyEnum.INIT.getStatus(), OrgApplyEnum.SUCCESS.getStatus()).eq(OrgApply::getCompanyName, operatorDto.getCompanyName()).eq(OrgApply::getPhone, operatorDto.getPhone())); - if (CollectionUtils.isNotEmpty(orgApplys)) { - throw new BusinessException("(企业名称 + 手机号)已存在入驻申请,请勿重复提交!"); - } - - OrgApply orgApply = OrgApplyConvert.INSTANCE.convert(operatorDto); - orgApply.setStatus(OrgApplyEnum.INIT.getStatus()); - - if (StringUtils.isNotBlank(operatorDto.getUniqueCode())) { - OrgApplyInviterDTO orgApplyInviterDTO = slickParamService.parseCode(operatorDto.getUniqueCode(), OrgApplyInviterDTO.class); - orgApply.setInviterOrgId(orgApplyInviterDTO.getInviterOrgId()); - orgApply.setInviterUserId(orgApplyInviterDTO.getInviterUserId()); - }else { - Assert.notNull(operatorDto.getInviterOrgId(),"请选择邀请机构"); - orgApply.setInviterOrgId(operatorDto.getInviterOrgId()); - } - - orgApplyMapper.saveEntity(orgApply); - return OrgApplyConvert.INSTANCE.convert(orgApply); - } - - @Override - public OrgApplyDTO modify(OrgApplyOperatorDTO operatorDto) { - OrgApplyDTO orgApplyDto = this.findById(operatorDto.getId()); - if (Objects.isNull(orgApplyDto)) { - return null; - } - OrgApply orgApply = OrgApplyConvert.INSTANCE.convert(operatorDto); - orgApplyMapper.updateEntitySelective(orgApply); - return this.findById(operatorDto.getId()); - } - - @Override - public OrgApplyDTO delete(Long id) { - OrgApplyDTO orgApplyDto = this.findById(id); - if (Objects.isNull(orgApplyDto)) { - return null; - } - OrgApply orgApply = OrgApply.builder().build(); - orgApply.setId(id); - orgApplyMapper.deleteEntity(orgApply, UserContextHolder.getLoginUserId()); - return orgApplyDto; - } - - @Override - public OrgApplyDTO findById(Long id) { - OrgApply orgApply = orgApplyMapper.getById(id); - if (Objects.isNull(orgApply)) { - return null; - } - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - Assert.isTrue(orgApply.getInviterOrgId().equals(UserContextHolder.getExistLoginOrgId()),"未查询到数据"); - } - return OrgApplyConvert.INSTANCE.convert(orgApply); - } - - @Override - public List list(OrgApplyQueryDTO queryDTO) { - return orgApplyMapper.list(queryDTO); - } - - @Override - public List page(OrgApplyPageQueryDTO queryDTO) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - queryDTO.setInviterOrgId(UserContextHolder.getExistLoginOrgId()); - } - - List list = orgApplyMapper.page(queryDTO); - for (OrgApplyDTO orgApplyDTO : list) { - orgApplyDTO.setRecruitPositionTypeName(DictUtils.getCodeNameMap("recruit_position_type").get(orgApplyDTO.getRecruitPositionType())); - } - return list; - } - - @AutoUnLock - @Transactional(rollbackFor = Exception.class) - @Override - public void approve(OrgApplyApproveDTO orgApplyApproveDTO) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(OrgApply::getDeleted, false) - .eq(OrgApply::getId, orgApplyApproveDTO.getId()); - - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - queryWrapper.eq(OrgApply::getInviterOrgId, UserContextHolder.getExistLoginOrgId()); - } - - OrgApply orgApply = orgApplyMapper.selectOne(queryWrapper); - Assert.notNull(orgApply, "未查询到数据"); - if (!orgApply.getStatus().equals(OrgApplyEnum.INIT.getStatus())) { - throw new BusinessException("正在处理中...请稍后再试!"); - } - Assert.isTrue( - RedissonUtils.tryLockAutomatically( - LockDTO.builder() - .tryLockWaitTime(0L) - .lockTimeout(60 * 5L) - .methodName("org_apply:approve") - .arg(String.valueOf(orgApplyApproveDTO.getId())) - .build() - ), - "正在处理中,请稍后再试"); - - if (orgApplyApproveDTO.getStatus().equals(OrgApplyEnum.REJECT.getStatus())) { - Assert.isTrue(StringUtils.isNotBlank(orgApplyApproveDTO.getCause()), "请输入驳回原因"); - } - - int rows = orgApplyMapper.approve(orgApplyApproveDTO.getId(), OrgApplyEnum.INIT.getStatus(), orgApplyApproveDTO.getStatus(), orgApplyApproveDTO.getCause(), UserContextHolder.getExistLoginUserId()); - if (rows != 1) { - throw new BusinessException("审批失败,请稍后再试!"); - } - - SmsSimpleSendDTO sendDTO = new SmsSimpleSendDTO(); - - if (orgApplyApproveDTO.getStatus().equals(OrgApplyEnum.REJECT.getStatus())) { - /*//是驳回 短信通知联系人审核结果 - sendDTO.setTemplateCode(SmsTemplateCodeEnum.ORG_APPLY_REJECT.getTemplateCodeKey()); - List detailDTOS = Lists.newArrayList(); - sendDTO.setDetailDTOS(detailDTOS); - Map params = Maps.newHashMap(); - params.put("companyName", orgApply.getCompanyName()); - detailDTOS.add(SmsSimpleSendDetailDTO.builder() - .phone(orgApply.getPhone()) - .parameters(params) - .build()); - TransactionAfterCommit.doSomeThingAfterCommit(()->{ - simpleSms.send(sendDTO); - });*/ - } else if (orgApplyApproveDTO.getStatus().equals(OrgApplyEnum.SUCCESS.getStatus())) { - //审核通过了根据提交的企业信息去创建对应的机构 - OrgCreateDTO orgCreateDTO = OrgCreateDTO.builder() - .type(orgApply.getCompanyType()) - .orgName(orgApply.getCompanyName()) - .phone(orgApply.getPhone()) - .creditCode(orgApply.getCreditCode()) - .addressCode(orgApply.getAreaCode()) - .addressName(orgApply.getAddressName()) - .parentId(orgApply.getInviterOrgId()) - .recruitPositionType(orgApply.getRecruitPositionType()) - .businessLicense(orgApply.getBusinessLicenseCode()) - .registeredAddress(orgApply.getRegisteredAddress()) - .realName(orgApply.getRealName()) - .build(); - orgService.create(orgCreateDTO); - - /*sendDTO.setTemplateCode(SmsTemplateCodeEnum.ORG_APPLY_SUCCESS.getTemplateCodeKey()); - List detailDTOS = Lists.newArrayList(); - sendDTO.setDetailDTOS(detailDTOS); - Map params = Maps.newHashMap(); - params.put("companyName", orgApply.getCompanyName()); - detailDTOS.add(SmsSimpleSendDetailDTO.builder() - .phone(orgApply.getPhone()) - .parameters(params) - .build()); - TransactionAfterCommit.doSomeThingAfterCommit(()->{ - simpleSms.send(sendDTO); - });*/ - } - - } - - @Override - public List getInfoByPhone(String phone) { - /*boolean match = PhoneCodeUtils.match(PhoneCodeDTO.builder().phone(phone) - .code(code) - .providerType(PhoneCodeProviderEnum.GET_ORG_APPLY.getType()).build()); - Assert.isTrue(match, new BadLoginException("验证码错误"));*/ - List orgApplyList = orgApplyMapper.selectList(new LambdaQueryWrapper().eq(OrgApply::getPhone, phone).eq(OrgApply::getDeleted, false)); - return orgApplyList; - } - - @Override - public String share() { - - Assert.isTrue(StringUtils.equals(OrgTypeEnum.ORG_TYPE_GOV.getType(),UserContextHolder.getOrgType()),"没有操作权限"); - - UserRegisterCodeInfoDTO codeDTO = UserRegisterCodeInfoDTO.builder() - .inviterId(UserContextHolder.getLoginUserId()) - .inviterOrgId(UserContextHolder.getExistLoginOrgId()) - .build(); - - return slickParamService.create(SlickParamCreateDTO.builder().paramData(codeDTO).build()) - .getUniqueCode(); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/constant/PositionConstants.java b/src/main/java/com/newyetai/recruit/position/constant/PositionConstants.java deleted file mode 100644 index c186779..0000000 --- a/src/main/java/com/newyetai/recruit/position/constant/PositionConstants.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.newyetai.recruit.position.constant; - -/** - * 职位类型常量 - * - * @author Carlye - * @date 2022/01/24 - */ -public interface PositionConstants { - - String POSITION_TYPE_CACHE = "ptc"; - - - /** - * 工作性质 0:不限 1:兼职 2:全职 - */ - Integer JOB_CATEGORY_ALL = 0; - Integer JOB_CATEGORY_PART = 1; - /** - * 工作性质完全 - */ - Integer JOB_CATEGORY_FULL = 2; - - /** - * 结算类型 1日结 2周结 3月结 4完工结 - */ - Integer SETTLEMENT_TYPE_DAY = 1; - Integer SETTLEMENT_TYPE_WEEK = 2; - Integer SETTLEMENT_TYPE_MONTH = 3; - Integer SETTLEMENT_TYPE_END = 4; - - /** - * 岗位文件类型 1:图片 2:视频 - */ - String POSITION_FILE_TYPE_IMG = "1"; - String POSITION_FILE_TYPE_VIDEO = "2"; -} diff --git a/src/main/java/com/newyetai/recruit/position/controller/HrPositionFileController.java b/src/main/java/com/newyetai/recruit/position/controller/HrPositionFileController.java deleted file mode 100644 index dc74782..0000000 --- a/src/main/java/com/newyetai/recruit/position/controller/HrPositionFileController.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.newyetai.recruit.position.controller; - - - -import com.newyetai.common.AlitaResult; -import com.newyetai.recruit.position.dto.PositionFileDTO; -import com.newyetai.recruit.position.dto.PositionFilePageQueryDTO; -import com.newyetai.recruit.position.entity.PositionFile; -import com.newyetai.recruit.position.service.PositionFileService; -import com.newyetai.tkmybatis.pojo.Page; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; - -@Api(tags = "岗位附件") -@RestController -@RequestMapping("/position/file") -@RequiredArgsConstructor(onConstructor = @__(@Autowired)) -public class HrPositionFileController { - - - private final PositionFileService positionFileService; - - @GetMapping("/page") - @ApiOperation("分页查询岗位文件") - public AlitaResult> filePage(PositionFilePageQueryDTO queryDTO) { - positionFileService.filePage(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @PostMapping("/create") - @ApiOperation("创建岗位文件信息") - public AlitaResult create(@RequestBody PositionFileDTO queryDTO) { - return AlitaResult.success(positionFileService.create(queryDTO)); - } - - @PostMapping("/update") - @ApiOperation("修改岗位文件信息") - public AlitaResult update(@RequestBody PositionFileDTO queryDTO) { - positionFileService.update(queryDTO); - return AlitaResult.success(); - } - - @DeleteMapping("/delete/{id}") - @ApiOperation("根据文件Id删除企业文件信息") - public AlitaResult delete(@PathVariable("id") Long id) { - positionFileService.delete(id); - return AlitaResult.success(); - } - - @PutMapping("/setDefault/{id}") - @ApiOperation("设置为默认") - public AlitaResult setDefault(@PathVariable("id") Long id) { - positionFileService.setDefault(id); - return AlitaResult.success(); - } - -} - diff --git a/src/main/java/com/newyetai/recruit/position/controller/PositionAddressController.java b/src/main/java/com/newyetai/recruit/position/controller/PositionAddressController.java deleted file mode 100644 index f32d034..0000000 --- a/src/main/java/com/newyetai/recruit/position/controller/PositionAddressController.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.newyetai.recruit.position.controller; - - -import com.newyetai.common.AlitaResult; -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.recruit.position.dto.PositionAddressDTO; -import com.newyetai.recruit.position.dto.PositionAddressOperatorDTO; -import com.newyetai.recruit.position.dto.PositionAddressQueryDTO; -import com.newyetai.recruit.position.service.PositionAddressService; - -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -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 java.util.List; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; - -/** - *

- * 招聘系统-岗位地址信息表 前端控制器 - *

- * - * @author chenyun - * @since 2021-01-08 - */ -@Api(tags = "岗位地址信息") -@RestController -@RequestMapping("/hr/position/address") -@RequiredArgsConstructor(onConstructor = @__(@Autowired)) -public class PositionAddressController { - - private final PositionAddressService positionAddressService; - - @PostMapping("/create") - @ApiOperation("新增岗位地址") - public AlitaResult create(@RequestBody PositionAddressOperatorDTO queryDTO) { - return AlitaResult.success(positionAddressService.createOrUpdate(queryDTO)); - } - - @PostMapping("/update") - @ApiOperation("修改岗位地址") - public AlitaResult update(@RequestBody PositionAddressOperatorDTO queryDTO) { - return AlitaResult.success(positionAddressService.createOrUpdate(queryDTO)); - } - - @GetMapping("/list") - @ApiOperation("岗位地址列表") - public AlitaResult> positionList(PositionAddressQueryDTO queryDTO) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - Assert.isTrue(!(UserTypeEnum.PERSON.getType().equals(UserContextHolder.getExistUserType())),"用户类型不匹配"); - } - return AlitaResult.success(positionAddressService.list(queryDTO)); - } - - @ApiOperation("删除岗位地址") - @DeleteMapping("/delete/{id}") - public AlitaResult delete(@PathVariable("id") Long id) { - positionAddressService.delete(id); - return AlitaResult.success(); - } -} - diff --git a/src/main/java/com/newyetai/recruit/position/controller/PositionAuditController.java b/src/main/java/com/newyetai/recruit/position/controller/PositionAuditController.java deleted file mode 100644 index 1641751..0000000 --- a/src/main/java/com/newyetai/recruit/position/controller/PositionAuditController.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.newyetai.recruit.position.controller; - -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.recruit.position.entity.PositionAudit; -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -import com.newyetai.common.AlitaResult; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.position.dto.*; -import com.newyetai.recruit.position.service.PositionAuditService; - -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; -import java.util.Set; - -/** - * 岗位审核表 - * - * @author guixinman - * @since 1.0.0 2024-07-05 - */ -@Api(tags = "岗位审核表") -@RestController -@RequestMapping("/position/audit") -public class PositionAuditController { - - @Autowired - private PositionAuditService positionAuditService; - - @PostMapping("/position_create") - @ApiOperation("岗位审核表-创建") - public AlitaResult positionCreate(@RequestBody @Validated PositionNewOperatorDTO operatorDTO) { - positionAuditService.positionCreate(operatorDTO); - return AlitaResult.success(); - } - - @PutMapping("/position_modify") - @ApiOperation("岗位审核表-修改") - public AlitaResult positionModify(@RequestBody @Validated PositionNewOperatorDTO operatorDTO) { - positionAuditService.positionModify(operatorDTO); - return AlitaResult.success(); - } - - @GetMapping("/position_find/{id}") - @ApiOperation("岗位审核表-查询单个") - public AlitaResult positionFindById(@PathVariable("id") Long id) { - return AlitaResult.success(positionAuditService.positionFindById(id)); - } - - /** - * @description: PC端 岗位列表分页查询 - * @return: - * @author: guixinman - * @param: - */ - @GetMapping("/position_page") - @ApiOperation("岗位-分页查询") - public AlitaResult> positionPage(PositionNewPageQueryDTO queryDTO) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - Assert.isTrue(!(UserTypeEnum.PERSON.getType().equals(UserContextHolder.getExistUserType())),"用户类型不匹配"); - } - positionAuditService.positionPage(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @GetMapping("/position_export") - @ApiOperation("岗位信息表-导出") - public void positionExport(PositionNewPageQueryDTO queryDTO) { - positionAuditService.export(queryDTO); - } - - @PutMapping("/position_modify_status") - @ApiOperation("岗位信息表开启或者关闭招聘") - public AlitaResult positionModifyStatus(@RequestParam("ids") Set ids, @RequestParam("status") String status) { - positionAuditService.positionModifyStatus(ids, status); - return AlitaResult.success(); - } - - /** - * 复制 - */ - @GetMapping("/position_copy/{id}") - public AlitaResult positionCopy(@PathVariable("id") Long id){ - return AlitaResult.success(positionAuditService.positionCopy(id)); - } - - @GetMapping("list") - @ApiOperation("岗位审核表-列表查询") - public AlitaResult> list(PositionAuditQueryDTO queryDTO) { - return AlitaResult.success(positionAuditService.list(queryDTO)); - } - - @GetMapping("/page") - @ApiOperation("岗位审核表-分页查询") - public AlitaResult> page(PositionAuditPageQueryDTO queryDTO) { - positionAuditService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @GetMapping("/{id}") - @ApiOperation("岗位审核信息表-查询单个") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(positionAuditService.findById(id)); - } - - @PostMapping("") - @ApiOperation("审核") - public AlitaResult audit(@RequestBody @Validated PositionAuditReqDTO reqDTO) { - positionAuditService.audit(reqDTO); - return AlitaResult.success(); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/controller/PositionController.java b/src/main/java/com/newyetai/recruit/position/controller/PositionController.java deleted file mode 100644 index 9e81b85..0000000 --- a/src/main/java/com/newyetai/recruit/position/controller/PositionController.java +++ /dev/null @@ -1,101 +0,0 @@ -package com.newyetai.recruit.position.controller; - -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -import com.newyetai.common.AlitaResult; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.position.dto.*; -import com.newyetai.recruit.position.service.PositionService; - -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * 岗位信息表;岗位信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-11 - */ -@Api(tags = "岗位信息表;岗位信息表") -@RestController -@RequestMapping("/position") -public class PositionController { - - @Autowired - private PositionService positionService; - - @PostMapping("/create") - @ApiOperation("岗位信息表;岗位信息表-创建") - public AlitaResult create(@RequestBody @Validated PositionOperatorDTO operatorDTO) { - return AlitaResult.success(positionService.create(operatorDTO)); - } - - @PutMapping("/modify") - @ApiOperation("岗位信息表;岗位信息表-修改") - public AlitaResult modify(@RequestBody @Validated PositionOperatorDTO operatorDTO) { - return AlitaResult.success(positionService.modify(operatorDTO)); - } - - @DeleteMapping("/{id}") - @ApiOperation("岗位信息表;岗位信息表-删除") - public AlitaResult delete(@PathVariable("id") Long id) { - return AlitaResult.success(positionService.delete(id)); - } - - @GetMapping("/{id}") - @ApiOperation("岗位信息表;岗位信息表-查询单个") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(positionService.findById(id)); - } - - @GetMapping("/list") - @ApiOperation("岗位信息表;岗位信息表-列表查询") - public AlitaResult> list(PositionPageQueryDTO queryDTO) { - return AlitaResult.success(positionService.list(queryDTO)); - } - - @GetMapping("/page") - @ApiOperation("岗位信息表;岗位信息表-分页查询") - public AlitaResult> page(PositionPageQueryDTO queryDTO) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - Assert.isTrue(!(UserTypeEnum.PERSON.getType().equals(UserContextHolder.getExistUserType())),"用户类型不匹配"); - } - positionService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @GetMapping("/export") - @ApiOperation("岗位信息表;岗位信息表-导出") - public void export(PositionPageQueryDTO queryDTO) { - positionService.export(queryDTO); - } - - @PutMapping("/modify_status") - @ApiOperation("岗位信息表开启或者关闭招聘") - public AlitaResult modifyStatus(@RequestBody PositionOperatorDTO dto){ - positionService.modifyStatus(dto); - return AlitaResult.success(); - } - - @GetMapping("/template") - @ApiOperation("岗位 - 模板下载") - public void template() { - positionService.template(); - } - - /** - * 复制 - */ - @GetMapping("/copy/{id}") - public AlitaResult copy(@PathVariable("id") Long id){ - return AlitaResult.success(positionService.copy(id)); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/controller/PositionRegistrationController.java b/src/main/java/com/newyetai/recruit/position/controller/PositionRegistrationController.java deleted file mode 100644 index cd5dc4f..0000000 --- a/src/main/java/com/newyetai/recruit/position/controller/PositionRegistrationController.java +++ /dev/null @@ -1,201 +0,0 @@ -package com.newyetai.recruit.position.controller; - -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; - -import com.newyetai.common.AlitaResult; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.position.dto.*; -import com.newyetai.recruit.position.service.PositionRegistrationService; - -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * 岗位报名信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-15 - */ -@Api(tags = "岗位报名信息表") -@RestController -@RequestMapping("/position_registration") -@Slf4j -public class PositionRegistrationController { - - @Autowired - private PositionRegistrationService positionRegistrationService; - - @PostMapping("/create") - @ApiOperation("岗位报名信息表-创建") - public AlitaResult create(@RequestBody @Validated PositionRegistrationOperatorDTO operatorDTO) { - if (CollectionUtils.isEmpty(operatorDTO.getUserIds())) { - throw new BusinessException("缺失参数"); - } - int successrows = operatorDTO.getUserIds().size(); - for (Long userId : operatorDTO.getUserIds()) { - try { - operatorDTO.setUserId(userId); - positionRegistrationService.create(operatorDTO); - } catch (Exception e) { - successrows = successrows - 1; - log.error(String.format("用户id:%s 操作加入招聘失败,失败原因:%s",userId,e.getMessage())); - } - } - return AlitaResult.success(String.format("成功数: %s条,失败数: %s条", successrows, operatorDTO.getUserIds().size() - successrows)); - } - - @PutMapping("/modify") - @ApiOperation("岗位报名信息表-修改") - public AlitaResult modify(@RequestBody PositionRegistrationOperatorDTO operatorDTO) { - return AlitaResult.success(positionRegistrationService.modify(operatorDTO)); - } - - @DeleteMapping("/{id}") - @ApiOperation("岗位报名信息表-删除") - public AlitaResult delete(@PathVariable("id") Long id) { - return AlitaResult.success(positionRegistrationService.delete(id)); - } - - @GetMapping("/{id}") - @ApiOperation("岗位报名信息表-查询单个") - public AlitaResult findById(@PathVariable("id") Long id, @RequestParam("childrenOrgAll") Boolean childrenOrgAll) { - return AlitaResult.success(positionRegistrationService.findByIdAndChildrenOrgAll(id,childrenOrgAll)); - } - - @GetMapping("/list") - @ApiOperation("岗位报名信息表-列表查询") - public AlitaResult> list(PositionRegistrationPageQueryDTO queryDTO) { - return AlitaResult.success(positionRegistrationService.list(queryDTO)); - } - - @GetMapping("/page") - @ApiOperation("岗位报名信息表-分页查询") - public AlitaResult> page(PositionRegistrationPageQueryDTO queryDTO) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - Assert.isTrue(!(UserTypeEnum.PERSON.getType().equals(UserContextHolder.getExistUserType())),"用户类型不匹配"); - } - positionRegistrationService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - /** - * @description: 用户端报名岗位 - * @return: - * @author: guixinman - * @param: - */ - @PostMapping("/user_create") - public AlitaResult userCreate(@RequestBody @Validated UserPositionRegistrationDTO dto) { - positionRegistrationService.userCreate(dto); - return AlitaResult.success(); - } - - @PostMapping("/invite") - @ApiOperation("岗位报名信息表-邀约面试") - public AlitaResult invite(@RequestBody PositionRegistrationOperatorDTO operatorDTO) { - if (CollectionUtils.isEmpty(operatorDTO.getIds())) { - throw new BusinessException("缺失参数"); - } - int successrows = operatorDTO.getIds().size(); - for (Long id : operatorDTO.getIds()) { - try { - operatorDTO.setId(id); - positionRegistrationService.invite(operatorDTO); - } catch (Exception e) { - successrows = successrows - 1; - log.error(String.format("邀约面试id:%s 操作邀约面试,失败原因:%s",id,e.getMessage())); - } - } - return AlitaResult.success(String.format("成功数: %s条,失败数: %s条", successrows, operatorDTO.getIds().size() - successrows)); - } - - @PostMapping("/termination") - @ApiOperation("岗位报名信息表-结束招聘") - public AlitaResult termination(@RequestBody PositionRegistrationOperatorDTO operatorDTO) { - if (CollectionUtils.isEmpty(operatorDTO.getIds())) { - throw new BusinessException("缺失参数"); - } - int successrows = operatorDTO.getIds().size(); - for (Long id : operatorDTO.getIds()) { - try { - operatorDTO.setId(id); - positionRegistrationService.termination(operatorDTO); - } catch (Exception e) { - successrows = successrows - 1; - log.error(String.format("结束招聘id:%s 操作结束招聘,失败原因:%s",id,e.getMessage())); - } - } - return AlitaResult.success(String.format("成功数: %s条,失败数: %s条", successrows, operatorDTO.getIds().size() - successrows)); - } - - @PostMapping("/fulfillInterview") - @ApiOperation("岗位报名信息表-完成面试") - public AlitaResult fulfillInterview(@RequestBody PositionRegistrationOperatorDTO operatorDTO) { - if (CollectionUtils.isEmpty(operatorDTO.getIds())) { - throw new BusinessException("缺失参数"); - } - int successrows = operatorDTO.getIds().size(); - for (Long id : operatorDTO.getIds()) { - try { - operatorDTO.setId(id); - positionRegistrationService.fulfillInterview(operatorDTO); - } catch (Exception e) { - successrows = successrows - 1; - log.error(String.format("完成面试id:%s 操作完成面试,失败原因:%s",id,e.getMessage())); - } - } - return AlitaResult.success(String.format("成功数: %s条,失败数: %s条", successrows, operatorDTO.getIds().size() - successrows)); - } - - @PostMapping("/onTheJob") - @ApiOperation("岗位报名信息表-入职") - public AlitaResult onTheJob(@RequestBody @Validated OnTheJobDTO dto) { - positionRegistrationService.onTheJob(dto); - return AlitaResult.success(); - } - - @PostMapping("/resigned") - @ApiOperation("岗位报名信息表-离职") - public AlitaResult resigned(@RequestBody @Validated ResignedDTO dto) { - positionRegistrationService.resigned(dto); - return AlitaResult.success(); - } - - @GetMapping("/export") - @ApiOperation("岗位报名信息表-导出") - public void export(PositionRegistrationPageQueryDTO queryDTO) { - positionRegistrationService.export(queryDTO); - } - - @GetMapping("/userPage") - @ApiOperation("岗位报名信息表-用户端分页查询") - public AlitaResult> userPage(UserPositionRegistrationPageQueryDTO queryDTO) { - positionRegistrationService.userPage(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @GetMapping("/user_cancel") - @ApiOperation("岗位报名信息表-用户端取消报名") - public AlitaResult cancel(@RequestParam("positionId") Long positionId) { - positionRegistrationService.cancel(positionId); - return AlitaResult.success(); - } - - @ApiOperation("查看") - @PutMapping("/show") - public AlitaResult show(@RequestParam("id") Long id){ - positionRegistrationService.show(id); - return AlitaResult.success(); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/controller/PositionTypeController.java b/src/main/java/com/newyetai/recruit/position/controller/PositionTypeController.java deleted file mode 100644 index 0aab10c..0000000 --- a/src/main/java/com/newyetai/recruit/position/controller/PositionTypeController.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.newyetai.recruit.position.controller; - - -import com.newyetai.common.AlitaResult; -import com.newyetai.recruit.position.dto.PositionTypeDTO; -import com.newyetai.recruit.position.dto.PositionTypeQueryDTO; -import com.newyetai.recruit.position.service.PositionTypeService; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; - -/** - *

- * 招聘系统-岗位信息表 前端控制器 - *

- * - * @author chenyun - * @since 2021-01-08 - */ -@Api(tags = "岗位类型信息") -@RestController -@RequestMapping("/anon/hr/position/type") -@RequiredArgsConstructor(onConstructor = @__(@Autowired)) -public class PositionTypeController { - - private final PositionTypeService positionTypeService; - - @GetMapping("/tree") - @ApiOperation("岗位类型树形列表") - public AlitaResult> positionList(PositionTypeQueryDTO queryDTO) { - return AlitaResult.success(positionTypeService.query(queryDTO)); - } -} - diff --git a/src/main/java/com/newyetai/recruit/position/controller/UserPositionController.java b/src/main/java/com/newyetai/recruit/position/controller/UserPositionController.java deleted file mode 100644 index bf5cd63..0000000 --- a/src/main/java/com/newyetai/recruit/position/controller/UserPositionController.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.newyetai.recruit.position.controller; - -import com.newyetai.common.AlitaResult; -import com.newyetai.recruit.position.dto.PositionDTO; -import com.newyetai.recruit.position.dto.PositionPageQueryDTO; -import com.newyetai.recruit.position.service.PositionService; -import com.newyetai.security.util.MockUtils; -import com.newyetai.tkmybatis.pojo.Page; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; -import java.util.Set; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -/** - * @description: 用户端岗位信息查询 - * @author: guixinman - * @create: 2024-04-18 15:48 - **/ -@Api(tags = "岗位信息表;岗位信息表") -@RestController -public class UserPositionController { - - @Autowired - private PositionService positionService; - - - @GetMapping("/anon/user/position/page") - @ApiOperation("岗位信息表;岗位信息表-分页查询") - public AlitaResult> page(PositionPageQueryDTO queryDTO) { - positionService.userPage(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @GetMapping("/anon/tencent_map/user/position/page") - @ApiOperation("岗位信息腾讯地图-分页查询") - public AlitaResult> tencentMapUserPage(PositionPageQueryDTO queryDTO) { - return AlitaResult.success(positionService.tencentMapUserPage(queryDTO)); - } - - @GetMapping("/anon/user/position/{id}") - @ApiOperation("岗位信息表;岗位信息表-查询单个") - public AlitaResult userFindById(@PathVariable("id") Long id) { - return AlitaResult.success(positionService.userFindById(id)); - } - - @GetMapping("/user/position/personPostMatching") - @ApiOperation("人岗匹配") - public AlitaResult> personPostMatching(@RequestParam("id") Long id) { - return AlitaResult.success(positionService.personPostMatching(id)); - } - -} diff --git a/src/main/java/com/newyetai/recruit/position/convert/ImportDetailPositionConvert.java b/src/main/java/com/newyetai/recruit/position/convert/ImportDetailPositionConvert.java deleted file mode 100644 index 5bcfef0..0000000 --- a/src/main/java/com/newyetai/recruit/position/convert/ImportDetailPositionConvert.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.position.convert; - -import com.newyetai.recruit.position.entity.ImportDetailPosition; -import com.newyetai.recruit.position.dto.ImportDetailPositionDTO; -import com.newyetai.recruit.position.dto.ImportDetailPositionOperatorDTO; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 岗位导入 - * - * @author guixinman - * @since 1.0.0 2024-04-12 - */ -@Mapper -public interface ImportDetailPositionConvert { - ImportDetailPositionConvert INSTANCE = Mappers.getMapper(ImportDetailPositionConvert.class); - - ImportDetailPosition convert(ImportDetailPositionDTO dto); - - ImportDetailPositionDTO convert(ImportDetailPosition entity); - - ImportDetailPosition convert(ImportDetailPositionOperatorDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/convert/PositionAuditConvert.java b/src/main/java/com/newyetai/recruit/position/convert/PositionAuditConvert.java deleted file mode 100644 index 25c36d6..0000000 --- a/src/main/java/com/newyetai/recruit/position/convert/PositionAuditConvert.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.newyetai.recruit.position.convert; - -import com.newyetai.recruit.position.dto.PositionDTO; -import com.newyetai.recruit.position.dto.PositionNewDTO; -import com.newyetai.recruit.position.dto.PositionOperatorDTO; -import com.newyetai.recruit.position.entity.PositionAudit; -import com.newyetai.recruit.position.dto.PositionAuditDTO; -import com.newyetai.recruit.position.dto.PositionAuditOperatorDTO; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** - * 岗位审核表 - * - * @author guixinman - * @since 1.0.0 2024-07-05 - */ -@Mapper -public interface PositionAuditConvert { - PositionAuditConvert INSTANCE = Mappers.getMapper(PositionAuditConvert.class); - - PositionAudit convert(PositionAuditDTO dto); - - PositionAuditDTO convert(PositionAudit entity); - - PositionAudit convert(PositionAuditOperatorDTO dto); - - PositionNewDTO convert(PositionOperatorDTO dto); - - PositionNewDTO convert(PositionDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/convert/PositionConvert.java b/src/main/java/com/newyetai/recruit/position/convert/PositionConvert.java deleted file mode 100644 index f2eb71a..0000000 --- a/src/main/java/com/newyetai/recruit/position/convert/PositionConvert.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.position.convert; - -import com.newyetai.recruit.position.entity.Position; -import com.newyetai.recruit.position.dto.PositionDTO; -import com.newyetai.recruit.position.dto.PositionOperatorDTO; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 岗位信息表;岗位信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-11 - */ -@Mapper -public interface PositionConvert { - PositionConvert INSTANCE = Mappers.getMapper(PositionConvert.class); - - Position convert(PositionDTO dto); - - PositionDTO convert(Position entity); - - Position convert(PositionOperatorDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/convert/PositionRegistrationConvert.java b/src/main/java/com/newyetai/recruit/position/convert/PositionRegistrationConvert.java deleted file mode 100644 index 04bb812..0000000 --- a/src/main/java/com/newyetai/recruit/position/convert/PositionRegistrationConvert.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.newyetai.recruit.position.convert; - -import com.newyetai.recruit.position.entity.PositionRegistration; -import com.newyetai.recruit.position.dto.PositionRegistrationDTO; -import com.newyetai.recruit.position.dto.PositionRegistrationOperatorDTO; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - - -/** - * 岗位报名信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-15 - */ -@Mapper -public interface PositionRegistrationConvert { - PositionRegistrationConvert INSTANCE = Mappers.getMapper(PositionRegistrationConvert.class); - - PositionRegistration convert(PositionRegistrationDTO dto); - - PositionRegistrationDTO convert(PositionRegistration entity); - - PositionRegistration convert(PositionRegistrationOperatorDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dao/ImportDetailPositionMapper.java b/src/main/java/com/newyetai/recruit/position/dao/ImportDetailPositionMapper.java deleted file mode 100644 index 800705b..0000000 --- a/src/main/java/com/newyetai/recruit/position/dao/ImportDetailPositionMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.position.dao; - -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.position.entity.ImportDetailPosition; -import com.newyetai.recruit.position.dto.ImportDetailPositionDTO; -import com.newyetai.recruit.position.dto.ImportDetailPositionQueryDTO; -import com.newyetai.recruit.position.dto.ImportDetailPositionPageQueryDTO; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 岗位导入 - * - * @author guixinman - * @since 1.0.0 2024-04-12 - */ -@Mapper -public interface ImportDetailPositionMapper extends MyMapper { - - List page(@Param("param") ImportDetailPositionPageQueryDTO queryDTO); - - List list(@Param("param") ImportDetailPositionQueryDTO queryDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dao/PositionAddressMapper.java b/src/main/java/com/newyetai/recruit/position/dao/PositionAddressMapper.java deleted file mode 100644 index a9d182e..0000000 --- a/src/main/java/com/newyetai/recruit/position/dao/PositionAddressMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.newyetai.recruit.position.dao; - - -import com.newyetai.recruit.position.dto.PositionAddressDTO; -import com.newyetai.recruit.position.dto.PositionAddressQueryDTO; -import com.newyetai.recruit.position.entity.PositionAddress; -import com.newyetai.tkmybatis.mybatis.MyMapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - - -/** - * 位置地址映射器 - * - * @author Carlye - * @date 2022/03/29 - */ -public interface PositionAddressMapper extends MyMapper { - - List list(@Param("param") PositionAddressQueryDTO queryDTO); -} diff --git a/src/main/java/com/newyetai/recruit/position/dao/PositionAuditMapper.java b/src/main/java/com/newyetai/recruit/position/dao/PositionAuditMapper.java deleted file mode 100644 index 3948a68..0000000 --- a/src/main/java/com/newyetai/recruit/position/dao/PositionAuditMapper.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.newyetai.recruit.position.dao; - -import com.newyetai.recruit.position.dto.PositionAuditReqDTO; -import com.newyetai.recruit.position.dto.PositionNewDTO; -import com.newyetai.recruit.position.dto.PositionNewPageQueryDTO; -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.position.entity.PositionAudit; -import com.newyetai.recruit.position.dto.PositionAuditDTO; -import com.newyetai.recruit.position.dto.PositionAuditQueryDTO; -import com.newyetai.recruit.position.dto.PositionAuditPageQueryDTO; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 岗位审核表 - * - * @author guixinman - * @since 1.0.0 2024-07-05 - */ -@Mapper -public interface PositionAuditMapper extends MyMapper { - - List page(@Param("param") PositionAuditPageQueryDTO queryDTO); - - List list(@Param("param") PositionAuditQueryDTO queryDTO); - - /** - * @description: 岗位分页查询 - * @return: - * @author: guixinman - * @param: - */ - List positionPage(@Param("param") PositionNewPageQueryDTO queryDTO); - - int modifyById(@Param("param") PositionAudit positionAudit); - - int audit(@Param("param") PositionAuditReqDTO reqDTO); - - /** - * @description: 根据岗位id获取审核表id - * @return: - * @author: guixinman - * @param: - */ - Long getIdByPositionId(@Param("positionId") Long positionId); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dao/PositionFileMapper.java b/src/main/java/com/newyetai/recruit/position/dao/PositionFileMapper.java deleted file mode 100644 index 6db682e..0000000 --- a/src/main/java/com/newyetai/recruit/position/dao/PositionFileMapper.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.newyetai.recruit.position.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.newyetai.recruit.position.dto.PositionFileDTO; -import com.newyetai.recruit.position.dto.PositionFilePageQueryDTO; -import com.newyetai.recruit.position.entity.PositionFile; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - *

- * 用户岗位访问记录表 Mapper 接口 - *

- * - * @author Carlye - * @since 2021-01-21 - */ -@Mapper -public interface PositionFileMapper extends BaseMapper { - - - List filePage(PositionFilePageQueryDTO queryDTO); - - void setDefault(@Param("positionId") Long positionId, @Param("id") Long id); -} diff --git a/src/main/java/com/newyetai/recruit/position/dao/PositionMapper.java b/src/main/java/com/newyetai/recruit/position/dao/PositionMapper.java deleted file mode 100644 index 645b57b..0000000 --- a/src/main/java/com/newyetai/recruit/position/dao/PositionMapper.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.newyetai.recruit.position.dao; - -import com.newyetai.recruit.position.dto.PersonPostMatchingQueryDTO; -import com.newyetai.recruit.statistics.dto.StatisticsBaseDTO; -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.position.entity.Position; -import com.newyetai.recruit.position.dto.PositionDTO; -import com.newyetai.recruit.position.dto.PositionPageQueryDTO; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; -import java.util.Map; - -/** - * 岗位信息表;岗位信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-11 - */ -@Mapper -public interface PositionMapper extends MyMapper { - - List page(@Param("param") PositionPageQueryDTO queryDTO); - - - List userPage(@Param("param") PositionPageQueryDTO queryDTO); - - /** - * 岗位类型分组求数量 - */ - List positionTypeGroupMap(@Param("recruitPositionType") String recruitPositionType); - - List personPostMatching(@Param("param") PersonPostMatchingQueryDTO queryDTO); - - /** - * 岗位过期 - */ - void positionExpiry(); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dao/PositionRegistrationMapper.java b/src/main/java/com/newyetai/recruit/position/dao/PositionRegistrationMapper.java deleted file mode 100644 index 09a975b..0000000 --- a/src/main/java/com/newyetai/recruit/position/dao/PositionRegistrationMapper.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.newyetai.recruit.position.dao; - -import com.newyetai.recruit.position.dto.UserPositionRegistrationPageQueryDTO; -import com.newyetai.recruit.position.dto.UserPositionRegistrationResDTO; -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.position.entity.PositionRegistration; -import com.newyetai.recruit.position.dto.PositionRegistrationDTO; -import com.newyetai.recruit.position.dto.PositionRegistrationPageQueryDTO; - -import java.util.Map; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 岗位报名信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-15 - */ -@Mapper -public interface PositionRegistrationMapper extends MyMapper { - - List page(@Param("param") PositionRegistrationPageQueryDTO queryDTO); - - long updateStatus(@Param("param") PositionRegistration positionRegistration, @Param("oldStatus") String oldStatus); - - List userPage(@Param("param") UserPositionRegistrationPageQueryDTO queryDTO); - - Map noticeInvite(Long positionRegistrationId, Long orgUserId); - Map noticeInterview(Long positionRegistrationId, Long orgUserId); - - List positionRegistrationList(@Param("orgId") Long orgId); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dao/PositionTypeMapper.java b/src/main/java/com/newyetai/recruit/position/dao/PositionTypeMapper.java deleted file mode 100644 index 7425640..0000000 --- a/src/main/java/com/newyetai/recruit/position/dao/PositionTypeMapper.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.newyetai.recruit.position.dao; - - -import com.newyetai.recruit.position.dto.PositionTypeDTO; -import com.newyetai.recruit.position.dto.PositionTypeQueryDTO; -import com.newyetai.recruit.position.entity.PositionType; -import com.newyetai.tkmybatis.mybatis.MyMapper; - -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -/** - *

- * 用户岗位访问记录表 Mapper 接口 - *

- * - * @author Carlye - * @since 2021-01-21 - */ -@Mapper -public interface PositionTypeMapper extends MyMapper { - - List queryByDto(PositionTypeQueryDTO queryDTO); -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionDTO.java b/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionDTO.java deleted file mode 100644 index 7a1bf75..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionDTO.java +++ /dev/null @@ -1,142 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.component.commonimport.dto.ImportDetailSuperDTO; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.util.Date; - -import cn.hutool.core.util.StrUtil; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -/** - * 岗位导入 - * - * @author guixinman - * @since 1.0.0 2024-04-12 - */ -@ApiModel("岗位导入") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class ImportDetailPositionDTO extends ImportDetailSuperDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("导入任务ID") - private Long mainId; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("模板全量数据") - private String dataJson; - - @ApiModelProperty("用工企业ID ;hr_company") - private Long companyId; - - private String companyName; - - @ApiModelProperty("岗位名称") - private String positionName; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @ApiModelProperty("工作地址") - private String positionAddress; - - /** - * 岗位性质 数据字典 - */ - private String recruitPositionType; - - @ApiModelProperty("岗位类型") - private String positionTypeName; - - @ApiModelProperty("岗位标签") - private String positionTag; - - @ApiModelProperty("发薪日") - private String payDate; - - @ApiModelProperty("性别要求") - private String sexRequire; - - @ApiModelProperty("学历要求") - private String educationRequire; - - @ApiModelProperty("经验要求") - private String experienceRequire; - - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - @ApiModelProperty("明细状态") - private Integer detailStatus; - - @ApiModelProperty("失败原因") - private String failReason; - - @ApiModelProperty("外部生成明细id") - private Long extraDetailId; - - @ApiModelProperty("备注") - private String remark; - - /** - * 年龄上限 - */ - private Integer ageUp; - - /** - * 年龄下限 - */ - private Integer ageLow; - - /** - * 薪资上限 - */ - private BigDecimal salaryUp; - - /** - * 薪资下限 - */ - private BigDecimal salaryLow; - - /** - * 薪资类型 - */ - private String salaryType; - - /** - * 结束日期 - */ - private String endTime; - - public void appendFailMsg(String msg) { - if (StrUtil.isEmpty(msg)) { - return; - } - if (StrUtil.isEmpty(getFailReason())) { - setFailReason(msg); - } else { - setFailReason(String.join(",", getFailReason(), msg)); - } - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionExecuteDTO.java b/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionExecuteDTO.java deleted file mode 100644 index 17c5993..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionExecuteDTO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.newyetai.component.commonimport.dto.ImportExecuteSuperDTO; - -import lombok.Data; - -/** - * @description: 确定导入DTO - * @author: guixinman - * @create: 2024-04-12 10:25 - **/ -@Data -public class ImportDetailPositionExecuteDTO extends ImportExecuteSuperDTO { -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionExportDTO.java b/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionExportDTO.java deleted file mode 100644 index fe6d504..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionExportDTO.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.alibaba.excel.annotation.ExcelProperty; -import java.io.Serializable; -import java.math.BigDecimal; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @description: - * @author: guixinman - * @create: 2024-06-12 13:57 - **/ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ImportDetailPositionExportDTO implements Serializable { - - @ExcelProperty("用工企业") - private String companyName; - - @ExcelProperty("岗位名称") - private String positionName; - - @ExcelProperty("招聘标题") - private String recruitTitle; - - @ExcelProperty("招聘人数") - private Integer positionNumber; - - @ExcelProperty("工作地址") - private String positionAddress; - - /** - * 岗位性质 数据字典 - */ - @ExcelProperty("岗位性质") - private String recruitPositionType; - - @ExcelProperty("岗位类型") - private String positionTypeName; - - @ExcelProperty("岗位标签") - private String positionTag; - - @ExcelProperty("薪资下限") - private BigDecimal salaryLow; - - @ExcelProperty("薪资上限") - private BigDecimal salaryUp; - - @ExcelProperty("薪资类型") - private String salaryType; - - @ExcelProperty("发薪日") - private String payDate; - - @ExcelProperty("性别") - private String sexRequire; - - @ExcelProperty("年龄(下限)") - private Integer ageLow; - - @ExcelProperty("年龄(上限)") - private Integer ageUp; - - @ExcelProperty("学历") - private String educationRequire; - - @ExcelProperty("经验") - private String experienceRequire; - - @ExcelProperty("证件") - private String certificatesRequire; - - @ExcelProperty("其他") - private String otherRequire; - - @ExcelProperty("工作") - private String jobContent; - - @ExcelProperty("有效期截止时间") - private String endTime; - - @ExcelProperty("失败原因") - private String failReason; - - @ExcelProperty("备注") - private String remark; -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionListenerDTO.java b/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionListenerDTO.java deleted file mode 100644 index c5d535a..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionListenerDTO.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.newyetai.component.commonimport.service.IImportDetailForm; - -import java.math.BigDecimal; -import java.util.Date; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @description: 岗位导入dto - * @author: guixinman - * @create: 2024-04-12 10:26 - **/ -@Data -public class ImportDetailPositionListenerDTO implements IImportDetailForm { - - @ApiModelProperty("用工企业") - private String companyName; - - @ApiModelProperty("岗位名称") - private String positionName; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("招聘人数") - private Integer positionNumber; - - @ApiModelProperty("工作地址") - private String positionAddress; - - /** - * 岗位性质 数据字典 - */ - private String recruitPositionType; - - @ApiModelProperty("岗位类型") - private String positionTypeName; - - @ApiModelProperty("岗位标签") - private String positionTag; - - @ApiModelProperty("薪资下限") - private BigDecimal salaryLow; - - @ApiModelProperty("薪资上限") - private BigDecimal salaryUp; - - @ApiModelProperty("薪资类型") - private String salaryType; - - @ApiModelProperty("发薪日") - private String payDate; - - @ApiModelProperty("性别要求") - private String sexRequire; - - @ApiModelProperty("年龄(下限)") - private Integer ageLow; - - @ApiModelProperty("年龄(上限)") - private Integer ageUp; - - @ApiModelProperty("学历要求") - private String educationRequire; - - @ApiModelProperty("经验要求") - private String experienceRequire; - - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - /** - * 结束日期 - */ - private String endTime; -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionOperatorDTO.java b/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionOperatorDTO.java deleted file mode 100644 index 2e2e6db..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionOperatorDTO.java +++ /dev/null @@ -1,121 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; - -/** - * 岗位导入 - * - * @author guixinman - * @since 1.0.0 2024-04-12 - */ -@ApiModel("岗位导入") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ImportDetailPositionOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("导入任务ID") - private Long mainId; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("模板全量数据") - private String dataJson; - - @ApiModelProperty("公司ID ;hr_company") - private Long companyId; - - @ApiModelProperty("岗位名称") - private String positionName; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @ApiModelProperty("工作地址") - private String positionAddress; - - /** - * 岗位性质 数据字典 - */ - private String recruitPositionType; - - - @ApiModelProperty("发薪日") - private String payDate; - - @ApiModelProperty("性别要求") - private Integer sexRequire; - - - @ApiModelProperty("学历要求") - private Integer educationRequire; - - @ApiModelProperty("经验要求") - private String experienceRequire; - - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - @ApiModelProperty("明细状态") - private Integer detailStatus; - - @ApiModelProperty("失败原因") - private String failReason; - - @ApiModelProperty("外部生成明细id") - private Long extraDetailId; - - @ApiModelProperty("备注") - private String remark; - - /** - * 年龄上限 - */ - private Integer ageUp; - - /** - * 年龄下限 - */ - private Integer ageLow; - - /** - * 薪资上限 - */ - private BigDecimal salaryUp; - - /** - * 薪资下限 - */ - private BigDecimal salaryLow; - - /** - * 薪资类型 - */ - private String salaryType; - - private Date endTime; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionPageQueryDTO.java b/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionPageQueryDTO.java deleted file mode 100644 index 68f3f1b..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionPageQueryDTO.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - - -import java.util.Date; - -/** - * 岗位导入 - * - * @author guixinman - * @since 1.0.0 2024-04-12 - */ - -@ApiModel("岗位导入") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class ImportDetailPositionPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("导入任务ID") - private Long mainId; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("模板全量数据") - private String dataJson; - - @ApiModelProperty("公司ID ;hr_company") - private Long companyId; - - @ApiModelProperty("岗位名称 (模糊匹配)") - private String positionNameLike; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @ApiModelProperty("工作地址") - private String positionAddress; - - /** - * 岗位性质 数据字典 - */ - private String recruitPositionType; - - - @ApiModelProperty("发薪日") - private String payDate; - - @ApiModelProperty("性别要求") - private Integer sexRequire; - - - @ApiModelProperty("学历要求") - private Integer educationRequire; - - @ApiModelProperty("经验要求") - private String experienceRequire; - - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - @ApiModelProperty("明细状态") - private Integer detailStatus; - - @ApiModelProperty("失败原因") - private String failReason; - - @ApiModelProperty("外部生成明细id") - private Long extraDetailId; - - @ApiModelProperty("备注") - private String remark; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionQueryDTO.java b/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionQueryDTO.java deleted file mode 100644 index a60f6cb..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/ImportDetailPositionQueryDTO.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -/** - * 岗位导入 - * - * @author guixinman - * @since 1.0.0 2024-04-12 - */ -@ApiModel("岗位导入") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class ImportDetailPositionQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("导入任务ID") - private Long mainId; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("模板全量数据") - private String dataJson; - - @ApiModelProperty("公司ID ;hr_company") - private Long companyId; - - @ApiModelProperty("岗位名称 (模糊匹配)") - private String positionNameLike; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @ApiModelProperty("工作地址") - private String positionAddress; - - /** - * 岗位性质 数据字典 - */ - private String recruitPositionType; - - - @ApiModelProperty("发薪日") - private String payDate; - - @ApiModelProperty("性别要求") - private Integer sexRequire; - - - @ApiModelProperty("学历要求") - private Integer educationRequire; - - @ApiModelProperty("经验要求") - private String experienceRequire; - - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - @ApiModelProperty("明细状态") - private Integer detailStatus; - - @ApiModelProperty("失败原因") - private String failReason; - - @ApiModelProperty("外部生成明细id") - private Long extraDetailId; - - @ApiModelProperty("备注") - private String remark; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/OnTheJobDTO.java b/src/main/java/com/newyetai/recruit/position/dto/OnTheJobDTO.java deleted file mode 100644 index 6899f27..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/OnTheJobDTO.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @description: 入职DTO - * @author: guixinman - * @create: 2024-04-16 14:47 - **/ -@Data -public class OnTheJobDTO implements Serializable { - - - @NotNull(message = "入职时间不能为空") - @ApiModelProperty("入职时间") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date inductionTime; - - @NotNull(message = "明细数据不能为空") - private List<@Valid OnTheJobDetailDTO> detailDTOS; - - @Data - public static class OnTheJobDetailDTO { - - @NotNull(message = "请选择数据") - private Long id; - - @NotNull(message = "入职薪水不能为空") - @ApiModelProperty("入职薪水") - private BigDecimal salary; - - private String tag; - } -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/PersonPostMatchingQueryDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PersonPostMatchingQueryDTO.java deleted file mode 100644 index a865b20..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PersonPostMatchingQueryDTO.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.List; - -import io.swagger.annotations.ApiModel; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @description: - * @author: guixinman - * @create: 2024-09-11 16:51 - **/ -@ApiModel("人岗匹配") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class PersonPostMatchingQueryDTO extends PageQueryDTO { - - /** - * 性别 - */ - private String sexRequire; - - /** - * 年龄 - */ - private Integer age; - - /** - * 学历 - */ - private String educationRequire; - - /** - * 薪水 - */ - private BigDecimal salary; - - /** - * 岗位类型 - */ - private String positionType; - private String positionNameLike; - - /** - * 工作地 - */ - private String detailAddressLike; -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionAddressDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionAddressDTO.java deleted file mode 100644 index 5d53e8f..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionAddressDTO.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.newyetai.common.dto.BaseDTO; - -import java.math.BigDecimal; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - *

- * 招聘系统-岗位地址信息表 - *

- * - * @author chenyun - * @since 2021-01-08 - */ -@EqualsAndHashCode(callSuper = true) -@ApiModel("招聘系统岗位地址信息DTO") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -public class PositionAddressDTO extends BaseDTO { - - private static final long serialVersionUID = -350362178226190054L; - - @ApiModelProperty("岗位ID") - private Long companyId; - - @ApiModelProperty("区域编码") - private String districtCode; - - @ApiModelProperty("区域名称") - private String districtName; - - @ApiModelProperty("详细地址") - private String detailAddress; - - @ApiModelProperty("经度") - private BigDecimal longitude; - - @ApiModelProperty("纬度") - private BigDecimal latitude; -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionAddressOperatorDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionAddressOperatorDTO.java deleted file mode 100644 index 50d3f65..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionAddressOperatorDTO.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.newyetai.common.dto.BaseDTO; - -import java.math.BigDecimal; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - *

- * 招聘系统-岗位地址信息表 - *

- * - * @author chenyun - * @since 2021-01-08 - */ -@EqualsAndHashCode(callSuper = true) -@ApiModel("招聘系统岗位地址信息 - 创建DTO") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -public class PositionAddressOperatorDTO extends BaseDTO { - - private static final long serialVersionUID = -350362178226190054L; - - @ApiModelProperty("企业ID") - @NotNull(message = "企业ID不能为空") - private Long companyId; - - @ApiModelProperty("区域编码") -// @NotEmpty(message = "区域编码不能为空") - private String districtCode; - - @ApiModelProperty("区域名称") -// @NotEmpty(message = "区域名称不能为空") - private String districtName; - - @ApiModelProperty("详细地址") - @NotEmpty(message = "详细地址不能为空") - private String detailAddress; - - @ApiModelProperty("经度") -// @NotEmpty(message = "经度不能为空") - private BigDecimal longitude; - - @ApiModelProperty("纬度") -// @NotEmpty(message = "纬度不能为空") - private BigDecimal latitude; -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionAddressQueryDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionAddressQueryDTO.java deleted file mode 100644 index 24ab9f5..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionAddressQueryDTO.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import java.io.Serializable; -import java.util.Set; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - *

- * 招聘系统-岗位地址信息表 - *

- * - * @author chenyun - * @since 2021-01-08 - */ -@ApiModel("招聘系统岗位地址信息 - 查询DTO") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class PositionAddressQueryDTO implements Serializable { - - private static final long serialVersionUID = -6376035694183055706L; - - @ApiModelProperty("岗位ID") - private Long companyId; - - @ApiModelProperty("ID集合") - private Set ids; - - private Long orgId; - -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionAuditDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionAuditDTO.java deleted file mode 100644 index c23d928..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionAuditDTO.java +++ /dev/null @@ -1,181 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.dto.BaseDTO; -import com.newyetai.component.dict.util.DictUtils; - -import org.springframework.format.annotation.DateTimeFormat; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.Objects; - -/** - * 岗位审核表 - * - * @author guixinman - * @since 1.0.0 2024-07-05 - */ -@ApiModel("岗位审核表") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class PositionAuditDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - private Long positionId; - - private Long orgId; - - private String orgName; - - @ApiModelProperty("hr_company主键") - private Long companyId; - - private String companyName; - - @ApiModelProperty("岗位名称") - private String positionName; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("岗位类型") - private String positionType; - - private String positionTypeName; - - @ApiModelProperty("工作性质 1:短工 2:全职") - private String jobCategory; - - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @ApiModelProperty("工作地址") - private String positionAddress; - - @ApiModelProperty("招聘专员") - private Long recruitUserId; - - @ApiModelProperty("发薪日") - private String payDate; - - @ApiModelProperty("性别要求") - private String sexRequire; - - @ApiModelProperty("学历要求") - private String educationRequire; - - @ApiModelProperty("经验要求") - private String experienceRequire; - - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - @ApiModelProperty("岗位标签") - private String positionTag; - - private Long addressId; - - @ApiModelProperty("招聘岗位类型数据字典") - private String recruitPositionType; - - @ApiModelProperty("审核状态 1:待审核 2.审核成功 3.审核失败") - private String auditStatus; - - @ApiModelProperty("审核失败原因") - private String auditFailMsg; - - @ApiModelProperty("版本号") - private Integer version; - - @ApiModelProperty("工作地址") - private String detailAddress; - - private String fileJson; - - - /** - * 年龄上限 - */ - private Integer ageUp; - - /** - * 年龄下限 - */ - private Integer ageLow; - - /** - * 薪资上限 - */ - private BigDecimal salaryUp; - - /** - * 薪资下限 - */ - private BigDecimal salaryLow; - - /** - * 薪资类型 - */ - private String salaryType; - - private String salaryStr; - - private String ageStr; - - - /** - * 结束日期 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date endTime; - - public String getSalaryStr() { - String salary = ""; - if (Objects.nonNull(this.getSalaryUp()) && Objects.nonNull(this.getSalaryLow())) { - salary = String.format("%s~%s元/%s", this.getSalaryLow(), this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - if (this.getSalaryLow().compareTo(this.getSalaryUp()) == 0) { - salary = String.format("%s元/%s", this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - } - } else if (Objects.nonNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) { - salary = String.format("%s元/%s", this.getSalaryLow(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - } else if (Objects.isNull(this.getSalaryLow()) && Objects.nonNull(this.getSalaryUp())) { - salary = String.format("%s元/%s", this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - } else if (Objects.isNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) { - salary = "面议"; - } - return salary; - } - - public String getAgeStr() { - String age = ""; - if (Objects.nonNull(this.getAgeLow()) && Objects.nonNull(this.getAgeUp())) { - age = String.format("%s至%s岁", this.getAgeLow(), this.getAgeUp()); - if (this.getAgeLow().intValue() == this.getAgeUp().intValue()) { - age = String.format("%s岁", this.getAgeUp()); - } - } else if (Objects.nonNull(this.getAgeLow()) && Objects.isNull(this.getAgeUp())) { - age = String.format("%s岁以上", this.getAgeLow()); - } else if (Objects.isNull(this.getAgeLow()) && Objects.nonNull(this.getAgeUp())) { - age = String.format("18至%s岁", this.getAgeUp()); - } else if (Objects.isNull(this.getAgeLow()) && Objects.isNull(this.getAgeUp())) { - age = "18岁以上"; - } - return age; - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionAuditOperatorDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionAuditOperatorDTO.java deleted file mode 100644 index 4570781..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionAuditOperatorDTO.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * 岗位审核表 - * - * @author guixinman - * @since 1.0.0 2024-07-05 - */ -@ApiModel("岗位审核表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class PositionAuditOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - private Long positionId; - - private Long orgId; - - @ApiModelProperty("hr_company主键") - private Long companyId; - - @ApiModelProperty("岗位名称") - private String positionName; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("岗位类型") - private String positionType; - - @ApiModelProperty("工作性质 1:短工 2:全职") - private String jobCategory; - - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @ApiModelProperty("工作地址") - private String positionAddress; - - @ApiModelProperty("招聘专员") - private Long recruitUserId; - - @ApiModelProperty("发薪日") - private String payDate; - - @ApiModelProperty("性别要求") - private String sexRequire; - - @ApiModelProperty("学历要求") - private String educationRequire; - - @ApiModelProperty("经验要求") - private String experienceRequire; - - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - @ApiModelProperty("岗位标签") - private String positionTag; - - private Long addressId; - - @ApiModelProperty("招聘岗位类型数据字典") - private String recruitPositionType; - - @ApiModelProperty("审核状态 1:待审核 2.审核成功 3.审核失败") - private String auditStatus; - - @ApiModelProperty("审核失败原因") - private String auditFailMsg; - - @ApiModelProperty("版本号") - private Integer version; - - - /** - * 年龄上限 - */ - private Integer ageUp; - - /** - * 年龄下限 - */ - private Integer ageLow; - - /** - * 薪资上限 - */ - private BigDecimal salaryUp; - - /** - * 薪资下限 - */ - private BigDecimal salaryLow; - - /** - * 薪资类型 - */ - private String salaryType; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionAuditPageQueryDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionAuditPageQueryDTO.java deleted file mode 100644 index cceec5b..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionAuditPageQueryDTO.java +++ /dev/null @@ -1,128 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - - -import java.util.Date; -import java.util.Set; - -/** - * 岗位审核表 - * - * @author guixinman - * @since 1.0.0 2024-07-05 - */ - -@ApiModel("岗位审核表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class PositionAuditPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - private Long positionId; - - private Long orgId; - - private Set orgIds; - - private String orgNameLike; - - @ApiModelProperty("hr_company主键") - private Long companyId; - - @ApiModelProperty("岗位名称 (模糊匹配)") - private String positionNameLike; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("岗位类型") - private String positionType; - - @ApiModelProperty("工作性质 1:短工 2:全职") - private String jobCategory; - - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @ApiModelProperty("工作地址") - private String positionAddress; - - @ApiModelProperty("招聘专员") - private Long recruitUserId; - - @ApiModelProperty("发薪日") - private String payDate; - - @ApiModelProperty("性别要求") - private String sexRequire; - - @ApiModelProperty("学历要求") - private String educationRequire; - - @ApiModelProperty("经验要求") - private String experienceRequire; - - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - @ApiModelProperty("岗位标签") - private String positionTag; - - private Long addressId; - - @ApiModelProperty("招聘岗位类型数据字典") - private String recruitPositionType; - - @ApiModelProperty("审核状态 1:待审核 2.审核成功 3.审核失败") - private String auditStatus; - - @ApiModelProperty("审核失败原因") - private String auditFailMsg; - - @ApiModelProperty("版本号") - private Integer version; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionAuditQueryDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionAuditQueryDTO.java deleted file mode 100644 index 74bb4b7..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionAuditQueryDTO.java +++ /dev/null @@ -1,123 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.newyetai.common.dto.BaseDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -/** - * 岗位审核表 - * - * @author guixinman - * @since 1.0.0 2024-07-05 - */ -@ApiModel("岗位审核表") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class PositionAuditQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - private Long positionId; - - private Long orgId; - - @ApiModelProperty("hr_company主键") - private Long companyId; - - @ApiModelProperty("岗位名称 (模糊匹配)") - private String positionNameLike; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("岗位类型") - private String positionType; - - @ApiModelProperty("工作性质 1:短工 2:全职") - private String jobCategory; - - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @ApiModelProperty("工作地址") - private String positionAddress; - - @ApiModelProperty("招聘专员") - private Long recruitUserId; - - @ApiModelProperty("发薪日") - private String payDate; - - @ApiModelProperty("性别要求") - private String sexRequire; - - @ApiModelProperty("学历要求") - private String educationRequire; - - @ApiModelProperty("经验要求") - private String experienceRequire; - - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - @ApiModelProperty("岗位标签") - private String positionTag; - - private Long addressId; - - @ApiModelProperty("招聘岗位类型数据字典") - private String recruitPositionType; - - @ApiModelProperty("审核状态 1:待审核 2.审核成功 3.审核失败") - private String auditStatus; - - @ApiModelProperty("审核失败原因") - private String auditFailMsg; - - @ApiModelProperty("版本号") - private Integer version; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionAuditReqDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionAuditReqDTO.java deleted file mode 100644 index be74fba..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionAuditReqDTO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import java.io.Serializable; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @description: - * @author: guixinman - * @create: 2024-07-05 15:39 - **/ -@Data -public class PositionAuditReqDTO implements Serializable { - - @NotNull(message = "id不能为空") - private Long id; - - @NotBlank(message = "请选择审核状态") - @ApiModelProperty("审核状态 1:待审核 2.审核成功 3.审核失败") - private String auditStatus; - - @ApiModelProperty("审核失败原因") - private String auditFailMsg; - - @NotNull(message = "版本号不能为空") - private Integer version; - - private Long updateBy; - -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionDTO.java deleted file mode 100644 index 97777fe..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionDTO.java +++ /dev/null @@ -1,248 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.dto.BaseDTO; -import com.newyetai.component.dict.util.DictUtils; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -/** - * 岗位信息表;岗位信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-11 - */ -@ApiModel("岗位信息表;岗位信息表") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class PositionDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("公司ID ;hr_company") - private Long companyId; - - private String companyName; - - @ApiModelProperty("岗位状态:1:开启 2:关闭") - private String status; - - @ApiModelProperty("岗位名称") - private String positionName; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("岗位类型") - private String positionType; - - private String positionTypeName; - - @ApiModelProperty("岗位标签") - private String positionTag; - - @ApiModelProperty("工作性质;工作性质 1:短工 2:全职") - private String jobCategory; - - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @ApiModelProperty("工作地址") - private String positionAddress; - - @ApiModelProperty("招聘专员") - private Long recruitUserId; - - @ApiModelProperty("发薪日") - private String payDate; - - @ApiModelProperty("性别要求") - private String sexRequire; - - @ApiModelProperty("学历要求") - private String educationRequire; - - @ApiModelProperty("经验要求") - private String experienceRequire; - - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - private String companyLogo; - - @ApiModelProperty("招聘负责人名称") - private String recruitUserRealName; - - private String recruitUserAvatar; - - private String recruitUserPhone; - - private String positionFileCode; - - private String companyRegisterAddress; - - private List positionFileDTOS; - - @ApiModelProperty("状态:1已报名、2待面试、3面试不通过、4待入职、5已入职、 6已离职、 7结束招聘") - private String positionRegistrationStatus; - /** - * 是否收藏 - */ - private Boolean isCollection; - - @ApiModelProperty("工作地址id") - private Long addressId; - - /** - * 区域编码(31) - */ - private String districtCode; - - /** - * 区域名称 (上海市) - */ - private String districtName; - - /** - * 详细地址 (浦东新区黄金大厦B座) - */ - private String detailAddress; - /** - * 经度 - */ - private BigDecimal longitude; - /** - * 纬度 - */ - private BigDecimal latitude; - - /** - * 招聘岗位类型 - */ - private String recruitPositionType; - - private String recruitPositionTypeName; - - /** - * 年龄上限 - */ - private Integer ageUp; - - /** - * 年龄下限 - */ - private Integer ageLow; - - /** - * 薪资上限 - */ - private BigDecimal salaryUp; - - /** - * 薪资下限 - */ - private BigDecimal salaryLow; - - /** - * 薪资类型 - */ - private String salaryType; - - - private String salaryStr; - - private String ageStr; - - private Boolean canShow; - - @ApiModelProperty("报名时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date positionRegistrationCreateTime; - - @ApiModelProperty("面试时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date interviewTime; - - @ApiModelProperty("面试地点") - private String interviewLocation; - - @ApiModelProperty("备注") - private String remark; - - @ApiModelProperty("入职时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date inductionTime; - - @ApiModelProperty("入职薪资") - private BigDecimal positionRegistrationSalary; - - /** - * 结束日期 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date endTime; - - /** - * 米 - */ - private Long distance; - - public String getSalaryStr() { - String salary = ""; - if (Objects.nonNull(this.getSalaryUp()) && Objects.nonNull(this.getSalaryLow())) { - salary = String.format("%s~%s元/%s", this.getSalaryLow().stripTrailingZeros().toPlainString(), this.getSalaryUp().stripTrailingZeros().toPlainString(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - if (this.getSalaryLow().compareTo(this.getSalaryUp()) == 0) { - salary = String.format("%s元/%s", this.getSalaryUp().stripTrailingZeros().toPlainString(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - } - } else if (Objects.nonNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) { - salary = String.format("%s元/%s", this.getSalaryLow().stripTrailingZeros().toPlainString(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - } else if (Objects.isNull(this.getSalaryLow()) && Objects.nonNull(this.getSalaryUp())) { - salary = String.format("%s元/%s", this.getSalaryUp().stripTrailingZeros().toPlainString(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - } else if (Objects.isNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) { - salary = "面议"; - } - return salary; - } - - public String getAgeStr() { - String age = ""; - if (Objects.nonNull(this.getAgeLow()) && Objects.nonNull(this.getAgeUp())) { - age = String.format("%s至%s岁", this.getAgeLow(), this.getAgeUp()); - if (this.getAgeLow().intValue() == this.getAgeUp().intValue()) { - age = String.format("%s岁", this.getAgeUp()); - } - } else if (Objects.nonNull(this.getAgeLow()) && Objects.isNull(this.getAgeUp())) { - age = String.format("%s岁以上", this.getAgeLow()); - } else if (Objects.isNull(this.getAgeLow()) && Objects.nonNull(this.getAgeUp())) { - age = String.format("18至%s岁", this.getAgeUp()); - } else if (Objects.isNull(this.getAgeLow()) && Objects.isNull(this.getAgeUp())) { - age = "18岁以上"; - } - return age; - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionExportDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionExportDTO.java deleted file mode 100644 index 6f6fec7..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionExportDTO.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.alibaba.excel.annotation.ExcelProperty; - -import java.io.Serializable; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @description: - * @author: guixinman - * @create: 2024-04-11 17:04 - **/ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class PositionExportDTO implements Serializable { - - @ExcelProperty("招聘岗位类型") - @ApiModelProperty("招聘岗位类型") - private String recruitPositionTypeName; - - @ExcelProperty("岗位名称") - @ApiModelProperty("岗位名称") - private String positionName; - - @ExcelProperty("用工企业") - @ApiModelProperty("用工企业") - private String companyName; - - @ExcelProperty("岗位状态") - @ApiModelProperty("岗位状态:1:开启 2:关闭") - private String status; - - @ExcelProperty("招聘人数") - @ApiModelProperty("招聘人数") - private Integer positionNumber; - - @ExcelProperty("综合薪资") - @ApiModelProperty("综合薪资") - private String salary; - - @ExcelProperty("工作地址") - @ApiModelProperty("工作地址") - private String positionAddress; - - @ApiModelProperty("创建时间") - @ExcelProperty("创建时间") - private String createTime; - - @ApiModelProperty("有效期截止时间") - @ExcelProperty("有效期截止时间") - private String endTime; -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionFileDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionFileDTO.java deleted file mode 100644 index 7f98e4b..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionFileDTO.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import java.io.Serializable; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - *

- * 招聘系统-岗位文件 - *

- * - * @author chenyun - * @since 2021-01-08 - */ -@ApiModel("招聘系统岗位文件DTO") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class PositionFileDTO implements Serializable { - - - private static final long serialVersionUID = 8851173648134487125L; - - @ApiModelProperty("主键") - private Long id; - - @ApiModelProperty("文件名称") - private String fileName; - - @ApiModelProperty("文件编码") - private String fileCode; - - @ApiModelProperty("文件后缀") - private String fileSuffix; - - @ApiModelProperty("文件描述") - private String description; - - @ApiModelProperty("文件类型") - private String fileType; - - @ApiModelProperty("默认显示") - private Boolean defaultShow; - - @ApiModelProperty("排序") - private Integer sort; - - @ApiModelProperty("岗位ID") - private Long positionId; - - -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionFilePageQueryDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionFilePageQueryDTO.java deleted file mode 100644 index 65e5c5a..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionFilePageQueryDTO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -/** - *

- * 招聘系统-岗位相关分页请求DTO - *

- * - * @author chenyun - * @since 2021-01-08 - */ -@EqualsAndHashCode(callSuper = true) -@ApiModel("招聘系统岗位相关分页查询DTO") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class PositionFilePageQueryDTO extends PageQueryDTO { - - private static final long serialVersionUID = -6211701785572927530L; - - @ApiModelProperty("岗位ID") - private Long positionId; - - @ApiModelProperty("文件类型") - private String fileType; -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionNewDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionNewDTO.java deleted file mode 100644 index 078bfb8..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionNewDTO.java +++ /dev/null @@ -1,237 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.dto.BaseDTO; -import com.newyetai.component.dict.util.DictUtils; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; -import java.util.Objects; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * 岗位信息表;岗位信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-11 - */ -@ApiModel("岗位信息表;岗位信息表") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class PositionNewDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("公司ID ;hr_company") - private Long companyId; - - private String companyName; - - @ApiModelProperty("岗位状态:1:开启 2:关闭") - private String status; - - @ApiModelProperty("岗位名称") - private String positionName; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("岗位类型") - private String positionType; - - private String positionTypeName; - - @ApiModelProperty("岗位标签") - private String positionTag; - - @ApiModelProperty("工作性质;工作性质 1:短工 2:全职") - private String jobCategory; - - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @ApiModelProperty("工作地址") - private String positionAddress; - - @ApiModelProperty("招聘专员") - private Long recruitUserId; - - @ApiModelProperty("发薪日") - private String payDate; - - @ApiModelProperty("性别要求") - private String sexRequire; - - @ApiModelProperty("学历要求") - private String educationRequire; - - @ApiModelProperty("经验要求") - private String experienceRequire; - - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - private String companyLogo; - - @ApiModelProperty("招聘负责人名称") - private String recruitUserRealName; - - private String recruitUserAvatar; - - private String recruitUserPhone; - - private String positionFileCode; - - private String companyRegisterAddress; - - private List positionFileDTOS; - - @ApiModelProperty("状态:1已报名、2待面试、3面试不通过、4待入职、5已入职、 6已离职、 7结束招聘") - private String positionRegistrationStatus; - /** - * 是否收藏 - */ - private Boolean isCollection; - - @ApiModelProperty("工作地址id") - private Long addressId; - - /** - * 区域编码(31) - */ - private String districtCode; - - /** - * 区域名称 (上海市) - */ - private String districtName; - - /** - * 详细地址 (浦东新区黄金大厦B座) - */ - private String detailAddress; - /** - * 经度 - */ - private BigDecimal longitude; - /** - * 纬度 - */ - private BigDecimal latitude; - - /** - * 招聘岗位类型 - */ - private String recruitPositionType; - - private String recruitPositionTypeName; - - private Long positionAuditId; - - /** - * 审核状态 1:待审核 2.审核成功 3.审核失败 - */ - private String auditStatus; - - @ApiModelProperty("审核失败原因") - private String auditFailMsg; - - private Integer version; - - /** - * 岗位相册json - */ - private String fileJson; - - /** - * 年龄上限 - */ - private Integer ageUp; - - /** - * 年龄下限 - */ - private Integer ageLow; - - /** - * 薪资上限 - */ - private BigDecimal salaryUp; - - /** - * 薪资下限 - */ - private BigDecimal salaryLow; - - /** - * 薪资类型 - */ - private String salaryType; - - - private String salaryStr; - - private String ageStr; - - /** - * 结束日期 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date endTime; - - public String getSalaryStr() { - String salary = ""; - if (Objects.nonNull(this.getSalaryUp()) && Objects.nonNull(this.getSalaryLow())) { - salary = String.format("%s~%s元/%s", this.getSalaryLow(), this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - if (this.getSalaryLow().compareTo(this.getSalaryUp()) == 0) { - salary = String.format("%s元/%s", this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - } - } else if (Objects.nonNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) { - salary = String.format("%s元/%s", this.getSalaryLow(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - } else if (Objects.isNull(this.getSalaryLow()) && Objects.nonNull(this.getSalaryUp())) { - salary = String.format("%s元/%s", this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - } else if (Objects.isNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) { - salary = "面议"; - } - return salary; - } - - public String getAgeStr() { - String age = ""; - if (Objects.nonNull(this.getAgeLow()) && Objects.nonNull(this.getAgeUp())) { - age = String.format("%s至%s岁", this.getAgeLow(), this.getAgeUp()); - if (this.getAgeLow().intValue() == this.getAgeUp().intValue()) { - age = String.format("%s岁", this.getAgeUp()); - } - } else if (Objects.nonNull(this.getAgeLow()) && Objects.isNull(this.getAgeUp())) { - age = String.format("%s岁以上", this.getAgeLow()); - } else if (Objects.isNull(this.getAgeLow()) && Objects.nonNull(this.getAgeUp())) { - age = String.format("18至%s岁", this.getAgeUp()); - } else if (Objects.isNull(this.getAgeLow()) && Objects.isNull(this.getAgeUp())) { - age = "18岁以上"; - } - return age; - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionNewOperatorDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionNewOperatorDTO.java deleted file mode 100644 index cd13ef6..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionNewOperatorDTO.java +++ /dev/null @@ -1,171 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.annotation.trimAndUpper.TrimAndUpper; - -import org.hibernate.validator.constraints.Length; -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.Objects; -import java.util.Set; - -import javax.validation.constraints.Max; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -import cn.hutool.core.date.DateUtil; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @description: - * @author: guixinman - * @create: 2024-07-08 10:18 - **/ -@ApiModel("岗位审核表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class PositionNewOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - //开启招聘 关闭招聘用 - private Set ids; - - @ApiModelProperty("机构ID") - private Long orgId; - - @NotNull(message = "请选择用工企业") - @ApiModelProperty("公司ID ;hr_company") - private Long companyId; - - @ApiModelProperty("岗位状态:1:开启 2:关闭") - private String status; - - @Length(max = 50,message = "岗位名称超长") - @TrimAndUpper(value = TrimAndUpper.ExecuteType.TRIM) - @NotBlank(message = "岗位名称不能为空") - @ApiModelProperty("岗位名称") - private String positionName; - - @Length(max = 255,message = "招聘标题超长") - @TrimAndUpper(value = TrimAndUpper.ExecuteType.TRIM) - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("岗位类型") - private String positionType; - - /** - * 岗位标签 - */ - @Length(max = 512,message = "岗位标签超长") - private String positionTag; - - @ApiModelProperty("工作性质;工作性质 1:短工 2:全职") - private String jobCategory; - - @Max(value = 30000,message = "岗位招聘人数超长") - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @Length(max = 255,message = "工作地址超长") - @ApiModelProperty("工作地址") - private String positionAddress; - - @ApiModelProperty("招聘专员") - private Long recruitUserId; - - @Length(max = 32,message = "发薪日超长") - @ApiModelProperty("发薪日") - private String payDate; - - @Length(max = 2,message = "性别要求超长") - @ApiModelProperty("性别要求") - private String sexRequire; - - @Length(max = 32,message = "学历要求超长") - @ApiModelProperty("学历要求") - private String educationRequire; - - @Length(max = 32,message = "经验要求超长") - @ApiModelProperty("经验要求") - private String experienceRequire; - - @Length(max = 32,message = "证件要求超长") - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @Length(max = 32,message = "其他要求超长") - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - private Long addressId; - - /** - * 招聘岗位类型 - */ - @Length(max = 2,message = "招聘岗位类型超长") - @NotBlank(message = "请选择招聘岗位类型") - private String recruitPositionType; - - private Long positionAuditId; - - /** - * 版本号 - */ - private Integer version; - - - /** - * 岗位相册json - */ - private String fileJson; - - /** - * 年龄上限 - */ - private Integer ageUp; - - /** - * 年龄下限 - */ - private Integer ageLow; - - /** - * 薪资上限 - */ - private BigDecimal salaryUp; - - /** - * 薪资下限 - */ - private BigDecimal salaryLow; - - /** - * 薪资类型 - */ - private String salaryType; - - - /** - * 结束日期 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - @NotNull(message = "有效期截止日期不能为空") - private Date endTime; -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionNewPageQueryDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionNewPageQueryDTO.java deleted file mode 100644 index 3a14609..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionNewPageQueryDTO.java +++ /dev/null @@ -1,121 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.dto.PageQueryDTO; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; -import java.util.List; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -/** - * 岗位信息表;岗位信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-11 - */ - -@ApiModel("岗位信息表;岗位信息表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class PositionNewPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - private List ids; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("公司ID ;hr_company") - private Long companyId; - - @ApiModelProperty("岗位状态:1:开启 2:关闭") - private String status; - - @ApiModelProperty("岗位名称 (模糊匹配)") - private String positionNameLike; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - private String recruitTitleLike; - - private String positionTagLike; - - @ApiModelProperty("岗位类型") - private String positionType; - - @ApiModelProperty("工作性质;工作性质 1:短工 2:全职") - private String jobCategory; - - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @ApiModelProperty("工作地址") - private String positionAddress; - - @ApiModelProperty("招聘专员") - private Long recruitUserId; - - @ApiModelProperty("发薪日") - private String payDate; - - @ApiModelProperty("性别要求") - private String sexRequire; - - @ApiModelProperty("学历要求") - private String educationRequire; - - @ApiModelProperty("经验要求") - private String experienceRequire; - - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - /** - * 招聘岗位类型 - */ - private String recruitPositionType; - - private String recruitPositionTypeName; - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionOperatorDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionOperatorDTO.java deleted file mode 100644 index 9b23bd2..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionOperatorDTO.java +++ /dev/null @@ -1,161 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import cn.hutool.core.date.DateUtil; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.annotation.trimAndUpper.TrimAndUpper; - -import org.hibernate.validator.constraints.Length; -import org.springframework.format.annotation.DateTimeFormat; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import javax.validation.constraints.Max; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.Objects; -import java.util.Set; - -/** - * 岗位信息表;岗位信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-11 - */ -@ApiModel("岗位信息表;岗位信息表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class PositionOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - //开启招聘 关闭招聘用 - private Set ids; - - @ApiModelProperty("机构ID") - private Long orgId; - - @NotNull(message = "请选择用工企业") - @ApiModelProperty("公司ID ;hr_company") - private Long companyId; - - @ApiModelProperty("岗位状态:1:开启 2:关闭") - private String status; - - @Length(max = 50,message = "岗位名称超长") - @TrimAndUpper(value = TrimAndUpper.ExecuteType.TRIM) - @NotBlank(message = "岗位名称不能为空") - @ApiModelProperty("岗位名称") - private String positionName; - - @Length(max = 255,message = "招聘标题超长") - @TrimAndUpper(value = TrimAndUpper.ExecuteType.TRIM) - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("岗位类型") - private String positionType; - - /** - * 岗位标签 - */ - @Length(max = 512,message = "岗位标签超长") - private String positionTag; - - @ApiModelProperty("工作性质;工作性质 1:短工 2:全职") - private String jobCategory; - - @Max(value = 30000,message = "岗位招聘人数超长") - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @Length(max = 255,message = "工作地址超长") - @ApiModelProperty("工作地址") - private String positionAddress; - - @ApiModelProperty("招聘专员") - private Long recruitUserId; - - @Length(max = 32,message = "发薪日超长") - @ApiModelProperty("发薪日") - private String payDate; - - @Length(max = 2,message = "性别要求超长") - @ApiModelProperty("性别要求") - private String sexRequire; - - @Length(max = 32,message = "学历要求超长") - @ApiModelProperty("学历要求") - private String educationRequire; - - @Length(max = 32,message = "经验要求超长") - @ApiModelProperty("经验要求") - private String experienceRequire; - - @Length(max = 32,message = "证件要求超长") - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @Length(max = 32,message = "其他要求超长") - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - private Long addressId; - - /** - * 招聘岗位类型 - */ - @Length(max = 2,message = "招聘岗位类型超长") - @NotBlank(message = "请选择招聘岗位类型") - private String recruitPositionType; - - /** - * 年龄上限 - */ - private Integer ageUp; - - /** - * 年龄下限 - */ - @Min(value = 18,message = "年龄下限不低于18周岁") - private Integer ageLow; - - /** - * 薪资上限 - */ - private BigDecimal salaryUp; - - /** - * 薪资下限 - */ - private BigDecimal salaryLow; - - /** - * 薪资类型 - */ - private String salaryType; - - /** - * 结束日期 - */ - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date endTime; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionPageQueryDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionPageQueryDTO.java deleted file mode 100644 index c480ca0..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionPageQueryDTO.java +++ /dev/null @@ -1,163 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** - * 岗位信息表;岗位信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-11 - */ - -@ApiModel("岗位信息表;岗位信息表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class PositionPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - private List ids; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("公司ID ;hr_company") - private Long companyId; - - @ApiModelProperty("岗位状态:1:开启 2:关闭") - private String status; - - @ApiModelProperty("岗位名称 (模糊匹配)") - private String positionNameLike; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - private String recruitTitleLike; - - private String positionTagLike; - - @ApiModelProperty("岗位类型") - private String positionType; - - @ApiModelProperty("工作性质;工作性质 1:短工 2:全职") - private String jobCategory; - - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @ApiModelProperty("工作地址") - private String positionAddress; - - @ApiModelProperty("招聘专员") - private Long recruitUserId; - - @ApiModelProperty("发薪日") - private String payDate; - - @ApiModelProperty("性别要求") - private String sexRequire; - - @ApiModelProperty("学历要求") - private String educationRequire; - - @ApiModelProperty("经验要求") - private String experienceRequire; - - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - /** - * 招聘岗位类型 - */ - private String recruitPositionType; - - private String recruitPositionTypeName; - - /** - * 查询sql是否判断 有效期 - */ - @Builder.Default - private Boolean useEndTime = Boolean.TRUE; - - /** - * 经度 - */ - private BigDecimal longitude; - /** - * 纬度 - */ - private BigDecimal latitude; - - /** - * 千米 - */ - private int radius; - - private BigDecimal minX; - - private BigDecimal maxX; - - private BigDecimal minY; - - private BigDecimal maxY; - - private BigDecimal salaryUp; - - private BigDecimal salaryLow; - - @ApiModelProperty("薪资范围查询,在岗位工资上下限之间") - private String salaryBetween; - - private String detailAddressLike; - - @ApiModelProperty("综合搜索(企业名称/招聘标题/工作内容/工作地址)") - private String nameOr; - - @ApiModelProperty("岗位类型全称相关性搜索") - private String positionTypeFullNameRelate; - -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionQueryDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionQueryDTO.java deleted file mode 100644 index 9c71d85..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionQueryDTO.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -/** - * 岗位信息表;岗位信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-11 - */ -@ApiModel("岗位信息表;岗位信息表") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class PositionQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("公司ID ;hr_company") - private Long companyId; - - @ApiModelProperty("岗位状态:1:开启 2:关闭") - private String status; - - @ApiModelProperty("岗位名称 (模糊匹配)") - private String positionNameLike; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("岗位类型") - private String positionType; - - @ApiModelProperty("工作性质;工作性质 1:短工 2:全职") - private String jobCategory; - - @ApiModelProperty("岗位招聘人数") - private Integer positionNumber; - - @ApiModelProperty("工作地址") - private String positionAddress; - - @ApiModelProperty("招聘专员") - private Long recruitUserId; - - @ApiModelProperty("发薪日") - private String payDate; - - @ApiModelProperty("性别要求") - private String sexRequire; - - @ApiModelProperty("学历要求") - private String educationRequire; - - @ApiModelProperty("经验要求") - private String experienceRequire; - - @ApiModelProperty("证件要求") - private String certificatesRequire; - - @ApiModelProperty("其他要求") - private String otherRequire; - - @ApiModelProperty("工作内容") - private String jobContent; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionRegistrationDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionRegistrationDTO.java deleted file mode 100644 index 6e7da65..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionRegistrationDTO.java +++ /dev/null @@ -1,131 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.dto.BaseDTO; -import com.newyetai.common.util.IdcardUtils; -import com.newyetai.recruit.user.dto.JobExpectDTO; -import com.newyetai.recruit.user.dto.ResumeDTO; -import com.newyetai.recruit.user.dto.UserCertificateDTO; - -import org.springframework.format.annotation.DateTimeFormat; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - -/** - * 岗位报名信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-15 - */ -@ApiModel("岗位报名信息表") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class PositionRegistrationDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("岗位ID") - private Long positionId; - - @ApiModelProperty("用户ID ") - private Long userId; - - @ApiModelProperty("状态:1已报名、2待面试、3面试不通过、4待入职、5已入职、 6已离职、 7结束招聘") - private String status; - - @ApiModelProperty("面试时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date interviewTime; - - @ApiModelProperty("面试地点") - private String interviewLocation; - - @ApiModelProperty("入职时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date inductionTime; - - @ApiModelProperty("离职时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date quitTime; - - @ApiModelProperty("终止时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date terminationTime; - - @ApiModelProperty("入职薪水") - private BigDecimal salary; - - @ApiModelProperty("备注") - private String remark; - - private String positionName; - - private Long companyId; - - private String companyName; - - private String realName; - - private String cardNo; - - private String phone; - - /** - * 招聘专员 - */ - private String recruitUserName; - - @ApiModelProperty("性别") - private String gender; - - @ApiModelProperty("年龄") - private Integer age; - - @ApiModelProperty("所在城市") - private String cityCode; - - private String cityCodeName; - - @ApiModelProperty("简历") - private String resumeFileCode; - - @ApiModelProperty("求职期望") - private List jobExpectDTOList; - - @ApiModelProperty("证书") - private List userCertificateDTOList; - - private Boolean canShow; - - @ApiModelProperty("所属街道名称") - private String streetName; - - @ApiModelProperty("发布机构名称") - private String publishOrgName; - - /** - * 标签 - */ - private String tag; - - private ResumeDTO resumeDTO; - - public void setCardNo(String cardNo) { - this.setAge(IdcardUtils.getAgeByIDNumber(cardNo)); - this.setGender(IdcardUtils.judgeGender(cardNo)); - this.cardNo = cardNo; - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionRegistrationExportDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionRegistrationExportDTO.java deleted file mode 100644 index f2ac801..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionRegistrationExportDTO.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.alibaba.excel.annotation.ExcelProperty; - -import java.io.Serializable; -import java.math.BigDecimal; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @description: 招聘管理导出dto(全部) - * @author: guixinman - * @create: 2024-04-16 17:17 - **/ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class PositionRegistrationExportDTO implements Serializable { - - @ExcelProperty("岗位名称") - @ApiModelProperty("岗位名称") - private String positionName; - - @ApiModelProperty("姓名") - @ExcelProperty("姓名") - private String realName; - - @ApiModelProperty("性别") - @ExcelProperty("性别") - private String gender; - - @ApiModelProperty("年龄") - @ExcelProperty("年龄") - private Integer age; - - @ApiModelProperty("手机号") - @ExcelProperty("手机号") - private String phone; - - @ApiModelProperty("身份证号") - @ExcelProperty("身份证号") - private String cardNo; - - @ExcelProperty("用工企业") - @ApiModelProperty("用工企业") - private String companyName; - - @ExcelProperty("招聘状态") - @ApiModelProperty("招聘状态") - private String status; - - @ExcelProperty("所属街道") - @ApiModelProperty("所属街道名称") - private String streetName; - - @ExcelProperty("发布机构") - @ApiModelProperty("发布机构名称") - private String publishOrgName; - - @ExcelProperty("面试时间") - @ApiModelProperty("面试时间") - private String interviewTime; - - @ExcelProperty("面试地点") - @ApiModelProperty("面试地点") - private String interviewLocation; - - @ExcelProperty("入职薪资") - @ApiModelProperty("入职薪资") - private BigDecimal salary; - - @ApiModelProperty("报名时间") - @ExcelProperty("报名时间") - private String createTime; - - @ApiModelProperty("入职时间") - @ExcelProperty("入职时间") - private String inductionTime; - - @ApiModelProperty("离职时间") - @ExcelProperty("离职时间") - private String quitTime; -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionRegistrationOperatorDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionRegistrationOperatorDTO.java deleted file mode 100644 index fb0e96a..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionRegistrationOperatorDTO.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.hibernate.validator.constraints.Length; -import org.springframework.format.annotation.DateTimeFormat; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; -import java.util.Set; - -import javax.validation.constraints.NotNull; - -/** - * 岗位报名信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-15 - */ -@ApiModel("岗位报名信息表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class PositionRegistrationOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - private Set ids; - - private Set userIds; - - @NotNull(message = "请选择岗位") - @ApiModelProperty("岗位ID") - private Long positionId; - - @ApiModelProperty("用户ID ") - private Long userId; - - @NotNull(message = "请选择招聘状态") - @ApiModelProperty("状态:1已报名、2待面试、3面试不通过、4待入职、5已入职、 6已离职、 7结束招聘") - private String status; - - @ApiModelProperty("面试时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date interviewTime; - - @Length(max = 100,message = "面试地点长度超过最大限制") - @ApiModelProperty("面试地点") - private String interviewLocation; - - @ApiModelProperty("入职时间") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date inductionTime; - - @ApiModelProperty("离职时间") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date quitTime; - - @ApiModelProperty("终止时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date terminationTime; - - @ApiModelProperty("入职薪水") - private BigDecimal salary; - - @ApiModelProperty("备注") - private String remark; - - private Boolean canShow; - - /** - * 标签 - */ - private String tag; - - @ApiModelProperty("是否发送短信") - @Builder.Default - private Boolean sendSms = false; -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionRegistrationPageQueryDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionRegistrationPageQueryDTO.java deleted file mode 100644 index 95e5197..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionRegistrationPageQueryDTO.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.dto.PageQueryDTO; - -import org.springframework.format.annotation.DateTimeFormat; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; -import java.util.Set; - -/** - * 岗位报名信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-15 - */ - -@ApiModel("岗位报名信息表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class PositionRegistrationPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - private Long orgId; - - @ApiModelProperty("发布机构id") - private Long publishOrgId; - - @ApiModelProperty("所属街道机构id") - private Long queryStreetOrgId; - - @ApiModelProperty("所属街道机构子级orgids") - private Set queryStreetChildrenAllOrgIds; - - private Set orgIds; - - @ApiModelProperty("岗位ID") - private Long positionId; - - @ApiModelProperty("用户ID ") - private Long userId; - - @ApiModelProperty("状态:1已报名、2待面试、3面试不通过、4待入职、5已入职、 6已离职、 7结束招聘") - private String status; - - private List statusList; - - @ApiModelProperty("面试时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date interviewTime; - - @ApiModelProperty("入职时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date inductionTime; - - @ApiModelProperty("离职时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date quitTime; - - @ApiModelProperty("终止时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date terminationTime; - - @ApiModelProperty("入职薪水") - private BigDecimal salary; - - @ApiModelProperty("备注") - private String remark; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - /** - * 用工企业id - **/ - private Long companyId; - /** - * 姓名 - **/ - private String realNameLike; - - private Set realNames; - - /** - * 手机号 - **/ - private String phoneLike; - - private Set phones; - /** - * 身份证 - **/ - private String cardNoLike; - - private Set cardNos; - - private Boolean canShow; - - /** - * 是否查看自己+子级orgId - */ - private Boolean childrenOrgAll; - - private String tagLike; - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionTypeDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionTypeDTO.java deleted file mode 100644 index 3031c0e..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionTypeDTO.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.newyetai.common.dto.BaseDTO; -import com.newyetai.common.util.TreeNode; - -import org.apache.commons.compress.utils.Lists; -import org.apache.commons.lang3.StringUtils; - -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -import cn.hutool.core.collection.CollUtil; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - *

- * 用户岗位类型 - *

- * - * @author Carlye - * @since 2021-01-21 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class PositionTypeDTO extends BaseDTO implements TreeNode { - - private static final long serialVersionUID = 2154317236704975221L; - - /** - * 文件名称 - */ - private String name; - - /** - * 文件编码 - */ - private String code; - - /** - * 岗位ID - */ - private Long parentId; - /** - * 招聘岗位类型 - */ - private String recruitPositionType; - - private List childrenSet; - - public List getChildrenSet() { - if (Objects.isNull(childrenSet)) { - childrenSet = Lists.newArrayList(); - } - return childrenSet; - } - - @Override - public void addChildren(PositionTypeDTO node) { - getChildrenSet().add(node); - } - - /** - * 复制,不复制子元素 - * - * @return {@link PositionTypeDTO} - */ - public PositionTypeDTO copy() { - PositionTypeDTO positionTypeDTO = new PositionTypeDTO(); - positionTypeDTO.setCode(code); - positionTypeDTO.setName(name); - positionTypeDTO.setParentId(parentId); - return positionTypeDTO; - } - - public static PositionTypeDTO search(PositionTypeDTO parent, PositionTypeQueryDTO queryDTO) { - String name = parent.getName(); - String code = parent.getCode(); - List childrenSet = parent.getChildrenSet(); - if ((StringUtils.isNotEmpty(queryDTO.getNameLike()) && StringUtils.contains(name, queryDTO.getNameLike())) || (CollUtil.isNotEmpty(queryDTO.getTypeCodes()) && queryDTO.getTypeCodes().contains(code))) { - if (CollUtil.isNotEmpty(childrenSet)) { - parent.setChildrenSet(null); - } - return parent; - } else { - if (CollUtil.isNotEmpty(childrenSet)) { - List collect = childrenSet.stream().map(child -> search(child, queryDTO)) - .filter(Objects::nonNull).collect( - Collectors.toList()); - if (CollUtil.isEmpty(collect)) { - return null; - } - parent.setChildrenSet(collect); - return parent; - } - } - return null; - } -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/PositionTypeQueryDTO.java b/src/main/java/com/newyetai/recruit/position/dto/PositionTypeQueryDTO.java deleted file mode 100644 index 9b94f28..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/PositionTypeQueryDTO.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import java.io.Serializable; -import java.util.Set; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - *

- * 用户岗位类型 - 查询DTO - *

- * - * @author Carlye - * @since 2021-01-21 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class PositionTypeQueryDTO implements Serializable { - - private static final long serialVersionUID = -618123250962943084L; - /** - * 文件名称 - */ - private String nameLike; - - /** - * 类型编码 - */ - private Set typeCodes; - - /** - * 招聘岗位类型 - */ - private String recruitPositionType; -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/ResignedDTO.java b/src/main/java/com/newyetai/recruit/position/dto/ResignedDTO.java deleted file mode 100644 index c1a6387..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/ResignedDTO.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.util.Date; -import java.util.Set; - -import javax.validation.constraints.NotNull; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @description: 离职dto - * @author: guixinman - * @create: 2024-04-16 15:17 - **/ -@Data -public class ResignedDTO implements Serializable { - - @NotNull(message = "请选择离职时间") - @ApiModelProperty("离职时间") - @DateTimeFormat(pattern = "yyyy-MM-dd") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date quitTime; - - @NotNull(message = "请选择数据") - private Set ids; - - private String tag; -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/UserPositionRegistrationDTO.java b/src/main/java/com/newyetai/recruit/position/dto/UserPositionRegistrationDTO.java deleted file mode 100644 index b4415d3..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/UserPositionRegistrationDTO.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import java.io.Serializable; - -import javax.validation.constraints.NotNull; - -import lombok.Data; - -/** - * @description: 用户端报名岗位 - * @author: guixinman - * @create: 2024-04-15 16:29 - **/ -@Data -public class UserPositionRegistrationDTO implements Serializable { - - @NotNull(message = "请选择岗位") - private Long positionId; -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/UserPositionRegistrationPageQueryDTO.java b/src/main/java/com/newyetai/recruit/position/dto/UserPositionRegistrationPageQueryDTO.java deleted file mode 100644 index 0a7c144..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/UserPositionRegistrationPageQueryDTO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; - -/** - * @description: 用户端查询我的报名 - * @author: guixinman - * @create: 2024-04-19 09:31 - **/ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class UserPositionRegistrationPageQueryDTO extends PageQueryDTO { - - private Long id; - - private Long userId; - - @ApiModelProperty("状态:1已报名、2待面试、3面试不通过、4待入职、5已入职、 6已离职、 7结束招聘") - private String status; - - private Long positionId; - -} diff --git a/src/main/java/com/newyetai/recruit/position/dto/UserPositionRegistrationResDTO.java b/src/main/java/com/newyetai/recruit/position/dto/UserPositionRegistrationResDTO.java deleted file mode 100644 index cf934c7..0000000 --- a/src/main/java/com/newyetai/recruit/position/dto/UserPositionRegistrationResDTO.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.newyetai.recruit.position.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.component.dict.util.DictUtils; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.math.BigDecimal; -import java.util.Date; -import java.util.Objects; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @description: 用户端我的报名 - * @author: guixinman - * @create: 2024-04-19 09:26 - **/ -@Data -public class UserPositionRegistrationResDTO implements Serializable { - - private Long id; - - private Long positionId; - - @ApiModelProperty("岗位名称") - private String positionName; - - @ApiModelProperty("招聘标题") - private String recruitTitle; - - @ApiModelProperty("岗位标签") - private String positionTag; - - @ApiModelProperty("工作地址") - private String positionAddress; - - @ApiModelProperty("招聘专员") - private String recruitUserName; - - private String companyName; - - private String companyLogo; - - private String positionFileCode; - - private String status; - - @ApiModelProperty("报名时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTime; - - @ApiModelProperty("面试时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date interviewTime; - - @ApiModelProperty("面试地点") - private String interviewLocation; - - @ApiModelProperty("备注") - private String remark; - - @ApiModelProperty("入职时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date inductionTime; - - @ApiModelProperty("入职薪资") - private BigDecimal salary; - - /** - * 招聘岗位类型 - */ - private String recruitPositionType; - - private String recruitPositionTypeName; - - - /** - * 薪资上限 - */ - private BigDecimal salaryUp; - /** - * 薪资下限 - */ - private BigDecimal salaryLow; - - /** - * 薪资类型 - */ - private String salaryType; - - - private String salaryStr; - - private Boolean canShow; - - /** - * 详细地址 - */ - private String detailAddress; - public String getSalaryStr() { - String salary = ""; - if (Objects.nonNull(this.getSalaryUp()) && Objects.nonNull(this.getSalaryLow())) { - salary = String.format("%s~%s元/%s", this.getSalaryLow(), this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - if (this.getSalaryLow().compareTo(this.getSalaryUp()) == 0) { - salary = String.format("%s元/%s", this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - } - } else if (Objects.nonNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) { - salary = String.format("%s元/%s", this.getSalaryLow(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - } else if (Objects.isNull(this.getSalaryLow()) && Objects.nonNull(this.getSalaryUp())) { - salary = String.format("%s元/%s", this.getSalaryUp(), DictUtils.getCodeNameMap("salary_type").get(String.valueOf(this.getSalaryType()))); - } else if (Objects.isNull(this.getSalaryLow()) && Objects.isNull(this.getSalaryUp())) { - salary = "面议"; - } - return salary; - } -} diff --git a/src/main/java/com/newyetai/recruit/position/entity/ImportDetailPosition.java b/src/main/java/com/newyetai/recruit/position/entity/ImportDetailPosition.java deleted file mode 100644 index b86b6bd..0000000 --- a/src/main/java/com/newyetai/recruit/position/entity/ImportDetailPosition.java +++ /dev/null @@ -1,145 +0,0 @@ -package com.newyetai.recruit.position.entity; - -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import com.baomidou.mybatisplus.annotation.*; -import com.newyetai.common.entity.BaseEntity; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * 岗位导入 - * - * @author guixinman - * @since 1.0.0 2024-04-12 - */ -@TableName(value = "hr_import_detail_position") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class ImportDetailPosition extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 导入任务ID - */ - private Long mainId; - /** - * 机构ID - */ - private Long orgId; - /** - * 模板全量数据 - */ - private String dataJson; - /** - * 公司ID ;hr_company - */ - private Long companyId; - /** - * 岗位名称 - */ - private String positionName; - /** - * 招聘标题 - */ - private String recruitTitle; - /** - * 岗位招聘人数 - */ - private Integer positionNumber; - /** - * 工作地址 - */ - private String positionAddress; - /** - * 岗位性质 数据字典 - */ - private String recruitPositionType; - /** - * 发薪日 - */ - private String payDate; - /** - * 性别要求 - */ - private String sexRequire; - /** - * 学历要求 - */ - private String educationRequire; - /** - * 经验要求 - */ - private String experienceRequire; - /** - * 证件要求 - */ - private String certificatesRequire; - /** - * 其他要求 - */ - private String otherRequire; - /** - * 工作内容 - */ - private String jobContent; - /** - * 明细状态 - */ - private Integer detailStatus; - /** - * 失败原因 - */ - private String failReason; - /** - * 外部生成明细id - */ - private Long extraDetailId; - /** - * 备注 - */ - private String remark; - - @ApiModelProperty("岗位类型") - private String positionTypeName; - - @ApiModelProperty("岗位标签") - private String positionTag; - - /** - * 年龄上限 - */ - private Integer ageUp; - - /** - * 年龄下限 - */ - private Integer ageLow; - - /** - * 薪资上限 - */ - private BigDecimal salaryUp; - - /** - * 薪资下限 - */ - private BigDecimal salaryLow; - - /** - * 薪资类型 - */ - private String salaryType; - - - /** - * 结束日期 - */ - private Date endTime; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/entity/Position.java b/src/main/java/com/newyetai/recruit/position/entity/Position.java deleted file mode 100644 index c63e725..0000000 --- a/src/main/java/com/newyetai/recruit/position/entity/Position.java +++ /dev/null @@ -1,142 +0,0 @@ -package com.newyetai.recruit.position.entity; - - -import lombok.*; -import lombok.experimental.SuperBuilder; - -import com.baomidou.mybatisplus.annotation.*; - -import com.newyetai.common.entity.BaseEntity; - -import java.math.BigDecimal; -import java.util.Date; - -/** - * 岗位信息表;岗位信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-11 - */ -@TableName(value = "hr_position") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class Position extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 机构ID - */ - private Long orgId; - /** - * 公司ID ;hr_company - */ - private Long companyId; - /** - * 岗位状态:1:开启 2:关闭 - */ - private String status; - /** - * 岗位名称 - */ - private String positionName; - /** - * 招聘标题 - */ - private String recruitTitle; - /** - * 岗位类型 - */ - private String positionType; - /** - * 岗位标签 - */ - private String positionTag; - /** - * 工作性质;工作性质 1:短工 2:全职 - */ - private String jobCategory; - /** - * 岗位招聘人数 - */ - private Integer positionNumber; - /** - * 工作地址 - */ - private String positionAddress; - /** - * 招聘专员 - */ - private Long recruitUserId; - - /** - * 发薪日 - */ - private String payDate; - /** - * 性别要求 - */ - private String sexRequire; - - /** - * 学历要求 - */ - private String educationRequire; - /** - * 经验要求 - */ - private String experienceRequire; - /** - * 证件要求 - */ - private String certificatesRequire; - /** - * 其他要求 - */ - private String otherRequire; - /** - * 工作内容 - */ - private String jobContent; - - private Long addressId; - - /** - * 招聘岗位类型 - */ - private String recruitPositionType; - - /** - * 年龄上限 - */ - private Integer ageUp; - - /** - * 年龄下限 - */ - private Integer ageLow; - - /** - * 薪资上限 - */ - private BigDecimal salaryUp; - - /** - * 薪资下限 - */ - private BigDecimal salaryLow; - - /** - * 薪资类型 - */ - private String salaryType; - - - /** - * 结束日期 - */ - private Date endTime; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/entity/PositionAddress.java b/src/main/java/com/newyetai/recruit/position/entity/PositionAddress.java deleted file mode 100644 index 914cb0b..0000000 --- a/src/main/java/com/newyetai/recruit/position/entity/PositionAddress.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.newyetai.recruit.position.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.newyetai.common.entity.BaseEntity; - - -import java.math.BigDecimal; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - - -/** - * 岗位地址 - * - * @author Carlye - * @date 2022/03/29 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@Accessors(chain = true) -@TableName(value = "hr_position_address") -public class PositionAddress extends BaseEntity { - - private static final long serialVersionUID = -4055388034868470586L; - /** - * 公司ID - */ - private Long companyId; - - /** - * 区域编码(31) - */ - private String districtCode; - - /** - * 区域名称 (上海市) - */ - private String districtName; - /** - * 详细地址 (浦东新区黄金大厦B座) - */ - private String detailAddress; - /** - * 经度 - */ - private BigDecimal longitude; - /** - * 纬度 - */ - private BigDecimal latitude; -} diff --git a/src/main/java/com/newyetai/recruit/position/entity/PositionAudit.java b/src/main/java/com/newyetai/recruit/position/entity/PositionAudit.java deleted file mode 100644 index 11654f4..0000000 --- a/src/main/java/com/newyetai/recruit/position/entity/PositionAudit.java +++ /dev/null @@ -1,158 +0,0 @@ -package com.newyetai.recruit.position.entity; - -import lombok.*; - -import com.baomidou.mybatisplus.annotation.*; - -import java.math.BigDecimal; -import java.util.Date; - -import com.newyetai.common.entity.BaseEntity; - -/** - * 岗位审核表 - * - * @author guixinman - * @since 1.0.0 2024-07-05 - */ -@TableName(value = "hr_position_audit") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class PositionAudit extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * - */ - private Long positionId; - /** - * - */ - private Long orgId; - /** - * hr_company主键 - */ - private Long companyId; - - /** - * 岗位名称 - */ - private String positionName; - /** - * 招聘标题 - */ - private String recruitTitle; - /** - * 岗位类型 - */ - private String positionType; - /** - * 工作性质 1:短工 2:全职 - */ - private String jobCategory; - /** - * 岗位招聘人数 - */ - private Integer positionNumber; - /** - * 工作地址 - */ - private String positionAddress; - /** - * 招聘专员 - */ - private Long recruitUserId; - - /** - * 发薪日 - */ - private String payDate; - /** - * 性别要求 - */ - private String sexRequire; - - /** - * 学历要求 - */ - private String educationRequire; - /** - * 经验要求 - */ - private String experienceRequire; - /** - * 证件要求 - */ - private String certificatesRequire; - /** - * 其他要求 - */ - private String otherRequire; - /** - * 工作内容 - */ - private String jobContent; - /** - * 岗位标签 - */ - private String positionTag; - /** - * - */ - private Long addressId; - /** - * 招聘岗位类型数据字典 - */ - private String recruitPositionType; - /** - * 审核状态 1:待审核 2.审核成功 3.审核失败 - */ - private String auditStatus; - /** - * 审核失败原因 - */ - private String auditFailMsg; - /** - * 版本号 - */ - private Integer version; - - /** - * 岗位相册json - */ - private String fileJson; - - /** - * 年龄上限 - */ - private Integer ageUp; - - /** - * 年龄下限 - */ - private Integer ageLow; - - /** - * 薪资上限 - */ - private BigDecimal salaryUp; - - /** - * 薪资下限 - */ - private BigDecimal salaryLow; - - /** - * 薪资类型 - */ - private String salaryType; - - /** - * 结束日期 - */ - private Date endTime; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/entity/PositionFile.java b/src/main/java/com/newyetai/recruit/position/entity/PositionFile.java deleted file mode 100644 index 3713870..0000000 --- a/src/main/java/com/newyetai/recruit/position/entity/PositionFile.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.newyetai.recruit.position.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.newyetai.common.entity.BaseEntity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; -import lombok.experimental.SuperBuilder; - -/** - *

- * 用户岗位 文件 - *

- * - * @author Carlye - * @since 2021-01-21 - */ -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@Accessors(chain = true) -@TableName("hr_position_file") -public class PositionFile extends BaseEntity { - - private static final long serialVersionUID = -1475024067817143931L; - /** - * 岗位ID - */ - private Long positionId; - - /** - * 文件名称 - */ - private String fileName; - - /** - * 文件编码 - */ - private String fileCode; - - /** - * 文件后缀 - */ - private String fileSuffix; - - /** - * 默认显示 - */ - private Boolean defaultShow; - - /** - * 文件类型 - */ - private String fileType; - - /** - * 排序 - */ - private Integer sort; - - /** - * 描述 - */ - private String description; -} diff --git a/src/main/java/com/newyetai/recruit/position/entity/PositionRegistration.java b/src/main/java/com/newyetai/recruit/position/entity/PositionRegistration.java deleted file mode 100644 index 88ede9b..0000000 --- a/src/main/java/com/newyetai/recruit/position/entity/PositionRegistration.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.newyetai.recruit.position.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.newyetai.common.entity.BaseEntity; -import com.newyetai.component.action.annotation.ActionField; -import com.newyetai.component.action.annotation.ActionModel; - -import java.math.BigDecimal; -import java.util.Date; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * 岗位报名信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-15 - */ -@TableName(value = "hr_position_registration") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@ActionModel(type = "hr_position_registration") -public class PositionRegistration extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 岗位ID - */ - private Long positionId; - /** - * 用户ID - */ - private Long userId; - /** - * 状态:1已报名、2待面试、3面试不通过、4待入职、5已入职、 6已离职、 7结束招聘 - */ - @ActionField(alias = "报名状态", dictCode = "position_registration_status") - private String status; - /** - * 面试时间 - */ - private Date interviewTime; - - @ApiModelProperty("面试地点") - private String interviewLocation; - - /** - * 入职时间 - */ - private Date inductionTime; - /** - * 离职时间 - */ - private Date quitTime; - /** - * 终止时间 - */ - private Date terminationTime; - /** - * 入职薪水 - */ - private BigDecimal salary; - /** - * 备注 - */ - private String remark; - - private Boolean canShow; - - /** - * 标签 - */ - private String tag; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/entity/PositionType.java b/src/main/java/com/newyetai/recruit/position/entity/PositionType.java deleted file mode 100644 index 21c163f..0000000 --- a/src/main/java/com/newyetai/recruit/position/entity/PositionType.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.newyetai.recruit.position.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.newyetai.common.entity.BaseEntity; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - *

- * 用户岗位类型 - *

- * - * @author Carlye - * @since 2021-01-21 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@Accessors(chain = true) -@TableName(value = "hr_position_type") -public class PositionType extends BaseEntity { - - private static final long serialVersionUID = 2154317236704975221L; - /** - * 岗位ID - */ - private Long parentId; - - /** - * 文件名称 - */ - private String name; - - /** - * 文件编码 - */ - private String code; - - /** - * 全名 - */ - private String fullName; - - /** - * 完成code - */ - private String fullCode; - - /** - * 招聘岗位类型 - */ - private String recruitPositionType; -} diff --git a/src/main/java/com/newyetai/recruit/position/enums/PositionAuditStatusEnum.java b/src/main/java/com/newyetai/recruit/position/enums/PositionAuditStatusEnum.java deleted file mode 100644 index e14067b..0000000 --- a/src/main/java/com/newyetai/recruit/position/enums/PositionAuditStatusEnum.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.newyetai.recruit.position.enums; - -public enum PositionAuditStatusEnum { - - INIT("1", "待审核"), - SUCCESS("2", "审核成功"), - FAIL("3", "审核失败"); - - private String status; - /** - * 类型描述 - */ - private String desc; - - - PositionAuditStatusEnum(String status, String desc) { - this.status = status; - this.desc = desc; - } - - public String getStatus() { - return status; - } - - public String getDesc() { - return desc; - } -} diff --git a/src/main/java/com/newyetai/recruit/position/enums/PositionRegistrationStatusEnum.java b/src/main/java/com/newyetai/recruit/position/enums/PositionRegistrationStatusEnum.java deleted file mode 100644 index 76c3fa1..0000000 --- a/src/main/java/com/newyetai/recruit/position/enums/PositionRegistrationStatusEnum.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.newyetai.recruit.position.enums; - -import java.util.Arrays; -import java.util.Objects; - -public enum PositionRegistrationStatusEnum { - ALREADY_REGISTERED("1", "已报名"), - WAIT_FOR_AN_INTERVIEW("2", "待面试"), - FAIL_THE_INTERVIEW("3", "面试不通过"), - TO_BE_HIRED("4", "待入职"), - ON_THE_JOB("5", "已入职"), - RESIGNED("6", "已离职"), - TERMINATION("7", "结束招聘"), - CANCEL("8", "取消报名") - ; - - private String status; - /** - * 类型描述 - */ - private String desc; - - - PositionRegistrationStatusEnum(String status, String desc) { - this.status = status; - this.desc = desc; - } - - public String getStatus() { - return status; - } - - public String getDesc() { - return desc; - } - - public static PositionRegistrationStatusEnum find(String status){ - if (Objects.isNull(status)){ - return null; - } - return Arrays.stream(PositionRegistrationStatusEnum.values()).filter(e->e.getStatus().equals(status)).findFirst().orElse(null); - } -} diff --git a/src/main/java/com/newyetai/recruit/position/enums/PositionStatusEnum.java b/src/main/java/com/newyetai/recruit/position/enums/PositionStatusEnum.java deleted file mode 100644 index 098453c..0000000 --- a/src/main/java/com/newyetai/recruit/position/enums/PositionStatusEnum.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.newyetai.recruit.position.enums; - -public enum PositionStatusEnum { - OPEN("1", "开启"), - CLOSE("2", "关闭") - ; - - private String status; - /** - * 类型描述 - */ - private String desc; - - - PositionStatusEnum(String status, String desc) { - this.status = status; - this.desc = desc; - } - - public String getStatus() { - return status; - } - - public String getDesc() { - return desc; - } -} diff --git a/src/main/java/com/newyetai/recruit/position/job/PositionExpiryJob.java b/src/main/java/com/newyetai/recruit/position/job/PositionExpiryJob.java deleted file mode 100644 index 6ef33a0..0000000 --- a/src/main/java/com/newyetai/recruit/position/job/PositionExpiryJob.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.newyetai.recruit.position.job; - -import com.newyetai.recruit.position.dto.PositionDTO; -import com.newyetai.recruit.position.dto.PositionPageQueryDTO; -import com.newyetai.recruit.position.enums.PositionStatusEnum; -import com.newyetai.recruit.position.service.PositionService; -import com.newyetai.security.util.MockUtils; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - - -import lombok.extern.slf4j.Slf4j; - -/** - * @description: 岗位失效Job - * @author: guixinman - * @create: 2024-11-12 16:23 - **/ -@Slf4j -@Component -public class PositionExpiryJob { - - @Autowired - private PositionService positionService; - - @Scheduled(cron = "01 10 00 * * ?") - public void statistics() { - - log.info("岗位有效期检测 ======开始"); - MockUtils.mockPlatUser(); - try { - positionService.positionExpiry(); - } catch (Exception e) { - log.error(e.getMessage()); - } - - log.info("岗位有效期检测 ======结束"); - - } -} diff --git a/src/main/java/com/newyetai/recruit/position/mapper/ImportDetailPositionMapper.xml b/src/main/java/com/newyetai/recruit/position/mapper/ImportDetailPositionMapper.xml deleted file mode 100644 index f9b92d2..0000000 --- a/src/main/java/com/newyetai/recruit/position/mapper/ImportDetailPositionMapper.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - FROM - hr_import_detail_position t - LEFT JOIN hr_company hc ON t.company_id = hc.id AND hc.deleted = 0 - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.main_id = #{param.mainId} - - - AND t.org_id = #{param.orgId} - - - AND t.data_json = #{param.dataJson} - - - AND t.company_id = #{param.companyId} - - - - AND t.position_name like #{positionNameLike} - - - AND t.recruit_title = #{param.recruitTitle} - - - AND t.position_number = #{param.positionNumber} - - - AND t.position_address = #{param.positionAddress} - - - AND t.pay_date = #{param.payDate} - - - AND t.sex_require = #{param.sexRequire} - - - AND t.education_require = #{param.educationRequire} - - - AND t.experience_require = #{param.experienceRequire} - - - AND t.certificates_require = #{param.certificatesRequire} - - - AND t.other_require = #{param.otherRequire} - - - AND t.job_content = #{param.jobContent} - - - AND t.detail_status = #{param.detailStatus} - - - AND t.fail_reason = #{param.failReason} - - - AND t.extra_detail_id = #{param.extraDetailId} - - - AND t.remark = #{param.remark} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/mapper/PositionAddressMapper.xml b/src/main/java/com/newyetai/recruit/position/mapper/PositionAddressMapper.xml deleted file mode 100644 index 84a070b..0000000 --- a/src/main/java/com/newyetai/recruit/position/mapper/PositionAddressMapper.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - diff --git a/src/main/java/com/newyetai/recruit/position/mapper/PositionAuditMapper.xml b/src/main/java/com/newyetai/recruit/position/mapper/PositionAuditMapper.xml deleted file mode 100644 index a744af7..0000000 --- a/src/main/java/com/newyetai/recruit/position/mapper/PositionAuditMapper.xml +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - update hr_position_audit - set company_id = #{param.companyId}, - position_name = #{param.positionName}, - recruit_title = #{param.recruitTitle}, - position_type = #{param.positionType}, - job_category = #{param.jobCategory}, - position_number = #{param.positionNumber}, - position_address = #{param.positionAddress}, - recruit_user_id = #{param.recruitUserId}, - pay_date = #{param.payDate}, - sex_require = #{param.sexRequire}, - education_require = #{param.educationRequire}, - experience_require = #{param.experienceRequire}, - certificates_require = #{param.certificatesRequire}, - other_require = #{param.otherRequire}, - job_content = #{param.jobContent}, - position_tag = #{param.positionTag}, - address_id = #{param.addressId}, - recruit_position_type = #{param.recruitPositionType}, - file_json = #{param.fileJson}, - age_up = #{param.ageUp}, - age_low = #{param.ageLow}, - salary_up = #{param.salaryUp}, - salary_low = #{param.salaryLow}, - salary_type = #{param.salaryType}, - - audit_status = #{param.auditStatus}, - - version = version + 1, - update_by = #{param.updateBy}, - update_time = now() - where id = #{param.id} and position_id = #{param.positionId} and deleted = 0 and version = - #{param.version} and audit_status = 1 - - - - - - - - - - - update hr_position_audit - set version = version + 1, - update_by = #{param.updateBy}, - update_time = now(), - audit_status = #{param.auditStatus}, - audit_fail_msg = #{param.auditFailMsg} - where deleted = 0 - and id = #{param.id} - and version = #{param.version} - - - - - - FROM - hr_position_audit t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.position_id = #{param.positionId} - - - AND t.org_id = #{param.orgId} - - - AND t.company_id = #{param.companyId} - - - AND t.status = #{param.status} - - - - AND t.position_name like #{positionNameLike} - - - AND t.recruit_title = #{param.recruitTitle} - - - AND t.position_type = #{param.positionType} - - - AND t.job_category = #{param.jobCategory} - - - AND t.position_number = #{param.positionNumber} - - - AND t.position_address = #{param.positionAddress} - - - AND t.recruit_user_id = #{param.recruitUserId} - - - AND t.pay_date = #{param.payDate} - - - AND t.sex_require = #{param.sexRequire} - - - AND t.education_require = #{param.educationRequire} - - - AND t.experience_require = #{param.experienceRequire} - - - AND t.certificates_require = #{param.certificatesRequire} - - - AND t.other_require = #{param.otherRequire} - - - AND t.job_content = #{param.jobContent} - - - AND t.position_tag = #{param.positionTag} - - - AND t.address_id = #{param.addressId} - - - AND t.recruit_position_type = #{param.recruitPositionType} - - - AND t.audit_status = #{param.auditStatus} - - - AND t.audit_fail_msg = #{param.auditFailMsg} - - - AND t.version = #{param.version} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/mapper/PositionFileMapper.xml b/src/main/java/com/newyetai/recruit/position/mapper/PositionFileMapper.xml deleted file mode 100644 index 0f4865d..0000000 --- a/src/main/java/com/newyetai/recruit/position/mapper/PositionFileMapper.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - UPDATE hr_position_file - SET default_show = - CASE - - WHEN default_show = 1 THEN - 0 - ELSE 1 - END, - update_time = NOW() - WHERE deleted = 0 - AND file_type = '1' - AND position_id = #{positionId} - AND ( - id = #{id} - OR default_show = 1) - - - - diff --git a/src/main/java/com/newyetai/recruit/position/mapper/PositionMapper.xml b/src/main/java/com/newyetai/recruit/position/mapper/PositionMapper.xml deleted file mode 100644 index 836a8f9..0000000 --- a/src/main/java/com/newyetai/recruit/position/mapper/PositionMapper.xml +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - update hr_position set status = 2, "update_by" = 1, "update_time" = now() where "deleted" = 0 and status = 1 and "end_time" <= now() - - - - - - - - - - - - - FROM - hr_position t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.org_id = #{param.orgId} - - - AND t.company_id = #{param.companyId} - - - AND t.status = #{param.status} - - - - AND t.position_name like #{positionNameLike} - - - AND t.recruit_title = #{param.recruitTitle} - - - AND t.position_type = #{param.positionType} - - - AND t.job_category = #{param.jobCategory} - - - AND t.position_number = #{param.positionNumber} - - - AND t.position_address = #{param.positionAddress} - - - AND t.recruit_user_id = #{param.recruitUserId} - - - AND t.pay_date = #{param.payDate} - - - AND t.education_require = #{param.educationRequire} - - - AND t.experience_require = #{param.experienceRequire} - - - AND t.certificates_require = #{param.certificatesRequire} - - - AND t.other_require = #{param.otherRequire} - - - AND t.job_content = #{param.jobContent} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/mapper/PositionRegistrationMapper.xml b/src/main/java/com/newyetai/recruit/position/mapper/PositionRegistrationMapper.xml deleted file mode 100644 index 0039ba3..0000000 --- a/src/main/java/com/newyetai/recruit/position/mapper/PositionRegistrationMapper.xml +++ /dev/null @@ -1,296 +0,0 @@ - - - - - - update hr_position_registration - set status = #{param.status},update_time = now(),update_by = #{param.updateBy} - - ,interview_time = #{param.interviewTime} - - - ,interview_location = #{param.interviewLocation} - - - ,induction_time = #{param.inductionTime} - - - ,quit_time = #{param.quitTime} - - - ,termination_time = #{param.terminationTime} - - - ,salary = #{param.salary} - - - ,remark = #{param.remark} - - - ,tag = #{param.tag} - - where - id = #{param.id} - - and status = #{oldStatus} - - - - - - - - - - FROM - hr_position_registration t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.position_id = #{param.positionId} - - - AND t.user_id = #{param.userId} - - - AND t.status = #{param.status} - - - AND t.interview_time = #{param.interviewTime} - - - AND t.induction_time = #{param.inductionTime} - - - AND t.quit_time = #{param.quitTime} - - - AND t.termination_time = #{param.terminationTime} - - - AND t.salary = #{param.salary} - - - AND t.remark = #{param.remark} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - - - - - - - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/mapper/PositionTypeMapper.xml b/src/main/java/com/newyetai/recruit/position/mapper/PositionTypeMapper.xml deleted file mode 100644 index ae07bc3..0000000 --- a/src/main/java/com/newyetai/recruit/position/mapper/PositionTypeMapper.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/src/main/java/com/newyetai/recruit/position/service/ImportDetailPositionService.java b/src/main/java/com/newyetai/recruit/position/service/ImportDetailPositionService.java deleted file mode 100644 index 2efc015..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/ImportDetailPositionService.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.newyetai.recruit.position.service; - -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -import java.util.List; - -import com.newyetai.recruit.position.dto.*; - -/** - * 岗位导入 - * - * @author guixinman - * @since 1.0.0 2024-04-12 - */ -@Validated(Default.class) -public interface ImportDetailPositionService { - - /** - * 岗位导入 - 创建 - * - * @param operatorDto 操作dto - * @return {@link ImportDetailPositionDTO} - */ - ImportDetailPositionDTO create(@Valid ImportDetailPositionOperatorDTO operatorDto); - - /** - * 岗位导入 - 修改 - * - * @param operatorDto 操作dto - * @return {@link ImportDetailPositionDTO} - */ - ImportDetailPositionDTO modify(@Valid ImportDetailPositionOperatorDTO operatorDto); - - /** - * 岗位导入 - 删除 - * - * @param id id - * @return {@link ImportDetailPositionDTO} - */ - ImportDetailPositionDTO delete(Long id); - - /** - * 岗位导入 - 根据ID查询单个 - * - * @param id id - * @return {@link ImportDetailPositionDTO} - */ - ImportDetailPositionDTO findById(Long id); - - /** - * 岗位导入 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link ImportDetailPositionDTO}> - */ - List list(ImportDetailPositionQueryDTO queryDTO); - - /** - * 岗位导入 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link ImportDetailPositionDTO} - */ - List page(ImportDetailPositionPageQueryDTO queryDTO); - - void batchCreate(List importDetailPositionDTOS); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/service/PositionAddressService.java b/src/main/java/com/newyetai/recruit/position/service/PositionAddressService.java deleted file mode 100644 index d7004b8..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/PositionAddressService.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.newyetai.recruit.position.service; - - - -import com.newyetai.recruit.position.dto.PositionAddressDTO; -import com.newyetai.recruit.position.dto.PositionAddressOperatorDTO; -import com.newyetai.recruit.position.dto.PositionAddressQueryDTO; - -import org.springframework.validation.annotation.Validated; - -import java.util.List; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -/** - *

- * 招聘系统-岗位报名信息表 服务类 - *

- * - * @author chenyun - * @since 2021-01-08 - */ -@Validated(Default.class) -public interface PositionAddressService { - - - /** - * 创建或更新 - * - * @param operatorDTO 运营商dto - * @return {@link Long} - */ - Long createOrUpdate(@Valid PositionAddressOperatorDTO operatorDTO); - - /** - * 列表 - * - * @param queryDTO 查询dto - * @return {@link List}<{@link PositionAddressDTO}> - */ - List list(PositionAddressQueryDTO queryDTO); - - /** - * 删除 - * - * @param id id - */ - void delete(Long id); -} diff --git a/src/main/java/com/newyetai/recruit/position/service/PositionAuditService.java b/src/main/java/com/newyetai/recruit/position/service/PositionAuditService.java deleted file mode 100644 index a164822..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/PositionAuditService.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.newyetai.recruit.position.service; - -import com.newyetai.recruit.position.entity.PositionAudit; -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -import java.util.List; -import java.util.Set; - -import com.newyetai.recruit.position.dto.*; - -/** - * 岗位审核表 - * - * @author guixinman - * @since 1.0.0 2024-07-05 - */ -@Validated(Default.class) -public interface PositionAuditService { - - /** - * 岗位审核表 - 创建 - * - * @param operatorDto 操作dto - * @return {@link PositionAuditDTO} - */ - PositionAudit positionCreate(@Valid PositionNewOperatorDTO operatorDto); - - /** - * 岗位审核表 - 修改 - * - * @param operatorDto 操作dto - * @return {@link PositionAuditDTO} - */ - void positionModify(@Valid PositionNewOperatorDTO operatorDto); - - - /** - * 岗位审核表 - 根据ID查询单个 - * - * @param id id - * @return {@link PositionAuditDTO} - */ - PositionNewDTO positionFindById(Long id); - - /** - * 岗位审核表 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link PositionAuditDTO}> - */ - List list(PositionAuditQueryDTO queryDTO); - - /** - * 岗位审核表 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link PositionAuditDTO} - */ - List page(PositionAuditPageQueryDTO queryDTO); - - /** - * 岗位审核表 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link PositionAuditDTO} - */ - List positionPage(PositionNewPageQueryDTO queryDTO); - - void export(PositionNewPageQueryDTO queryDTO); - - /** - * @description: 审核 - * @return: - * @author: guixinman - * @param: - */ - void audit(PositionAuditReqDTO reqDTO); - - - PositionAuditDTO findById(Long id); - - /** - * @description: 开启招聘关闭招聘 - * @return: - * @author: guixinman - * @param: - */ - void positionModifyStatus(Set ids, String status); - - /** - * @description: 复制岗位 - * @return: - * @author: guixinman - * @param: - */ - Long positionCopy(Long id); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/service/PositionFileService.java b/src/main/java/com/newyetai/recruit/position/service/PositionFileService.java deleted file mode 100644 index 55b13ee..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/PositionFileService.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.newyetai.recruit.position.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.newyetai.recruit.position.dto.PositionFileDTO; -import com.newyetai.recruit.position.dto.PositionFilePageQueryDTO; -import com.newyetai.recruit.position.entity.PositionFile; - -import org.springframework.validation.annotation.Validated; - -import java.util.List; - -import javax.validation.groups.Default; - -/** - *

- * 招聘系统-岗位报名信息表 服务类 - *

- * - * @author chenyun - * @since 2021-01-08 - */ -@Validated(Default.class) -public interface PositionFileService extends IService { - - /** - * 岗位文件列表 - * - * @param queryDTO 查询dto - * @return {@link List}<{@link PositionFileDTO}> - */ - List filePage(PositionFilePageQueryDTO queryDTO); - - PositionFile create(PositionFileDTO queryDTO); - - void update(PositionFileDTO dto); - - void delete(Long id); - void deleteByPositionId(Long positionId); - - /** - * 设置默认展示 (封面) - * - * @param id id - */ - void setDefault(Long id); -} diff --git a/src/main/java/com/newyetai/recruit/position/service/PositionRegistrationService.java b/src/main/java/com/newyetai/recruit/position/service/PositionRegistrationService.java deleted file mode 100644 index 26cb066..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/PositionRegistrationService.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.newyetai.recruit.position.service; - -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -import java.util.List; - -import com.newyetai.recruit.position.dto.*; - -/** - * 岗位报名信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-15 - */ -@Validated(Default.class) -public interface PositionRegistrationService { - - /** - * 岗位报名信息表 - 创建 - * - * @param operatorDto 操作dto - * @return {@link PositionRegistrationDTO} - */ - PositionRegistrationDTO create(@Valid PositionRegistrationOperatorDTO operatorDto); - - /** - * 岗位报名信息表 - 修改 - * - * @param operatorDto 操作dto - * @return {@link PositionRegistrationDTO} - */ - PositionRegistrationDTO modify(@Valid PositionRegistrationOperatorDTO operatorDto); - - /** - * 岗位报名信息表 - 删除 - * - * @param id id - * @return {@link PositionRegistrationDTO} - */ - PositionRegistrationDTO delete(Long id); - - /** - * 岗位报名信息表 - 根据ID查询单个 - * - * @param id id - * @return {@link PositionRegistrationDTO} - */ - PositionRegistrationDTO findById(Long id); - PositionRegistrationDTO findByIdAndChildrenOrgAll(Long id, Boolean childrenOrgAll); - - - /** - * 岗位报名信息表 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link PositionRegistrationDTO}> - */ - List list(PositionRegistrationPageQueryDTO queryDTO); - - /** - * 岗位报名信息表 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link PositionRegistrationDTO} - */ - List page(PositionRegistrationPageQueryDTO queryDTO); - - /** - * @description: 用户端报名岗位 - * @return: - * @author: guixinman - * @param: - */ - void userCreate(UserPositionRegistrationDTO dto); - - /** - * @description: 邀约面试 - * @return: - * @author: guixinman - * @param: - */ - void invite(PositionRegistrationOperatorDTO operatorDTO); - - /** - * @description: 结束招聘 - * @return: - * @author: guixinman - * @param: - */ - void termination(PositionRegistrationOperatorDTO operatorDTO); - - /** - * @description: 完成面试 - * @return: - * @author: guixinman - * @param: - */ - void fulfillInterview(PositionRegistrationOperatorDTO operatorDTO); - - /** - * @description: 入职 - * @return: - * @author: guixinman - * @param: - */ - void onTheJob(OnTheJobDTO dto); - - /** - * @description: 离职 - * @return: - * @author: guixinman - * @param: - */ - void resigned(ResignedDTO dto); - - void export(PositionRegistrationPageQueryDTO queryDTO); - - /** - * @description: 用户端查看我的报名 - * @return: - * @author: guixinman - * @param: - */ - List userPage(UserPositionRegistrationPageQueryDTO queryDTO); - - void cancel(Long positionId); - - /** - * @description: 查看 - * @return: - * @author: guixinman - * @param: - */ - void show(Long id); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/service/PositionService.java b/src/main/java/com/newyetai/recruit/position/service/PositionService.java deleted file mode 100644 index a6e8636..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/PositionService.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.newyetai.recruit.position.service; - -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -import java.util.List; -import java.util.Set; - -import com.newyetai.recruit.position.dto.*; - -/** - * 岗位信息表;岗位信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-11 - */ -@Validated(Default.class) -public interface PositionService { - - /** - * 岗位信息表;岗位信息表 - 创建 - * - * @param operatorDto 操作dto - * @return {@link PositionDTO} - */ - PositionDTO create(@Valid PositionOperatorDTO operatorDto); - - /** - * 岗位信息表;岗位信息表 - 修改 - * - * @param operatorDto 操作dto - * @return {@link PositionDTO} - */ - PositionDTO modify(@Valid PositionOperatorDTO operatorDto); - - /** - * 岗位信息表;岗位信息表 - 删除 - * - * @param id id - * @return {@link PositionDTO} - */ - PositionDTO delete(Long id); - - /** - * 岗位信息表;岗位信息表 - 根据ID查询单个 - * - * @param id id - * @return {@link PositionDTO} - */ - PositionDTO findById(Long id); - - PositionDTO userFindById(Long id); - - /** - * 岗位信息表;岗位信息表 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link PositionDTO}> - */ - List list(PositionPageQueryDTO queryDTO); - - /** - * 岗位信息表;岗位信息表 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link PositionDTO} - */ - List page(PositionPageQueryDTO queryDTO); - List userPage(PositionPageQueryDTO queryDTO); - - /** - * @description: 岗位信息腾讯地图-分页查询" - * @return: - * @author: guixinman - * @param: - */ - List tencentMapUserPage(PositionPageQueryDTO queryDTO); - - void export(PositionPageQueryDTO queryDTO); - - /** - * @description: 开启或者关闭招聘 - * @return: - * @author: guixinman - * @param: - */ - void modifyStatus(PositionOperatorDTO dto); - - void template(); - - Long copy(Long id); - - /** - * @description: 人岗匹配 - * @return: - * @author: guixinman - * @param: - */ - List personPostMatching(Long id); - - void positionExpiry(); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/service/PositionTypeService.java b/src/main/java/com/newyetai/recruit/position/service/PositionTypeService.java deleted file mode 100644 index 9912ea2..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/PositionTypeService.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.newyetai.recruit.position.service; - - - -import com.newyetai.recruit.position.dto.PositionTypeDTO; -import com.newyetai.recruit.position.dto.PositionTypeQueryDTO; - -import org.springframework.validation.annotation.Validated; - -import java.util.List; - -import javax.validation.groups.Default; - -/** - *

- * 招聘系统-岗位报名信息表 服务类 - *

- * - * @author chenyun - * @since 2021-01-08 - */ -@Validated(Default.class) -public interface PositionTypeService { - - /** - * 批量创建 - * - * @param positionTypeDTOS 位置式dto - * @return {@link List}<{@link PositionTypeDTO}> - */ - List batchCreate(List positionTypeDTOS); - - /** - * 查询 - * - * @param queryDTO 查询dto - * @return {@link List}<{@link PositionTypeDTO}> - */ - List query(PositionTypeQueryDTO queryDTO); -} diff --git a/src/main/java/com/newyetai/recruit/position/service/impl/ImportDetailPositionAdminProvider.java b/src/main/java/com/newyetai/recruit/position/service/impl/ImportDetailPositionAdminProvider.java deleted file mode 100644 index fc93e9c..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/impl/ImportDetailPositionAdminProvider.java +++ /dev/null @@ -1,561 +0,0 @@ -package com.newyetai.recruit.position.service.impl; - -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; - -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.read.builder.ExcelReaderBuilder; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.common.AlitaResult; -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.dto.ExportHeadDetailInfoDTO; -import com.newyetai.common.dto.ExportHeadInfoDTO; -import com.newyetai.common.easyexcel.ExcelUtil; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.component.commonimport.constant.ImportDetailStatusEnum; -import com.newyetai.component.commonimport.constant.ImportStatusEnum; -import com.newyetai.component.commonimport.constant.ImportTypeEnum; -import com.newyetai.component.commonimport.dto.ImportDetailPageDTO; -import com.newyetai.component.commonimport.dto.ImportMainDTO; -import com.newyetai.component.commonimport.dto.ImportMainQueryDTO; -import com.newyetai.component.commonimport.dto.ImportMainUpdateDTO; -import com.newyetai.component.commonimport.service.ImportMainService; -import com.newyetai.component.commonimport.service.impl.AbstractCommonImportProvider; -import com.newyetai.component.dict.util.DictUtils; -import com.newyetai.component.file.entity.FileRecord; -import com.newyetai.component.file.service.FileRecordService; -import com.newyetai.recruit.company.dto.HrCompanyDTO; -import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO; -import com.newyetai.recruit.company.enums.HrCompanyEnum; -import com.newyetai.recruit.company.service.IHrCompanyService; -import com.newyetai.recruit.position.dao.PositionAddressMapper; -import com.newyetai.recruit.position.dao.PositionMapper; -import com.newyetai.recruit.position.dao.PositionTypeMapper; -import com.newyetai.recruit.position.dto.*; -import com.newyetai.recruit.position.entity.Position; -import com.newyetai.recruit.position.entity.PositionAddress; -import com.newyetai.recruit.position.entity.PositionAudit; -import com.newyetai.recruit.position.entity.PositionType; -import com.newyetai.recruit.position.service.ImportDetailPositionService; -import com.newyetai.recruit.position.service.PositionAuditService; -import com.newyetai.sdk.tencent.map.TencentMapContext; -import com.newyetai.sdk.tencent.map.dto.TencentMapGeocoderReqDTO; -import com.newyetai.sdk.tencent.map.dto.TencentMapGeocoderResDTO; -import com.newyetai.sdk.tencent.map.dto.TencentMapLocationV1IpResDTO; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.usercenter.org.dao.OrgMapper; -import com.newyetai.usercenter.org.entity.Org; -import com.newyetai.usercenter.org.enums.RecruitPositionTypeEnum; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -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.io.InputStream; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -import javax.annotation.Resource; - -import cn.hutool.core.date.DateUtil; -import lombok.extern.slf4j.Slf4j; - -/** - * @description: admin导入岗位 - * @author: guixinman - * @create: 2024-04-11 17:45 - **/ -@Service -@Slf4j -public class ImportDetailPositionAdminProvider extends AbstractCommonImportProvider { - - @Autowired - private ImportDetailPositionService importDetailPositionService; - - @Autowired - private ImportMainService importMainService; - - @Autowired - private FileRecordService fileRecordService; - - @Autowired - private IHrCompanyService hrCompanyService; - - @Autowired - private PositionAuditService positionAuditService; - - @Resource - private PositionMapper positionMapper; - - @Resource - private PositionTypeMapper positionTypeMapper; - - @Resource - private PositionAddressMapper positionAddressMapper; - - @Resource - private OrgMapper orgMapper; - - @Autowired - private TencentMapContext tencentMapContext; - - public ImportDetailPositionAdminProvider(ImportMainService imprImportMainService) { - super(imprImportMainService); - } - - @Override - public String getType() { - return ImportTypeEnum.ADMIN_POSITION.getType(); - } - - @Override - public Page pageDetail(ImportDetailPageDTO importDetailPageDTO) { - ImportDetailPositionPageQueryDTO queryDTO = new ImportDetailPositionPageQueryDTO(); - BeanUtils.copyProperties(importDetailPageDTO, queryDTO); - importDetailPositionService.page(queryDTO); - return queryDTO.getPageResult(); - } - - @Override - public void importDetailExport(ImportDetailPageDTO importDetailPageDTO) { - ImportDetailPositionPageQueryDTO queryDTO = new ImportDetailPositionPageQueryDTO(); - BeanUtils.copyProperties(importDetailPageDTO, queryDTO); - queryDTO.disablePage(); - List list = importDetailPositionService.page(queryDTO); - - List exportDTOList = list.stream().map(dto -> { - ImportDetailPositionExportDTO importDetailPositionExportDTO = JsonUtils.toObject(dto.getDataJson(), ImportDetailPositionExportDTO.class); - importDetailPositionExportDTO.setRemark(dto.getRemark()); - importDetailPositionExportDTO.setFailReason(dto.getFailReason()); - return importDetailPositionExportDTO; - }).collect(Collectors.toList()); - - if (org.springframework.util.CollectionUtils.isEmpty(exportDTOList)) { - return; - } - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); - String commonImportDetailStatus = DictUtils.getCodeNameMap("common_import_detail_status").get(String.valueOf(importDetailPageDTO.getDetailStatus())); - - String fileName = "岗位导入" + (StringUtils.isNotBlank(commonImportDetailStatus) ? commonImportDetailStatus : "") + "明细导出" + "(" + formatter.format(LocalDateTime.now()) + ")"; - - ExportHeadInfoDTO infoDTO = ExportHeadInfoDTO.builder() - .fileName(fileName) - .build(); - List heads = infoDTO.getHeads(); - heads.add(ExportHeadDetailInfoDTO.builder().head("用工企业").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位名称").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("招聘标题").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("招聘人数").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("工作地址").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位性质").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位类型").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位标签").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("薪资下限").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("薪资上限").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("薪资类型").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("发薪日").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("性别").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("年龄(下限)").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("年龄(上限)").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("学历").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("经验").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("证件").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("其他").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("工作内容").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("有效期截止时间").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("失败原因").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("备注").build()); - - List datas = Lists.newArrayList(); - for (ImportDetailPositionExportDTO dto : exportDTOList) { - List objects = Lists.newArrayList(); - datas.add(objects); - objects.add(dto.getCompanyName()); - objects.add(dto.getPositionName()); - objects.add(dto.getRecruitTitle()); - objects.add(dto.getPositionNumber()); - objects.add(dto.getPositionAddress()); - objects.add(dto.getRecruitPositionType()); - objects.add(dto.getPositionTypeName()); - objects.add(dto.getPositionTag()); - objects.add(dto.getSalaryLow()); - objects.add(dto.getSalaryUp()); - objects.add(dto.getSalaryType()); - objects.add(dto.getPayDate()); - objects.add(dto.getSexRequire()); - objects.add(dto.getAgeLow()); - objects.add(dto.getAgeUp()); - objects.add(dto.getEducationRequire()); - objects.add(dto.getExperienceRequire()); - objects.add(dto.getCertificatesRequire()); - objects.add(dto.getOtherRequire()); - objects.add(dto.getJobContent()); - objects.add(dto.getEndTime()); - objects.add(dto.getFailReason()); - objects.add(dto.getRemark()); - - } - infoDTO.setDatas(datas); - - ExcelUtil.dynamicExportTemplate(infoDTO); - - } - - @Override - public List analy(Long mainId) { - // 解析文件+明细 - ImportMainDTO importMainDTO = importMainService.find(ImportMainQueryDTO.builder().id(mainId).build()); - Assert.notNull(importMainDTO, "未查询到导入的数据"); - - FileRecord fileRecord; - try { - fileRecord = fileRecordService.find(FileRecord.builder().fileCode(importMainDTO.getFileCode()).build()); - } catch (Exception e) { - log.info("导入文件异常,", e); - fileRecord = null; - } - Assert.notNull(fileRecord, "上传文件不存在"); - try (InputStream is = fileRecordService.getFile(importMainDTO.getFileCode())) { - ImportPositionExcelListener listener = new ImportPositionExcelListener(); - ExcelReaderBuilder reader = EasyExcel.read(is, ImportDetailPositionListenerDTO.class, listener); - reader.sheet().doRead(); - List dtos = listener.getDtos(); - Assert.isTrue(!dtos.isEmpty(), "导入文件无有效数据"); - return dtos; - } catch (Exception e) { - throw new BusinessException(e.getMessage()); - } - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void checkAndSave(Long mainId, List detailCreateDtos) { - //更改状态为校验中 - ImportMainUpdateDTO updateDto = ImportMainUpdateDTO.builder().id(mainId) - .oldStatusSet(Sets.newHashSet(ImportStatusEnum.INIT.getStatus())) - .newStatus(ImportStatusEnum.CHECKING.getStatus()) - .build(); - importMainService.modify(updateDto); - - List importDetailPositionDTOS = new ArrayList<>(); - - //存储用工企业+岗位名称。用于校验 导入的数据中有没有重复的 - List companyIdPositionNames = new ArrayList<>(); - - for (ImportDetailPositionListenerDTO importDetailPositionListenerDTO : detailCreateDtos) { - ImportDetailPositionDTO importDetailPositionDTO = new ImportDetailPositionDTO(); - - this.checkAndFill(importDetailPositionDTO, importDetailPositionListenerDTO); - - if (StringUtils.isBlank(importDetailPositionDTO.getFailReason())) { - if (companyIdPositionNames.contains(StringUtils.join(importDetailPositionListenerDTO.getCompanyName(), importDetailPositionListenerDTO.getPositionName()))) { - importDetailPositionDTO.appendFailMsg("用工企业+岗位名称出现多次"); - } - //存储用工企业+岗位名称 - companyIdPositionNames.add(StringUtils.join(importDetailPositionListenerDTO.getCompanyName(), importDetailPositionListenerDTO.getPositionName())); - } - - if (StringUtils.isNotBlank(importDetailPositionDTO.getFailReason())) { - importDetailPositionDTO.setDetailStatus(ImportDetailStatusEnum.CHECK_FAIL.getStatus()); - } else { - importDetailPositionDTO.setDetailStatus(ImportDetailStatusEnum.CHECK_SUCCESS.getStatus()); - } - importDetailPositionDTO.setMainId(mainId); - importDetailPositionDTOS.add(importDetailPositionDTO); - } - importDetailPositionService.batchCreate(importDetailPositionDTOS); - super.finishCheck(mainId, importDetailPositionDTOS); - } - - private void checkAndFill(ImportDetailPositionDTO importDetailPositionDTO, ImportDetailPositionListenerDTO importDetailPositionListenerDTO) { - BeanUtils.copyProperties(importDetailPositionListenerDTO, importDetailPositionDTO); - importDetailPositionDTO.setDataJson(JsonUtils.toJsonString(importDetailPositionListenerDTO)); - - if (StringUtils.isBlank(importDetailPositionDTO.getPositionName())) { - importDetailPositionDTO.appendFailMsg("岗位名称不能为空"); - } else if (importDetailPositionDTO.getPositionName().length() > 50) { - importDetailPositionDTO.appendFailMsg("岗位名称超过最大限制长度"); - importDetailPositionDTO.setPositionName(null); - } - - if (StringUtils.isBlank(importDetailPositionListenerDTO.getCompanyName())) { - importDetailPositionDTO.appendFailMsg("用工企业不能为空"); - } else { - HrCompanyDTO hrCompanyDTO = hrCompanyService.find(HrCompanyPageQueryDTO.builder().companyTypes(Arrays.asList(HrCompanyEnum.SELF.getType())).companyName(importDetailPositionListenerDTO.getCompanyName()).build()); - if (Objects.isNull(hrCompanyDTO)) { - importDetailPositionDTO.appendFailMsg("未查询到对应的用工企业"); - } else { - importDetailPositionDTO.setCompanyId(hrCompanyDTO.getId()); - importDetailPositionDTO.setOrgId(hrCompanyDTO.getOrgId()); - - if (StringUtils.isNotBlank(importDetailPositionDTO.getPositionName())) { - //当前机构下,相同的用工企业,不能存在相同的岗位名称 - List positions = positionMapper.selectList(new LambdaQueryWrapper() - .eq(Position::getDeleted,false) - .eq(Position::getCompanyId, importDetailPositionDTO.getCompanyId()) - .eq(Position::getOrgId, hrCompanyDTO.getOrgId()) - .eq(Position::getPositionName, importDetailPositionDTO.getPositionName()) - ); - if (CollectionUtils.isNotEmpty(positions)) { - importDetailPositionDTO.appendFailMsg("该用工企业已存在相同的岗位名称"); - } - } - } - } - if (StringUtils.isBlank(importDetailPositionDTO.getRecruitTitle())) { - importDetailPositionDTO.appendFailMsg("招聘标题不能为空"); - } else if (importDetailPositionDTO.getRecruitTitle().length() > 255) { - importDetailPositionDTO.appendFailMsg("招聘标题超过最大限制长度"); - importDetailPositionDTO.setRecruitTitle(null); - } - - if (!Objects.isNull(importDetailPositionDTO.getPositionNumber()) && importDetailPositionDTO.getPositionNumber() > 30000) { - importDetailPositionDTO.appendFailMsg("招聘人数超过最大限制"); - importDetailPositionDTO.setPositionNumber(null); - } - - if (StringUtils.isBlank(importDetailPositionDTO.getPositionAddress())) { - importDetailPositionDTO.appendFailMsg("工作地址不能为空"); - } else if (importDetailPositionDTO.getPositionAddress().length() > 255) { - importDetailPositionDTO.appendFailMsg("工作地址超过最大限制长度"); - importDetailPositionDTO.setPositionAddress(null); - } - - if (StringUtils.isBlank(importDetailPositionDTO.getRecruitPositionType())) { - importDetailPositionDTO.appendFailMsg("岗位性质不能为空"); - } else { - String recruitPositionTypeCode = DictUtils.getNameCodeMap("recruit_position_type").get(importDetailPositionDTO.getRecruitPositionType()); - if (StringUtils.isBlank(recruitPositionTypeCode)) { - importDetailPositionDTO.appendFailMsg("岗位性质有误,请重新操作"); - importDetailPositionDTO.setRecruitPositionType(null); - } else { - importDetailPositionDTO.setRecruitPositionType(recruitPositionTypeCode); - if (Objects.nonNull(importDetailPositionDTO.getOrgId())) { - Org org = orgMapper.selectOne(new LambdaQueryWrapper().eq(Org::getDeleted, false).eq(Org::getId, importDetailPositionDTO.getOrgId())); - //判断招聘岗位类型权限 - if (!org.getRecruitPositionType().equals(RecruitPositionTypeEnum.ODD_JOB_OR_GENERAL_WORKER.getType())) { - if (!StringUtils.equals(org.getRecruitPositionType(), importDetailPositionDTO.getRecruitPositionType())) { - if (StringUtils.equals(org.getRecruitPositionType(), RecruitPositionTypeEnum.ODD_JOB.getType())) { - importDetailPositionDTO.appendFailMsg("当前企业仅支持维护零工性质岗位。"); - importDetailPositionDTO.setRecruitPositionType(null); - } - if (StringUtils.equals(org.getRecruitPositionType(), RecruitPositionTypeEnum.GENERAL_WORKER.getType())) { - importDetailPositionDTO.appendFailMsg("当前企业仅支持维护普工性质岗位。"); - importDetailPositionDTO.setRecruitPositionType(null); - } - } - } - - } - } - } - - if (StringUtils.isNotBlank(importDetailPositionDTO.getPositionTypeName())) { - if (importDetailPositionDTO.getPositionTypeName().length() > 32) { - importDetailPositionDTO.appendFailMsg("岗位类型超过最大限制长度"); - importDetailPositionDTO.setPositionTypeName(null); - } - } - - if (StringUtils.isNotBlank(importDetailPositionDTO.getPositionTag()) && importDetailPositionDTO.getPositionTag().length() > 512) { - importDetailPositionDTO.appendFailMsg("岗位标签超过最大限制长度"); - importDetailPositionDTO.setPositionTag(null); - } - - - if (StringUtils.isNotBlank(importDetailPositionDTO.getPayDate()) && importDetailPositionDTO.getPayDate().length() > 32) { - importDetailPositionDTO.appendFailMsg("发薪日超过最大限制长度"); - importDetailPositionDTO.setPayDate(null); - } - - if (StringUtils.isBlank(importDetailPositionDTO.getSexRequire())) { - importDetailPositionDTO.appendFailMsg("性别不能为空"); - } else { - if (importDetailPositionDTO.getSexRequire().length() > 2) { - importDetailPositionDTO.appendFailMsg("性别超过最大限制长度"); - importDetailPositionDTO.setSexRequire(null); - }else { - String gender = DictUtils.getNameCodeMap("gender_require").get(importDetailPositionDTO.getSexRequire()); - if (StringUtils.isBlank(gender)) { - importDetailPositionDTO.appendFailMsg("性别有误,请重新操作"); - importDetailPositionDTO.setSexRequire(null); - } else { - importDetailPositionDTO.setSexRequire(gender); - } - } - } - - if (StringUtils.isBlank(importDetailPositionDTO.getEducationRequire())) { - importDetailPositionDTO.appendFailMsg("学历不能为空"); - } else { - if (importDetailPositionDTO.getEducationRequire().length() > 64) { - importDetailPositionDTO.appendFailMsg("学历超过最大限制长度"); - importDetailPositionDTO.setEducationRequire(null); - } else { - String educationCode = DictUtils.getNameCodeMap("education").get(importDetailPositionDTO.getEducationRequire()); - if (StringUtils.isBlank(educationCode)) { - importDetailPositionDTO.appendFailMsg("学历有误,请重新操作"); - importDetailPositionDTO.setEducationRequire(null); - } else { - importDetailPositionDTO.setEducationRequire(educationCode); - } - } - } - - if (StringUtils.isBlank(importDetailPositionDTO.getExperienceRequire())) { - importDetailPositionDTO.appendFailMsg("经验不能为空"); - } else { - if (importDetailPositionDTO.getExperienceRequire().length() > 32) { - importDetailPositionDTO.appendFailMsg("经验超过最大限制长度"); - importDetailPositionDTO.setExperienceRequire(null); - }else { - String experienceCode = DictUtils.getNameCodeMap("RECRUIT_WORK_YEAR").get(importDetailPositionDTO.getExperienceRequire()); - if (StringUtils.isBlank(experienceCode)) { - importDetailPositionDTO.appendFailMsg("经验有误,请重新操作"); - importDetailPositionDTO.setExperienceRequire(null); - } else { - importDetailPositionDTO.setExperienceRequire(experienceCode); - } - } - } - if (StringUtils.isNotBlank(importDetailPositionDTO.getCertificatesRequire()) && importDetailPositionDTO.getCertificatesRequire().length() > 32) { - importDetailPositionDTO.appendFailMsg("证件超过最大限制长度"); - importDetailPositionDTO.setCertificatesRequire(null); - } - if (StringUtils.isNotBlank(importDetailPositionDTO.getOtherRequire()) && importDetailPositionDTO.getOtherRequire().length() > 32) { - importDetailPositionDTO.appendFailMsg("其它超过最大限制长度"); - importDetailPositionDTO.setOtherRequire(null); - } - - if (StringUtils.isBlank(importDetailPositionDTO.getJobContent())) { - importDetailPositionDTO.appendFailMsg("工作内容不能为空"); - } - - if (StringUtils.isNotBlank(importDetailPositionDTO.getSalaryType())) { - String salaryTypeCode = DictUtils.getNameCodeMap("salary_type").get(importDetailPositionDTO.getSalaryType()); - if (StringUtils.isBlank(salaryTypeCode)) { - importDetailPositionDTO.appendFailMsg("薪资类型有误,请重新操作"); - importDetailPositionDTO.setSalaryType(null); - } else { - importDetailPositionDTO.setSalaryType(salaryTypeCode); - } - } - - if (StringUtils.isBlank(importDetailPositionDTO.getEndTime())) { - importDetailPositionDTO.appendFailMsg("有效期截止时间不能为空"); - }else { - try { - if (DateUtil.endOfDay(DateUtil.parse(importDetailPositionDTO.getEndTime())).getTime() <= DateUtil.endOfDay(new Date()).getTime()) { - importDetailPositionDTO.appendFailMsg("岗位有效期不能小于等于当前日期"); - } - importDetailPositionDTO.setEndTime(DateUtil.format(DateUtil.endOfDay(DateUtil.parse(importDetailPositionDTO.getEndTime())),"yyyy-MM-dd HH:mm:ss")); - }catch (Exception e) { - importDetailPositionDTO.appendFailMsg("有效期截止时间格式不正确"); - importDetailPositionDTO.setEndTime(null); - } - } - - } - - @Transactional(rollbackFor = Exception.class) - @Override - public Long execute(ImportDetailPositionExecuteDTO executeDto) { - Long mainId = executeDto.getMainId(); - Assert.notNull(mainId, "参数异常"); - - ImportMainDTO importMainDTO = importMainService.find(ImportMainQueryDTO.builder().id(mainId).build()); - Assert.notNull(importMainDTO, "未查询到导入数据"); - - ImportDetailPositionPageQueryDTO queryDTO = new ImportDetailPositionPageQueryDTO(); - queryDTO.disablePage(); - queryDTO.setMainId(mainId); - queryDTO.setDetailStatus(ImportDetailStatusEnum.CHECK_SUCCESS.getStatus()); - List importDetailPositionDTOS = importDetailPositionService.page(queryDTO); - if (CollectionUtils.isEmpty(importDetailPositionDTOS)) { - throw new BusinessException("未查询到成功的明细数据"); - } - - for (ImportDetailPositionDTO importDetailPositionDTO : importDetailPositionDTOS) { - PositionOperatorDTO position = new PositionOperatorDTO(); - BeanUtils.copyProperties(importDetailPositionDTO, position); - position.setEndTime(DateUtil.parse(importDetailPositionDTO.getEndTime())); - //工作地址匹配当前用工企业下的工作地址,有就用,没有就创建一个, 地图控件要是返回多条记录,取第一个。 - //先直接创建。后续接了地图在改 - - List positionAddressList = positionAddressMapper.selectList(new LambdaQueryWrapper() - .eq(PositionAddress::getDeleted, false) - .eq(PositionAddress::getCompanyId, importDetailPositionDTO.getCompanyId()) - .eq(PositionAddress::getDetailAddress, importDetailPositionDTO.getPositionAddress()) - ); - if (CollectionUtils.isEmpty(positionAddressList)) { - PositionAddress positionAddress = new PositionAddress(); - positionAddress.setCompanyId(importDetailPositionDTO.getCompanyId()); - positionAddress.setDetailAddress(importDetailPositionDTO.getPositionAddress()); - - AlitaResult alitaResult = tencentMapContext.webServiceGeocoder(TencentMapGeocoderReqDTO.builder() - .address(importDetailPositionDTO.getPositionAddress()) - .build()); - - if (Boolean.TRUE.equals(alitaResult.getSuccess())) { - TencentMapGeocoderResDTO resultData = alitaResult.getData(); - TencentMapGeocoderResDTO.TencentMapGeocoderLocationResDTO location = resultData.getLocation(); - if (Objects.nonNull(location)) { - positionAddress.setLatitude(location.getLat()); - positionAddress.setLongitude(location.getLng()); - } - } - positionAddressMapper.saveEntity(positionAddress); - position.setAddressId(positionAddress.getId()); - } else { - position.setAddressId(positionAddressList.get(0).getId()); - } - - - //岗位类型 名称匹配,存code, 匹配不到就不存此字段 - List positionTypeList = positionTypeMapper.selectList(new LambdaQueryWrapper().eq(PositionType::getDeleted, false).eq(PositionType::getName, importDetailPositionDTO.getPositionTypeName())); - if (CollectionUtils.isNotEmpty(positionTypeList)) { - position.setPositionType(positionTypeList.get(0).getCode()); - } - - //工作性质:短工、全职、实习 - //岗位性质:零工、普通岗 - //招聘岗位类型:零工、普通岗、零工+普通岗 - if (StringUtils.isNotBlank(position.getRecruitPositionType())) { - String jobCategory = null; - switch (position.getRecruitPositionType()) { - case "1": - jobCategory = "2"; - break; - case "2": - jobCategory = "1"; - break; - default: - break; - } - position.setJobCategory(jobCategory); - } - PositionNewOperatorDTO positionNewOperatorDTO = new PositionNewOperatorDTO(); - BeanUtils.copyProperties(position, positionNewOperatorDTO); - PositionAudit positionAudit = positionAuditService.positionCreate(positionNewOperatorDTO); - ImportDetailPositionOperatorDTO updateImportDetailPositionDTO = new ImportDetailPositionOperatorDTO(); - BeanUtils.copyProperties(importDetailPositionDTO, updateImportDetailPositionDTO); - updateImportDetailPositionDTO.setExtraDetailId(positionAudit.getPositionId()); - updateImportDetailPositionDTO.setEndTime(DateUtil.parse(importDetailPositionDTO.getEndTime())); - importDetailPositionService.modify(updateImportDetailPositionDTO); - } - - return null; - } -} diff --git a/src/main/java/com/newyetai/recruit/position/service/impl/ImportDetailPositionProvider.java b/src/main/java/com/newyetai/recruit/position/service/impl/ImportDetailPositionProvider.java deleted file mode 100644 index aec0d8c..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/impl/ImportDetailPositionProvider.java +++ /dev/null @@ -1,542 +0,0 @@ -package com.newyetai.recruit.position.service.impl; - -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; - -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.read.builder.ExcelReaderBuilder; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.dto.ExportHeadDetailInfoDTO; -import com.newyetai.common.dto.ExportHeadInfoDTO; -import com.newyetai.common.easyexcel.ExcelUtil; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.component.dict.util.DictUtils; -import com.newyetai.recruit.company.dto.HrCompanyDTO; -import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO; -import com.newyetai.recruit.company.enums.HrCompanyEnum; -import com.newyetai.recruit.company.service.IHrCompanyService; -import com.newyetai.component.commonimport.constant.ImportDetailStatusEnum; -import com.newyetai.component.commonimport.constant.ImportStatusEnum; -import com.newyetai.component.commonimport.constant.ImportTypeEnum; -import com.newyetai.component.commonimport.dto.ImportDetailPageDTO; -import com.newyetai.component.commonimport.dto.ImportMainDTO; -import com.newyetai.component.commonimport.dto.ImportMainQueryDTO; -import com.newyetai.component.commonimport.dto.ImportMainUpdateDTO; -import com.newyetai.component.commonimport.service.ImportMainService; -import com.newyetai.component.commonimport.service.impl.AbstractCommonImportProvider; -import com.newyetai.component.file.entity.FileRecord; -import com.newyetai.component.file.service.FileRecordService; -import com.newyetai.recruit.position.dao.PositionAddressMapper; -import com.newyetai.recruit.position.dao.PositionMapper; -import com.newyetai.recruit.position.dao.PositionTypeMapper; -import com.newyetai.recruit.position.dto.*; -import com.newyetai.recruit.position.entity.Position; -import com.newyetai.recruit.position.entity.PositionAddress; -import com.newyetai.recruit.position.entity.PositionAudit; -import com.newyetai.recruit.position.entity.PositionType; -import com.newyetai.recruit.position.service.ImportDetailPositionService; -import com.newyetai.recruit.position.service.PositionAuditService; -import com.newyetai.recruit.position.service.PositionService; -import com.newyetai.recruit.talent.dto.ImportDetailTalentPageQueryDTO; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.usercenter.org.dao.OrgMapper; -import com.newyetai.usercenter.org.entity.Org; -import com.newyetai.usercenter.org.enums.RecruitPositionTypeEnum; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -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.io.InputStream; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -import javax.annotation.Resource; - -import cn.hutool.core.date.DateUtil; -import lombok.extern.slf4j.Slf4j; - -/** - * @description: - * @author: guixinman - * @create: 2024-04-11 17:45 - **/ -@Service -@Slf4j -public class ImportDetailPositionProvider extends AbstractCommonImportProvider { - - @Autowired - private ImportDetailPositionService importDetailPositionService; - - @Autowired - private ImportMainService importMainService; - - @Autowired - private FileRecordService fileRecordService; - - @Autowired - private IHrCompanyService hrCompanyService; - - @Autowired - private PositionAuditService positionAuditService; - - @Resource - private PositionMapper positionMapper; - - @Resource - private PositionTypeMapper positionTypeMapper; - - @Resource - private PositionAddressMapper positionAddressMapper; - - @Resource - private OrgMapper orgMapper; - - - public ImportDetailPositionProvider(ImportMainService imprImportMainService) { - super(imprImportMainService); - } - - @Override - public String getType() { - return ImportTypeEnum.POSITION.getType(); - } - - @Override - public Page pageDetail(ImportDetailPageDTO importDetailPageDTO) { - ImportDetailPositionPageQueryDTO queryDTO = new ImportDetailPositionPageQueryDTO(); - BeanUtils.copyProperties(importDetailPageDTO, queryDTO); - importDetailPositionService.page(queryDTO); - return queryDTO.getPageResult(); - } - - @Override - public void importDetailExport(ImportDetailPageDTO importDetailPageDTO) { - ImportDetailPositionPageQueryDTO queryDTO = new ImportDetailPositionPageQueryDTO(); - BeanUtils.copyProperties(importDetailPageDTO, queryDTO); - queryDTO.disablePage(); - List list = importDetailPositionService.page(queryDTO); - - List exportDTOList = list.stream().map(dto -> { - ImportDetailPositionExportDTO importDetailPositionExportDTO = JsonUtils.toObject(dto.getDataJson(), ImportDetailPositionExportDTO.class); - importDetailPositionExportDTO.setRemark(dto.getRemark()); - importDetailPositionExportDTO.setFailReason(dto.getFailReason()); - return importDetailPositionExportDTO; - }).collect(Collectors.toList()); - - if (org.springframework.util.CollectionUtils.isEmpty(exportDTOList)) { - return; - } - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); - String commonImportDetailStatus = DictUtils.getCodeNameMap("common_import_detail_status").get(String.valueOf(importDetailPageDTO.getDetailStatus())); - - String fileName = "岗位导入" + (StringUtils.isNotBlank(commonImportDetailStatus) ? commonImportDetailStatus : "") + "明细导出" + "(" + formatter.format(LocalDateTime.now()) + ")"; - - ExportHeadInfoDTO infoDTO = ExportHeadInfoDTO.builder() - .fileName(fileName) - .build(); - List heads = infoDTO.getHeads(); - heads.add(ExportHeadDetailInfoDTO.builder().head("用工企业").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位名称").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("招聘标题").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("招聘人数").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("工作地址").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位性质").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位类型").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位标签").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("薪资下限").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("薪资上限").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("薪资类型").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("发薪日").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("性别").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("年龄(下限)").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("年龄(上限)").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("学历").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("经验").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("证件").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("其他").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("工作内容").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("失败原因").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("备注").build()); - - List datas = Lists.newArrayList(); - for (ImportDetailPositionExportDTO dto : exportDTOList) { - List objects = Lists.newArrayList(); - datas.add(objects); - objects.add(dto.getCompanyName()); - objects.add(dto.getPositionName()); - objects.add(dto.getRecruitTitle()); - objects.add(dto.getPositionNumber()); - objects.add(dto.getPositionAddress()); - objects.add(dto.getRecruitPositionType()); - objects.add(dto.getPositionTypeName()); - objects.add(dto.getPositionTag()); - objects.add(dto.getSalaryLow()); - objects.add(dto.getSalaryUp()); - objects.add(dto.getSalaryType()); - objects.add(dto.getPayDate()); - objects.add(dto.getSexRequire()); - objects.add(dto.getAgeLow()); - objects.add(dto.getAgeUp()); - objects.add(dto.getEducationRequire()); - objects.add(dto.getExperienceRequire()); - objects.add(dto.getCertificatesRequire()); - objects.add(dto.getOtherRequire()); - objects.add(dto.getJobContent()); - objects.add(dto.getFailReason()); - objects.add(dto.getRemark()); - - } - infoDTO.setDatas(datas); - - ExcelUtil.dynamicExportTemplate(infoDTO); - - } - - @Override - public List analy(Long mainId) { - // 解析文件+明细 - ImportMainDTO importMainDTO = importMainService.find(ImportMainQueryDTO.builder().id(mainId).build()); - Assert.notNull(importMainDTO, "未查询到导入的数据"); - - FileRecord fileRecord; - try { - fileRecord = fileRecordService.find(FileRecord.builder().fileCode(importMainDTO.getFileCode()).build()); - } catch (Exception e) { - log.info("导入文件异常,", e); - fileRecord = null; - } - Assert.notNull(fileRecord, "上传文件不存在"); - try (InputStream is = fileRecordService.getFile(importMainDTO.getFileCode())) { - ImportPositionExcelListener listener = new ImportPositionExcelListener(); - ExcelReaderBuilder reader = EasyExcel.read(is, ImportDetailPositionListenerDTO.class, listener); - reader.sheet().doRead(); - List dtos = listener.getDtos(); - Assert.isTrue(!dtos.isEmpty(), "导入文件无有效数据"); - return dtos; - } catch (Exception e) { - throw new BusinessException(e.getMessage()); - } - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void checkAndSave(Long mainId, List detailCreateDtos) { - //更改状态为校验中 - ImportMainUpdateDTO updateDto = ImportMainUpdateDTO.builder().id(mainId) - .oldStatusSet(Sets.newHashSet(ImportStatusEnum.INIT.getStatus())) - .newStatus(ImportStatusEnum.CHECKING.getStatus()) - .build(); - importMainService.modify(updateDto); - - List importDetailPositionDTOS = new ArrayList<>(); - - //存储用工企业+岗位名称。用于校验 导入的数据中有没有重复的 - List companyIdPositionNames = new ArrayList<>(); - - for (ImportDetailPositionListenerDTO importDetailPositionListenerDTO : detailCreateDtos) { - ImportDetailPositionDTO importDetailPositionDTO = new ImportDetailPositionDTO(); - - this.checkAndFill(importDetailPositionDTO, importDetailPositionListenerDTO); - - if (StringUtils.isBlank(importDetailPositionDTO.getFailReason())) { - if (companyIdPositionNames.contains(StringUtils.join(importDetailPositionListenerDTO.getCompanyName(), importDetailPositionListenerDTO.getPositionName()))) { - importDetailPositionDTO.appendFailMsg("用工企业+岗位名称出现多次"); - } - //存储用工企业+岗位名称 - companyIdPositionNames.add(StringUtils.join(importDetailPositionListenerDTO.getCompanyName(), importDetailPositionListenerDTO.getPositionName())); - } - - if (StringUtils.isNotBlank(importDetailPositionDTO.getFailReason())) { - importDetailPositionDTO.setDetailStatus(ImportDetailStatusEnum.CHECK_FAIL.getStatus()); - } else { - importDetailPositionDTO.setDetailStatus(ImportDetailStatusEnum.CHECK_SUCCESS.getStatus()); - } - importDetailPositionDTO.setMainId(mainId); - importDetailPositionDTO.setOrgId(UserContextHolder.getExistLoginOrgId()); - importDetailPositionDTOS.add(importDetailPositionDTO); - } - importDetailPositionService.batchCreate(importDetailPositionDTOS); - super.finishCheck(mainId, importDetailPositionDTOS); - } - - private void checkAndFill(ImportDetailPositionDTO importDetailPositionDTO, ImportDetailPositionListenerDTO importDetailPositionListenerDTO) { - BeanUtils.copyProperties(importDetailPositionListenerDTO, importDetailPositionDTO); - importDetailPositionDTO.setDataJson(JsonUtils.toJsonString(importDetailPositionListenerDTO)); - - if (StringUtils.isBlank(importDetailPositionDTO.getPositionName())) { - importDetailPositionDTO.appendFailMsg("岗位名称不能为空"); - } else if (importDetailPositionDTO.getPositionName().length() > 50) { - importDetailPositionDTO.appendFailMsg("岗位名称超过最大限制长度"); - importDetailPositionDTO.setPositionName(null); - } - - if (StringUtils.isBlank(importDetailPositionListenerDTO.getCompanyName())) { - importDetailPositionDTO.appendFailMsg("用工企业不能为空"); - } else { - HrCompanyDTO hrCompanyDTO = hrCompanyService.find(HrCompanyPageQueryDTO.builder().orgId(UserContextHolder.getExistLoginOrgId()).companyTypes(Arrays.asList(HrCompanyEnum.KH.getType(), HrCompanyEnum.SELF.getType())).companyName(importDetailPositionListenerDTO.getCompanyName()).build()); - if (Objects.isNull(hrCompanyDTO)) { - importDetailPositionDTO.appendFailMsg("未查询到对应的用工企业"); - } else { - importDetailPositionDTO.setCompanyId(hrCompanyDTO.getId()); - - if (StringUtils.isNotBlank(importDetailPositionDTO.getPositionName())) { - //当前机构下,相同的用工企业,不能存在相同的岗位名称 - List positions = positionMapper.selectList(new LambdaQueryWrapper() - .eq(Position::getDeleted,false) - .eq(Position::getCompanyId, importDetailPositionDTO.getCompanyId()) - .eq(Position::getOrgId, UserContextHolder.getExistLoginOrgId()) - .eq(Position::getPositionName, importDetailPositionDTO.getPositionName()) - ); - if (CollectionUtils.isNotEmpty(positions)) { - importDetailPositionDTO.appendFailMsg("该用工企业已存在相同的岗位名称"); - } - } - } - } - if (StringUtils.isBlank(importDetailPositionDTO.getRecruitTitle())) { - importDetailPositionDTO.appendFailMsg("招聘标题不能为空"); - } else if (importDetailPositionDTO.getRecruitTitle().length() > 255) { - importDetailPositionDTO.appendFailMsg("招聘标题超过最大限制长度"); - importDetailPositionDTO.setRecruitTitle(null); - } - - if (!Objects.isNull(importDetailPositionDTO.getPositionNumber()) && importDetailPositionDTO.getPositionNumber() > 30000) { - importDetailPositionDTO.appendFailMsg("招聘人数超过最大限制"); - importDetailPositionDTO.setPositionNumber(null); - } - - if (StringUtils.isBlank(importDetailPositionDTO.getPositionAddress())) { - importDetailPositionDTO.appendFailMsg("工作地址不能为空"); - } else if (importDetailPositionDTO.getPositionAddress().length() > 255) { - importDetailPositionDTO.appendFailMsg("工作地址超过最大限制长度"); - importDetailPositionDTO.setPositionAddress(null); - } - - if (StringUtils.isBlank(importDetailPositionDTO.getRecruitPositionType())) { - importDetailPositionDTO.appendFailMsg("岗位性质不能为空"); - } else { - String recruitPositionTypeCode = DictUtils.getNameCodeMap("recruit_position_type").get(importDetailPositionDTO.getRecruitPositionType()); - if (StringUtils.isBlank(recruitPositionTypeCode)) { - importDetailPositionDTO.appendFailMsg("岗位性质有误,请重新操作"); - importDetailPositionDTO.setRecruitPositionType(null); - } else { - importDetailPositionDTO.setRecruitPositionType(recruitPositionTypeCode); - - Org org = orgMapper.selectOne(new LambdaQueryWrapper().eq(Org::getDeleted, false).eq(Org::getId, UserContextHolder.getExistLoginOrgId())); - - //判断招聘岗位类型权限 - if (!org.getRecruitPositionType().equals(RecruitPositionTypeEnum.ODD_JOB_OR_GENERAL_WORKER.getType())) { - if (!StringUtils.equals(org.getRecruitPositionType(), importDetailPositionDTO.getRecruitPositionType())) { - if (StringUtils.equals(org.getRecruitPositionType(), RecruitPositionTypeEnum.ODD_JOB.getType())) { - importDetailPositionDTO.appendFailMsg("当前企业仅支持维护零工性质岗位。"); - importDetailPositionDTO.setRecruitPositionType(null); - } - if (StringUtils.equals(org.getRecruitPositionType(), RecruitPositionTypeEnum.GENERAL_WORKER.getType())) { - importDetailPositionDTO.appendFailMsg("当前企业仅支持维护普工性质岗位。"); - importDetailPositionDTO.setRecruitPositionType(null); - } - } - } - - - } - } - - if (StringUtils.isNotBlank(importDetailPositionDTO.getPositionTypeName())) { - if (importDetailPositionDTO.getPositionTypeName().length() > 32) { - importDetailPositionDTO.appendFailMsg("岗位类型超过最大限制长度"); - importDetailPositionDTO.setPositionTypeName(null); - } - } - - if (StringUtils.isNotBlank(importDetailPositionDTO.getPositionTag()) && importDetailPositionDTO.getPositionTag().length() > 512) { - importDetailPositionDTO.appendFailMsg("岗位标签超过最大限制长度"); - importDetailPositionDTO.setPositionTag(null); - } - - - if (StringUtils.isNotBlank(importDetailPositionDTO.getPayDate()) && importDetailPositionDTO.getPayDate().length() > 32) { - importDetailPositionDTO.appendFailMsg("发薪日超过最大限制长度"); - importDetailPositionDTO.setPayDate(null); - } - - if (StringUtils.isBlank(importDetailPositionDTO.getSexRequire())) { - importDetailPositionDTO.appendFailMsg("性别不能为空"); - } else { - if (importDetailPositionDTO.getSexRequire().length() > 2) { - importDetailPositionDTO.appendFailMsg("性别超过最大限制长度"); - importDetailPositionDTO.setSexRequire(null); - }else { - String gender = DictUtils.getNameCodeMap("gender_require").get(importDetailPositionDTO.getSexRequire()); - if (StringUtils.isBlank(gender)) { - importDetailPositionDTO.appendFailMsg("性别有误,请重新操作"); - importDetailPositionDTO.setSexRequire(null); - } else { - importDetailPositionDTO.setSexRequire(gender); - } - } - } - - if (StringUtils.isBlank(importDetailPositionDTO.getEducationRequire())) { - importDetailPositionDTO.appendFailMsg("学历不能为空"); - } else { - if (importDetailPositionDTO.getEducationRequire().length() > 64) { - importDetailPositionDTO.appendFailMsg("学历超过最大限制长度"); - importDetailPositionDTO.setEducationRequire(null); - } else { - String educationCode = DictUtils.getNameCodeMap("education").get(importDetailPositionDTO.getEducationRequire()); - if (StringUtils.isBlank(educationCode)) { - importDetailPositionDTO.appendFailMsg("学历有误,请重新操作"); - importDetailPositionDTO.setEducationRequire(null); - } else { - importDetailPositionDTO.setEducationRequire(educationCode); - } - } - } - - if (StringUtils.isBlank(importDetailPositionDTO.getExperienceRequire())) { - importDetailPositionDTO.appendFailMsg("经验不能为空"); - } else { - if (importDetailPositionDTO.getExperienceRequire().length() > 32) { - importDetailPositionDTO.appendFailMsg("经验超过最大限制长度"); - importDetailPositionDTO.setExperienceRequire(null); - }else { - String experienceCode = DictUtils.getNameCodeMap("RECRUIT_WORK_YEAR").get(importDetailPositionDTO.getExperienceRequire()); - if (StringUtils.isBlank(experienceCode)) { - importDetailPositionDTO.appendFailMsg("经验有误,请重新操作"); - importDetailPositionDTO.setExperienceRequire(null); - } else { - importDetailPositionDTO.setExperienceRequire(experienceCode); - } - } - } - if (StringUtils.isNotBlank(importDetailPositionDTO.getCertificatesRequire()) && importDetailPositionDTO.getCertificatesRequire().length() > 32) { - importDetailPositionDTO.appendFailMsg("证件超过最大限制长度"); - importDetailPositionDTO.setCertificatesRequire(null); - } - if (StringUtils.isNotBlank(importDetailPositionDTO.getOtherRequire()) && importDetailPositionDTO.getOtherRequire().length() > 32) { - importDetailPositionDTO.appendFailMsg("其它超过最大限制长度"); - importDetailPositionDTO.setOtherRequire(null); - } - - if (StringUtils.isBlank(importDetailPositionDTO.getJobContent())) { - importDetailPositionDTO.appendFailMsg("工作内容不能为空"); - } - - if (StringUtils.isNotBlank(importDetailPositionDTO.getSalaryType())) { - String salaryTypeCode = DictUtils.getNameCodeMap("salary_type").get(importDetailPositionDTO.getSalaryType()); - if (StringUtils.isBlank(salaryTypeCode)) { - importDetailPositionDTO.appendFailMsg("薪资类型有误,请重新操作"); - importDetailPositionDTO.setSalaryType(null); - } else { - importDetailPositionDTO.setSalaryType(salaryTypeCode); - } - } - - if (StringUtils.isBlank(importDetailPositionDTO.getEndTime())) { - importDetailPositionDTO.appendFailMsg("有效期截止时间不能为空"); - }else { - try { - if (DateUtil.endOfDay(DateUtil.parse(importDetailPositionDTO.getEndTime())).getTime() <= DateUtil.endOfDay(new Date()).getTime()) { - importDetailPositionDTO.appendFailMsg("岗位有效期不能小于等于当前日期"); - } - importDetailPositionDTO.setEndTime(DateUtil.format(DateUtil.endOfDay(DateUtil.parse(importDetailPositionDTO.getEndTime())),"yyyy-MM-dd HH:mm:ss")); - }catch (Exception e) { - importDetailPositionDTO.appendFailMsg("有效期截止时间格式不正确"); - importDetailPositionDTO.setEndTime(null); - } - } - - } - - @Transactional(rollbackFor = Exception.class) - @Override - public Long execute(ImportDetailPositionExecuteDTO executeDto) { - Long mainId = executeDto.getMainId(); - Assert.notNull(mainId, "参数异常"); - - ImportMainDTO importMainDTO = importMainService.find(ImportMainQueryDTO.builder().id(mainId).build()); - Assert.notNull(importMainDTO, "未查询到导入数据"); - - ImportDetailPositionPageQueryDTO queryDTO = new ImportDetailPositionPageQueryDTO(); - queryDTO.disablePage(); - queryDTO.setMainId(mainId); - queryDTO.setDetailStatus(ImportDetailStatusEnum.CHECK_SUCCESS.getStatus()); - List importDetailPositionDTOS = importDetailPositionService.page(queryDTO); - if (CollectionUtils.isEmpty(importDetailPositionDTOS)) { - throw new BusinessException("未查询到成功的明细数据"); - } - - for (ImportDetailPositionDTO importDetailPositionDTO : importDetailPositionDTOS) { - PositionOperatorDTO position = new PositionOperatorDTO(); - BeanUtils.copyProperties(importDetailPositionDTO, position); - position.setEndTime(DateUtil.parse(importDetailPositionDTO.getEndTime())); - //工作地址匹配当前用工企业下的工作地址,有就用,没有就创建一个, 地图控件要是返回多条记录,取第一个。 - //先直接创建。后续接了地图在改 - - List positionAddressList = positionAddressMapper.selectList(new LambdaQueryWrapper() - .eq(PositionAddress::getDeleted, false) - .eq(PositionAddress::getCompanyId, importDetailPositionDTO.getCompanyId()) - .eq(PositionAddress::getDetailAddress, importDetailPositionDTO.getPositionAddress()) - ); - if (CollectionUtils.isEmpty(positionAddressList)) { - PositionAddress positionAddress = new PositionAddress(); - positionAddress.setCompanyId(importDetailPositionDTO.getCompanyId()); - positionAddress.setDetailAddress(importDetailPositionDTO.getPositionAddress()); - positionAddressMapper.saveEntity(positionAddress); - position.setAddressId(positionAddress.getId()); - } else { - position.setAddressId(positionAddressList.get(0).getId()); - } - - - //岗位类型 名称匹配,存code, 匹配不到就不存此字段 - List positionTypeList = positionTypeMapper.selectList(new LambdaQueryWrapper().eq(PositionType::getDeleted, false).eq(PositionType::getName, importDetailPositionDTO.getPositionTypeName())); - if (CollectionUtils.isNotEmpty(positionTypeList)) { - position.setPositionType(positionTypeList.get(0).getCode()); - } - - //工作性质:短工、全职、实习 - //岗位性质:零工、普通岗 - //招聘岗位类型:零工、普通岗、零工+普通岗 - if (StringUtils.isNotBlank(position.getRecruitPositionType())) { - String jobCategory = null; - switch (position.getRecruitPositionType()) { - case "1": - jobCategory = "2"; - break; - case "2": - jobCategory = "1"; - break; - default: - break; - } - position.setJobCategory(jobCategory); - } - PositionNewOperatorDTO positionNewOperatorDTO = new PositionNewOperatorDTO(); - BeanUtils.copyProperties(position, positionNewOperatorDTO); - PositionAudit positionAudit = positionAuditService.positionCreate(positionNewOperatorDTO); - ImportDetailPositionOperatorDTO updateImportDetailPositionDTO = new ImportDetailPositionOperatorDTO(); - BeanUtils.copyProperties(importDetailPositionDTO, updateImportDetailPositionDTO); - updateImportDetailPositionDTO.setEndTime(DateUtil.parse(importDetailPositionDTO.getEndTime())); - updateImportDetailPositionDTO.setExtraDetailId(positionAudit.getPositionId()); - importDetailPositionService.modify(updateImportDetailPositionDTO); - } - - return null; - } -} diff --git a/src/main/java/com/newyetai/recruit/position/service/impl/ImportDetailPositionServiceImpl.java b/src/main/java/com/newyetai/recruit/position/service/impl/ImportDetailPositionServiceImpl.java deleted file mode 100644 index bb2e6c6..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/impl/ImportDetailPositionServiceImpl.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.newyetai.recruit.position.service.impl; - -import cn.hutool.core.date.DateUtil; -import lombok.extern.slf4j.Slf4j; - -import com.newyetai.component.commonimport.constant.ImportDetailStatusEnum; -import com.newyetai.recruit.position.convert.ImportDetailPositionConvert; -import com.newyetai.recruit.position.entity.ImportDetailPosition; -import com.newyetai.recruit.position.dto.*; -import com.newyetai.recruit.position.dao.ImportDetailPositionMapper; -import com.newyetai.recruit.position.service.ImportDetailPositionService; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.newyetai.common.util.UserContextHolder; - -import javax.annotation.Resource; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * 岗位导入 - * - * @author guixinman - * @since 1.0.0 2024-04-12 - */ -@Slf4j -@Service -public class ImportDetailPositionServiceImpl implements ImportDetailPositionService { - - @Resource - private ImportDetailPositionMapper importDetailPositionMapper; - - @Override - public ImportDetailPositionDTO create(ImportDetailPositionOperatorDTO operatorDto) { - ImportDetailPosition importDetailPosition = ImportDetailPositionConvert.INSTANCE.convert(operatorDto); - importDetailPositionMapper.saveEntity(importDetailPosition); - return ImportDetailPositionConvert.INSTANCE.convert(importDetailPosition); - } - - @Override - public ImportDetailPositionDTO modify(ImportDetailPositionOperatorDTO operatorDto) { - ImportDetailPositionDTO importDetailPositionDto = this.findById(operatorDto.getId()); - if (Objects.isNull(importDetailPositionDto)) { - return null; - } - ImportDetailPosition importDetailPosition = ImportDetailPositionConvert.INSTANCE.convert(operatorDto); - importDetailPositionMapper.updateEntity(importDetailPosition); - return this.findById(operatorDto.getId()); - } - - @Override - public ImportDetailPositionDTO delete(Long id) { - ImportDetailPositionDTO importDetailPositionDto = this.findById(id); - if (Objects.isNull(importDetailPositionDto)) { - return null; - } - ImportDetailPosition importDetailPosition = ImportDetailPosition.builder().build(); - importDetailPosition.setId(id); - importDetailPositionMapper.deleteEntity(importDetailPosition, UserContextHolder.getLoginUserId()); - return importDetailPositionDto; - } - - @Override - public ImportDetailPositionDTO findById(Long id) { - ImportDetailPosition importDetailPosition = importDetailPositionMapper.getById(id); - if (Objects.isNull(importDetailPosition)) { - return null; - } - return ImportDetailPositionConvert.INSTANCE.convert(importDetailPosition); - } - - @Override - public List list(ImportDetailPositionQueryDTO queryDTO) { - return importDetailPositionMapper.list(queryDTO); - } - - @Override - public List page(ImportDetailPositionPageQueryDTO queryDTO) { - return importDetailPositionMapper.page(queryDTO); - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void batchCreate(List importDetailPositionDTOS) { - if (CollectionUtils.isEmpty(importDetailPositionDTOS)) { - return; - } - - List importDetailPositions= importDetailPositionDTOS.stream().map(dto -> { - ImportDetailPosition importDetailPosition = new ImportDetailPosition(); - BeanUtils.copyProperties(dto, importDetailPosition); - if (ImportDetailStatusEnum.CHECK_SUCCESS.getStatus().intValue() == dto.getDetailStatus().intValue()) { - importDetailPosition.setEndTime(DateUtil.parse(dto.getEndTime())); - } - return importDetailPosition; - }).collect(Collectors.toList()); - - importDetailPositionMapper.saveEntites(importDetailPositions); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/service/impl/ImportPositionExcelListener.java b/src/main/java/com/newyetai/recruit/position/service/impl/ImportPositionExcelListener.java deleted file mode 100644 index 2828202..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/impl/ImportPositionExcelListener.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.newyetai.recruit.position.service.impl; - -import com.alibaba.excel.context.AnalysisContext; -import com.alibaba.excel.event.AnalysisEventListener; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.recruit.position.dto.ImportDetailPositionListenerDTO; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @description: 岗位导入 - * @author: guixinman - * @create: 2024-04-09 16:49 - **/ -public class ImportPositionExcelListener extends AnalysisEventListener { - - private List dtos; - private Map headMap = new HashMap<>(); - - public ImportPositionExcelListener() { - this.dtos = new ArrayList<>(); - } - - @Override - public void invoke(ImportDetailPositionListenerDTO data, AnalysisContext context) { - dtos.add(data); - } - - @Override - public void doAfterAllAnalysed(AnalysisContext context) { - - } - - @Override - public void invokeHeadMap(Map headMap, AnalysisContext context) { - this.headMap = headMap; - if (headMap.isEmpty()) { - throw new BusinessException("导入模板表头有误"); - } - //姓名、身份证号、发放金额、备注 - if (headMap.size() != 21) { - throw new BusinessException("导入模板表头有误"); - } - Assert.isTrue(headMap.get(0).toString().contains("用工企业"), "导入模板表头有误"); - Assert.isTrue(headMap.get(1).toString().contains("岗位名称"), "导入模板表头有误"); - Assert.isTrue(headMap.get(2).toString().contains("招聘标题"), "导入模板表头有误"); - Assert.isTrue(headMap.get(3).toString().contains("招聘人数"), "导入模板表头有误"); - Assert.isTrue(headMap.get(4).toString().contains("工作地址"), "导入模板表头有误"); - Assert.isTrue(headMap.get(5).toString().contains("岗位性质"), "导入模板表头有误"); - Assert.isTrue(headMap.get(6).toString().contains("岗位类型"), "导入模板表头有误"); - Assert.isTrue(headMap.get(7).toString().contains("岗位标签"), "导入模板表头有误"); - Assert.isTrue(headMap.get(8).toString().contains("薪资下限"), "导入模板表头有误"); - Assert.isTrue(headMap.get(9).toString().contains("薪资上限"), "导入模板表头有误"); - Assert.isTrue(headMap.get(10).toString().contains("薪资类型"), "导入模板表头有误"); - Assert.isTrue(headMap.get(11).toString().contains("发薪日"), "导入模板表头有误"); - Assert.isTrue(headMap.get(12).toString().contains("性别"), "导入模板表头有误"); - Assert.isTrue(headMap.get(13).toString().contains("年龄(下限)"), "导入模板表头有误"); - Assert.isTrue(headMap.get(14).toString().contains("年龄(上限)"), "导入模板表头有误"); - Assert.isTrue(headMap.get(15).toString().contains("学历"), "导入模板表头有误"); - Assert.isTrue(headMap.get(16).toString().contains("经验"), "导入模板表头有误"); - Assert.isTrue(headMap.get(17).toString().contains("证件"), "导入模板表头有误"); - Assert.isTrue(headMap.get(18).toString().contains("其他"), "导入模板表头有误"); - Assert.isTrue(headMap.get(19).toString().contains("工作内容"), "导入模板表头有误"); - Assert.isTrue(headMap.get(20).toString().contains("有效期截止时间"), "导入模板表头有误"); - - } - - public List getDtos() { - return dtos; - } -} diff --git a/src/main/java/com/newyetai/recruit/position/service/impl/PositionAddressServiceImpl.java b/src/main/java/com/newyetai/recruit/position/service/impl/PositionAddressServiceImpl.java deleted file mode 100644 index 5db27a0..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/impl/PositionAddressServiceImpl.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.newyetai.recruit.position.service.impl; - - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.SensitiveWordUtils; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.recruit.position.dao.PositionAddressMapper; -import com.newyetai.recruit.position.dto.PositionAddressDTO; -import com.newyetai.recruit.position.dto.PositionAddressOperatorDTO; -import com.newyetai.recruit.position.dto.PositionAddressQueryDTO; -import com.newyetai.recruit.position.entity.PositionAddress; -import com.newyetai.recruit.position.service.PositionAddressService; - -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import org.apache.commons.compress.utils.Lists; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; - -import java.util.Date; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -import javax.annotation.Resource; - -import cn.hutool.core.collection.CollUtil; -import lombok.extern.slf4j.Slf4j; - -@Slf4j -@Service -public class PositionAddressServiceImpl implements PositionAddressService { - - @Resource - private PositionAddressMapper positionAddressMapper; - - @Override - public Long createOrUpdate(PositionAddressOperatorDTO operatorDTO) { - Assert.isTrue(!(UserTypeEnum.PERSON.getType().equals(UserContextHolder.getExistUserType())),"用户类型不匹配"); - if (!SensitiveWordUtils.check(operatorDTO.getDetailAddress())) { - throw new BusinessException("非法详细地址"); - } - - Long id = operatorDTO.getId(); - if (Objects.isNull(id)) { - PositionAddress positionAddress = new PositionAddress(); - BeanUtils.copyProperties(operatorDTO, positionAddress); - - positionAddressMapper.saveEntity(positionAddress); - return positionAddress.getId(); - } else { - PositionAddress positionAddress = positionAddressMapper.getById(operatorDTO.getId()); - Assert.notNull(positionAddress, "地址信息不存在"); - PositionAddress positionAddressUpdate = new PositionAddress(); - BeanUtils.copyProperties(operatorDTO, positionAddressUpdate); - positionAddressUpdate.setId(positionAddress.getId()); - positionAddressUpdate.setUpdateBy(UserContextHolder.getExistLoginUserId()); - positionAddressUpdate.setUpdateTime(new Date()); - positionAddressMapper.updateEntitySelective(positionAddressUpdate); - return positionAddress.getId(); - } - } - - @Override - public List list(PositionAddressQueryDTO queryDTO) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - queryDTO.setOrgId(UserContextHolder.getLoginOrgId()); - } - - List positionAddresses = positionAddressMapper.list(queryDTO); - - if (CollUtil.isNotEmpty(positionAddresses)) { - return positionAddresses.stream().map(positionAddress -> { - PositionAddressDTO positionAddressDTO = new PositionAddressDTO(); - BeanUtils.copyProperties(positionAddress, positionAddressDTO); - return positionAddressDTO; - }).collect( - Collectors.toList()); - } - return Lists.newArrayList(); - } - - @Override - public void delete(Long id) { - PositionAddress positionAddress = positionAddressMapper.getById(id); - if (Objects.nonNull(positionAddress)) { - PositionAddress deletePositionAddress = new PositionAddress(); - deletePositionAddress.setId(id); - positionAddressMapper.deleteEntity(deletePositionAddress); - } - } -} diff --git a/src/main/java/com/newyetai/recruit/position/service/impl/PositionAuditServiceImpl.java b/src/main/java/com/newyetai/recruit/position/service/impl/PositionAuditServiceImpl.java deleted file mode 100644 index 87a6508..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/impl/PositionAuditServiceImpl.java +++ /dev/null @@ -1,517 +0,0 @@ -package com.newyetai.recruit.position.service.impl; - -import com.google.common.collect.Lists; - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.RandomUtil; -import cn.hutool.json.JSONUtil; -import com.newyetai.common.exception.util.UUIDUtils; -import com.newyetai.common.util.RandomUtils; -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import lombok.extern.slf4j.Slf4j; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.dto.ExportHeadDetailInfoDTO; -import com.newyetai.common.dto.ExportHeadInfoDTO; -import com.newyetai.common.easyexcel.ExcelUtil; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.common.util.SensitiveWordUtils; -import com.newyetai.component.dict.util.DictUtils; -import com.newyetai.config.entity.Config; -import com.newyetai.config.service.ConfigService; -import com.newyetai.frame.redis.aop.annotation.AutoUnLock; -import com.newyetai.frame.redis.dto.LockDTO; -import com.newyetai.frame.redis.redisson.RedissonUtils; -import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO; -import com.newyetai.recruit.company.enums.HrCompanyEnum; -import com.newyetai.recruit.company.service.IHrCompanyService; -import com.newyetai.recruit.position.convert.PositionAuditConvert; -import com.newyetai.recruit.position.dao.PositionMapper; -import com.newyetai.recruit.position.entity.Position; -import com.newyetai.recruit.position.entity.PositionAudit; -import com.newyetai.recruit.position.dto.*; -import com.newyetai.recruit.position.dao.PositionAuditMapper; -import com.newyetai.recruit.position.enums.PositionAuditStatusEnum; -import com.newyetai.recruit.position.enums.PositionStatusEnum; -import com.newyetai.recruit.position.service.PositionAuditService; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.aop.framework.AopContext; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.recruit.position.service.PositionFileService; -import com.newyetai.recruit.position.service.PositionService; -import com.newyetai.usercenter.org.service.OrgService; - -import javax.annotation.Resource; - -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 岗位审核表 - * - * @author guixinman - * @since 1.0.0 2024-07-05 - */ -@Slf4j -@Service -public class PositionAuditServiceImpl implements PositionAuditService { - - @Resource - private PositionAuditMapper positionAuditMapper; - - @Autowired - private PositionService positionService; - - @Autowired - private ConfigService configService; - - @Resource - private PositionMapper positionMapper; - - @Autowired - private PositionFileService positionFileService; - - @Autowired - private IHrCompanyService hrCompanyService; - - @Autowired - private OrgService orgService; - - - @Transactional(rollbackFor = Exception.class) - @Override - public PositionAudit positionCreate(PositionNewOperatorDTO operatorDto) { - Assert.isTrue(!(UserTypeEnum.PERSON.getType().equals(UserContextHolder.getExistUserType())),"用户类型不匹配"); - //校验 敏感词 and 其他 - this.check(operatorDto); - - PositionOperatorDTO positionOperatorDTO = new PositionOperatorDTO(); - BeanUtils.copyProperties(operatorDto, positionOperatorDTO); - positionOperatorDTO.setStatus(PositionStatusEnum.CLOSE.getStatus()); - PositionDTO positionDTO = positionService.create(positionOperatorDTO); - - PositionAudit positionAudit = new PositionAudit(); - BeanUtils.copyProperties(positionDTO, positionAudit); - positionAudit.setId(null); - positionAudit.setPositionId(positionDTO.getId()); - positionAudit.setVersion(1); - - Config config = configService.getConfig("position_audit_enable", CommonConstants.PLATFORM_ORG_ID, true); - if (Objects.nonNull(config)) { - positionAudit.setAuditStatus(PositionAuditStatusEnum.INIT.getStatus()); - } else { - BeanUtils.copyProperties(positionDTO, positionOperatorDTO); - - positionAudit.setAuditStatus(PositionAuditStatusEnum.SUCCESS.getStatus()); - //需要修改岗位表 审核通过会更新岗位表。 - positionOperatorDTO.setStatus(PositionStatusEnum.OPEN.getStatus()); - positionDTO.setStatus(PositionStatusEnum.OPEN.getStatus()); - positionOperatorDTO.setId(positionDTO.getId()); - positionService.modify(positionOperatorDTO); - } - - positionAuditMapper.saveEntity(positionAudit); - return positionAudit; - } - - private void check(PositionNewOperatorDTO operatorDto) { - if (Objects.nonNull(operatorDto.getEndTime())) { - Assert.isTrue(! (DateUtil.endOfDay(operatorDto.getEndTime()).getTime() <= DateUtil.endOfDay(new Date()).getTime()),"岗位有效期不能小于等于当前日期"); - } - StringBuilder sb = new StringBuilder(); - if (!SensitiveWordUtils.check(operatorDto.getPositionName())) { - sb.append("非法岗位名称"); - } - if (!SensitiveWordUtils.check(operatorDto.getRecruitTitle())) { - sb.append("非法招聘标题"); - } - if (!SensitiveWordUtils.check(operatorDto.getPositionTag())) { - sb.append("非法岗位标签"); - } - if (!SensitiveWordUtils.check(operatorDto.getPayDate())) { - sb.append("非法发薪日"); - } - if (!SensitiveWordUtils.check(operatorDto.getOtherRequire())) { - sb.append("非法其他"); - } - if (!SensitiveWordUtils.check(operatorDto.getJobContent())) { - sb.append("非法工作内容"); - } - if (StringUtils.isNotBlank(sb.toString())) { - throw new BusinessException(sb.toString()); - } - } - - /** - * @description: 具体看禅道需求 - * @return: - * @author: guixinman - * @param: - */ - @AutoUnLock - @Transactional(rollbackFor = Exception.class) - @Override - public void positionModify(PositionNewOperatorDTO operatorDto) { - Assert.notNull(operatorDto.getId(), "岗位id不能为空"); - Assert.notNull(operatorDto.getPositionAuditId(), "审核id不能为空"); - Assert.notNull(operatorDto.getVersion(), "版本号不能为空"); - //校验敏感词 - this.check(operatorDto); - - //对审核表id加锁 - Assert.isTrue( - RedissonUtils.tryLockAutomatically( - LockDTO.builder() - .tryLockWaitTime(0L) - .lockTimeout(60 * 5L) - .arg(operatorDto.getPositionAuditId() + "") - .methodName("position:audit:modify") - .build() - ), - "岗位编辑正在处理, 请稍后再试"); - - PositionDTO positionDto = positionService.findById(operatorDto.getId()); - if (Objects.isNull(positionDto)) { - throw new BusinessException("未查询到对应岗位数据"); - } - //因为admin能修改。所以orgId取岗位表的orgId - operatorDto.setOrgId(positionDto.getOrgId()); - - Assert.notNull(hrCompanyService.find(HrCompanyPageQueryDTO.builder().id(operatorDto.getCompanyId()).companyTypes(Arrays.asList(HrCompanyEnum.KH.getType(), HrCompanyEnum.SELF.getType())).orgId(positionDto.getOrgId()).build()), "未查询到用工企业"); - List positions = positionMapper.selectList(new LambdaQueryWrapper() - .eq(Position::getDeleted,false) - .eq(Position::getCompanyId, operatorDto.getCompanyId()) - .eq(Position::getOrgId, positionDto.getOrgId()) - .eq(Position::getPositionName, operatorDto.getPositionName()) - .notIn(Position::getId, operatorDto.getId()) - ); - if (CollectionUtils.isNotEmpty(positions)) { - throw new BusinessException("该用工企业已存在相同的岗位名称,添加失败"); - } - - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper().eq(PositionAudit::getDeleted, 0) - .eq(PositionAudit::getId, operatorDto.getPositionAuditId()); - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - queryWrapper.eq(PositionAudit::getOrgId, UserContextHolder.getExistLoginOrgId()); - } - PositionAudit positionAuditOld = positionAuditMapper.selectOne(queryWrapper); - Assert.notNull(positionAuditOld, "网络异常,请刷新页面重试"); - - Long positionAuditId = positionAuditMapper.getIdByPositionId(operatorDto.getId()); - Assert.notNull(positionAuditId, "网络异常,请刷新页面重试"); - Assert.isTrue(positionAuditId == operatorDto.getPositionAuditId().longValue(), "该页面信息已被变更,请刷新页面重试!"); - - /* - * 修改岗位先进审核表。审核通过后反向更新岗位表。 - * 1.如果审核状态是 成功or失败。就新增一条 审核表的记录(看配置对应的状态) - 2.如果审核状态是 待审核 ,就修改审核表的记录,如果配置是不审核就修改审核状态是 成功 - */ - PositionAudit positionAudit = new PositionAudit(); - BeanUtils.copyProperties(operatorDto, positionAudit); - positionAudit.setId(operatorDto.getPositionAuditId()); - positionAudit.setPositionId(operatorDto.getId()); - Config config = configService.getConfig("position_audit_enable", CommonConstants.PLATFORM_ORG_ID, true); - if (Objects.isNull(config)) { - positionAudit.setAuditStatus(PositionAuditStatusEnum.SUCCESS.getStatus()); - //需要修改岗位表 审核通过会更新岗位表。主要是要 更新时间,H5用的 - PositionOperatorDTO positionOperatorDTO = new PositionOperatorDTO(); - BeanUtils.copyProperties(operatorDto, positionOperatorDTO); - positionOperatorDTO.setStatus(PositionStatusEnum.OPEN.getStatus()); - positionService.modify(positionOperatorDTO); - - //先删除岗位相册 - positionFileService.deleteByPositionId(operatorDto.getId()); - if (StringUtils.isNotBlank(operatorDto.getFileJson())) { - List positionFileDTOS = JsonUtils.toList(operatorDto.getFileJson(), PositionFileDTO.class); - for (PositionFileDTO positionFileDTO : positionFileDTOS) { - positionFileDTO.setId(null); - positionFileDTO.setPositionId(operatorDto.getId()); - positionFileService.create(positionFileDTO); - } - } - } else { - positionAudit.setAuditStatus(PositionAuditStatusEnum.INIT.getStatus()); - } - - if (PositionAuditStatusEnum.INIT.getStatus().equals(positionAuditOld.getAuditStatus())) { - positionAudit.setUpdateBy(UserContextHolder.getExistLoginUserId()); - int row = positionAuditMapper.modifyById(positionAudit); - if (row == 0) { - PositionAudit positionAudit1 = positionAuditMapper.selectOne(queryWrapper); - if (!PositionAuditStatusEnum.INIT.getStatus().equals(positionAudit1.getAuditStatus())) { - positionAudit.setVersion(1); - positionAuditMapper.saveEntity(positionAudit); - } else { - if (operatorDto.getVersion().intValue() != positionAudit1.getVersion().intValue()) { - throw new BusinessException("该页面信息已被变更,请刷新页面重试!"); - } - } - } - } else { - positionAudit.setVersion(1); - positionAuditMapper.saveEntity(positionAudit); - } - } - - - @Override - public PositionNewDTO positionFindById(Long id) { - Assert.notNull(id, "参数缺失"); - - PositionNewPageQueryDTO queryDTO = new PositionNewPageQueryDTO(); - queryDTO.disablePage(); - queryDTO.setId(id); - List list = this.positionPage(queryDTO); - return CollectionUtils.isNotEmpty(list) ? list.get(0) : null; - } - - @Override - public List list(PositionAuditQueryDTO queryDTO) { - return positionAuditMapper.list(queryDTO); - } - - @Override - public List page(PositionAuditPageQueryDTO queryDTO) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - if (Objects.isNull(queryDTO.getOrgId())) { - queryDTO.setOrgIds(orgService.childrenOrgIdList(UserContextHolder.getLoginOrgId())); - } - } - return positionAuditMapper.page(queryDTO); - } - - @Override - public List positionPage(PositionNewPageQueryDTO queryDTO) { - - // 获取平台机构ID和当前登录机构ID - Long platformOrgId = CommonConstants.PLATFORM_ORG_ID; - Long loginOrgId = UserContextHolder.getExistLoginOrgId(); - // 获取配置的邀请机构ID(可能为null) - String inviterOrgId = configService.getConfigValue("org_apply_inviter_org_id", platformOrgId, true); - - // 标记是否需要设置orgId(默认不需要) - boolean needSetOrgId = false; - - if (inviterOrgId != null && !inviterOrgId.isEmpty()) { - // 配置存在且有效:既不是平台机构,也不等于配置机构时才需要设置 - needSetOrgId = !platformOrgId.equals(loginOrgId) && !inviterOrgId.equals(loginOrgId); - } else { - // 配置不存在:仅排除平台机构,其余需要设置 - needSetOrgId = !platformOrgId.equals(loginOrgId); - } - - // 根据判断结果设置orgId - if (needSetOrgId) { - queryDTO.setOrgId(loginOrgId); - } - - - List list = positionAuditMapper.positionPage(queryDTO); - for (PositionNewDTO positionNewDTO : list) { - positionNewDTO.setRecruitPositionTypeName(DictUtils.getCodeNameMap("recruit_position_type").get(positionNewDTO.getRecruitPositionType())); - } - return list; - } - - @Override - public void export(PositionNewPageQueryDTO queryDTO) { - boolean flag = true; - Integer pageNo = 1; - Integer pageSize = 100; - - List listAll = new ArrayList<>(); - - while (flag) { - queryDTO.setPageNo(pageNo); - queryDTO.setPageSize(pageSize); - List list = this.positionPage(queryDTO); - if (org.springframework.util.CollectionUtils.isEmpty(list)) { - flag = false; - continue; - } - if (list.size() < pageSize) { - flag = false; - } - pageNo = pageNo + 1; - listAll.addAll(list); - } - List collect = listAll.stream().map(dto -> { - PositionExportDTO exportDTO = new PositionExportDTO(); - BeanUtils.copyProperties(dto, exportDTO); - exportDTO.setPositionAddress(dto.getDetailAddress()); - exportDTO.setCreateTime(DateUtil.format(dto.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); - exportDTO.setEndTime(DateUtil.format(dto.getEndTime(), "yyyy-MM-dd")); - exportDTO.setStatus(DictUtils.getCodeNameMap("position_status").get(String.valueOf(dto.getStatus()))); - exportDTO.setSalary(dto.getSalaryStr()); - return exportDTO; - }).collect(Collectors.toList()); - - if (org.springframework.util.CollectionUtils.isEmpty(collect)) { - return; - } - - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); - String fileName = "岗位明细导出" + "(" + formatter.format(LocalDateTime.now()) + ")"; - - ExportHeadInfoDTO infoDTO = ExportHeadInfoDTO.builder() - .fileName(fileName) - .build(); - List heads = infoDTO.getHeads(); - heads.add(ExportHeadDetailInfoDTO.builder().head("招聘岗位类型").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位名称").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("用工企业").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位状态").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("招聘人数").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("综合薪资").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("工作地址").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("创建时间").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("有效期截止时间").build()); - - List datas = Lists.newArrayList(); - for (PositionExportDTO dto : collect) { - List objects = Lists.newArrayList(); - datas.add(objects); - objects.add(dto.getRecruitPositionTypeName()); - objects.add(dto.getPositionName()); - objects.add(dto.getCompanyName()); - objects.add(dto.getStatus()); - objects.add(dto.getPositionNumber()); - objects.add(dto.getSalary()); - objects.add(dto.getPositionAddress()); - objects.add(dto.getCreateTime()); - objects.add(dto.getEndTime()); - } - infoDTO.setDatas(datas); - - ExcelUtil.dynamicExportTemplate(infoDTO); - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void audit(PositionAuditReqDTO reqDTO) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(PositionAudit::getDeleted, false) - .eq(PositionAudit::getId, reqDTO.getId()) - .eq(PositionAudit::getVersion, reqDTO.getVersion()); - - PositionAudit positionAudit = positionAuditMapper.selectOne(queryWrapper); - if (Objects.isNull(positionAudit)) { - throw new BusinessException("岗位信息已更新,请刷新页面重新审核。"); - } - reqDTO.setUpdateBy(UserContextHolder.getExistLoginUserId()); - int row = positionAuditMapper.audit(reqDTO); - if (row == 0) { - throw new BusinessException("岗位信息已更新,请刷新页面重新审核。"); - } - - if (PositionAuditStatusEnum.SUCCESS.getStatus().equals(reqDTO.getAuditStatus())) { - //需要修改岗位表 审核通过会更新岗位表。H5用的 - PositionOperatorDTO positionOperatorDTO = new PositionOperatorDTO(); - BeanUtils.copyProperties(positionAudit, positionOperatorDTO); - positionOperatorDTO.setStatus(PositionStatusEnum.OPEN.getStatus()); - positionOperatorDTO.setId(positionAudit.getPositionId()); - positionService.modify(positionOperatorDTO); - - //先删除岗位相册 - positionFileService.deleteByPositionId(positionAudit.getPositionId()); - if (StringUtils.isNotBlank(positionAudit.getFileJson())) { - List positionFileDTOS = JSONUtil.toList(positionAudit.getFileJson(), PositionFileDTO.class); - for (PositionFileDTO positionFileDTO : positionFileDTOS) { - positionFileDTO.setId(null); - positionFileDTO.setPositionId(positionAudit.getPositionId()); - positionFileService.create(positionFileDTO); - } - } - } - - } - - @Override - public PositionAuditDTO findById(Long id) { - Assert.notNull(id, "参数缺失"); - PositionAuditPageQueryDTO queryDTO = new PositionAuditPageQueryDTO(); - queryDTO.disablePage(); - queryDTO.setId(id); - List list = this.page(queryDTO); - return CollectionUtils.isNotEmpty(list) ? list.get(0) : null; - } - - @Override - public void positionModifyStatus(Set ids, String status) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .in(Position::getId, ids) - .eq(Position::getDeleted, false); - - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - queryWrapper.eq(Position::getOrgId, UserContextHolder.getExistLoginOrgId()); - } - - Integer count = positionMapper.selectCount(queryWrapper); - Assert.isTrue(count == ids.size(), "网络异常,请刷新后再试"); - - List positions = new ArrayList<>(); - for (Long id : ids) { - if (PositionStatusEnum.OPEN.getStatus().equals(status)) { - Integer positionAuditCount = positionAuditMapper.selectCount(new LambdaQueryWrapper() - .eq(PositionAudit::getDeleted, false) - .eq(PositionAudit::getAuditStatus, PositionAuditStatusEnum.SUCCESS.getStatus()) - .eq(PositionAudit::getPositionId, id) - ); - if (positionAuditCount != null && positionAuditCount >= 1) { - Position positionOld = positionMapper.selectById(id); - if (Objects.nonNull(positionOld) && Objects.nonNull(positionOld.getEndTime())) { - Assert.isTrue(! (DateUtil.endOfDay(positionOld.getEndTime()).getTime() <= DateUtil.endOfDay(new Date()).getTime()),"岗位有效期不能小于等于当前日期"); - } - Position position = new Position(); - position.setId(id); - position.setStatus(status); - positions.add(position); - } - } else { - Position position = new Position(); - position.setId(id); - position.setStatus(status); - positions.add(position); - } - } - positionMapper.updateEntitysSelective(positions, UserContextHolder.getExistLoginUserId()); - } - - @Transactional(rollbackFor = Exception.class) - @Override - public Long positionCopy(Long id) { - PositionNewDTO oldPositionDTO = this.positionFindById(id); - if (Objects.isNull(oldPositionDTO)) { - throw new BusinessException("未查询到岗位信息"); - } - PositionNewOperatorDTO positionNewOperatorDTO = new PositionNewOperatorDTO(); - BeanUtils.copyProperties(oldPositionDTO, positionNewOperatorDTO); - positionNewOperatorDTO.setPositionName(String.format("%s复制%s", RandomUtil.randomString(3), StringUtils.substring(oldPositionDTO.getPositionName(), 0, 45))); - PositionAudit positionAudit = ((PositionAuditServiceImpl) AopContext.currentProxy()).positionCreate(positionNewOperatorDTO); - - List newPositionFileDTOS = new ArrayList<>(); - List oldPositionFileDTOS = positionFileService.filePage(PositionFilePageQueryDTO.builder().positionId(id).build()); - for (PositionFileDTO oldPositionFileDTO : oldPositionFileDTOS) { - PositionFileDTO positionFileDTO = new PositionFileDTO(); - BeanUtils.copyProperties(oldPositionFileDTO, positionFileDTO); - positionFileDTO.setPositionId(positionAudit.getPositionId()); - newPositionFileDTOS.add(positionFileDTO); - } - positionAudit.setFileJson(JsonUtils.toJsonString(newPositionFileDTOS)); - positionAuditMapper.updateEntitySelective(positionAudit); - - return positionAudit.getPositionId(); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/service/impl/PositionFileServiceImpl.java b/src/main/java/com/newyetai/recruit/position/service/impl/PositionFileServiceImpl.java deleted file mode 100644 index 3bc4908..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/impl/PositionFileServiceImpl.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.newyetai.recruit.position.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.recruit.position.constant.PositionConstants; -import com.newyetai.recruit.position.dao.PositionFileMapper; -import com.newyetai.recruit.position.dto.PositionFileDTO; -import com.newyetai.recruit.position.dto.PositionFilePageQueryDTO; -import com.newyetai.recruit.position.entity.PositionFile; -import com.newyetai.recruit.position.service.PositionFileService; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.Date; -import java.util.List; - -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - - -@Slf4j -@Service -@RequiredArgsConstructor(onConstructor = @__(@Autowired)) -public class PositionFileServiceImpl extends ServiceImpl implements PositionFileService { - - - @Override - public List filePage(PositionFilePageQueryDTO queryDTO) { - return getBaseMapper().filePage(queryDTO); - } - - @Override - public PositionFile create(PositionFileDTO queryDTO) { - List fileList = filePage(PositionFilePageQueryDTO.builder() - .positionId(queryDTO.getPositionId()) - .fileType(queryDTO.getFileType()).build()); - - int maxFileOrder = 0; - if (fileList.size() > 0) { - maxFileOrder = fileList.stream().mapToInt(PositionFileDTO::getSort).max().getAsInt(); - } - - PositionFile file = JsonUtils.toObject(JsonUtils.toJsonString(queryDTO), PositionFile.class); - file.setSort(maxFileOrder); - Assert.isTrue(save(file), queryDTO.getFileName() + "保存失败!"); - return file; - } - - @Override - public void update(PositionFileDTO dto) { - PositionFile file = JsonUtils.toObject(JsonUtils.toJsonString(dto), PositionFile.class); - Assert.isTrue(updateById(file), dto.getFileName() + "更新失败!"); - } - - @Override - public void delete(Long id) { - PositionFile file = getBaseMapper().selectById(id); - file.setDeleted(true); - Assert.notNull(file, "未找到要删除的文件信息"); - Assert.isTrue(updateById(file), "删除失败!"); - } - - @Override - public void deleteByPositionId(Long positionId) { - PositionFile positionFile = new PositionFile(); - positionFile.setDeleted(true); - positionFile.setUpdateBy(UserContextHolder.getExistLoginUserId()); - positionFile.setUpdateTime(new Date()); - getBaseMapper().update(positionFile,new LambdaQueryWrapper().eq(PositionFile::getDeleted,false).eq(PositionFile::getPositionId,positionId)); - } - - @Override - public void setDefault(Long id) { - PositionFile file = getOne(Wrappers.lambdaQuery() - .eq(PositionFile::getDeleted, false) - .eq(PositionFile::getId, id) - ); - Assert.notNull(file, "文件不存在"); - String fileType = file.getFileType(); - Assert.isTrue(StrUtil.equals(fileType, PositionConstants.POSITION_FILE_TYPE_IMG), "只支持设置图片"); - getBaseMapper().setDefault(file.getPositionId(), file.getId()); - } -} diff --git a/src/main/java/com/newyetai/recruit/position/service/impl/PositionRegistrationServiceImpl.java b/src/main/java/com/newyetai/recruit/position/service/impl/PositionRegistrationServiceImpl.java deleted file mode 100644 index f1146e3..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/impl/PositionRegistrationServiceImpl.java +++ /dev/null @@ -1,710 +0,0 @@ -package com.newyetai.recruit.position.service.impl; - -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; - -import cn.hutool.core.date.DateUtil; -import com.newyetai.common.AlitaResult; -import com.newyetai.common.util.DateUtils; -import com.newyetai.common.validation.util.ValidateUtils; -import com.newyetai.sdk.sms.util.SmsUtils; -import com.newyetai.usercenter.enums.SmsTemplateCodeEnum; -import com.newyetai.usercenter.notice.constant.NoticeChannelTypeEnum; -import com.newyetai.usercenter.notice.constant.NoticeTemplateCodeEnum; -import com.newyetai.usercenter.notice.dto.NoticeSendRecordOperateDTO; -import com.newyetai.usercenter.notice.service.NoticeSendRecordService; -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import lombok.extern.slf4j.Slf4j; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.dto.ExportHeadDetailInfoDTO; -import com.newyetai.common.dto.ExportHeadInfoDTO; -import com.newyetai.common.easyexcel.ExcelUtil; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.component.action.util.ActionUtils; -import com.newyetai.component.dict.util.DictUtils; -import com.newyetai.frame.redis.aop.annotation.AutoUnLock; -import com.newyetai.frame.redis.dto.LockDTO; -import com.newyetai.frame.redis.redisson.RedissonUtils; -import com.newyetai.recruit.company.dao.HrCompanyMapper; -import com.newyetai.recruit.company.entity.HrCompany; -import com.newyetai.recruit.company.enums.HrCompanyEnum; -import com.newyetai.recruit.position.convert.PositionRegistrationConvert; -import com.newyetai.recruit.position.entity.PositionRegistration; -import com.newyetai.recruit.position.dto.*; -import com.newyetai.recruit.position.dao.PositionRegistrationMapper; -import com.newyetai.recruit.position.enums.PositionRegistrationStatusEnum; -import com.newyetai.recruit.position.enums.PositionStatusEnum; -import com.newyetai.recruit.position.service.PositionRegistrationService; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.BooleanUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.recruit.position.service.PositionService; -import com.newyetai.recruit.talent.entity.Talent; -import com.newyetai.recruit.talent.service.TalentService; -import com.newyetai.recruit.user.dto.JobExpectQueryDTO; -import com.newyetai.recruit.user.dto.ResumeDTO; -import com.newyetai.recruit.user.dto.ResumeQueryDTO; -import com.newyetai.recruit.user.dto.UserCertificateQueryDTO; -import com.newyetai.recruit.user.service.JobExpectService; -import com.newyetai.recruit.user.service.ResumeService; -import com.newyetai.recruit.user.service.UserCertificateService; -import com.newyetai.usercenter.enums.OrgTypeEnum; -import com.newyetai.usercenter.org.dto.OrgDTO; -import com.newyetai.usercenter.org.dto.OrgQueryDTO; -import com.newyetai.usercenter.org.service.OrgService; -import com.newyetai.usercenter.user.dto.UserDTO; -import com.newyetai.usercenter.user.service.UserService; - -import javax.annotation.Resource; - -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 岗位报名信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-15 - */ -@Slf4j -@Service -public class PositionRegistrationServiceImpl implements PositionRegistrationService { - - @Resource - private PositionRegistrationMapper positionRegistrationMapper; - - @Autowired - private PositionService positionService; - - @Autowired - private UserService userService; - - @Autowired - private TalentService talentService; - - @Autowired - private UserCertificateService userCertificateService; - @Autowired - private JobExpectService jobExpectService; - - @Autowired - private ResumeService resumeService; - - @Resource - private HrCompanyMapper hrCompanyMapper; - - @Autowired - private OrgService orgService; - @Autowired - private NoticeSendRecordService noticeSendRecordService; - - - @AutoUnLock - @Transactional(rollbackFor = Exception.class) - @Override - public PositionRegistrationDTO create(PositionRegistrationOperatorDTO operatorDto) { - - Assert.isTrue( - RedissonUtils.tryLockAutomatically( - LockDTO.builder() - .tryLockWaitTime(0L) - .lockTimeout(60 * 5L) - .methodName("positionRegistration:create") - .arg(String.valueOf(operatorDto.getUserId())) - .arg(String.valueOf(operatorDto.getPositionId())) - .build() - ), - "请稍后再试"); - - UserDTO userDTO = userService.get(operatorDto.getUserId()); - Assert.notNull(userDTO, "用户不存在"); - Assert.notNull(PositionRegistrationStatusEnum.find(operatorDto.getStatus()), "请选择正确的招聘状态"); - - PositionDTO positionDTO = positionService.findById(operatorDto.getPositionId()); - if (Objects.isNull(positionDTO)) { - throw new BusinessException("未查询到岗位信息"); - } - if (Objects.nonNull(positionDTO.getEndTime())) { - Assert.isTrue(DateUtil.endOfDay(positionDTO.getEndTime()).getTime() >= new Date().getTime(), "岗位已失效,禁止报名"); - } - - Assert.isTrue(PositionStatusEnum.OPEN.getStatus().equals(positionDTO.getStatus()), "岗位未开启"); - - Integer count = positionRegistrationMapper.selectCount(new LambdaQueryWrapper() - .eq(PositionRegistration::getDeleted, false) - .eq(PositionRegistration::getUserId, operatorDto.getUserId()) - .eq(PositionRegistration::getPositionId, operatorDto.getPositionId()) - .notIn(PositionRegistration::getStatus, Arrays.asList(PositionRegistrationStatusEnum.CANCEL.getStatus(), PositionRegistrationStatusEnum.RESIGNED.getStatus(), PositionRegistrationStatusEnum.TERMINATION.getStatus())) - ); - if (count > 0) { - throw new BusinessException("请勿报名相同岗位"); - } - - PositionRegistration positionRegistration = PositionRegistrationConvert.INSTANCE.convert(operatorDto); - positionRegistrationMapper.saveEntity(positionRegistration); - return PositionRegistrationConvert.INSTANCE.convert(positionRegistration); - } - - @Override - public PositionRegistrationDTO modify(PositionRegistrationOperatorDTO operatorDto) { - PositionRegistrationDTO positionRegistrationDto = this.findById(operatorDto.getId()); - if (Objects.isNull(positionRegistrationDto)) { - return null; - } - PositionRegistration positionRegistration = PositionRegistrationConvert.INSTANCE.convert(operatorDto); - positionRegistrationMapper.updateEntity(positionRegistration); - return this.findById(operatorDto.getId()); - } - - @Override - public PositionRegistrationDTO delete(Long id) { - PositionRegistrationDTO positionRegistrationDto = this.findById(id); - if (Objects.isNull(positionRegistrationDto)) { - return null; - } - PositionRegistration positionRegistration = PositionRegistration.builder().build(); - positionRegistration.setId(id); - positionRegistrationMapper.deleteEntity(positionRegistration, UserContextHolder.getLoginUserId()); - return positionRegistrationDto; - } - - @Override - public PositionRegistrationDTO findById(Long id) { - Assert.notNull(id, "参数缺失"); - PositionRegistrationPageQueryDTO queryDTO = new PositionRegistrationPageQueryDTO(); - queryDTO.setId(id); - List list = this.page(queryDTO); - if (CollectionUtils.isEmpty(list)) { - return null; - } - PositionRegistrationDTO positionRegistrationDTO = list.get(0); - positionRegistrationDTO.setUserCertificateDTOList(userCertificateService.list(UserCertificateQueryDTO.builder().userId(positionRegistrationDTO.getUserId()).build())); - positionRegistrationDTO.setJobExpectDTOList(jobExpectService.list(JobExpectQueryDTO.builder().userId(positionRegistrationDTO.getUserId()).build())); - List resumeDTOList = resumeService.list(ResumeQueryDTO.builder().userId(positionRegistrationDTO.getUserId()).build()); - if (CollectionUtils.isNotEmpty(resumeDTOList)) { - positionRegistrationDTO.setCityCode(resumeDTOList.get(0).getCityCode()); - positionRegistrationDTO.setCityCodeName(resumeDTOList.get(0).getCityCodeName()); - positionRegistrationDTO.setResumeFileCode(resumeDTOList.get(0).getFileCode()); - } - return positionRegistrationDTO; - } - - @Override - public PositionRegistrationDTO findByIdAndChildrenOrgAll(Long id, Boolean childrenOrgAll) { - Assert.notNull(id, "参数缺失"); - PositionRegistrationPageQueryDTO queryDTO = new PositionRegistrationPageQueryDTO(); - queryDTO.setId(id); - queryDTO.setChildrenOrgAll(childrenOrgAll); - List list = this.page(queryDTO); - if (CollectionUtils.isEmpty(list)) { - return null; - } - PositionRegistrationDTO positionRegistrationDTO = list.get(0); - positionRegistrationDTO.setUserCertificateDTOList(userCertificateService.list(UserCertificateQueryDTO.builder().userId(positionRegistrationDTO.getUserId()).build())); - positionRegistrationDTO.setJobExpectDTOList(jobExpectService.list(JobExpectQueryDTO.builder().userId(positionRegistrationDTO.getUserId()).build())); - positionRegistrationDTO.setResumeDTO(resumeService.findByUserId(positionRegistrationDTO.getUserId())); - return positionRegistrationDTO; - } - - @Override - public List list(PositionRegistrationPageQueryDTO queryDTO) { - queryDTO.disablePage(); - return this.page(queryDTO); - } - - @Override - public List page(PositionRegistrationPageQueryDTO queryDTO) { - queryDTO.setOrgId(null); - - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - //如果是 数据管理页面进来 这个参数就是true - if (Boolean.TRUE.equals(queryDTO.getChildrenOrgAll())) { - //查自己和下级机构 - queryDTO.setOrgIds(orgService.childrenOrgIdList(UserContextHolder.getExistLoginOrgId())); - } else { - queryDTO.setOrgId(UserContextHolder.getExistLoginOrgId()); - } - } - //如果是 数据管理页面进来 这个参数就是true - if (Boolean.TRUE.equals(queryDTO.getChildrenOrgAll())) { - //如果前端给了指定 就按指定的(政府机构) - if (Objects.nonNull(queryDTO.getQueryStreetOrgId())) { - //选定一个政府机构,找出这个政府机构下所有的用工\服务机构,在列出这些用工\服务机构的报名记录 - Set orgIdList = orgService.childrenOrgIdList(queryDTO.getQueryStreetOrgId()); - if (CollectionUtils.isEmpty(orgIdList)) { - return new ArrayList<>(); - } - Set finalOrgIds = orgService.list(OrgQueryDTO.builder().orgIds(orgIdList).types(Sets.newHashSet(OrgTypeEnum.ORG_TYPE_SIMPLE.getType(), OrgTypeEnum.ORG_TYPE_HR.getType())).build()) - .stream().map(orgDTOs -> orgDTOs.getId()).collect(Collectors.toSet()); - if (CollectionUtils.isEmpty(finalOrgIds)) { - return new ArrayList<>(); - } - //所属街道所有子级的机构id - queryDTO.setQueryStreetChildrenAllOrgIds(finalOrgIds); - } - } - - List page = positionRegistrationMapper.page(queryDTO); - return page; - } - - @Transactional(rollbackFor = Exception.class) - @AutoUnLock - @Override - public void userCreate(UserPositionRegistrationDTO dto) { - Assert.isTrue( - RedissonUtils.tryLockAutomatically( - LockDTO.builder() - .tryLockWaitTime(0L) - .lockTimeout(60 * 5L) - .methodName("positionRegistration:create") - .arg(String.valueOf(UserContextHolder.getExistLoginUserId())) - .arg(String.valueOf(dto.getPositionId())) - .build() - ), - "请稍后再试"); - - PositionDTO positionDTO = positionService.findById(dto.getPositionId()); - if (Objects.isNull(positionDTO)) { - throw new BusinessException("未查询到岗位信息"); - } - Assert.isTrue(PositionStatusEnum.OPEN.getStatus().equals(positionDTO.getStatus()), "岗位未开启"); - if (Objects.nonNull(positionDTO.getEndTime())) { - Assert.isTrue(DateUtil.endOfDay(positionDTO.getEndTime()).getTime() >= new Date().getTime(), "岗位已失效,禁止报名"); - } - Integer count = positionRegistrationMapper.selectCount(new LambdaQueryWrapper() - .eq(PositionRegistration::getDeleted, false) - .eq(PositionRegistration::getUserId, UserContextHolder.getExistLoginUserId()) - .eq(PositionRegistration::getPositionId, dto.getPositionId()) - .notIn(PositionRegistration::getStatus, Arrays.asList(PositionRegistrationStatusEnum.CANCEL.getStatus(), PositionRegistrationStatusEnum.RESIGNED.getStatus(), PositionRegistrationStatusEnum.TERMINATION.getStatus())) - ); - if (count > 0) { - throw new BusinessException("请勿报名相同岗位"); - } - PositionRegistration positionRegistration = new PositionRegistration(); - positionRegistration.setUserId(UserContextHolder.getExistLoginUserId()); - positionRegistration.setPositionId(dto.getPositionId()); - positionRegistration.setStatus(PositionRegistrationStatusEnum.ALREADY_REGISTERED.getStatus()); - positionRegistrationMapper.saveEntity(positionRegistration); - - HrCompany hrCompany = hrCompanyMapper.selectOne(new LambdaQueryWrapper().eq(HrCompany::getDeleted, false).eq(HrCompany::getOrgId, positionDTO.getOrgId()).eq(HrCompany::getCompanyType, HrCompanyEnum.SELF.getType())); - Assert.notNull(hrCompany, "数据异常,报名失败"); - - Talent talent = new Talent(); - talent.setOrgId(positionDTO.getOrgId()); - talent.setUserId(UserContextHolder.getExistLoginUserId()); - talent.setCompanyId(hrCompany.getId()); - talentService.importCreate(talent); - } - - @Override - public void invite(PositionRegistrationOperatorDTO operatorDTO) { - Assert.notNull(operatorDTO.getId(), "id不能为空"); - if (StringUtils.isNotBlank(operatorDTO.getInterviewLocation())) { - Assert.isTrue(!(operatorDTO.getInterviewLocation().length() > 100), "面试地点长度超限"); - } - - PositionRegistrationDTO positionRegistrationDTO = this.findById(operatorDTO.getId()); - Assert.notNull(positionRegistrationDTO, "未查询到数据"); - Assert.isTrue(PositionRegistrationStatusEnum.ALREADY_REGISTERED.getStatus().equals(positionRegistrationDTO.getStatus()), "已报名状态才能邀约面试"); - - PositionDTO positionDTO = positionService.findById(positionRegistrationDTO.getPositionId()); - if (Objects.isNull(positionDTO)) { - throw new BusinessException("未查询到岗位信息"); - } - - PositionRegistration positionRegistration = new PositionRegistration(); - positionRegistration.setId(operatorDTO.getId()); - positionRegistration.setStatus(PositionRegistrationStatusEnum.WAIT_FOR_AN_INTERVIEW.getStatus()); - positionRegistration.setInterviewTime(operatorDTO.getInterviewTime()); - positionRegistration.setInterviewLocation(operatorDTO.getInterviewLocation()); - positionRegistration.setTag(operatorDTO.getTag()); - positionRegistration.setUpdateBy(UserContextHolder.getLoginUserId()); - long row = positionRegistrationMapper.updateStatus(positionRegistration, PositionRegistrationStatusEnum.ALREADY_REGISTERED.getStatus()); - Assert.isTrue(row == 1, "邀约面试失败,状态已被变更,请刷新页面重试"); - - ActionUtils.diff(operatorDTO.getId(), PositionRegistration.builder().status(PositionRegistrationStatusEnum.ALREADY_REGISTERED.getStatus()).build() - , PositionRegistration.builder().status(PositionRegistrationStatusEnum.WAIT_FOR_AN_INTERVIEW.getStatus()).build()); - // 发送通知 - sendNotice(NoticeTemplateCodeEnum.POSITION_INVITE, positionRegistrationDTO.getUserId(), - positionRegistrationMapper.noticeInvite(operatorDTO.getId(), - UserContextHolder.getLoginUserId()), operatorDTO.getSendSms()); - } - - - @Override - public void termination(PositionRegistrationOperatorDTO operatorDTO) { - Assert.notNull(operatorDTO.getId(), "id不能为空"); - - PositionRegistrationDTO positionRegistrationDTO = this.findById(operatorDTO.getId()); - Assert.notNull(positionRegistrationDTO, "未查询到数据"); - - PositionDTO positionDTO = positionService.findById(positionRegistrationDTO.getPositionId()); - if (Objects.isNull(positionDTO)) { - throw new BusinessException("未查询到岗位信息"); - } - - PositionRegistration positionRegistration = new PositionRegistration(); - positionRegistration.setId(operatorDTO.getId()); - positionRegistration.setStatus(PositionRegistrationStatusEnum.TERMINATION.getStatus()); - positionRegistration.setTag(operatorDTO.getTag()); - positionRegistration.setTerminationTime(new Date()); - positionRegistration.setUpdateBy(UserContextHolder.getLoginUserId()); - positionRegistrationMapper.updateStatus(positionRegistration, null); - } - - @Override - public void fulfillInterview(PositionRegistrationOperatorDTO operatorDTO) { - Assert.notNull(operatorDTO.getId(), "id不能为空"); - Assert.notNull(operatorDTO.getStatus(), "状态不能为空"); - if (!(PositionRegistrationStatusEnum.FAIL_THE_INTERVIEW.getStatus().equals(operatorDTO.getStatus()) || PositionRegistrationStatusEnum.TO_BE_HIRED.getStatus().equals(operatorDTO.getStatus()))) { - throw new BusinessException("请选择正确的面试结果"); - } - - PositionRegistrationDTO positionRegistrationDTO = this.findById(operatorDTO.getId()); - Assert.notNull(positionRegistrationDTO, "未查询到数据"); - - PositionDTO positionDTO = positionService.findById(positionRegistrationDTO.getPositionId()); - if (Objects.isNull(positionDTO)) { - throw new BusinessException("未查询到岗位信息"); - } - - PositionRegistration positionRegistration = new PositionRegistration(); - positionRegistration.setId(operatorDTO.getId()); - positionRegistration.setStatus(operatorDTO.getStatus()); - positionRegistration.setTag(operatorDTO.getTag()); - positionRegistration.setInductionTime(operatorDTO.getInductionTime()); - positionRegistration.setUpdateBy(UserContextHolder.getLoginUserId()); - positionRegistration.setRemark(operatorDTO.getRemark()); - long row = positionRegistrationMapper.updateStatus(positionRegistration, PositionRegistrationStatusEnum.WAIT_FOR_AN_INTERVIEW.getStatus()); - Assert.isTrue(row == 1, "完成面试失败,状态已被变更,请刷新页面重试"); - - ActionUtils.diff(operatorDTO.getId(), PositionRegistration.builder().status(PositionRegistrationStatusEnum.WAIT_FOR_AN_INTERVIEW.getStatus()).build() - , PositionRegistration.builder().status(operatorDTO.getStatus()).build()); - // 发送通知 - if (PositionRegistrationStatusEnum.FAIL_THE_INTERVIEW.getStatus().equals(operatorDTO.getStatus())){ - sendNotice(NoticeTemplateCodeEnum.POSITION_INTERVIEW_FAIL, positionRegistrationDTO.getUserId(), - positionRegistrationMapper.noticeInterview(operatorDTO.getId(), - UserContextHolder.getLoginUserId()), operatorDTO.getSendSms()); - } else { - sendNotice(NoticeTemplateCodeEnum.POSITION_INTERVIEW_PASS, - positionRegistrationDTO.getUserId(), - positionRegistrationMapper.noticeInterview(operatorDTO.getId(), - UserContextHolder.getLoginUserId()), operatorDTO.getSendSms()); - } - } - - //发送站内信 - private void sendNotice(NoticeTemplateCodeEnum templateCodeEnum, Long receiverUserId, Map contentParamDataMap, Boolean sendSms) { - String templateCode = templateCodeEnum.getType(); - // 内置发送时间 - contentParamDataMap.put("defaultSendDay", DateUtils.getCurrentYmd()); - try { - // 发送站内信 - NoticeSendRecordOperateDTO sendRecordOperateDTO = NoticeSendRecordOperateDTO.builder() - .templateCode(templateCode) - .channelType(NoticeChannelTypeEnum.SITE.getType()) - .contentParamDataMap(contentParamDataMap) - .receiverUserIds(Sets.newHashSet(receiverUserId)) - .build(); - noticeSendRecordService.create(sendRecordOperateDTO); - } catch (Exception e) { - log.info("发送站内信[{}]失败:{}", templateCode, e.getMessage()); - } - - // 发送短信 - try { - UserDTO userDTO = userService.get(receiverUserId); - if (StringUtils.isNotBlank(userDTO.getPhone()) && Boolean.TRUE.equals(sendSms)) { - SmsTemplateCodeEnum smsTemplate = SmsTemplateCodeEnum.getByTemplateCodeKey(templateCode); - if (smsTemplate != null) { - AlitaResult result = SmsUtils.getService().sendSimple(smsTemplate, userDTO.getPhone(), contentParamDataMap); - if (!Boolean.TRUE.equals(result.getSuccess()) || !Boolean.TRUE.equals(result.getData())) { - log.info("发送短信失败,用户:{},模板:{},原因:{}", receiverUserId, templateCode, result.getMsg()); - } - } - } - } catch (Exception e) { - log.info("发送短信[{}]失败:{}", templateCode, e.getMessage()); - } - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void onTheJob(OnTheJobDTO dto) { - for (OnTheJobDTO.OnTheJobDetailDTO detailDTO : dto.getDetailDTOS()) { - PositionRegistrationDTO positionRegistrationDTO = this.findById(detailDTO.getId()); - Assert.notNull(positionRegistrationDTO, "未查询到数据"); - - PositionDTO positionDTO = positionService.findById(positionRegistrationDTO.getPositionId()); - if (Objects.isNull(positionDTO)) { - throw new BusinessException("未查询到岗位信息"); - } - - - PositionRegistration positionRegistration = new PositionRegistration(); - positionRegistration.setId(detailDTO.getId()); - positionRegistration.setInductionTime(dto.getInductionTime()); - positionRegistration.setSalary(detailDTO.getSalary()); - positionRegistration.setStatus(PositionRegistrationStatusEnum.ON_THE_JOB.getStatus()); - positionRegistration.setTag(detailDTO.getTag()); - positionRegistration.setUpdateBy(UserContextHolder.getLoginUserId()); - long row = positionRegistrationMapper.updateStatus(positionRegistration, PositionRegistrationStatusEnum.TO_BE_HIRED.getStatus()); - Assert.isTrue(row == 1, "入职失败,状态已被变更,请刷新页面重试"); - - ActionUtils.diff(detailDTO.getId(), PositionRegistration.builder().status(PositionRegistrationStatusEnum.TO_BE_HIRED.getStatus()).build() - , PositionRegistration.builder().status(PositionRegistrationStatusEnum.ON_THE_JOB.getStatus()).build()); - - } - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void resigned(ResignedDTO dto) { - for (Long id : dto.getIds()) { - PositionRegistrationDTO positionRegistrationDTO = this.findById(id); - Assert.notNull(positionRegistrationDTO, "未查询到数据"); - - PositionDTO positionDTO = positionService.findById(positionRegistrationDTO.getPositionId()); - if (Objects.isNull(positionDTO)) { - throw new BusinessException("未查询到岗位信息"); - } - - PositionRegistration positionRegistration = new PositionRegistration(); - positionRegistration.setId(id); - positionRegistration.setQuitTime(dto.getQuitTime()); - positionRegistration.setStatus(PositionRegistrationStatusEnum.RESIGNED.getStatus()); - positionRegistration.setTag(dto.getTag()); - positionRegistration.setUpdateBy(UserContextHolder.getLoginUserId()); - long row = positionRegistrationMapper.updateStatus(positionRegistration, PositionRegistrationStatusEnum.ON_THE_JOB.getStatus()); - Assert.isTrue(row == 1, "离职失败,状态已被变更,请刷新页面重试"); - - ActionUtils.diff(id, PositionRegistration.builder().status(PositionRegistrationStatusEnum.ON_THE_JOB.getStatus()).build() - , PositionRegistration.builder().status(PositionRegistrationStatusEnum.RESIGNED.getStatus()).build()); - - } - } - - @Override - public void export(PositionRegistrationPageQueryDTO queryDTO) { - boolean flag = true; - Integer pageNo = 1; - Integer pageSize = 100; - - List listAll = new ArrayList<>(); - - while (flag) { - queryDTO.setPageNo(pageNo); - queryDTO.setPageSize(pageSize); - List list = this.page(queryDTO); - if (org.springframework.util.CollectionUtils.isEmpty(list)) { - flag = false; - continue; - } - if (list.size() < pageSize) { - flag = false; - } - pageNo = pageNo + 1; - listAll.addAll(list); - } - List collect = listAll.stream().map(dto -> { - PositionRegistrationExportDTO exportDTO = new PositionRegistrationExportDTO(); - BeanUtils.copyProperties(dto, exportDTO); - exportDTO.setInterviewTime(DateUtil.format(dto.getInterviewTime(), "yyyy-MM-dd")); - exportDTO.setCreateTime(DateUtil.format(dto.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); - exportDTO.setInductionTime(DateUtil.format(dto.getInductionTime(), "yyyy-MM-dd")); - exportDTO.setQuitTime(DateUtil.format(dto.getQuitTime(), "yyyy-MM-dd")); - exportDTO.setStatus(DictUtils.getCodeNameMap("position_registration_status").get(String.valueOf(dto.getStatus()))); - return exportDTO; - }).collect(Collectors.toList()); - - if (org.springframework.util.CollectionUtils.isEmpty(collect)) { - return; - } - - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); - String fileName = "招聘明细导出" + "(" + formatter.format(LocalDateTime.now()) + ")"; - - ExportHeadInfoDTO infoDTO = ExportHeadInfoDTO.builder() - .fileName(fileName) - .build(); - List heads = infoDTO.getHeads(); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位名称").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("姓名").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("性别").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("年龄").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("手机号").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("身份证号").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("用工企业").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("招聘状态").build()); - - if (Boolean.TRUE.equals(queryDTO.getChildrenOrgAll())) { - heads.add(ExportHeadDetailInfoDTO.builder().head("发布机构").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("所属街镇").build()); - } - - List datas = Lists.newArrayList(); - - //全部 - if (CollectionUtils.isEmpty(queryDTO.getStatusList())) { - - heads.add(ExportHeadDetailInfoDTO.builder().head("面试时间").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("面试地点").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("入职薪资").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("报名时间").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("入职日期").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("最后工作日").build()); - for (PositionRegistrationExportDTO dto : collect) { - List objects = Lists.newArrayList(); - datas.add(objects); - objects.add(dto.getPositionName()); - objects.add(dto.getRealName()); - objects.add(dto.getGender()); - objects.add(dto.getAge()); - objects.add(dto.getPhone()); - objects.add(dto.getCardNo()); - objects.add(dto.getCompanyName()); - objects.add(dto.getStatus()); - if (Boolean.TRUE.equals(queryDTO.getChildrenOrgAll())) { - objects.add(dto.getPublishOrgName()); - objects.add(dto.getStreetName()); - } - objects.add(dto.getInterviewTime()); - objects.add(dto.getInterviewLocation()); - objects.add(dto.getSalary()); - objects.add(dto.getCreateTime()); - objects.add(dto.getInductionTime()); - objects.add(dto.getQuitTime()); - } - } else if (queryDTO.getStatusList().contains(PositionRegistrationStatusEnum.ALREADY_REGISTERED.getStatus())) { - heads.add(ExportHeadDetailInfoDTO.builder().head("报名时间").build()); - for (PositionRegistrationExportDTO dto : collect) { - List objects = Lists.newArrayList(); - datas.add(objects); - objects.add(dto.getPositionName()); - objects.add(dto.getRealName()); - objects.add(dto.getGender()); - objects.add(dto.getAge()); - objects.add(dto.getPhone()); - objects.add(dto.getCardNo()); - objects.add(dto.getCompanyName()); - objects.add(dto.getStatus()); - if (Boolean.TRUE.equals(queryDTO.getChildrenOrgAll())) { - objects.add(dto.getPublishOrgName()); - objects.add(dto.getStreetName()); - } - objects.add(dto.getCreateTime()); - } - } else if (queryDTO.getStatusList().containsAll(Arrays.asList( - PositionRegistrationStatusEnum.WAIT_FOR_AN_INTERVIEW.getStatus(), - PositionRegistrationStatusEnum.FAIL_THE_INTERVIEW.getStatus())) || - queryDTO.getStatusList().contains(PositionRegistrationStatusEnum.TO_BE_HIRED.getStatus()) - ) { - heads.add(ExportHeadDetailInfoDTO.builder().head("报名时间").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("面试时间").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("面试地点").build()); - - for (PositionRegistrationExportDTO dto : collect) { - List objects = Lists.newArrayList(); - datas.add(objects); - objects.add(dto.getPositionName()); - objects.add(dto.getRealName()); - objects.add(dto.getGender()); - objects.add(dto.getAge()); - objects.add(dto.getPhone()); - objects.add(dto.getCardNo()); - objects.add(dto.getCompanyName()); - objects.add(dto.getStatus()); - if (Boolean.TRUE.equals(queryDTO.getChildrenOrgAll())) { - objects.add(dto.getPublishOrgName()); - objects.add(dto.getStreetName()); - } - objects.add(dto.getCreateTime()); - objects.add(dto.getInterviewTime()); - objects.add(dto.getInterviewLocation()); - } - } else if (queryDTO.getStatusList().contains(PositionRegistrationStatusEnum.ON_THE_JOB.getStatus())) { - heads.add(ExportHeadDetailInfoDTO.builder().head("入职薪资").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("报名时间").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("面试时间").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("入职日期").build()); - for (PositionRegistrationExportDTO dto : collect) { - List objects = Lists.newArrayList(); - datas.add(objects); - objects.add(dto.getPositionName()); - objects.add(dto.getRealName()); - objects.add(dto.getGender()); - objects.add(dto.getAge()); - objects.add(dto.getPhone()); - objects.add(dto.getCardNo()); - objects.add(dto.getCompanyName()); - objects.add(dto.getStatus()); - if (Boolean.TRUE.equals(queryDTO.getChildrenOrgAll())) { - objects.add(dto.getPublishOrgName()); - objects.add(dto.getStreetName()); - } - objects.add(dto.getSalary()); - objects.add(dto.getCreateTime()); - objects.add(dto.getInterviewTime()); - objects.add(dto.getInductionTime()); - } - } - - infoDTO.setDatas(datas); - ExcelUtil.dynamicExportTemplate(infoDTO); - } - - @Override - public List userPage(UserPositionRegistrationPageQueryDTO queryDTO) { - queryDTO.setUserId(UserContextHolder.getExistLoginUserId()); - List list = positionRegistrationMapper.userPage(queryDTO); - for (UserPositionRegistrationResDTO userPositionRegistrationResDTO : list) { - userPositionRegistrationResDTO.setRecruitPositionTypeName(DictUtils.getCodeNameMap("recruit_position_type").get(userPositionRegistrationResDTO.getRecruitPositionType())); - } - return list; - } - - @Override - public void cancel(Long positionId) { - List userPositionRegistrationResDTOS = positionRegistrationMapper.userPage(UserPositionRegistrationPageQueryDTO.builder().positionId(positionId).userId(UserContextHolder.getExistLoginUserId()).build()); - if (CollectionUtils.isEmpty(userPositionRegistrationResDTOS)) { - throw new BusinessException("暂无可取消的报名记录"); - } - UserPositionRegistrationResDTO userPositionRegistrationResDTO = userPositionRegistrationResDTOS.get(0); - if (StringUtils.equals(PositionRegistrationStatusEnum.WAIT_FOR_AN_INTERVIEW.getStatus(), userPositionRegistrationResDTO.getStatus())) { - throw new BusinessException("您在该岗位处于【待面试】状态,无法取消报名。"); - } else if (StringUtils.equals(PositionRegistrationStatusEnum.TO_BE_HIRED.getStatus(), userPositionRegistrationResDTO.getStatus())) { - throw new BusinessException("您在该岗位处于【待入职】状态,无法取消报名。"); - } else if (StringUtils.equals(PositionRegistrationStatusEnum.ON_THE_JOB.getStatus(), userPositionRegistrationResDTO.getStatus())) { - throw new BusinessException("您在该岗位处于【已入职】状态,无法取消报名。"); - } - positionRegistrationMapper.updateStatus(PositionRegistration.builder().id(userPositionRegistrationResDTO.getId()).status(PositionRegistrationStatusEnum.CANCEL.getStatus()).build(), PositionRegistrationStatusEnum.ALREADY_REGISTERED.getStatus()); - } - - @Override - public void show(Long id) { - PositionRegistrationDTO positionRegistrationDTO = this.findById(id); - if (Objects.isNull(positionRegistrationDTO)) { - return; - } - if (Boolean.TRUE.equals(positionRegistrationDTO.getCanShow())) { - return; - } - PositionRegistration positionRegistration = new PositionRegistration(); - positionRegistration.setId(id); - positionRegistration.setCanShow(true); - positionRegistrationMapper.updateEntitySelective(positionRegistration); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/service/impl/PositionServiceImpl.java b/src/main/java/com/newyetai/recruit/position/service/impl/PositionServiceImpl.java deleted file mode 100644 index b648751..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/impl/PositionServiceImpl.java +++ /dev/null @@ -1,597 +0,0 @@ -package com.newyetai.recruit.position.service.impl; - -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.RandomUtil; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.google.common.collect.Lists; -import com.newyetai.common.AlitaResult; -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.dto.ExportHeadDetailInfoDTO; -import com.newyetai.common.dto.ExportHeadInfoDTO; -import com.newyetai.common.easyexcel.ExcelUtil; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.component.dict.util.DictUtils; -import com.newyetai.config.entity.Config; -import com.newyetai.config.service.ConfigService; -import com.newyetai.recruit.company.dto.HrCompanyDTO; -import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO; -import com.newyetai.recruit.company.enums.HrCompanyEnum; -import com.newyetai.recruit.company.service.IHrCompanyService; -import com.newyetai.recruit.position.convert.PositionConvert; -import com.newyetai.recruit.position.dao.PositionMapper; -import com.newyetai.recruit.position.dao.PositionRegistrationMapper; -import com.newyetai.recruit.position.dto.*; -import com.newyetai.recruit.position.entity.Position; -import com.newyetai.recruit.position.enums.PositionStatusEnum; -import com.newyetai.recruit.position.service.PositionFileService; -import com.newyetai.recruit.position.service.PositionService; -import com.newyetai.recruit.user.dao.UserCollectionMapper; -import com.newyetai.recruit.user.dto.JobExpectDTO; -import com.newyetai.recruit.user.dto.JobExpectQueryDTO; -import com.newyetai.recruit.user.dto.ResumeDTO; -import com.newyetai.recruit.user.entity.UserCollection; -import com.newyetai.recruit.user.service.JobExpectService; -import com.newyetai.recruit.user.service.ResumeService; -import com.newyetai.sdk.tencent.map.TencentMapContext; -import com.newyetai.sdk.tencent.map.dto.TencentMapWsDistanceV1MatrixReqDTO; -import com.newyetai.sdk.tencent.map.dto.TencentWsDistanceV1MatrixElementsResDTO; -import com.newyetai.sdk.tencent.map.dto.TencentWsDistanceV1MatrixElementsRowResDTO; -import com.newyetai.sdk.tencent.map.dto.TencentWsDistanceV1MatrixResDTO; -import com.newyetai.usercenter.org.dao.OrgMapper; -import com.newyetai.usercenter.org.entity.Org; -import com.newyetai.usercenter.org.enums.RecruitPositionTypeEnum; -import com.newyetai.usercenter.user.dto.UserDTO; -import com.newyetai.usercenter.user.service.UserService; -import com.spatial4j.core.context.SpatialContext; -import com.spatial4j.core.distance.DistanceUtils; -import com.spatial4j.core.shape.Rectangle; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.aop.framework.AopContext; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 岗位信息表;岗位信息表 - * - * @author guixinman - * @since 1.0.0 2024-04-11 - */ -@Slf4j -@Service -public class PositionServiceImpl implements PositionService { - - @Resource - private PositionMapper positionMapper; - - @Autowired - private IHrCompanyService hrCompanyService; - - @Autowired - private PositionFileService positionFileService; - - @Resource - private PositionRegistrationMapper positionRegistrationMapper; - - @Resource - private UserCollectionMapper userCollectionMapper; - - @Resource - private OrgMapper orgMapper; - - @Autowired - private JobExpectService jobExpectService; - - @Autowired - private UserService userService; - - @Autowired - private ResumeService resumeService; - - @Autowired - private TencentMapContext tencentMapContext; - - @Autowired - private ConfigService configService; - - @Transactional(rollbackFor = Exception.class) - @Override - public PositionDTO create(PositionOperatorDTO operatorDto) { - Long orgId = UserContextHolder.getExistLoginOrgId(); - if (Objects.nonNull(operatorDto.getOrgId())) { - orgId = operatorDto.getOrgId(); - } - if (Objects.nonNull(operatorDto.getEndTime())) { - Assert.isTrue(! (DateUtil.endOfDay(operatorDto.getEndTime()).getTime() <= DateUtil.endOfDay(new Date()).getTime()),"岗位有效期不能小于等于当前日期"); - } - Org org = orgMapper.selectOne(new LambdaQueryWrapper().eq(Org::getDeleted, false).eq(Org::getId, orgId)); - if (Objects.isNull(org)) { - throw new BusinessException("未查询到数据"); - } - - //判断招聘岗位类型权限 - if (!org.getRecruitPositionType().equals(RecruitPositionTypeEnum.ODD_JOB_OR_GENERAL_WORKER.getType())) { - if (!StringUtils.equals(org.getRecruitPositionType(), operatorDto.getRecruitPositionType())) { - if (StringUtils.equals(org.getRecruitPositionType(), RecruitPositionTypeEnum.ODD_JOB.getType())) { - throw new BusinessException("当前企业仅支持维护零工性质岗位。"); - } - if (StringUtils.equals(org.getRecruitPositionType(), RecruitPositionTypeEnum.GENERAL_WORKER.getType())) { - throw new BusinessException("当前企业仅支持维护普工性质岗位。"); - } - } - } - - - //当前机构下,相同的用工企业,不能存在相同的岗位名称 - Assert.notNull(hrCompanyService.find(HrCompanyPageQueryDTO.builder().id(operatorDto.getCompanyId()).orgId(orgId).companyTypes(Arrays.asList(HrCompanyEnum.KH.getType(), HrCompanyEnum.SELF.getType())).build()), "未查询到用工企业"); - - List positions = positionMapper.selectList(new LambdaQueryWrapper() - .eq(Position::getDeleted,false) - .eq(Position::getCompanyId, operatorDto.getCompanyId()) - .eq(Position::getOrgId, orgId) - .eq(Position::getPositionName, operatorDto.getPositionName()) - ); - if (CollectionUtils.isNotEmpty(positions)) { - throw new BusinessException("该用工企业已存在相同的岗位名称,添加失败"); - } - - Position position = PositionConvert.INSTANCE.convert(operatorDto); - position.setOrgId(orgId); - if (Objects.isNull(operatorDto.getStatus())) { - position.setStatus(PositionStatusEnum.OPEN.getStatus()); - } - positionMapper.saveEntity(position); - return PositionConvert.INSTANCE.convert(position); - } - - @Override - public PositionDTO modify(PositionOperatorDTO operatorDto) { - Assert.notNull(operatorDto.getId(), "岗位id缺失"); - - Position positionDto = positionMapper.selectById(operatorDto.getId()); - if (Objects.isNull(positionDto)) { - throw new BusinessException("未查询到对应数据"); - } - if (Objects.nonNull(operatorDto.getEndTime())) { - Assert.isTrue(! (DateUtil.endOfDay(operatorDto.getEndTime()).getTime() <= DateUtil.endOfDay(new Date()).getTime()),"岗位有效期不能小于等于当前日期"); - } - Assert.notNull(hrCompanyService.find(HrCompanyPageQueryDTO.builder().id(operatorDto.getCompanyId()).companyTypes(Arrays.asList(HrCompanyEnum.KH.getType(), HrCompanyEnum.SELF.getType())).orgId(positionDto.getOrgId()).build()), "未查询到用工企业"); - List positions = positionMapper.selectList(new LambdaQueryWrapper() - .eq(Position::getDeleted,false) - .eq(Position::getCompanyId, operatorDto.getCompanyId()) - .eq(Position::getOrgId, positionDto.getOrgId()) - .eq(Position::getPositionName, operatorDto.getPositionName()) - .notIn(Position::getId, operatorDto.getId()) - ); - if (CollectionUtils.isNotEmpty(positions)) { - throw new BusinessException("该用工企业已存在相同的岗位名称,添加失败"); - } - - Position position = PositionConvert.INSTANCE.convert(operatorDto); - //不能修改 - position.setRecruitPositionType(positionDto.getRecruitPositionType()); - positionMapper.updateEntity(position); - return this.findById(operatorDto.getId()); - } - - @Override - public PositionDTO delete(Long id) { - PositionDTO positionDto = this.findById(id); - if (Objects.isNull(positionDto)) { - return null; - } - Position position = Position.builder().build(); - position.setId(id); - positionMapper.deleteEntity(position, UserContextHolder.getLoginUserId()); - return positionDto; - } - - @Override - public PositionDTO findById(Long id) { - Assert.notNull(id, "参数缺失"); - - PositionPageQueryDTO queryDTO = new PositionPageQueryDTO(); - queryDTO.disablePage(); - queryDTO.setId(id); - List list = this.page(queryDTO); - return CollectionUtils.isNotEmpty(list) ? list.get(0) : null; - } - - @Override - public PositionDTO userFindById(Long id) { - Assert.notNull(id, "id不能为空"); - - PositionPageQueryDTO queryDTO = new PositionPageQueryDTO(); - queryDTO.disablePage(); - queryDTO.setId(id); - queryDTO.setUseEndTime(false); - List list = this.userPage(queryDTO); - if (CollectionUtils.isNotEmpty(list)) { - PositionDTO positionDTO = list.get(0); - List positionFileDTOS = positionFileService.filePage(PositionFilePageQueryDTO.builder().positionId(positionDTO.getId()).build()); - positionDTO.setPositionFileDTOS(positionFileDTOS); - - if (Objects.nonNull(UserContextHolder.getLoginUserId())) { - List userPositionRegistrationResDTOS = positionRegistrationMapper.userPage(UserPositionRegistrationPageQueryDTO.builder().userId(UserContextHolder.getExistLoginUserId()).positionId(positionDTO.getId()).build()); - if (CollectionUtils.isNotEmpty(userPositionRegistrationResDTOS)) { - positionDTO.setPositionRegistrationStatus(userPositionRegistrationResDTOS.get(0).getStatus()); - positionDTO.setCanShow(userPositionRegistrationResDTOS.get(0).getCanShow()); - positionDTO.setPositionRegistrationCreateTime(userPositionRegistrationResDTOS.get(0).getCreateTime()); - positionDTO.setInterviewTime(userPositionRegistrationResDTOS.get(0).getInterviewTime()); - positionDTO.setInterviewLocation(userPositionRegistrationResDTOS.get(0).getInterviewLocation()); - positionDTO.setRemark(userPositionRegistrationResDTOS.get(0).getRemark()); - positionDTO.setInductionTime(userPositionRegistrationResDTOS.get(0).getInductionTime()); - positionDTO.setPositionRegistrationSalary(userPositionRegistrationResDTOS.get(0).getSalary()); - } - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(UserCollection::getUserId, UserContextHolder.getExistLoginUserId()); - queryWrapper.eq(UserCollection::getDeleted, false); - queryWrapper.eq(UserCollection::getPostId, positionDTO.getId()); - Integer count = userCollectionMapper.selectCount(queryWrapper); - positionDTO.setIsCollection(true); - if (count == 0) { - positionDTO.setIsCollection(false); - } - } - - return positionDTO; - } - - return null; - } - - @Override - public List list(PositionPageQueryDTO queryDTO) { - queryDTO.disablePage(); - return this.page(queryDTO); - } - - @Override - public List page(PositionPageQueryDTO queryDTO) { - // 获取平台机构ID和当前登录机构ID - Long platformOrgId = CommonConstants.PLATFORM_ORG_ID; - Long loginOrgId = UserContextHolder.getExistLoginOrgId(); - // 获取配置的邀请机构ID(可能为null) - String inviterOrgId = configService.getConfigValue("org_apply_inviter_org_id", platformOrgId, true); - - // 标记是否需要设置orgId(默认不需要) - boolean needSetOrgId = false; - - if (inviterOrgId != null && !inviterOrgId.isEmpty()) { - // 配置存在且有效:既不是平台机构,也不等于配置机构时才需要设置 - needSetOrgId = !platformOrgId.equals(loginOrgId) && !inviterOrgId.equals(loginOrgId); - } else { - // 配置不存在:仅排除平台机构,其余需要设置 - needSetOrgId = !platformOrgId.equals(loginOrgId); - } - - // 根据判断结果设置orgId - if (needSetOrgId) { - queryDTO.setOrgId(loginOrgId); - } - - List list = positionMapper.page(queryDTO); - for (PositionDTO positionDTO : list) { - positionDTO.setRecruitPositionTypeName(DictUtils.getCodeNameMap("recruit_position_type").get(positionDTO.getRecruitPositionType())); - } - return list; - } - - @Override - public List userPage(PositionPageQueryDTO queryDTO) { - List list = positionMapper.userPage(queryDTO); - for (PositionDTO positionDTO : list) { - positionDTO.setRecruitPositionTypeName(DictUtils.getCodeNameMap("recruit_position_type").get(positionDTO.getRecruitPositionType())); - } - return list; - } - - @Override - public List tencentMapUserPage(PositionPageQueryDTO queryDTO) { - if (Objects.nonNull(queryDTO.getLongitude()) && Objects.nonNull(queryDTO.getLatitude())) { - // 移动设备经纬度 - double lon = Double.parseDouble(String.valueOf(queryDTO.getLongitude())); - double lat = Double.parseDouble(String.valueOf(queryDTO.getLatitude())); - // 千米 - int radius = queryDTO.getRadius(); - try { - SpatialContext geo = SpatialContext.GEO; - Rectangle rectangle = geo.getDistCalc().calcBoxByDistFromPt( - geo.makePoint(lon, lat), radius * DistanceUtils.KM_TO_DEG, geo, null); - - queryDTO.setMinX(new BigDecimal(String.valueOf(rectangle.getMinX()))); - queryDTO.setMaxX(new BigDecimal(String.valueOf(rectangle.getMaxX()))); - queryDTO.setMinY(new BigDecimal(String.valueOf(rectangle.getMinY()))); - queryDTO.setMaxY(new BigDecimal(String.valueOf(rectangle.getMaxY()))); - }catch (Exception e) { - return new ArrayList<>(); - } - } - StringBuilder to = new StringBuilder(); - List list = positionMapper.userPage(queryDTO); - - //填充距离的对象集合 - List temp = new ArrayList<>(); - //岗位列表 - List positionDTOResultList = new ArrayList<>(); - - for (int i = 0; i < list.size(); i++) { - PositionDTO positionDTO = list.get(i); - positionDTO.setRecruitPositionTypeName(DictUtils.getCodeNameMap("recruit_position_type").get(positionDTO.getRecruitPositionType())); - if (Objects.nonNull(positionDTO.getLongitude()) && Objects.nonNull(positionDTO.getLatitude())) { - to.append(positionDTO.getLatitude().toPlainString() + "," + positionDTO.getLongitude().toPlainString()); - to.append(";"); - temp.add(positionDTO); - } - } - - if (Objects.nonNull(queryDTO.getLongitude()) && Objects.nonNull(queryDTO.getLatitude()) && temp.size() > 0) { - if (to.length() >= 2 && to.charAt(to.length() - 1) == ';') { - to.deleteCharAt(to.length() - 1); - } - AlitaResult walkingRes = tencentMapContext.wsDistanceV1MatrixReqDTO(TencentMapWsDistanceV1MatrixReqDTO.builder() - .from(queryDTO.getLatitude().toPlainString() + "," + queryDTO.getLongitude().toPlainString()) - .to(to.toString()) - .mode("walking") - .build()); - if (Boolean.TRUE.equals(walkingRes.getSuccess())) { - if (Objects.nonNull(walkingRes.getData())) { - TencentWsDistanceV1MatrixResDTO result = walkingRes.getData(); - List rows = result.getRows(); - List elements = rows.get(0).getElements(); - for (int i = 0; i < temp.size(); i++) { - PositionDTO positionDTOTemp = temp.get(i); - PositionDTO positionDTOFinal = list.stream().filter(positionDTO -> positionDTO.getId().longValue() == positionDTOTemp.getId().longValue()).findFirst().orElse(null); - positionDTOFinal.setDistance(elements.get(i).getDistance()); - if (positionDTOFinal.getDistance().longValue() <= Long.valueOf(queryDTO.getRadius()*1000).longValue()) { - positionDTOResultList.add(positionDTOFinal); - } - } - } - } - } - return positionDTOResultList.stream().sorted(Comparator.comparingLong(PositionDTO::getDistance)).collect(Collectors.toList()); - } - - @Override - public void export(PositionPageQueryDTO queryDTO) { - boolean flag = true; - Integer pageNo = 1; - Integer pageSize = 100; - - List listAll = new ArrayList<>(); - - while (flag) { - queryDTO.setPageNo(pageNo); - queryDTO.setPageSize(pageSize); - List list = this.page(queryDTO); - if (org.springframework.util.CollectionUtils.isEmpty(list)) { - flag = false; - continue; - } - if (list.size() < pageSize) { - flag = false; - } - pageNo = pageNo + 1; - listAll.addAll(list); - } - List collect = listAll.stream().map(dto -> { - PositionExportDTO exportDTO = new PositionExportDTO(); - BeanUtils.copyProperties(dto, exportDTO); - exportDTO.setPositionAddress(dto.getDetailAddress()); - exportDTO.setCreateTime(DateUtil.format(dto.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); - exportDTO.setStatus(DictUtils.getCodeNameMap("position_status").get(String.valueOf(dto.getStatus()))); - exportDTO.setSalary(dto.getSalaryStr()); - return exportDTO; - }).collect(Collectors.toList()); - - if (org.springframework.util.CollectionUtils.isEmpty(collect)) { - return; - } - - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); - String fileName = "岗位明细导出" + "(" + formatter.format(LocalDateTime.now()) + ")"; - - ExportHeadInfoDTO infoDTO = ExportHeadInfoDTO.builder() - .fileName(fileName) - .build(); - List heads = infoDTO.getHeads(); - heads.add(ExportHeadDetailInfoDTO.builder().head("招聘岗位类型").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位名称").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("用工企业").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位状态").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("招聘人数").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("综合薪资").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("工作地址").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("创建时间").build()); - - List datas = Lists.newArrayList(); - for (PositionExportDTO dto : collect) { - List objects = Lists.newArrayList(); - datas.add(objects); - objects.add(dto.getRecruitPositionTypeName()); - objects.add(dto.getPositionName()); - objects.add(dto.getCompanyName()); - objects.add(dto.getStatus()); - objects.add(dto.getPositionNumber()); - objects.add(dto.getSalary()); - objects.add(dto.getPositionAddress()); - objects.add(dto.getCreateTime()); - } - infoDTO.setDatas(datas); - - ExcelUtil.dynamicExportTemplate(infoDTO); - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void modifyStatus(PositionOperatorDTO dto) { - if (CollectionUtils.isEmpty(dto.getIds())) { - throw new BusinessException("请选择数据"); - } - Assert.notNull(dto.getStatus(), "请选择状态"); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .in(Position::getId, dto.getIds()) - .eq(Position::getDeleted, false); - - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - queryWrapper.eq(Position::getOrgId, UserContextHolder.getExistLoginOrgId()); - } - - Integer count = positionMapper.selectCount(queryWrapper); - Assert.isTrue(count == dto.getIds().size(), "网络异常,请刷新后再试"); - - List positions = new ArrayList<>(); - for (Long id : dto.getIds()) { - Position position = new Position(); - position.setId(id); - position.setStatus(dto.getStatus()); - positions.add(position); - } - positionMapper.updateEntitysSelective(positions, UserContextHolder.getExistLoginUserId()); - } - - @Override - public void template() { - ExportHeadInfoDTO infoDTO = ExportHeadInfoDTO.builder() - .fileName("岗位导入模板") - .build(); - List heads = infoDTO.getHeads(); - - List companyNameList = Optional.ofNullable(hrCompanyService.list(HrCompanyPageQueryDTO.builder().companyTypes(Arrays.asList(HrCompanyEnum.KH.getType(), HrCompanyEnum.SELF.getType())).build())) - .map(list -> list.stream().map(HrCompanyDTO::getCompanyName).collect(Collectors.toList())) - .orElse(new ArrayList<>()); - - heads.add(ExportHeadDetailInfoDTO.builder().head("用工企业(必填)").explicitList(companyNameList).build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位名称(必填)").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("招聘标题(必填)").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("招聘人数").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("工作地址(必填)").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("工作性质(必填)").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位类型").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("岗位标签").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("综合薪资(必填)").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("发薪日").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("性别(必填)").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("年龄(必填)").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("学历(必填)").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("经验(必填)").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("证件").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("其它").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("工作内容(必填)").build()); - - ExcelUtil.dynamicExportTemplate(infoDTO); - } - - @Transactional(rollbackFor = Exception.class) - @Override - public Long copy(Long id) { - PositionDTO oldPositionDTO = this.findById(id); - if (Objects.isNull(oldPositionDTO)) { - throw new BusinessException("未查询到岗位信息"); - } - PositionOperatorDTO positionOperatorDTO = new PositionOperatorDTO(); - BeanUtils.copyProperties(oldPositionDTO, positionOperatorDTO); - positionOperatorDTO.setPositionName(String.format("%s复制%s", RandomUtil.randomString(3), StringUtils.substring(oldPositionDTO.getPositionName(), 0, 45))); - PositionDTO newPosition = ((PositionServiceImpl) AopContext.currentProxy()).create(positionOperatorDTO); - - List oldPositionFileDTOS = positionFileService.filePage(PositionFilePageQueryDTO.builder().positionId(id).build()); - for (PositionFileDTO oldPositionFileDTO : oldPositionFileDTOS) { - PositionFileDTO positionFileDTO = new PositionFileDTO(); - BeanUtils.copyProperties(oldPositionFileDTO, positionFileDTO); - positionFileDTO.setPositionId(newPosition.getId()); - positionFileService.create(positionFileDTO); - } - return newPosition.getId(); - } - - @Override - public List personPostMatching(Long id) { - JobExpectDTO jobExpectDTO = jobExpectService.find(JobExpectQueryDTO.builder().id(id).userId(UserContextHolder.getLoginUserId()).build()); - if (Objects.isNull(jobExpectDTO)) { - return new ArrayList<>(); - } - - UserDTO userDTO = userService.get(UserContextHolder.getExistLoginUserId()); - ResumeDTO resumeDTO = Optional.ofNullable(resumeService.userFind()).orElse(new ResumeDTO()); - - PersonPostMatchingQueryDTO queryDTO = new PersonPostMatchingQueryDTO(); - queryDTO.setPageNo(1); - queryDTO.setPageSize(100); - - queryDTO.setPositionNameLike(jobExpectDTO.getPositionName()); - queryDTO.setPositionType(jobExpectDTO.getTypeCode()); - queryDTO.setDetailAddressLike(jobExpectDTO.getExpectCityName()); - queryDTO.setSalary(jobExpectDTO.getExpectSalary()); - queryDTO.setSexRequire(Objects.isNull(userDTO.getGender()) ? null : String.valueOf(userDTO.getGender())); - queryDTO.setAge(Objects.isNull(userDTO.getBirthday()) ? null : DateUtil.ageOfNow(userDTO.getBirthday())); - queryDTO.setEducationRequire(resumeDTO.getEducation()); - List positionDTOS = positionMapper.personPostMatching(queryDTO); - - if (CollectionUtils.isEmpty(positionDTOS)) { - //岗位类型> 工作地 > 学历 / 年龄 / 薪酬 / 性别 / 经验 从右往左递减吧 - //岗位名称> 岗位类型> 工作地 > 学历 / 年龄 / 薪酬 / 性别 / 经验 - for (int i = 2; i <= 7; i++) { - if (i == 2) { - queryDTO.setSexRequire(null); - positionDTOS = positionMapper.personPostMatching(queryDTO); - if (CollectionUtils.isNotEmpty(positionDTOS)) { - break; - } - } else if (i == 3) { - queryDTO.setSalary(null); - positionDTOS = positionMapper.personPostMatching(queryDTO); - if (CollectionUtils.isNotEmpty(positionDTOS)) { - break; - } - } else if (i == 4) { - queryDTO.setAge(null); - positionDTOS = positionMapper.personPostMatching(queryDTO); - if (CollectionUtils.isNotEmpty(positionDTOS)) { - break; - } - } else if (i == 5) { - queryDTO.setEducationRequire(null); - positionDTOS = positionMapper.personPostMatching(queryDTO); - if (CollectionUtils.isNotEmpty(positionDTOS)) { - break; - } - } else if (i == 6) { - queryDTO.setDetailAddressLike(null); - positionDTOS = positionMapper.personPostMatching(queryDTO); - if (CollectionUtils.isNotEmpty(positionDTOS)) { - break; - } - } else if (i == 7) { - queryDTO.setPositionType(null); - positionDTOS = positionMapper.personPostMatching(queryDTO); - if (CollectionUtils.isNotEmpty(positionDTOS)) { - break; - } - } - } - } - - for (PositionDTO positionDTO : positionDTOS) { - positionDTO.setRecruitPositionTypeName(DictUtils.getCodeNameMap("recruit_position_type").get(positionDTO.getRecruitPositionType())); - } - return positionDTOS; - } - - @Override - public void positionExpiry() { - positionMapper.positionExpiry(); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/position/service/impl/PositionTypeServiceImpl.java b/src/main/java/com/newyetai/recruit/position/service/impl/PositionTypeServiceImpl.java deleted file mode 100644 index dd70102..0000000 --- a/src/main/java/com/newyetai/recruit/position/service/impl/PositionTypeServiceImpl.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.newyetai.recruit.position.service.impl; - -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; - - -import com.newyetai.common.util.TreeHelper; -import com.newyetai.recruit.position.dao.PositionTypeMapper; -import com.newyetai.recruit.position.dto.PositionTypeDTO; -import com.newyetai.recruit.position.dto.PositionTypeQueryDTO; -import com.newyetai.recruit.position.service.PositionTypeService; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - - -@Slf4j -@Service -@RequiredArgsConstructor(onConstructor = @__(@Autowired)) -public class PositionTypeServiceImpl implements PositionTypeService { - - @Autowired - private RedisTemplate redisTemplate; - - @Resource - private PositionTypeMapper positionTypeMapper; - - private Long maxFirst = 1L; - private Map maxSecond = Maps.newConcurrentMap(); - private Map maxThree = Maps.newConcurrentMap(); - - @Override - public List batchCreate(List positionTypeDTOS) { -// List allCreateTypes = needCreate(positionTypeDTOS); -// //select db -// List currentTypes = Lists.newArrayList(); - - - return null; - } - - @Override - public List query(PositionTypeQueryDTO queryDTO) { - List types = positionTypeMapper.queryByDto(queryDTO); - List positionTypeDTOS = TreeHelper.buildTree(0L, types); - String nameLike = queryDTO.getNameLike(); - if (StrUtil.isNotEmpty(nameLike)) { - List typesTemp = Lists.newLinkedList(); - for (PositionTypeDTO type : positionTypeDTOS) { - if (handler(queryDTO, type)) { - typesTemp.add(type); - } - } - positionTypeDTOS = typesTemp; - } - return positionTypeDTOS; - } - - public Boolean handler(PositionTypeQueryDTO queryDTO, PositionTypeDTO type) { - Boolean contain = Boolean.FALSE; - String nameLike = queryDTO.getNameLike(); - if (StrUtil.containsIgnoreCase(type.getName(), nameLike)) { - contain = Boolean.TRUE; - } - List childrenSet = type.getChildrenSet(); - if (CollUtil.isNotEmpty(childrenSet)) { - List typesTemp = Lists.newLinkedList(); - for (PositionTypeDTO positionTypeDTO : childrenSet) { - Boolean handler = handler(queryDTO, positionTypeDTO); - contain |= handler; - if (handler) { - typesTemp.add(positionTypeDTO); - } - } - type.setChildrenSet(typesTemp); - } - return contain; - } -} diff --git a/src/main/java/com/newyetai/recruit/statistics/controller/OrgDailyStatisticController.java b/src/main/java/com/newyetai/recruit/statistics/controller/OrgDailyStatisticController.java deleted file mode 100644 index 3d142fb..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/controller/OrgDailyStatisticController.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.newyetai.recruit.statistics.controller; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -import com.newyetai.common.AlitaResult; -import com.newyetai.recruit.statistics.dto.*; -import com.newyetai.recruit.statistics.service.OrgDailyStatisticService; - -import org.springframework.web.bind.annotation.*; -import org.springframework.beans.factory.annotation.Autowired; - -/** - * 机构日统计信息 - * - * @author guixinman - * @since 1.0.0 2024-05-15 - */ -@Api(tags = "机构日统计信息") -@RestController -@RequestMapping("/org_daily_statistic") -public class OrgDailyStatisticController { - - @Autowired - private OrgDailyStatisticService orgDailyStatisticService; - - @PostMapping("/create") - @ApiOperation("机构日统计信息-创建") - public AlitaResult create(@RequestBody OrgDailyStatisticOperatorDTO operatorDTO) { - return AlitaResult.success(orgDailyStatisticService.create(operatorDTO)); - } - - @PutMapping("/modify") - @ApiOperation("机构日统计信息-修改") - public AlitaResult modify(@RequestBody OrgDailyStatisticOperatorDTO operatorDTO) { - return AlitaResult.success(orgDailyStatisticService.modify(operatorDTO)); - } - - @DeleteMapping("{id}") - @ApiOperation("机构日统计信息-删除") - public AlitaResult delete(@PathVariable("id") Long id) { - return AlitaResult.success(orgDailyStatisticService.delete(id)); - } - - @GetMapping("{id}") - @ApiOperation("机构日统计信息-查询单个") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(orgDailyStatisticService.findById(id)); - } - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/statistics/controller/StatisticsController.java b/src/main/java/com/newyetai/recruit/statistics/controller/StatisticsController.java deleted file mode 100644 index 9bf7d34..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/controller/StatisticsController.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.newyetai.recruit.statistics.controller; - -import com.newyetai.common.AlitaResult; -import com.newyetai.recruit.position.dto.PositionDTO; -import com.newyetai.recruit.position.dto.PositionPageQueryDTO; -import com.newyetai.recruit.statistics.dto.*; -import com.newyetai.recruit.statistics.service.StatisticsService; -import com.newyetai.tkmybatis.pojo.Page; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -import io.swagger.annotations.ApiOperation; - -/** - * @description: - * @author: guixinman - * @create: 2024-05-13 15:55 - **/ -@RequestMapping("/statistics") -@RestController -public class StatisticsController { - - @Autowired - private StatisticsService statisticsService; - - /** - * 统计数据 - */ - @GetMapping("/getHomeStatistics") - public AlitaResult getHomeStatistics(){ - return AlitaResult.success(statisticsService.getHomeStatistics()); - } - - /** - * 求职者情况 - */ - @GetMapping("/getJobSeekerInfo") - public AlitaResult getJobSeekerInfo(){ - return AlitaResult.success(statisticsService.getJobSeekerInfo()); - } - - - /** - * 岗位供需 - */ - @GetMapping("/getPositionSupplyDemand") - public AlitaResult getPositionSupplyDemand(@RequestParam(required = false,value = "recruitPositionType") String recruitPositionType){ - return AlitaResult.success(statisticsService.getPositionSupplyDemand(recruitPositionType)); - } - - /** - * 招聘过程 - */ - @GetMapping("/getPositionRegistration") - public AlitaResult> getPositionRegistration(){ - return AlitaResult.success(statisticsService.getPositionRegistration()); - } - - /** - * 企业入驻与岗位发布 创建 - */ - @PostMapping("/saveOrgRegAndPosition") - public AlitaResult saveOrgRegAndPosition(@RequestParam("date") String date){ - statisticsService.saveOrgRegAndPosition(date); - return AlitaResult.success(); - } - - /** - * 企业入驻与岗位发布 - */ - @GetMapping("/getOrgRegAndPosition") - public AlitaResult> getOrgRegAndPosition(@Validated StatisticQueryDTO queryDTO){ - return AlitaResult.success(statisticsService.getOrgRegAndPosition(queryDTO)); - } - - /** - * 招聘岗位浏览、收藏、报名情况 创建 - */ - @PostMapping("/saveUserOperationStatisticsDTO") - public AlitaResult saveUserOperationStatisticsDTO(@RequestParam("date") String date){ - statisticsService.saveUserOperationStatisticsDTO(date); - return AlitaResult.success(); - } - - /** - * 招聘岗位浏览、收藏、报名情况 - */ - @GetMapping("/userOperationStatisticsDTO") - public AlitaResult> userOperationStatisticsDTO(@Validated StatisticQueryDTO queryDTO){ - return AlitaResult.success(statisticsService.userOperationStatisticsDTO(queryDTO)); - } - - /** - * 招聘岗位浏览量词云 查询 - */ - @GetMapping("/getWordCloud") - public AlitaResult> getWordCloud(){ - return AlitaResult.success(statisticsService.getWordCloud()); - } - - /** - * 岗位供需地理位置分析 查询 - */ - @GetMapping("/getPositionMark") - public AlitaResult> getPositionMark(){ - return AlitaResult.success(statisticsService.getPositionMark()); - } - - @GetMapping("/position/page") - @ApiOperation("岗位信息表;岗位信息表-分页查询") - public AlitaResult> positionPage(PositionPageQueryDTO queryDTO) { - statisticsService.positionPage(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @GetMapping("/orgHomeStatistics") - @ApiOperation("机构首页") - public AlitaResult orgHomeStatistics() { - return AlitaResult.success(statisticsService.orgHomeStatistics()); - } -} diff --git a/src/main/java/com/newyetai/recruit/statistics/convert/OrgDailyStatisticConvert.java b/src/main/java/com/newyetai/recruit/statistics/convert/OrgDailyStatisticConvert.java deleted file mode 100644 index 8fdb3dd..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/convert/OrgDailyStatisticConvert.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.newyetai.recruit.statistics.convert; - -import com.newyetai.recruit.statistics.entity.OrgDailyStatistic; -import com.newyetai.recruit.statistics.dto.OrgDailyStatisticDTO; -import com.newyetai.recruit.statistics.dto.OrgDailyStatisticOperatorDTO; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** - * 机构日统计信息 - * - * @author guixinman - * @since 1.0.0 2024-05-15 - */ -@Mapper -public interface OrgDailyStatisticConvert { - OrgDailyStatisticConvert INSTANCE = Mappers.getMapper(OrgDailyStatisticConvert.class); - - OrgDailyStatistic convert(OrgDailyStatisticDTO dto); - - OrgDailyStatisticDTO convert(OrgDailyStatistic entity); - - OrgDailyStatistic convert(OrgDailyStatisticOperatorDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/statistics/dao/OrgDailyStatisticMapper.java b/src/main/java/com/newyetai/recruit/statistics/dao/OrgDailyStatisticMapper.java deleted file mode 100644 index b0e058d..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dao/OrgDailyStatisticMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.statistics.dao; - -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.statistics.entity.OrgDailyStatistic; -import com.newyetai.recruit.statistics.dto.OrgDailyStatisticDTO; -import com.newyetai.recruit.statistics.dto.OrgDailyStatisticQueryDTO; -import com.newyetai.recruit.statistics.dto.OrgDailyStatisticPageQueryDTO; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 机构日统计信息 - * - * @author guixinman - * @since 1.0.0 2024-05-15 - */ -@Mapper -public interface OrgDailyStatisticMapper extends MyMapper { - - List page(@Param("param") OrgDailyStatisticPageQueryDTO queryDTO); - - List list(@Param("param") OrgDailyStatisticQueryDTO queryDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/statistics/dao/StatisticsMapper.java b/src/main/java/com/newyetai/recruit/statistics/dao/StatisticsMapper.java deleted file mode 100644 index 6f3f893..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dao/StatisticsMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.newyetai.recruit.statistics.dao; - -import com.newyetai.recruit.statistics.dto.StatisticsBaseDTO; - -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; - -@Mapper -public interface StatisticsMapper { - - List getWordCloud(); -} diff --git a/src/main/java/com/newyetai/recruit/statistics/dto/HomeStatisticsDTO.java b/src/main/java/com/newyetai/recruit/statistics/dto/HomeStatisticsDTO.java deleted file mode 100644 index 7d27417..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dto/HomeStatisticsDTO.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.newyetai.recruit.statistics.dto; - -import java.io.Serializable; -import java.math.BigDecimal; - -import lombok.Data; - -/** - * @description: 统计DTO - * @author: guixinman - * @create: 2024-05-13 15:57 - **/ -@Data -public class HomeStatisticsDTO implements Serializable { - - /** - * 入驻企业:平台的企业数量(用工机构+服务机构) - */ - private int orgCount; - - /** - * 入驻企业日环比 (日环比增长率 = (今日 - 昨日) / 昨日 × 100%) - */ - private BigDecimal orgDailyBasis; - - /** - * 招聘岗位:平台开启状态下的岗位数量 - */ - private int positionCount; - - /** - * 招聘岗位日环比 (日环比增长率 = (今日 - 昨日) / 昨日 × 100%) - */ - private BigDecimal positionDailyBasis; - - /** - * 求职者:平台个人用户人数 - */ - private int userCount; - - /** - * 求职者日环比 (日环比增长率 = (今日 - 昨日) / 昨日 × 100%) - */ - private BigDecimal userDailyBasis; - - /** - * 岗位报名:平台招聘记录数量(统计出招聘表中的记录数量) - */ - private int positionRegistrationCount; - - /** - * 岗位报名日环比 (日环比增长率 = (今日 - 昨日) / 昨日 × 100%) - */ - private BigDecimal positionRegistrationDailyBasis; -} diff --git a/src/main/java/com/newyetai/recruit/statistics/dto/JobSeekerInfoStatisticsDTO.java b/src/main/java/com/newyetai/recruit/statistics/dto/JobSeekerInfoStatisticsDTO.java deleted file mode 100644 index a8499a8..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dto/JobSeekerInfoStatisticsDTO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.newyetai.recruit.statistics.dto; - - - -import java.io.Serializable; -import java.util.List; - - -import lombok.Data; - -/** - * @description: 求职者情况DTO - * @author: guixinman - * @create: 2024-05-14 10:34 - **/ -@Data -public class JobSeekerInfoStatisticsDTO implements Serializable { - - /** - * 性别 - */ - private List genders; - - /** - * 年龄 - */ - private List ages; - - /** - * 学历 - */ - private List educations; -} diff --git a/src/main/java/com/newyetai/recruit/statistics/dto/OrgDailyStatisticDTO.java b/src/main/java/com/newyetai/recruit/statistics/dto/OrgDailyStatisticDTO.java deleted file mode 100644 index ca83733..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dto/OrgDailyStatisticDTO.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.newyetai.recruit.statistics.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; -import com.newyetai.common.dto.BaseDTO; - -import org.springframework.format.annotation.DateTimeFormat; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import java.util.Date; - -/** - * 机构日统计信息 - * - * @author guixinman - * @since 1.0.0 2024-05-15 - */ -@ApiModel("机构日统计信息") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class OrgDailyStatisticDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("机构id") - private Long orgId; - - @ApiModelProperty("业务类型") - private String bizType; - - @ApiModelProperty("业务时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date bizDate; - - @ApiModelProperty("数量") - private Integer count; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/statistics/dto/OrgDailyStatisticOperatorDTO.java b/src/main/java/com/newyetai/recruit/statistics/dto/OrgDailyStatisticOperatorDTO.java deleted file mode 100644 index daabb64..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dto/OrgDailyStatisticOperatorDTO.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.newyetai.recruit.statistics.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; - -import java.util.Date; - -/** - * 机构日统计信息 - * - * @author guixinman - * @since 1.0.0 2024-05-15 - */ -@ApiModel("机构日统计信息") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class OrgDailyStatisticOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("机构id") - private Long orgId; - - @ApiModelProperty("业务类型") - private String bizType; - - @ApiModelProperty("业务时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date bizDate; - - @ApiModelProperty("数量") - private Integer count; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/statistics/dto/OrgDailyStatisticPageQueryDTO.java b/src/main/java/com/newyetai/recruit/statistics/dto/OrgDailyStatisticPageQueryDTO.java deleted file mode 100644 index f2dbb0a..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dto/OrgDailyStatisticPageQueryDTO.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.newyetai.recruit.statistics.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - - -import java.util.Date; -import java.util.List; - -/** - * 机构日统计信息 - * - * @author guixinman - * @since 1.0.0 2024-05-15 - */ - -@ApiModel("机构日统计信息") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class OrgDailyStatisticPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("机构id") - private Long orgId; - - @ApiModelProperty("业务类型") - private String bizType; - - private List bizTypes; - - @ApiModelProperty("业务时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date bizDate; - - - @ApiModelProperty("业务时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date bizDateStart; - - @ApiModelProperty("业务时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date bizDateEnd; - - @ApiModelProperty("数量") - private Integer count; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/statistics/dto/OrgDailyStatisticQueryDTO.java b/src/main/java/com/newyetai/recruit/statistics/dto/OrgDailyStatisticQueryDTO.java deleted file mode 100644 index 0c9b4b9..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dto/OrgDailyStatisticQueryDTO.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.newyetai.recruit.statistics.dto; - -import com.newyetai.common.dto.BaseDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; -import java.util.List; -import java.util.Set; - -/** - * 机构日统计信息 - * - * @author guixinman - * @since 1.0.0 2024-05-15 - */ -@ApiModel("机构日统计信息") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class OrgDailyStatisticQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("机构id") - private Long orgId; - - @ApiModelProperty("业务类型") - private String bizType; - - private List bizTypes; - - @ApiModelProperty("业务时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date bizDate; - - @ApiModelProperty("业务时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date bizDateStart; - - @ApiModelProperty("业务时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date bizDateEnd; - - @ApiModelProperty("数量") - private Integer count; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/statistics/dto/OrgHomeStatistics.java b/src/main/java/com/newyetai/recruit/statistics/dto/OrgHomeStatistics.java deleted file mode 100644 index 3f11c45..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dto/OrgHomeStatistics.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.newyetai.recruit.statistics.dto; - -import lombok.Data; - -import java.io.Serializable; -import java.util.List; - -@Data -public class OrgHomeStatistics implements Serializable { - - - /** - * 招聘岗位:机构开启状态下的岗位数量 - */ - private int positionOpenCount; - - /** - * 招聘岗位:机构的岗位关闭数量 - */ - private int positionCloseCount; - - /** - * 机构的咨询人数 - */ - private int userChatCount; - - - private List positionRegistrationList; -} diff --git a/src/main/java/com/newyetai/recruit/statistics/dto/OrgRegAndPositionStatisticsDTO.java b/src/main/java/com/newyetai/recruit/statistics/dto/OrgRegAndPositionStatisticsDTO.java deleted file mode 100644 index 048e18b..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dto/OrgRegAndPositionStatisticsDTO.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.newyetai.recruit.statistics.dto; - -import java.io.Serializable; - -import lombok.Data; - -/** - * @description: 企业入驻与岗位发布 - * @author: guixinman - * @create: 2024-05-15 14:53 - **/ -@Data -public class OrgRegAndPositionStatisticsDTO implements Serializable { - - private String name; - - /** - * 入驻企业(用工机构+服务机构) - */ - private long orgCount; - - /** - * 岗位发布数量 - */ - private long positionCount; - -} diff --git a/src/main/java/com/newyetai/recruit/statistics/dto/PositionMarkStatisticsDTO.java b/src/main/java/com/newyetai/recruit/statistics/dto/PositionMarkStatisticsDTO.java deleted file mode 100644 index 3667eb9..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dto/PositionMarkStatisticsDTO.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.newyetai.recruit.statistics.dto; - -import java.io.Serializable; - -import lombok.Data; - -/** - * @description: 岗位供需地理位置分析DTO - * @author: guixinman - * @create: 2024-05-22 17:57 - **/ -@Data -public class PositionMarkStatisticsDTO implements Serializable { - - /** - * 城市编码 - */ - private String areaCode; - - /** - * 求职者期望数量 - */ - private long jobSeekerCount; - - /** - * 岗位数量 - */ - private long positionCount; -} diff --git a/src/main/java/com/newyetai/recruit/statistics/dto/PositionSupplyDemandStatisticsDTO.java b/src/main/java/com/newyetai/recruit/statistics/dto/PositionSupplyDemandStatisticsDTO.java deleted file mode 100644 index ef6fed4..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dto/PositionSupplyDemandStatisticsDTO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.newyetai.recruit.statistics.dto; - -import java.io.Serializable; -import java.util.List; - -import lombok.Data; - -/** - * @description: 岗位供需DTO - * @author: guixinman - * @create: 2024-05-14 14:06 - **/ -@Data -public class PositionSupplyDemandStatisticsDTO implements Serializable { - - private List positionSupplyDemands; - - @Data - public static class PositionSupplyDemandInfoDTO { - - private String name; - - /** - * 求职期望数量 - */ - private long jobExpectValue; - - /** - * 在招岗位类型数量 - */ - private long positionValue; - } -} diff --git a/src/main/java/com/newyetai/recruit/statistics/dto/StatisticQueryDTO.java b/src/main/java/com/newyetai/recruit/statistics/dto/StatisticQueryDTO.java deleted file mode 100644 index 11eb199..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dto/StatisticQueryDTO.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.newyetai.recruit.statistics.dto; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.io.Serializable; -import java.util.Date; - -import javax.validation.constraints.NotNull; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @author guixinman - * @since 1.0.0 2024-05-15 - */ -@Data -public class StatisticQueryDTO implements Serializable { - - /** - * 1.日 2.月 3年 - */ - @NotNull(message = "类型不能为空") - private Integer type; - - @NotNull(message = "请传入时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date bizDateStart; - - @NotNull(message = "请传入时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date bizDateEnd; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/statistics/dto/StatisticsBaseDTO.java b/src/main/java/com/newyetai/recruit/statistics/dto/StatisticsBaseDTO.java deleted file mode 100644 index 584c121..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dto/StatisticsBaseDTO.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.newyetai.recruit.statistics.dto; - -import java.io.Serializable; - -import lombok.Data; - -/** - * @description: 统计基础DTO - * @author: guixinman - * @create: 2024-05-14 16:18 - **/ -@Data -public class StatisticsBaseDTO implements Serializable { - - private String name; - - private long valueCount; -} diff --git a/src/main/java/com/newyetai/recruit/statistics/dto/UserOperationStatisticsDTO.java b/src/main/java/com/newyetai/recruit/statistics/dto/UserOperationStatisticsDTO.java deleted file mode 100644 index c48044b..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/dto/UserOperationStatisticsDTO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.newyetai.recruit.statistics.dto; - -import java.io.Serializable; - -import lombok.Data; - -/** - * @description: 用户岗位浏览收藏报名DTO - * @author: guixinman - * @create: 2024-05-15 17:14 - **/ -@Data -public class UserOperationStatisticsDTO implements Serializable { - - /** - * 名称 - */ - private String name; - - /** - * 用户浏览 - */ - private long userPositionBrowseRecordCount; - - /** - * 用户收藏 - */ - private long userCollectionsCount; - - /** - * 岗位报名 - */ - private long positionRegistrationCount; - - -} diff --git a/src/main/java/com/newyetai/recruit/statistics/entity/OrgDailyStatistic.java b/src/main/java/com/newyetai/recruit/statistics/entity/OrgDailyStatistic.java deleted file mode 100644 index 06d6c66..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/entity/OrgDailyStatistic.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.newyetai.recruit.statistics.entity; - -import lombok.*; - -import com.baomidou.mybatisplus.annotation.*; - -import java.util.Date; - -import com.newyetai.common.entity.BaseEntity; - -/** - * 机构日统计信息 - * - * @author guixinman - * @since 1.0.0 2024-05-15 - */ -@TableName(value = "uc_org_daily_statistic") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class OrgDailyStatistic extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 机构id - */ - private Long orgId; - /** - * 业务类型 - */ - private String bizType; - /** - * 业务时间 - */ - private Date bizDate; - /** - * 数量 - */ - private Integer count; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/statistics/enums/OrgDailyStatisticTypeEnum.java b/src/main/java/com/newyetai/recruit/statistics/enums/OrgDailyStatisticTypeEnum.java deleted file mode 100644 index 3954095..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/enums/OrgDailyStatisticTypeEnum.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.newyetai.recruit.statistics.enums; - -public enum OrgDailyStatisticTypeEnum { - ORG("1", "机构"), - POSITION("2", "岗位"), - USER_POSITION_BROWSE_RECORD("3","浏览"), - USER_COLLECTIONS("4","收藏"), - POSITION_REGISTRATION("5","报名"), - ; - - private String type; - /** - * 类型描述 - */ - private String desc; - - - OrgDailyStatisticTypeEnum(String type, String desc) { - this.type = type; - this.desc = desc; - } - - public String getType() { - return type; - } - - public String getDesc() { - return desc; - } -} diff --git a/src/main/java/com/newyetai/recruit/statistics/job/StatisticsJob.java b/src/main/java/com/newyetai/recruit/statistics/job/StatisticsJob.java deleted file mode 100644 index 9cc42df..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/job/StatisticsJob.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.newyetai.recruit.statistics.job; - -import com.newyetai.common.annotation.AlitaStopWatch; -import com.newyetai.recruit.statistics.service.StatisticsService; -import com.newyetai.security.util.MockUtils; -import com.newyetai.usercenter.common.constant.XxlJobHandlerConstants; - -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.util.Date; -import java.util.List; - -import cn.hutool.core.date.DateUtil; -import lombok.extern.slf4j.Slf4j; - -/** - * @description: - * @author: guixinman - * @create: 2024-05-16 15:42 - **/ -@Slf4j -@Component -public class StatisticsJob { - - @Autowired - private StatisticsService statisticsService; - - @Scheduled(cron = "01 10 00 * * ?") - public void statistics() { - String date = DateUtil.format(DateUtil.yesterday(), "yyyy-MM-dd"); - log.info("统计 ======开始"); - MockUtils.mockPlatUser(); - try { - statisticsService.saveOrgRegAndPosition(date); - } catch (Exception e) { - log.error(e.getMessage()); - } - try { - statisticsService.saveUserOperationStatisticsDTO(date); - } catch (Exception e) { - log.error(e.getMessage()); - } - log.info("统计 ======结束"); - - } -} diff --git a/src/main/java/com/newyetai/recruit/statistics/mapper/OrgDailyStatisticMapper.xml b/src/main/java/com/newyetai/recruit/statistics/mapper/OrgDailyStatisticMapper.xml deleted file mode 100644 index 63f9f85..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/mapper/OrgDailyStatisticMapper.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - FROM - uc_org_daily_statistic t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.org_id = #{param.orgId} - - - AND t.biz_type = #{param.bizType} - - - AND t.biz_type IN - - #{item} - - - - AND t.biz_date = #{param.bizDate} - - - AND t.biz_date >= #{param.bizDateStart} - - - AND t.biz_date <= #{param.bizDateEnd} - - - AND t.count = #{param.count} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/statistics/mapper/StatisticMapper.xml b/src/main/java/com/newyetai/recruit/statistics/mapper/StatisticMapper.xml deleted file mode 100644 index cf4a5f5..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/mapper/StatisticMapper.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/statistics/service/OrgDailyStatisticService.java b/src/main/java/com/newyetai/recruit/statistics/service/OrgDailyStatisticService.java deleted file mode 100644 index b68a14a..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/service/OrgDailyStatisticService.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.newyetai.recruit.statistics.service; - -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -import java.util.List; - -import com.newyetai.recruit.statistics.dto.*; - -/** - * 机构日统计信息 - * - * @author guixinman - * @since 1.0.0 2024-05-15 - */ -@Validated(Default.class) -public interface OrgDailyStatisticService { - - /** - * 机构日统计信息 - 创建 - * - * @param operatorDto 操作dto - * @return {@link OrgDailyStatisticDTO} - */ - OrgDailyStatisticDTO create(@Valid OrgDailyStatisticOperatorDTO operatorDto); - - /** - * 机构日统计信息 - 修改 - * - * @param operatorDto 操作dto - * @return {@link OrgDailyStatisticDTO} - */ - OrgDailyStatisticDTO modify(@Valid OrgDailyStatisticOperatorDTO operatorDto); - - /** - * 机构日统计信息 - 删除 - * - * @param id id - * @return {@link OrgDailyStatisticDTO} - */ - OrgDailyStatisticDTO delete(Long id); - - /** - * 机构日统计信息 - 根据ID查询单个 - * - * @param id id - * @return {@link OrgDailyStatisticDTO} - */ - OrgDailyStatisticDTO findById(Long id); - - /** - * 机构日统计信息 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link OrgDailyStatisticDTO}> - */ - List list(OrgDailyStatisticQueryDTO queryDTO); - - /** - * 机构日统计信息 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link OrgDailyStatisticDTO} - */ - List page(OrgDailyStatisticPageQueryDTO queryDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/statistics/service/StatisticsService.java b/src/main/java/com/newyetai/recruit/statistics/service/StatisticsService.java deleted file mode 100644 index 02c55fa..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/service/StatisticsService.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.newyetai.recruit.statistics.service; - -import com.newyetai.recruit.position.dto.PositionDTO; -import com.newyetai.recruit.position.dto.PositionPageQueryDTO; -import com.newyetai.recruit.statistics.dto.*; - -import java.util.List; - -public interface StatisticsService { - - /** - * 获取 统计数据 - */ - HomeStatisticsDTO getHomeStatistics(); - - /** - * 求职者情况 - */ - JobSeekerInfoStatisticsDTO getJobSeekerInfo(); - - /** - * 岗位供需情况 - */ - PositionSupplyDemandStatisticsDTO getPositionSupplyDemand(String recruitPositionType); - - /** - * 招聘过程 - */ - List getPositionRegistration(); - - /** - * 企业入驻与岗位发布保存 - */ - void saveOrgRegAndPosition(String date); - - /** - * 企业入驻与岗位发布查询 - */ - List getOrgRegAndPosition(StatisticQueryDTO queryDTO); - - /** - * 招聘岗位浏览、收藏、报名情况 保存 - */ - void saveUserOperationStatisticsDTO(String date); - - /** - * 招聘岗位浏览、收藏、报名情况 - */ - List userOperationStatisticsDTO(StatisticQueryDTO queryDTO); - - /** - * 招聘岗位浏览量词云 查询 - */ - List getWordCloud(); - - /** - * 岗位供需地理位置分析 查询 - */ - List getPositionMark(); - - List positionPage(PositionPageQueryDTO queryDTO); - - OrgHomeStatistics orgHomeStatistics(); -} diff --git a/src/main/java/com/newyetai/recruit/statistics/service/impl/OrgDailyStatisticServiceImpl.java b/src/main/java/com/newyetai/recruit/statistics/service/impl/OrgDailyStatisticServiceImpl.java deleted file mode 100644 index e8928fa..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/service/impl/OrgDailyStatisticServiceImpl.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.newyetai.recruit.statistics.service.impl; - -import lombok.extern.slf4j.Slf4j; - -import com.newyetai.recruit.statistics.convert.OrgDailyStatisticConvert; -import com.newyetai.recruit.statistics.entity.OrgDailyStatistic; -import com.newyetai.recruit.statistics.dto.*; -import com.newyetai.recruit.statistics.dao.OrgDailyStatisticMapper; -import com.newyetai.recruit.statistics.service.OrgDailyStatisticService; - -import org.springframework.stereotype.Service; - -import com.newyetai.common.util.UserContextHolder; - -import javax.annotation.Resource; - -import java.util.*; - -/** - * 机构日统计信息 - * - * @author guixinman - * @since 1.0.0 2024-05-15 - */ -@Slf4j -@Service -public class OrgDailyStatisticServiceImpl implements OrgDailyStatisticService { - - @Resource - private OrgDailyStatisticMapper orgDailyStatisticMapper; - - @Override - public OrgDailyStatisticDTO create(OrgDailyStatisticOperatorDTO operatorDto) { - OrgDailyStatistic orgDailyStatistic = OrgDailyStatisticConvert.INSTANCE.convert(operatorDto); - orgDailyStatisticMapper.saveEntity(orgDailyStatistic); - return OrgDailyStatisticConvert.INSTANCE.convert(orgDailyStatistic); - } - - @Override - public OrgDailyStatisticDTO modify(OrgDailyStatisticOperatorDTO operatorDto) { - OrgDailyStatisticDTO orgDailyStatisticDto = this.findById(operatorDto.getId()); - if (Objects.isNull(orgDailyStatisticDto)) { - return null; - } - OrgDailyStatistic orgDailyStatistic = OrgDailyStatisticConvert.INSTANCE.convert(operatorDto); - orgDailyStatisticMapper.updateEntitySelective(orgDailyStatistic); - return this.findById(operatorDto.getId()); - } - - @Override - public OrgDailyStatisticDTO delete(Long id) { - OrgDailyStatisticDTO orgDailyStatisticDto = this.findById(id); - if (Objects.isNull(orgDailyStatisticDto)) { - return null; - } - OrgDailyStatistic orgDailyStatistic = OrgDailyStatistic.builder().build(); - orgDailyStatistic.setId(id); - orgDailyStatisticMapper.deleteEntity(orgDailyStatistic, UserContextHolder.getLoginUserId()); - return orgDailyStatisticDto; - } - - @Override - public OrgDailyStatisticDTO findById(Long id) { - OrgDailyStatistic orgDailyStatistic = orgDailyStatisticMapper.getById(id); - if (Objects.isNull(orgDailyStatistic)) { - return null; - } - return OrgDailyStatisticConvert.INSTANCE.convert(orgDailyStatistic); - } - - @Override - public List list(OrgDailyStatisticQueryDTO queryDTO) { - return orgDailyStatisticMapper.list(queryDTO); - } - - @Override - public List page(OrgDailyStatisticPageQueryDTO queryDTO) { - return orgDailyStatisticMapper.page(queryDTO); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/statistics/service/impl/StatisticsServiceImpl.java b/src/main/java/com/newyetai/recruit/statistics/service/impl/StatisticsServiceImpl.java deleted file mode 100644 index 986c398..0000000 --- a/src/main/java/com/newyetai/recruit/statistics/service/impl/StatisticsServiceImpl.java +++ /dev/null @@ -1,680 +0,0 @@ -package com.newyetai.recruit.statistics.service.impl; - - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.util.DateUtils; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.component.chat.dto.ChatDTO; -import com.newyetai.component.chat.dto.ChatQueryDTO; -import com.newyetai.component.chat.service.ChatService; -import com.newyetai.component.dict.dto.DictDetailDTO; -import com.newyetai.component.dict.util.DictUtils; -import com.newyetai.recruit.position.dao.PositionMapper; -import com.newyetai.recruit.position.dao.PositionRegistrationMapper; -import com.newyetai.recruit.position.dao.PositionTypeMapper; -import com.newyetai.recruit.position.dto.PositionDTO; -import com.newyetai.recruit.position.dto.PositionPageQueryDTO; -import com.newyetai.recruit.position.dto.PositionRegistrationDTO; -import com.newyetai.recruit.position.entity.Position; -import com.newyetai.recruit.position.entity.PositionRegistration; -import com.newyetai.recruit.position.entity.PositionType; -import com.newyetai.recruit.position.enums.PositionRegistrationStatusEnum; -import com.newyetai.recruit.position.enums.PositionStatusEnum; -import com.newyetai.recruit.statistics.dao.StatisticsMapper; -import com.newyetai.recruit.statistics.dto.*; -import com.newyetai.recruit.statistics.enums.OrgDailyStatisticTypeEnum; -import com.newyetai.recruit.statistics.service.OrgDailyStatisticService; -import com.newyetai.recruit.statistics.service.StatisticsService; -import com.newyetai.recruit.user.dao.BrowseRecordMapper; -import com.newyetai.recruit.user.dao.JobExpectMapper; -import com.newyetai.recruit.user.dao.ResumeMapper; -import com.newyetai.recruit.user.dao.UserCollectionMapper; -import com.newyetai.recruit.user.entity.BrowseRecord; -import com.newyetai.recruit.user.entity.JobExpect; -import com.newyetai.recruit.user.entity.Resume; -import com.newyetai.recruit.user.entity.UserCollection; -import com.newyetai.usercenter.enums.OrgTypeEnum; -import com.newyetai.usercenter.org.dao.OrgMapper; -import com.newyetai.usercenter.org.entity.Org; -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import com.newyetai.usercenter.user.dao.UserMapper; -import com.newyetai.usercenter.user.entity.User; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.stream.Collectors; - -import javax.annotation.Resource; - -import cn.hutool.core.date.DateTime; -import cn.hutool.core.date.DateUtil; - -/** - * @description: 统计数据 - * @author: guixinman - * @create: 2024-05-13 16:10 - **/ -@Service -public class StatisticsServiceImpl implements StatisticsService { - - @Resource - private OrgMapper orgMapper; - - @Resource - private PositionMapper positionMapper; - - @Resource - private UserMapper userMapper; - - @Resource - private PositionRegistrationMapper positionRegistrationMapper; - - @Resource - private ResumeMapper resumeMapper; - - @Resource - private JobExpectMapper jobExpectMapper; - - @Resource - private PositionTypeMapper positionTypeMapper; - - @Autowired - private OrgDailyStatisticService orgDailyStatisticService; - - @Resource - private UserCollectionMapper userCollectionMapper; - - @Resource - private BrowseRecordMapper browseRecordMapper; - - @Resource - private StatisticsMapper statisticsMapper; - - @Autowired - private ChatService chatService; - - @Override - public HomeStatisticsDTO getHomeStatistics() { - - DateTime yesterday = DateUtil.beginOfDay(DateUtil.yesterday()); - DateTime today = DateUtil.endOfDay(new Date()); - String yesterdayStr = DateUtil.format(yesterday, "yyyy-MM-dd"); - String todayStr = DateUtil.format(today, "yyyy-MM-dd"); - - - // ——入驻企业:平台的企业数量(用工机构+服务机构) - Integer orgCount = orgMapper.selectCount(new LambdaQueryWrapper() - .eq(Org::getDeleted, false) - .in(Org::getType, Arrays.asList(OrgTypeEnum.ORG_TYPE_SIMPLE.getType(), OrgTypeEnum.ORG_TYPE_HR.getType())) - ); - Map orgMap = orgMapper.selectList(new LambdaQueryWrapper() - .eq(Org::getDeleted, false) - .in(Org::getType, Arrays.asList(OrgTypeEnum.ORG_TYPE_SIMPLE.getType(), OrgTypeEnum.ORG_TYPE_HR.getType())) - .between(Org::getCreateTime, yesterday, today) - ).stream().collect(Collectors.groupingBy(org -> DateUtil.format(org.getCreateTime(), "yyyy-MM-dd"), Collectors.counting())); - - // ——招聘岗位:平台开启状态下的岗位数量 - Integer positionCount = positionMapper.selectCount(new LambdaQueryWrapper() - .eq(Position::getDeleted, false) - .eq(Position::getStatus, PositionStatusEnum.OPEN.getStatus()) - ); - Map positionMap = - positionMapper.selectList(new LambdaQueryWrapper() - .eq(Position::getDeleted, false) - .eq(Position::getStatus, PositionStatusEnum.OPEN.getStatus()) - .between(Position::getCreateTime, yesterday, today) - ) - .stream().collect(Collectors.groupingBy(position -> DateUtil.format(position.getCreateTime(), "yyyy-MM-dd"), Collectors.counting())); - - // ——求职者:平台个人用户人数 - Integer userCount = userMapper.selectCount( - new LambdaQueryWrapper() - .eq(User::getDeleted, false) - .eq(User::getType, UserTypeEnum.PERSON.getType()) - ); - Map userMap = - userMapper.selectList(new LambdaQueryWrapper() - .eq(User::getDeleted, false) - .eq(User::getType, UserTypeEnum.PERSON.getType()) - .between(User::getCreateTime, yesterday, today) - ) - .stream().collect(Collectors.groupingBy(user -> DateUtil.format(user.getCreateTime(), "yyyy-MM-dd"), Collectors.counting())); - - // ——岗位报名:平台招聘记录数量(统计出招聘表中的记录数量) - Integer positionRegistrationCount = positionRegistrationMapper.selectCount( - new LambdaQueryWrapper() - .eq(PositionRegistration::getDeleted, false) - ); - Map positionRegistrationMap = - positionRegistrationMapper.selectList(new LambdaQueryWrapper() - .eq(PositionRegistration::getDeleted, false) - .between(PositionRegistration::getCreateTime, yesterday, today) - ) - .stream().collect(Collectors.groupingBy(positionRegistration -> DateUtil.format(positionRegistration.getCreateTime(), "yyyy-MM-dd"), Collectors.counting())); - - HomeStatisticsDTO homeStatisticsDTO = new HomeStatisticsDTO(); - homeStatisticsDTO.setOrgCount(orgCount); - homeStatisticsDTO.setOrgDailyBasis(calculateDailyBasis(orgMap, yesterdayStr, todayStr)); - homeStatisticsDTO.setPositionCount(positionCount); - homeStatisticsDTO.setPositionDailyBasis(calculateDailyBasis(positionMap, yesterdayStr, todayStr)); - homeStatisticsDTO.setUserCount(userCount); - homeStatisticsDTO.setUserDailyBasis(calculateDailyBasis(userMap, yesterdayStr, todayStr)); - homeStatisticsDTO.setPositionRegistrationCount(positionRegistrationCount); - homeStatisticsDTO.setPositionRegistrationDailyBasis(calculateDailyBasis(positionRegistrationMap, yesterdayStr, todayStr)); - return homeStatisticsDTO; - } - - private BigDecimal calculateDailyBasis(Map map, String yesterdayStr, String todayStr) { - if (Objects.isNull(map) || StringUtils.isBlank(yesterdayStr) || StringUtils.isBlank(todayStr)) { - return null; - } - // 日环比增长率 = (今日 - 昨日) / 昨日 × 100% - Long yesterday = Objects.isNull(map.get(yesterdayStr)) ? 0l : map.get(yesterdayStr); - Long today = Objects.isNull(map.get(todayStr)) ? 0l : map.get(todayStr); - BigDecimal yesterdayCount = new BigDecimal(String.valueOf(yesterday)); - BigDecimal todayCount = new BigDecimal(String.valueOf(today)); - if (yesterdayCount.compareTo(BigDecimal.ZERO) == 0) { - return BigDecimal.ZERO; - } - return (todayCount.subtract(yesterdayCount)).divide(yesterdayCount, 2, BigDecimal.ROUND_HALF_UP); - } - - @Override - public JobSeekerInfoStatisticsDTO getJobSeekerInfo() { - //学历:小学、初中、中专/技校、高中、大专、本科、硕士、博士(按实际字典内容进行统计,图例是为了显示效果) - Map> resumeMap = resumeMapper.selectList(new LambdaQueryWrapper() - .eq(Resume::getDeleted, false)) - .stream().filter(resume -> StringUtils.isNotBlank(resume.getEducation())).collect(Collectors.groupingBy(Resume::getEducation)); - List educationList = DictUtils.getCacheTree("education"); - - List educations = new ArrayList<>(); - for (DictDetailDTO dictDetailDTO : educationList) { - int resumes = CollectionUtils.isEmpty(resumeMap.get(dictDetailDTO.getDictDetailCode())) ? 0 : resumeMap.get(dictDetailDTO.getDictDetailCode()).size(); - StatisticsBaseDTO statisticsBaseDTO = new StatisticsBaseDTO(); - statisticsBaseDTO.setName(dictDetailDTO.getDictDetailName()); - statisticsBaseDTO.setValueCount(resumes); - educations.add(statisticsBaseDTO); - } - - //用户性别 年龄 - List users = userMapper.selectList(new LambdaQueryWrapper() - .eq(User::getType, UserTypeEnum.PERSON.getType()) - .eq(User::getDeleted, false) - .ne(User::getCardNo, "") - .isNotNull(User::getCardNo) - ); - Map genderMap = users.stream().filter(user -> Objects.nonNull(user.getGender())).collect(Collectors.groupingBy(User::getGender, Collectors.counting())); - List genders = new ArrayList<>(); - List genderList = DictUtils.getCacheTree("gender"); - for (DictDetailDTO dictDetailDTO : genderList) { - long genderCount = Objects.isNull(genderMap.get(Integer.valueOf(dictDetailDTO.getDictDetailCode()))) ? 0 : genderMap.get(Integer.valueOf(dictDetailDTO.getDictDetailCode())); - StatisticsBaseDTO statisticsBaseDTO = new StatisticsBaseDTO(); - statisticsBaseDTO.setName(dictDetailDTO.getDictDetailName()); - statisticsBaseDTO.setValueCount(genderCount); - genders.add(statisticsBaseDTO); - } - - Map birthdayResultMap = new HashMap<>(); - birthdayResultMap.put("18-35岁", 0l); - birthdayResultMap.put("36-55岁", 0l); - birthdayResultMap.put("56岁以上", 0l); - - Map birthdayMap = users.stream().filter(user -> Objects.nonNull(user.getBirthday())).collect(Collectors.groupingBy(User::getBirthday, Collectors.counting())); - birthdayMap.forEach((k, v) -> { - - int age = DateUtil.ageOfNow(k); - if (age >= 18 && age <= 35) { - birthdayResultMap.put("18-35岁", birthdayResultMap.get("18-35岁") + v); - } else if (age >= 36 && age <= 55) { - birthdayResultMap.put("36-55岁", birthdayResultMap.get("36-55岁") + v); - } else if (age >= 56) { - birthdayResultMap.put("56岁以上", birthdayResultMap.get("56岁以上") + v); - } - }); - - List ages = new ArrayList<>(); - birthdayResultMap.forEach((k, v) -> { - StatisticsBaseDTO statisticsBaseDTO = new StatisticsBaseDTO(); - statisticsBaseDTO.setName(k); - statisticsBaseDTO.setValueCount(v); - ages.add(statisticsBaseDTO); - }); - - JobSeekerInfoStatisticsDTO jobSeekerInfoStatisticsDTO = new JobSeekerInfoStatisticsDTO(); - jobSeekerInfoStatisticsDTO.setEducations(educations); - jobSeekerInfoStatisticsDTO.setGenders(genders); - jobSeekerInfoStatisticsDTO.setAges(ages); - - return jobSeekerInfoStatisticsDTO; - } - - @Override - public PositionSupplyDemandStatisticsDTO getPositionSupplyDemand(String recruitPositionType) { - //期望岗位类型分组求数量 - Map jobExpectMap = jobExpectMapper.positionTypeCodeGroupMap(recruitPositionType) - .stream().collect(Collectors.toMap(StatisticsBaseDTO::getName, v -> v.getValueCount(), (v1, v2) -> v2)); - //岗位类型分组求数量 - Map positionMap = positionMapper.positionTypeGroupMap(recruitPositionType).stream().collect(Collectors.toMap(StatisticsBaseDTO::getName, v -> v.getValueCount(), (v1, v2) -> v2)); - - List positionTypes = positionTypeMapper.selectList( - new LambdaQueryWrapper() - .eq(PositionType::getDeleted, false) - .eq(StringUtils.isNotBlank(recruitPositionType), PositionType::getRecruitPositionType, recruitPositionType) - ); - Map positionTypeMap = new LinkedHashMap<>(); - for (PositionType positionType : positionTypes) { - positionTypeMap.putIfAbsent(positionType.getFullCode().split("@")[0], positionType.getFullName().split("@")[0]); - } - - List positionSupplyDemands = new ArrayList<>(); - - positionTypeMap.forEach((code, name) -> { - PositionSupplyDemandStatisticsDTO.PositionSupplyDemandInfoDTO positionSupplyDemandInfoDTO = new PositionSupplyDemandStatisticsDTO.PositionSupplyDemandInfoDTO(); - positionSupplyDemandInfoDTO.setName(name); - positionSupplyDemandInfoDTO.setJobExpectValue(Objects.isNull(jobExpectMap.get(code)) ? 0l : jobExpectMap.get(code)); - positionSupplyDemandInfoDTO.setPositionValue(Objects.isNull(positionMap.get(code)) ? 0l : positionMap.get(code)); - positionSupplyDemands.add(positionSupplyDemandInfoDTO); - }); - - PositionSupplyDemandStatisticsDTO positionSupplyDemandStatisticsDTO = new PositionSupplyDemandStatisticsDTO(); - positionSupplyDemandStatisticsDTO.setPositionSupplyDemands(positionSupplyDemands); - return positionSupplyDemandStatisticsDTO; - } - - @Override - public List getPositionRegistration() { - List list = new ArrayList<>(); - - List statusList = Arrays.asList(PositionRegistrationStatusEnum.ALREADY_REGISTERED.getStatus() - , PositionRegistrationStatusEnum.WAIT_FOR_AN_INTERVIEW.getStatus() - , PositionRegistrationStatusEnum.TO_BE_HIRED.getStatus() - , PositionRegistrationStatusEnum.ON_THE_JOB.getStatus() - , PositionRegistrationStatusEnum.RESIGNED.getStatus() - ); - Map positionRegistrationMap = positionRegistrationMapper.selectList( - new LambdaQueryWrapper() - .eq(PositionRegistration::getDeleted, false) - .in(PositionRegistration::getStatus, statusList) - ).stream().collect(Collectors.groupingBy(PositionRegistration::getStatus, Collectors.counting())); - - long alreadyRegisteredCount = Objects.isNull(positionRegistrationMap.get(statusList.get(0))) ? 0l : positionRegistrationMap.get(statusList.get(0)); - long waitForAnInterviewCount = Objects.isNull(positionRegistrationMap.get(statusList.get(1))) ? 0l : positionRegistrationMap.get(statusList.get(1)); - long toBeHiredCount = Objects.isNull(positionRegistrationMap.get(statusList.get(2))) ? 0l : positionRegistrationMap.get(statusList.get(2)); - long onTheJobCount = Objects.isNull(positionRegistrationMap.get(statusList.get(3))) ? 0l : positionRegistrationMap.get(statusList.get(3)); - long resignedCount = Objects.isNull(positionRegistrationMap.get(statusList.get(4))) ? 0l : positionRegistrationMap.get(statusList.get(4)); - - for (int i = 0; i < statusList.size(); i++) { - - StatisticsBaseDTO statisticsBaseDTO = new StatisticsBaseDTO(); - statisticsBaseDTO.setName(DictUtils.getCodeNameMap("position_registration_status").get(statusList.get(i))); - - if (i == 0) { - statisticsBaseDTO.setValueCount(alreadyRegisteredCount + waitForAnInterviewCount + toBeHiredCount + onTheJobCount + resignedCount); - } else if (i == 1) { - statisticsBaseDTO.setValueCount(waitForAnInterviewCount + toBeHiredCount + onTheJobCount + resignedCount); - } else if (i == 2) { - statisticsBaseDTO.setValueCount(toBeHiredCount + onTheJobCount + resignedCount); - } else if (i == 3) { - statisticsBaseDTO.setValueCount(onTheJobCount + resignedCount); - } else if (i == 4) { - statisticsBaseDTO.setValueCount(resignedCount); - } - - list.add(statisticsBaseDTO); - } - - - return list; - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void saveOrgRegAndPosition(String date) { - if (StringUtils.isBlank(date)) { - return; - } - DateTime createTimeStart = DateUtil.beginOfDay(DateUtil.parseDate(date)); - DateTime createTimeEnd = DateUtil.endOfDay(DateUtil.parseDate(date)); - - // ——入驻企业:平台的企业数量(用工机构+服务机构) - List orgs = orgMapper.selectList(new LambdaQueryWrapper() - .eq(Org::getDeleted, false) - .in(Org::getType, Arrays.asList(OrgTypeEnum.ORG_TYPE_SIMPLE.getType(), OrgTypeEnum.ORG_TYPE_HR.getType())) - .between(Org::getCreateTime, createTimeStart, createTimeEnd)); - - List orgList = orgDailyStatisticService.list(OrgDailyStatisticQueryDTO.builder() - .orgId(CommonConstants.PLATFORM_ORG_ID) - .bizType(OrgDailyStatisticTypeEnum.ORG.getType()) - .bizDate(DateUtil.parseDate(date)) - .build()); - OrgDailyStatisticOperatorDTO orgOperatorDTO = new OrgDailyStatisticOperatorDTO(); - orgOperatorDTO.setOrgId(CommonConstants.PLATFORM_ORG_ID); - orgOperatorDTO.setBizType(OrgDailyStatisticTypeEnum.ORG.getType()); - orgOperatorDTO.setBizDate(DateUtil.parseDate(date)); - orgOperatorDTO.setCount(orgs.size()); - if (CollectionUtils.isEmpty(orgList)) { - orgDailyStatisticService.create(orgOperatorDTO); - } else { - orgOperatorDTO.setId(orgList.get(0).getId()); - orgDailyStatisticService.modify(orgOperatorDTO); - } - - // ——发布岗位 - List positions = positionMapper.selectList(new LambdaQueryWrapper() - .eq(Position::getDeleted, false) - .between(Position::getCreateTime, createTimeStart, createTimeEnd) - ); - List positionList = orgDailyStatisticService.list(OrgDailyStatisticQueryDTO.builder() - .orgId(CommonConstants.PLATFORM_ORG_ID) - .bizType(OrgDailyStatisticTypeEnum.POSITION.getType()) - .bizDate(DateUtil.parseDate(date)) - .build()); - OrgDailyStatisticOperatorDTO positionOperatorDTO = new OrgDailyStatisticOperatorDTO(); - positionOperatorDTO.setOrgId(CommonConstants.PLATFORM_ORG_ID); - positionOperatorDTO.setBizType(OrgDailyStatisticTypeEnum.POSITION.getType()); - positionOperatorDTO.setBizDate(DateUtil.parseDate(date)); - positionOperatorDTO.setCount(positions.size()); - if (CollectionUtils.isEmpty(positionList)) { - orgDailyStatisticService.create(positionOperatorDTO); - } else { - positionOperatorDTO.setId(positionList.get(0).getId()); - orgDailyStatisticService.modify(positionOperatorDTO); - } - - - } - - @Override - public List getOrgRegAndPosition(StatisticQueryDTO queryDTO) { - List orgDailyStatisticDTOList = orgDailyStatisticService.list(OrgDailyStatisticQueryDTO.builder() - .orgId(CommonConstants.PLATFORM_ORG_ID) - .bizTypes(Arrays.asList(OrgDailyStatisticTypeEnum.POSITION.getType(), OrgDailyStatisticTypeEnum.ORG.getType())) - .bizDateStart(queryDTO.getBizDateStart()) - .bizDateEnd(queryDTO.getBizDateEnd()) - .build()); - - Map orgMap = new HashMap<>(); - Map positionMap = new HashMap<>(); - - List list = new ArrayList<>(); - List betweenDate = new ArrayList<>(); - - if (queryDTO.getType() == 1) { - orgMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.ORG.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy-MM-dd"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - positionMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.POSITION.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy-MM-dd"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - betweenDate = DateUtils.getDateBetween(queryDTO.getBizDateStart(), queryDTO.getBizDateEnd(), DateUtils.YYYY_MM_DD); - - } else if (queryDTO.getType() == 2) { - orgMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.ORG.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy-MM"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - positionMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.POSITION.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy-MM"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - betweenDate = DateUtils.getDateBetween(queryDTO.getBizDateStart(), queryDTO.getBizDateEnd(), DateUtils.YYYY_MM); - - } else if (queryDTO.getType() == 3) { - orgMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.ORG.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - positionMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.POSITION.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - betweenDate = DateUtils.getDateBetween(queryDTO.getBizDateStart(), queryDTO.getBizDateEnd(), DateUtils.YYYY); - } - for (String dateStr : betweenDate) { - OrgRegAndPositionStatisticsDTO orgRegAndPositionStatisticsDTO = new OrgRegAndPositionStatisticsDTO(); - orgRegAndPositionStatisticsDTO.setName(dateStr); - orgRegAndPositionStatisticsDTO.setOrgCount(Objects.isNull(orgMap.get(dateStr)) ? 0l : orgMap.get(dateStr)); - orgRegAndPositionStatisticsDTO.setPositionCount(Objects.isNull(positionMap.get(dateStr)) ? 0l : positionMap.get(dateStr)); - list.add(orgRegAndPositionStatisticsDTO); - } - - return list; - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void saveUserOperationStatisticsDTO(String date) { - - if (StringUtils.isBlank(date)) { - return; - } - DateTime createTimeStart = DateUtil.beginOfDay(DateUtil.parseDate(date)); - DateTime createTimeEnd = DateUtil.endOfDay(DateUtil.parseDate(date)); - - //浏览 - List browseRecords = browseRecordMapper.selectList( - new LambdaQueryWrapper() - .eq(BrowseRecord::getDeleted, false) - .between(BrowseRecord::getCreateTime, createTimeStart, createTimeEnd) - ); - List browseRecordList = orgDailyStatisticService.list(OrgDailyStatisticQueryDTO.builder() - .orgId(CommonConstants.PLATFORM_ORG_ID) - .bizType(OrgDailyStatisticTypeEnum.USER_POSITION_BROWSE_RECORD.getType()) - .bizDate(DateUtil.parseDate(date)) - .build()); - OrgDailyStatisticOperatorDTO browseRecordOperatorDTO = new OrgDailyStatisticOperatorDTO(); - browseRecordOperatorDTO.setOrgId(CommonConstants.PLATFORM_ORG_ID); - browseRecordOperatorDTO.setBizType(OrgDailyStatisticTypeEnum.USER_POSITION_BROWSE_RECORD.getType()); - browseRecordOperatorDTO.setBizDate(DateUtil.parseDate(date)); - browseRecordOperatorDTO.setCount(browseRecords.size()); - if (CollectionUtils.isEmpty(browseRecordList)) { - orgDailyStatisticService.create(browseRecordOperatorDTO); - } else { - browseRecordOperatorDTO.setId(browseRecordList.get(0).getId()); - orgDailyStatisticService.modify(browseRecordOperatorDTO); - } - - //收藏 - List userCollections = userCollectionMapper.selectList( - new LambdaQueryWrapper() - .eq(UserCollection::getDeleted, false) - .between(UserCollection::getCreateTime, createTimeStart, createTimeEnd) - ); - List userCollectionList = orgDailyStatisticService.list(OrgDailyStatisticQueryDTO.builder() - .orgId(CommonConstants.PLATFORM_ORG_ID) - .bizType(OrgDailyStatisticTypeEnum.USER_COLLECTIONS.getType()) - .bizDate(DateUtil.parseDate(date)) - .build()); - OrgDailyStatisticOperatorDTO userCollectionOperatorDTO = new OrgDailyStatisticOperatorDTO(); - userCollectionOperatorDTO.setOrgId(CommonConstants.PLATFORM_ORG_ID); - userCollectionOperatorDTO.setBizType(OrgDailyStatisticTypeEnum.USER_COLLECTIONS.getType()); - userCollectionOperatorDTO.setBizDate(DateUtil.parseDate(date)); - userCollectionOperatorDTO.setCount(userCollections.size()); - if (CollectionUtils.isEmpty(userCollectionList)) { - orgDailyStatisticService.create(userCollectionOperatorDTO); - } else { - userCollectionOperatorDTO.setId(userCollectionList.get(0).getId()); - orgDailyStatisticService.modify(userCollectionOperatorDTO); - } - - //岗位报名 - List positionRegistrations = positionRegistrationMapper.selectList( - new LambdaQueryWrapper() - .eq(PositionRegistration::getDeleted, false) - .between(PositionRegistration::getCreateTime, createTimeStart, createTimeEnd) - ); - - List positionRegistrationList = orgDailyStatisticService.list(OrgDailyStatisticQueryDTO.builder() - .orgId(CommonConstants.PLATFORM_ORG_ID) - .bizType(OrgDailyStatisticTypeEnum.POSITION_REGISTRATION.getType()) - .bizDate(DateUtil.parseDate(date)) - .build()); - OrgDailyStatisticOperatorDTO positionRegistrationOperatorDTO = new OrgDailyStatisticOperatorDTO(); - positionRegistrationOperatorDTO.setOrgId(CommonConstants.PLATFORM_ORG_ID); - positionRegistrationOperatorDTO.setBizType(OrgDailyStatisticTypeEnum.POSITION_REGISTRATION.getType()); - positionRegistrationOperatorDTO.setBizDate(DateUtil.parseDate(date)); - positionRegistrationOperatorDTO.setCount(positionRegistrations.size()); - if (CollectionUtils.isEmpty(positionRegistrationList)) { - orgDailyStatisticService.create(positionRegistrationOperatorDTO); - } else { - positionRegistrationOperatorDTO.setId(positionRegistrationList.get(0).getId()); - orgDailyStatisticService.modify(positionRegistrationOperatorDTO); - } - - } - - @Override - public List userOperationStatisticsDTO(StatisticQueryDTO queryDTO) { - List orgDailyStatisticDTOList = orgDailyStatisticService.list(OrgDailyStatisticQueryDTO.builder() - .orgId(CommonConstants.PLATFORM_ORG_ID) - .bizTypes(Arrays.asList(OrgDailyStatisticTypeEnum.USER_POSITION_BROWSE_RECORD.getType(), OrgDailyStatisticTypeEnum.USER_COLLECTIONS.getType(), OrgDailyStatisticTypeEnum.POSITION_REGISTRATION.getType())) - .bizDateStart(queryDTO.getBizDateStart()) - .bizDateEnd(queryDTO.getBizDateEnd()) - .build()); - - Map userPositionBrowseRecordMap = new HashMap<>(); - Map userCollectionsMap = new HashMap<>(); - Map positionRegistrationMap = new HashMap<>(); - - List list = new ArrayList<>(); - List betweenDate = new ArrayList<>(); - - if (queryDTO.getType() == 1) { - userPositionBrowseRecordMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.USER_POSITION_BROWSE_RECORD.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy-MM-dd"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - userCollectionsMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.USER_COLLECTIONS.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy-MM-dd"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - positionRegistrationMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.POSITION_REGISTRATION.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy-MM-dd"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - betweenDate = DateUtils.getDateBetween(queryDTO.getBizDateStart(), queryDTO.getBizDateEnd(), DateUtils.YYYY_MM_DD); - - } else if (queryDTO.getType() == 2) { - userPositionBrowseRecordMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.USER_POSITION_BROWSE_RECORD.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy-MM"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - userCollectionsMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.USER_COLLECTIONS.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy-MM"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - positionRegistrationMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.POSITION_REGISTRATION.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy-MM"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - betweenDate = DateUtils.getDateBetween(queryDTO.getBizDateStart(), queryDTO.getBizDateEnd(), DateUtils.YYYY_MM); - - } else if (queryDTO.getType() == 3) { - userPositionBrowseRecordMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.USER_POSITION_BROWSE_RECORD.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - userCollectionsMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.USER_COLLECTIONS.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - positionRegistrationMap = orgDailyStatisticDTOList.stream().filter(orgDailyStatisticDTO -> orgDailyStatisticDTO.getBizType().equals(OrgDailyStatisticTypeEnum.POSITION_REGISTRATION.getType())).collect(Collectors.groupingBy(orgDailyStatistic -> DateUtil.format(orgDailyStatistic.getBizDate(), "yyyy"), Collectors.summingInt(OrgDailyStatisticDTO::getCount))); - betweenDate = DateUtils.getDateBetween(queryDTO.getBizDateStart(), queryDTO.getBizDateEnd(), DateUtils.YYYY); - } - for (String dateStr : betweenDate) { - UserOperationStatisticsDTO userOperationStatisticsDTO = new UserOperationStatisticsDTO(); - userOperationStatisticsDTO.setName(dateStr); - userOperationStatisticsDTO.setUserPositionBrowseRecordCount(Objects.isNull(userPositionBrowseRecordMap.get(dateStr)) ? 0l : userPositionBrowseRecordMap.get(dateStr)); - userOperationStatisticsDTO.setUserCollectionsCount(Objects.isNull(userCollectionsMap.get(dateStr)) ? 0l : userCollectionsMap.get(dateStr)); - userOperationStatisticsDTO.setPositionRegistrationCount(Objects.isNull(positionRegistrationMap.get(dateStr)) ? 0l : positionRegistrationMap.get(dateStr)); - list.add(userOperationStatisticsDTO); - } - - return list; - } - - - @Override - public List getWordCloud() { - //name:客户名称,value:客户关联的岗位数量+ 客户关联的岗位浏览数量+ 客户关联的岗位收藏数量的总和 - return statisticsMapper.getWordCloud(); - } - - @Override - public List getPositionMark() { - //城市编码: - //求职者数量 - //在招岗位数量 - List jobExpects = jobExpectMapper.selectList(new LambdaQueryWrapper().eq(JobExpect::getDeleted, false)); - List positionDTOS = positionMapper.page(PositionPageQueryDTO.builder().build()).stream().filter(positionDTO -> Objects.nonNull(positionDTO.getAddressId())).collect(Collectors.toList()); - //统计存在的城市编码 去重 - Set areaCodeSet = new HashSet<>(); - areaCodeSet.addAll(jobExpects.stream().map(jobExpect -> jobExpect.getExpectCity()).collect(Collectors.toSet())); - areaCodeSet.addAll(positionDTOS.stream().map(positionDTO -> positionDTO.getDistrictCode()).collect(Collectors.toSet())); - - Map jobExpectMap = jobExpects.stream().collect(Collectors.groupingBy(jobExpect -> jobExpect.getExpectCity(), Collectors.counting())); - Map positionMap = positionDTOS.stream().collect(Collectors.groupingBy(positionDTO -> positionDTO.getDistrictCode(), Collectors.counting())); - - List list = new ArrayList<>(); - for (String areaCode : areaCodeSet) { - PositionMarkStatisticsDTO positionMarkStatisticsDTO = new PositionMarkStatisticsDTO(); - positionMarkStatisticsDTO.setAreaCode(areaCode); - positionMarkStatisticsDTO.setJobSeekerCount(Objects.isNull(jobExpectMap.get(areaCode)) ? 0 : jobExpectMap.get(areaCode)); - positionMarkStatisticsDTO.setPositionCount(Objects.isNull(positionMap.get(areaCode)) ? 0 : positionMap.get(areaCode)); - list.add(positionMarkStatisticsDTO); - } - return list; - } - - @Override - public List positionPage(PositionPageQueryDTO queryDTO) { - List list = positionMapper.page(queryDTO); - for (PositionDTO positionDTO : list) { - String recruitPositionTypeName = DictUtils.getCodeNameMap("recruit_position_type").get(positionDTO.getRecruitPositionType()); - positionDTO.setRecruitPositionTypeName(recruitPositionTypeName); - } - return list; - } - - @Override - public OrgHomeStatistics orgHomeStatistics() { - OrgHomeStatistics orgHomeStatistics = new OrgHomeStatistics(); - // ——招聘岗位:平台开启状态下的岗位数量 - Integer positionOpenCount = positionMapper.selectCount(new LambdaQueryWrapper() - .eq(Position::getDeleted, false) - .eq(Position::getStatus, PositionStatusEnum.OPEN.getStatus()) - .eq(Position::getOrgId, UserContextHolder.getExistLoginOrgId()) - ); - Integer positionCloseCount = positionMapper.selectCount(new LambdaQueryWrapper() - .eq(Position::getDeleted, false) - .eq(Position::getStatus, PositionStatusEnum.CLOSE.getStatus()) - .eq(Position::getOrgId, UserContextHolder.getExistLoginOrgId()) - ); - - Map positionRegistrationMap = - positionRegistrationMapper.positionRegistrationList(UserContextHolder.getExistLoginOrgId()) - .stream().collect(Collectors.groupingBy(PositionRegistrationDTO::getStatus, Collectors.counting())); - - List positionRegistrationList = new ArrayList<>(); - - List statusList = Arrays.asList(PositionRegistrationStatusEnum.ALREADY_REGISTERED.getStatus() - , PositionRegistrationStatusEnum.WAIT_FOR_AN_INTERVIEW.getStatus() - , PositionRegistrationStatusEnum.TO_BE_HIRED.getStatus() - , PositionRegistrationStatusEnum.ON_THE_JOB.getStatus() - , PositionRegistrationStatusEnum.RESIGNED.getStatus() - ); - - //已报名 - long alreadyRegisteredCount = Objects.isNull(positionRegistrationMap.get(statusList.get(0))) ? 0l : positionRegistrationMap.get(statusList.get(0)); - //待面试 - long waitForAnInterviewCount = Objects.isNull(positionRegistrationMap.get(statusList.get(1))) ? 0l : positionRegistrationMap.get(statusList.get(1)); - //待入职 - long toBeHiredCount = Objects.isNull(positionRegistrationMap.get(statusList.get(2))) ? 0l : positionRegistrationMap.get(statusList.get(2)); - //已入职 - long onTheJobCount = Objects.isNull(positionRegistrationMap.get(statusList.get(3))) ? 0l : positionRegistrationMap.get(statusList.get(3)); - //已离职 - long resignedCount = Objects.isNull(positionRegistrationMap.get(statusList.get(4))) ? 0l : positionRegistrationMap.get(statusList.get(4)); - - for (int i = 0; i < statusList.size(); i++) { - StatisticsBaseDTO statisticsBaseDTO = new StatisticsBaseDTO(); - statisticsBaseDTO.setName(DictUtils.getCodeNameMap("position_registration_status").get(statusList.get(i))); - if (i == 0) { - statisticsBaseDTO.setValueCount(alreadyRegisteredCount); - } else if (i == 1) { - statisticsBaseDTO.setValueCount(waitForAnInterviewCount); - } else if (i == 2) { - statisticsBaseDTO.setValueCount(toBeHiredCount); - } else if (i == 3) { - statisticsBaseDTO.setValueCount(onTheJobCount); - } else if (i == 4) { - statisticsBaseDTO.setValueCount(resignedCount); - } - positionRegistrationList.add(statisticsBaseDTO); - } - - List chatDTOList = chatService.list(ChatQueryDTO.builder().orgId(UserContextHolder.getExistLoginOrgId()).build()); - - orgHomeStatistics.setPositionOpenCount(positionOpenCount); - orgHomeStatistics.setPositionCloseCount(positionCloseCount); - orgHomeStatistics.setUserChatCount(chatDTOList.size()); - orgHomeStatistics.setPositionRegistrationList(positionRegistrationList); - return orgHomeStatistics; - } -} diff --git a/src/main/java/com/newyetai/recruit/talent/controller/ImportDetailTalentController.java b/src/main/java/com/newyetai/recruit/talent/controller/ImportDetailTalentController.java deleted file mode 100644 index 9ce9fd4..0000000 --- a/src/main/java/com/newyetai/recruit/talent/controller/ImportDetailTalentController.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.newyetai.recruit.talent.controller; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -import com.newyetai.common.AlitaResult; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.talent.dto.*; -import com.newyetai.recruit.talent.service.ImportDetailTalentService; - -import org.springframework.web.bind.annotation.*; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * 人才库导入表 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@Api(tags = "人才库导入表") -@RestController -@RequestMapping("/import_detail_talent") -public class ImportDetailTalentController { - - @Autowired - private ImportDetailTalentService importDetailTalentService; - - @PostMapping("/create") - @ApiOperation("人才库导入表-创建") - public AlitaResult create(@RequestBody ImportDetailTalentOperatorDTO operatorDTO) { - return AlitaResult.success(importDetailTalentService.create(operatorDTO)); - } - - @PutMapping("/modify") - @ApiOperation("人才库导入表-修改") - public AlitaResult modify(@RequestBody ImportDetailTalentOperatorDTO operatorDTO) { - return AlitaResult.success(importDetailTalentService.modify(operatorDTO)); - } - - @DeleteMapping("/{id}") - @ApiOperation("人才库导入表-删除") - public AlitaResult delete(@PathVariable("id") Long id) { - return AlitaResult.success(importDetailTalentService.delete(id)); - } - - @GetMapping("/{id}") - @ApiOperation("人才库导入表-查询单个") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(importDetailTalentService.findById(id)); - } - - @GetMapping("/list") - @ApiOperation("人才库导入表-列表查询") - public AlitaResult> list(ImportDetailTalentQueryDTO queryDTO) { - return AlitaResult.success(importDetailTalentService.list(queryDTO)); - } - - @GetMapping("/page") - @ApiOperation("人才库导入表-分页查询") - public AlitaResult> page(ImportDetailTalentPageQueryDTO queryDTO) { - importDetailTalentService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/controller/TalentController.java b/src/main/java/com/newyetai/recruit/talent/controller/TalentController.java deleted file mode 100644 index dc87501..0000000 --- a/src/main/java/com/newyetai/recruit/talent/controller/TalentController.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.newyetai.recruit.talent.controller; - -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -import com.newyetai.common.AlitaResult; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.talent.dto.*; -import com.newyetai.recruit.talent.service.TalentService; - -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * 人才库 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@Api(tags = "人才库") -@RestController -@RequestMapping("/talent") -public class TalentController { - - @Autowired - private TalentService talentService; - - @PostMapping("/create") - @ApiOperation("人才库-创建") - public AlitaResult create(@RequestBody @Validated TalentOperatorDTO operatorDTO) { - return AlitaResult.success(talentService.create(operatorDTO)); - } - - @PutMapping("/modify") - @ApiOperation("人才库-修改") - public AlitaResult modify(@RequestBody @Validated TalentOperatorDTO operatorDTO) { - return AlitaResult.success(talentService.modify(operatorDTO)); - } - - @DeleteMapping("/{id}") - @ApiOperation("人才库-删除") - public AlitaResult delete(@PathVariable("id") Long id) { - return AlitaResult.success(talentService.delete(id)); - } - - @GetMapping("/{id}") - @ApiOperation("人才库-查询单个") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(talentService.findById(id)); - } - - @GetMapping("/list") - @ApiOperation("人才库-列表查询") - public AlitaResult> list(TalentPageQueryDTO queryDTO) { - return AlitaResult.success(talentService.list(queryDTO)); - } - - @GetMapping("/page") - @ApiOperation("人才库-分页查询") - public AlitaResult> page(TalentPageQueryDTO queryDTO) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - Assert.isTrue(!(UserTypeEnum.PERSON.getType().equals(UserContextHolder.getExistUserType())),"用户类型不匹配"); - } - talentService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @GetMapping("/export") - @ApiOperation("人才库-导出") - public void export(TalentPageQueryDTO queryDTO) { - talentService.export(queryDTO); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/convert/ImportDetailTalentConvert.java b/src/main/java/com/newyetai/recruit/talent/convert/ImportDetailTalentConvert.java deleted file mode 100644 index f5cba34..0000000 --- a/src/main/java/com/newyetai/recruit/talent/convert/ImportDetailTalentConvert.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.talent.convert; - -import com.newyetai.recruit.talent.entity.ImportDetailTalent; -import com.newyetai.recruit.talent.dto.ImportDetailTalentDTO; -import com.newyetai.recruit.talent.dto.ImportDetailTalentOperatorDTO; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 人才库导入表 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@Mapper -public interface ImportDetailTalentConvert { - ImportDetailTalentConvert INSTANCE = Mappers.getMapper(ImportDetailTalentConvert.class); - - ImportDetailTalent convert(ImportDetailTalentDTO dto); - - ImportDetailTalentDTO convert(ImportDetailTalent entity); - - ImportDetailTalent convert(ImportDetailTalentOperatorDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/convert/TalentConvert.java b/src/main/java/com/newyetai/recruit/talent/convert/TalentConvert.java deleted file mode 100644 index 0a6a451..0000000 --- a/src/main/java/com/newyetai/recruit/talent/convert/TalentConvert.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.talent.convert; - -import com.newyetai.recruit.talent.entity.Talent; -import com.newyetai.recruit.talent.dto.TalentDTO; -import com.newyetai.recruit.talent.dto.TalentOperatorDTO; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 人才库 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@Mapper -public interface TalentConvert { - TalentConvert INSTANCE = Mappers.getMapper(TalentConvert.class); - - Talent convert(TalentDTO dto); - - TalentDTO convert(Talent entity); - - Talent convert(TalentOperatorDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/dao/ImportDetailTalentMapper.java b/src/main/java/com/newyetai/recruit/talent/dao/ImportDetailTalentMapper.java deleted file mode 100644 index ddbde2c..0000000 --- a/src/main/java/com/newyetai/recruit/talent/dao/ImportDetailTalentMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.talent.dao; - -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.talent.entity.ImportDetailTalent; -import com.newyetai.recruit.talent.dto.ImportDetailTalentDTO; -import com.newyetai.recruit.talent.dto.ImportDetailTalentQueryDTO; -import com.newyetai.recruit.talent.dto.ImportDetailTalentPageQueryDTO; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 人才库导入表 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@Mapper -public interface ImportDetailTalentMapper extends MyMapper { - - List page(@Param("param") ImportDetailTalentPageQueryDTO queryDTO); - - List list(@Param("param") ImportDetailTalentQueryDTO queryDTO); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/dao/TalentMapper.java b/src/main/java/com/newyetai/recruit/talent/dao/TalentMapper.java deleted file mode 100644 index 86a75a0..0000000 --- a/src/main/java/com/newyetai/recruit/talent/dao/TalentMapper.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.newyetai.recruit.talent.dao; - -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.talent.entity.Talent; -import com.newyetai.recruit.talent.dto.TalentDTO; -import com.newyetai.recruit.talent.dto.TalentPageQueryDTO; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 人才库 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@Mapper -public interface TalentMapper extends MyMapper { - - List page(@Param("param") TalentPageQueryDTO queryDTO); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentDTO.java b/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentDTO.java deleted file mode 100644 index 5966b65..0000000 --- a/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentDTO.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.newyetai.recruit.talent.dto; - -import com.newyetai.component.commonimport.dto.ImportDetailSuperDTO; - -import cn.hutool.core.util.StrUtil; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -/** - * 人才库导入表 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@ApiModel("人才库导入表") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class ImportDetailTalentDTO extends ImportDetailSuperDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("导入任务ID") - private Long mainId; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("模板全量数据") - private String dataJson; - - @ApiModelProperty("姓名") - private String realName; - - @ApiModelProperty("身份证号") - private String cardNo; - - @ApiModelProperty("联系方式") - private String contactWay; - - @ApiModelProperty("用户id") - private Long userId; - - @ApiModelProperty("明细状态") - private Integer detailStatus; - - @ApiModelProperty("失败原因") - private String failReason; - - @ApiModelProperty("备注") - private String remark; - - public void appendFailMsg(String msg) { - if (StrUtil.isEmpty(msg)) { - return; - } - if (StrUtil.isEmpty(getFailReason())) { - setFailReason(msg); - } else { - setFailReason(String.join(",", getFailReason(), msg)); - } - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentExecuteDTO.java b/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentExecuteDTO.java deleted file mode 100644 index 2bf3fca..0000000 --- a/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentExecuteDTO.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.newyetai.recruit.talent.dto; - -import com.newyetai.component.commonimport.dto.ImportExecuteSuperDTO; - -import lombok.Data; - -/** - * @description: 确定导入dto - * @author: guixinman - * @create: 2024-04-09 16:19 - **/ -@Data -public class ImportDetailTalentExecuteDTO extends ImportExecuteSuperDTO { - - /** - * 供应商id - */ - private Long companyId; - -} diff --git a/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentExportDTO.java b/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentExportDTO.java deleted file mode 100644 index 4089fa8..0000000 --- a/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentExportDTO.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.newyetai.recruit.talent.dto; - -import java.io.Serializable; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @description: - * @author: guixinman - * @create: 2024-06-12 14:34 - **/ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ImportDetailTalentExportDTO implements Serializable { - - @ApiModelProperty("姓名") - private String realName; - - @ApiModelProperty("身份证号") - private String cardNo; - - @ApiModelProperty("联系方式") - private String contactWay; - - @ApiModelProperty("失败原因") - private String failReason; - - @ApiModelProperty("备注") - private String remark; -} diff --git a/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentListenerDTO.java b/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentListenerDTO.java deleted file mode 100644 index f469a03..0000000 --- a/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentListenerDTO.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.newyetai.recruit.talent.dto; - -import com.alibaba.excel.annotation.ExcelProperty; -import com.newyetai.common.validation.annotation.IdCard; -import com.newyetai.component.commonimport.service.IImportDetailForm; -import javax.validation.groups.Default; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** - * @description: 人才导入dto - * @author: guixinman - * @create: 2024-04-09 16:30 - **/ -@Data -public class ImportDetailTalentListenerDTO implements IImportDetailForm { - - @ApiModelProperty("姓名") - private String realName; - - @ApiModelProperty("身份证") - @IdCard(groups = Default.class) - private String cardNo; - - @ApiModelProperty("联系方式") - private String contactWay; -} diff --git a/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentOperatorDTO.java b/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentOperatorDTO.java deleted file mode 100644 index 756956a..0000000 --- a/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentOperatorDTO.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.newyetai.recruit.talent.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -/** - * 人才库导入表 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@ApiModel("人才库导入表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ImportDetailTalentOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("导入任务ID") - private Long mainId; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("模板全量数据") - private String dataJson; - - @ApiModelProperty("姓名") - private String realName; - - @ApiModelProperty("身份证号") - private String cardNo; - - @ApiModelProperty("联系方式") - private String contactWay; - - @ApiModelProperty("明细状态") - private Integer detailStatus; - - @ApiModelProperty("失败原因") - private String failReason; - - @ApiModelProperty("外部明细id") - private Long extraDetailId; - - @ApiModelProperty("备注") - private String remark; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentPageQueryDTO.java b/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentPageQueryDTO.java deleted file mode 100644 index dfcee20..0000000 --- a/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentPageQueryDTO.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.newyetai.recruit.talent.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - - -import java.util.Date; - -/** - * 人才库导入表 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ - -@ApiModel("人才库导入表") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class ImportDetailTalentPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("导入任务ID") - private Long mainId; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("模板全量数据") - private String dataJson; - - @ApiModelProperty("姓名 (模糊匹配)") - private String realNameLike; - - @ApiModelProperty("身份证号") - private String cardNo; - - @ApiModelProperty("联系方式") - private String contactWay; - - @ApiModelProperty("明细状态") - private Integer detailStatus; - - @ApiModelProperty("失败原因") - private String failReason; - - @ApiModelProperty("备注") - private String remark; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentQueryDTO.java b/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentQueryDTO.java deleted file mode 100644 index 731f93c..0000000 --- a/src/main/java/com/newyetai/recruit/talent/dto/ImportDetailTalentQueryDTO.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.newyetai.recruit.talent.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -/** - * 人才库导入表 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@ApiModel("人才库导入表") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class ImportDetailTalentQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("导入任务ID") - private Long mainId; - - @ApiModelProperty("机构ID") - private Long orgId; - - @ApiModelProperty("模板全量数据") - private String dataJson; - - @ApiModelProperty("姓名 (模糊匹配)") - private String realNameLike; - - @ApiModelProperty("身份证号") - private String cardNo; - - @ApiModelProperty("联系方式") - private String contactWay; - - @ApiModelProperty("明细状态") - private Integer detailStatus; - - @ApiModelProperty("失败原因") - private String failReason; - - @ApiModelProperty("备注") - private String remark; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/dto/TalentDTO.java b/src/main/java/com/newyetai/recruit/talent/dto/TalentDTO.java deleted file mode 100644 index 4f41003..0000000 --- a/src/main/java/com/newyetai/recruit/talent/dto/TalentDTO.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.newyetai.recruit.talent.dto; - -import com.newyetai.common.dto.BaseDTO; -import com.newyetai.common.util.IdcardUtils; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -/** - * 人才库 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@ApiModel("人才库") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class TalentDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - private Long userId; - - @ApiModelProperty("姓名") - private String realName; - - @ApiModelProperty("年龄") - private Integer age; - - @ApiModelProperty("手机号") - private String phone; - - @ApiModelProperty("身份证号") - private String cardNo; - - @ApiModelProperty("联系方式") - private String contactWay; - - @ApiModelProperty("供应商") - private String companyName; - - private Long companyId; - - public void setCardNo(String cardNo) { - this.setAge(IdcardUtils.getAgeByIDNumber(cardNo)); - this.cardNo = cardNo; - } - - public String getCardNo() { - return cardNo; - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/dto/TalentExportDTO.java b/src/main/java/com/newyetai/recruit/talent/dto/TalentExportDTO.java deleted file mode 100644 index bcb3654..0000000 --- a/src/main/java/com/newyetai/recruit/talent/dto/TalentExportDTO.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.newyetai.recruit.talent.dto; - -import com.alibaba.excel.annotation.ExcelProperty; - -import java.io.Serializable; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @description: - * @author: guixinman - * @create: 2024-04-09 15:32 - **/ -@ApiModel("人才库导出") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class TalentExportDTO implements Serializable { - - @ExcelProperty("姓名") - @ApiModelProperty("姓名") - private String realName; - - @ExcelProperty("年龄") - @ApiModelProperty("年龄") - private Integer age; - - @ExcelProperty("手机号") - @ApiModelProperty("手机号") - private String phone; - - @ExcelProperty("身份证号") - @ApiModelProperty("身份证号") - private String cardNo; - - @ExcelProperty("联系方式") - @ApiModelProperty("联系方式") - private String contactWay; - - @ExcelProperty("供应商") - @ApiModelProperty("供应商") - private String companyName; - - @ApiModelProperty("创建时间") - @ExcelProperty("创建时间") - private String createTime; -} diff --git a/src/main/java/com/newyetai/recruit/talent/dto/TalentOperatorDTO.java b/src/main/java/com/newyetai/recruit/talent/dto/TalentOperatorDTO.java deleted file mode 100644 index e5205b9..0000000 --- a/src/main/java/com/newyetai/recruit/talent/dto/TalentOperatorDTO.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.newyetai.recruit.talent.dto; - -import com.newyetai.common.annotation.trimAndUpper.TrimAndUpper; - -import org.hibernate.validator.constraints.Length; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.io.Serializable; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -/** - * 人才库 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@ApiModel("人才库") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -public class TalentOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @Length(max = 18,message = "身份证号超长") - @NotBlank(message = "身份证号不能为空") - @TrimAndUpper(value = TrimAndUpper.ExecuteType.ALL) - @ApiModelProperty("身份证号") - private String cardNo; - - @Length(max = 32,message = "姓名超长") - @NotBlank(message = "姓名不能为空") - @TrimAndUpper(value = TrimAndUpper.ExecuteType.ALL) - @ApiModelProperty("姓名") - private String realName; - - @Length(max = 50,message = "联系方式超长") - @ApiModelProperty("联系方式") - private String contactWay; - - @NotNull(message = "请选择供应商") - @ApiModelProperty("供应商id") - private Long companyId; - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/dto/TalentPageQueryDTO.java b/src/main/java/com/newyetai/recruit/talent/dto/TalentPageQueryDTO.java deleted file mode 100644 index 142f453..0000000 --- a/src/main/java/com/newyetai/recruit/talent/dto/TalentPageQueryDTO.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.newyetai.recruit.talent.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - - -import java.util.Date; -import java.util.Set; - -/** - * 人才库 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ - -@ApiModel("人才库") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class TalentPageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("机构id") - private Long orgId; - - @ApiModelProperty("姓名") - private String realNameLike; - - @ApiModelProperty("身份证号") - private String cardNoLike; - - @ApiModelProperty("身份证号") - private Set cardNos; - - @ApiModelProperty("手机号") - private String phoneLike; - - @ApiModelProperty("联系方式") - private String contactWayLike; - - @ApiModelProperty("供应商id") - private Long companyId; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/dto/TalentQueryDTO.java b/src/main/java/com/newyetai/recruit/talent/dto/TalentQueryDTO.java deleted file mode 100644 index e23a8e9..0000000 --- a/src/main/java/com/newyetai/recruit/talent/dto/TalentQueryDTO.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.newyetai.recruit.talent.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -/** - * 人才库 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@ApiModel("人才库") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class TalentQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("机构id") - private Long orgId; - - @ApiModelProperty("用户id") - private Long userId; - - @ApiModelProperty("联系方式") - private String contactWay; - - @ApiModelProperty("供应商id") - private Long companyId; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/entity/ImportDetailTalent.java b/src/main/java/com/newyetai/recruit/talent/entity/ImportDetailTalent.java deleted file mode 100644 index 9d95c56..0000000 --- a/src/main/java/com/newyetai/recruit/talent/entity/ImportDetailTalent.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.newyetai.recruit.talent.entity; - -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import com.baomidou.mybatisplus.annotation.*; -import com.newyetai.common.entity.BaseEntity; - -/** - * 人才库导入表 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@TableName(value = "hr_import_detail_talent") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class ImportDetailTalent extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 导入任务ID - */ - private Long mainId; - /** - * 机构ID - */ - private Long orgId; - /** - * 模板全量数据 - */ - private String dataJson; - /** - * 姓名 - */ - private String realName; - /** - * 身份证号 - */ - private String cardNo; - /** - * 联系方式 - */ - private String contactWay; - /** - * 明细状态 - */ - private Integer detailStatus; - /** - * 失败原因 - */ - private String failReason; - /** - * 外部明细id - */ - private Long extraDetailId; - /** - * 备注 - */ - private String remark; - - @ApiModelProperty("用户id") - private Long userId; - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/entity/Talent.java b/src/main/java/com/newyetai/recruit/talent/entity/Talent.java deleted file mode 100644 index ca08be6..0000000 --- a/src/main/java/com/newyetai/recruit/talent/entity/Talent.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.newyetai.recruit.talent.entity; - - -import lombok.*; -import com.baomidou.mybatisplus.annotation.*; - -import com.newyetai.common.entity.BaseEntity; - -/** - * 人才库 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@TableName(value = "hr_talent") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class Talent extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 机构id - */ - private Long orgId; - /** - * 用户id - */ - private Long userId; - /** - * 联系方式 - */ - private String contactWay; - /** - * 供应商id - */ - private Long companyId; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/mapper/ImportDetailTalentMapper.xml b/src/main/java/com/newyetai/recruit/talent/mapper/ImportDetailTalentMapper.xml deleted file mode 100644 index f22b6f5..0000000 --- a/src/main/java/com/newyetai/recruit/talent/mapper/ImportDetailTalentMapper.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - FROM - hr_import_detail_talent t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.main_id = #{param.mainId} - - - AND t.org_id = #{param.orgId} - - - AND t.data_json = #{param.dataJson} - - - - AND t.real_name like #{realNameLike} - - - AND t.card_no = #{param.cardNo} - - - AND t.contact_way = #{param.contactWay} - - - AND t.detail_status = #{param.detailStatus} - - - AND t.fail_reason = #{param.failReason} - - - AND t.remark = #{param.remark} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/mapper/TalentMapper.xml b/src/main/java/com/newyetai/recruit/talent/mapper/TalentMapper.xml deleted file mode 100644 index a379e26..0000000 --- a/src/main/java/com/newyetai/recruit/talent/mapper/TalentMapper.xml +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - - - - FROM - hr_talent t - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.org_id = #{param.orgId} - - - AND t.user_id = #{param.userId} - - - AND t.contact_way = #{param.contactWay} - - - AND t.company_id = #{param.companyId} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/service/ImportDetailTalentService.java b/src/main/java/com/newyetai/recruit/talent/service/ImportDetailTalentService.java deleted file mode 100644 index b5e6395..0000000 --- a/src/main/java/com/newyetai/recruit/talent/service/ImportDetailTalentService.java +++ /dev/null @@ -1,71 +0,0 @@ - -package com.newyetai.recruit.talent.service; - -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -import java.util.List; - -import com.newyetai.recruit.talent.dto.*; - -/** - * 人才库导入表 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@Validated(Default.class) -public interface ImportDetailTalentService { - - /** - * 人才库导入表 - 创建 - * - * @param operatorDto 操作dto - * @return {@link ImportDetailTalentDTO} - */ - ImportDetailTalentDTO create(@Valid ImportDetailTalentOperatorDTO operatorDto); - - /** - * 人才库导入表 - 修改 - * - * @param operatorDto 操作dto - * @return {@link ImportDetailTalentDTO} - */ - ImportDetailTalentDTO modify(@Valid ImportDetailTalentOperatorDTO operatorDto); - - /** - * 人才库导入表 - 删除 - * - * @param id id - * @return {@link ImportDetailTalentDTO} - */ - ImportDetailTalentDTO delete(Long id); - - /** - * 人才库导入表 - 根据ID查询单个 - * - * @param id id - * @return {@link ImportDetailTalentDTO} - */ - ImportDetailTalentDTO findById(Long id); - - /** - * 人才库导入表 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link ImportDetailTalentDTO}> - */ - List list(ImportDetailTalentQueryDTO queryDTO); - - /** - * 人才库导入表 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link ImportDetailTalentDTO} - */ - List page(ImportDetailTalentPageQueryDTO queryDTO); - - void batchCreate(List importDetailTalentDTOS); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/service/TalentService.java b/src/main/java/com/newyetai/recruit/talent/service/TalentService.java deleted file mode 100644 index 27eb9b6..0000000 --- a/src/main/java/com/newyetai/recruit/talent/service/TalentService.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.newyetai.recruit.talent.service; - -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -import java.util.List; - -import com.newyetai.recruit.talent.dto.*; -import com.newyetai.recruit.talent.entity.Talent; - -/** - * 人才库 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@Validated(Default.class) -public interface TalentService { - - /** - * 人才库 - 创建 - * - * @param operatorDto 操作dto - * @return {@link TalentDTO} - */ - TalentDTO create(@Valid TalentOperatorDTO operatorDto); - - /** - * 人才库 - 修改 - * - * @param operatorDto 操作dto - * @return {@link TalentDTO} - */ - TalentDTO modify(@Valid TalentOperatorDTO operatorDto); - - /** - * 人才库 - 删除 - * - * @param id id - * @return {@link TalentDTO} - */ - TalentDTO delete(Long id); - - /** - * 人才库 - 根据ID查询单个 - * - * @param id id - * @return {@link TalentDTO} - */ - TalentDTO findById(Long id); - - /** - * 人才库 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link TalentDTO}> - */ - List list(TalentPageQueryDTO queryDTO); - - /** - * 人才库 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link TalentDTO} - */ - List page(TalentPageQueryDTO queryDTO); - - void export(TalentPageQueryDTO queryDTO); - - /** - * @description: 确定导入用的创建 - * @return: id - * @author: guixinman - * @param: - */ - Long importCreate(Talent talent); - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/service/impl/ImportDetailTalentProvider.java b/src/main/java/com/newyetai/recruit/talent/service/impl/ImportDetailTalentProvider.java deleted file mode 100644 index a52130b..0000000 --- a/src/main/java/com/newyetai/recruit/talent/service/impl/ImportDetailTalentProvider.java +++ /dev/null @@ -1,325 +0,0 @@ -package com.newyetai.recruit.talent.service.impl; - -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; - -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.read.builder.ExcelReaderBuilder; -import com.newyetai.common.dto.ExportHeadDetailInfoDTO; -import com.newyetai.common.dto.ExportHeadInfoDTO; -import com.newyetai.common.easyexcel.ExcelUtil; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.JsonUtils; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.common.validation.util.ValidateUtils; -import com.newyetai.component.commonimport.constant.ImportDetailStatusEnum; -import com.newyetai.component.commonimport.constant.ImportStatusEnum; -import com.newyetai.component.commonimport.constant.ImportTypeEnum; -import com.newyetai.component.commonimport.dto.ImportDetailPageDTO; -import com.newyetai.component.commonimport.dto.ImportMainDTO; -import com.newyetai.component.commonimport.dto.ImportMainQueryDTO; -import com.newyetai.component.commonimport.dto.ImportMainUpdateDTO; -import com.newyetai.component.commonimport.service.ImportMainService; -import com.newyetai.component.commonimport.service.impl.AbstractCommonImportProvider; -import com.newyetai.component.dict.util.DictUtils; -import com.newyetai.component.file.entity.FileRecord; -import com.newyetai.component.file.service.FileRecordService; -import com.newyetai.recruit.position.dto.ImportDetailPositionExportDTO; -import com.newyetai.recruit.talent.dto.ImportDetailTalentDTO; -import com.newyetai.recruit.talent.dto.ImportDetailTalentExecuteDTO; -import com.newyetai.recruit.talent.dto.ImportDetailTalentExportDTO; -import com.newyetai.recruit.talent.dto.ImportDetailTalentListenerDTO; -import com.newyetai.recruit.talent.dto.ImportDetailTalentOperatorDTO; -import com.newyetai.recruit.talent.dto.ImportDetailTalentPageQueryDTO; -import com.newyetai.recruit.talent.dto.ImportDetailTalentQueryDTO; -import com.newyetai.recruit.talent.entity.Talent; -import com.newyetai.recruit.talent.service.ImportDetailTalentService; -import com.newyetai.recruit.talent.service.TalentService; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.usercenter.user.dto.OrgUserOperateDTO; -import com.newyetai.usercenter.user.dto.SuperRealNameTwoAuthDTO; -import com.newyetai.usercenter.user.service.OrgUserService; -import com.newyetai.usercenter.user.service.UserRealNameTwoVerificationService; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -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.io.InputStream; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.stream.Collectors; - -import cn.hutool.json.JSONUtil; -import lombok.extern.slf4j.Slf4j; - -/** - * @description: - * @author: guixinman - * @create: 2024-04-09 16:18 - **/ -@Service -@Slf4j -public class ImportDetailTalentProvider extends AbstractCommonImportProvider { - - @Autowired - private ImportMainService importMainService; - - @Autowired - private FileRecordService fileRecordService; - - @Autowired - private ImportDetailTalentService importDetailTalentService; - - @Autowired - private UserRealNameTwoVerificationService userRealNameTwoVerificationService; - - @Autowired - private OrgUserService orgUserService; - - @Autowired - private TalentService talentService; - - public ImportDetailTalentProvider(ImportMainService imprImportMainService) { - super(imprImportMainService); - } - - @Override - public String getType() { - return ImportTypeEnum.TALENT.getType(); - } - - @Override - public Page pageDetail(ImportDetailPageDTO importDetailPageDTO) { - ImportDetailTalentPageQueryDTO queryDTO = new ImportDetailTalentPageQueryDTO(); - BeanUtils.copyProperties(importDetailPageDTO, queryDTO); - importDetailTalentService.page(queryDTO); - return queryDTO.getPageResult(); - } - - @Override - public void importDetailExport(ImportDetailPageDTO importDetailPageDTO) { - ImportDetailTalentPageQueryDTO queryDTO = new ImportDetailTalentPageQueryDTO(); - BeanUtils.copyProperties(importDetailPageDTO, queryDTO); - queryDTO.disablePage(); - List list = importDetailTalentService.page(queryDTO); - - List exportDTOList = list.stream().map(dto -> { - ImportDetailTalentExportDTO exportDTO = JsonUtils.toObject(dto.getDataJson(), ImportDetailTalentExportDTO.class); - exportDTO.setRemark(dto.getRemark()); - exportDTO.setFailReason(dto.getFailReason()); - return exportDTO; - }).collect(Collectors.toList()); - - if (org.springframework.util.CollectionUtils.isEmpty(exportDTOList)) { - return; - } - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); - String commonImportDetailStatus = DictUtils.getCodeNameMap("common_import_detail_status").get(String.valueOf(importDetailPageDTO.getDetailStatus())); - String fileName = "人才导入" + ( StringUtils.isNotBlank(commonImportDetailStatus) ? commonImportDetailStatus : "") + "明细导出" + "(" + formatter.format(LocalDateTime.now()) + ")"; - - ExportHeadInfoDTO infoDTO = ExportHeadInfoDTO.builder() - .fileName(fileName) - .build(); - List heads = infoDTO.getHeads(); - heads.add(ExportHeadDetailInfoDTO.builder().head("姓名").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("身份证号").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("联系方式").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("失败原因").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("备注").build()); - - List datas = Lists.newArrayList(); - for (ImportDetailTalentExportDTO dto : exportDTOList) { - List objects = Lists.newArrayList(); - datas.add(objects); - objects.add(dto.getRealName()); - objects.add(dto.getCardNo()); - objects.add(dto.getContactWay()); - objects.add(dto.getFailReason()); - objects.add(dto.getRemark()); - - } - infoDTO.setDatas(datas); - - ExcelUtil.dynamicExportTemplate(infoDTO); - - } - - @Override - public List analy(Long mainId) { - // 解析文件+明细 - ImportMainDTO importMainDTO = importMainService.find(ImportMainQueryDTO.builder().id(mainId).build()); - Assert.notNull(importMainDTO, "未查询到导入的数据"); - - FileRecord fileRecord; - try { - fileRecord = fileRecordService.find(FileRecord.builder().fileCode(importMainDTO.getFileCode()).build()); - } catch (Exception e) { - log.info("导入文件异常,", e); - fileRecord = null; - } - Assert.notNull(fileRecord, "上传文件不存在"); - try (InputStream is = fileRecordService.getFile(importMainDTO.getFileCode())) { - ImportTalentExcelListener listener = new ImportTalentExcelListener(); - ExcelReaderBuilder reader = EasyExcel.read(is, ImportDetailTalentListenerDTO.class, listener); - reader.sheet().doRead(); - List importDetailTalentListenerDTOS = listener.getImportDTOs(); - Assert.isTrue(!importDetailTalentListenerDTOS.isEmpty(), "导入文件无有效数据"); - return importDetailTalentListenerDTOS; - } catch (Exception e) { - throw new BusinessException(e.getMessage()); - } - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void checkAndSave(Long mainId, List detailCreateDtos) { - //更改状态为校验中 - ImportMainUpdateDTO updateDto = ImportMainUpdateDTO.builder().id(mainId) - .oldStatusSet(Sets.newHashSet(ImportStatusEnum.INIT.getStatus())) - .newStatus(ImportStatusEnum.CHECKING.getStatus()) - .build(); - importMainService.modify(updateDto); - - List importDetailTalentDTOS = new ArrayList<>(); - - //存储姓名+身份证号。用于校验 导入的数据中有没有重复的 - List realNameCardNos = new ArrayList<>(); - - for (ImportDetailTalentListenerDTO importDetailTalentListenerDTO : detailCreateDtos) { - importDetailTalentListenerDTO.setCardNo(StringUtils.upperCase(StringUtils.trim(importDetailTalentListenerDTO.getCardNo()))); - importDetailTalentListenerDTO.setRealName(StringUtils.trim(importDetailTalentListenerDTO.getRealName())); - - ImportDetailTalentDTO importDetailTalentDTO = new ImportDetailTalentDTO(); - - this.checkAndFill(importDetailTalentDTO, importDetailTalentListenerDTO); - - if (StringUtils.isBlank(importDetailTalentDTO.getFailReason())) { - if (realNameCardNos.contains(StringUtils.join(importDetailTalentListenerDTO.getRealName(), importDetailTalentListenerDTO.getCardNo()))) { - importDetailTalentDTO.appendFailMsg("姓名+身份证号出现多次"); - } - //存储姓名+身份证号 - realNameCardNos.add(StringUtils.join(importDetailTalentListenerDTO.getRealName(), importDetailTalentListenerDTO.getCardNo())); - } - - if (StringUtils.isNotBlank(importDetailTalentDTO.getFailReason())) { - importDetailTalentDTO.setDetailStatus(ImportDetailStatusEnum.CHECK_FAIL.getStatus()); - } else { - importDetailTalentDTO.setDetailStatus(ImportDetailStatusEnum.CHECK_SUCCESS.getStatus()); - } - importDetailTalentDTO.setMainId(mainId); - importDetailTalentDTO.setOrgId(UserContextHolder.getExistLoginOrgId()); - importDetailTalentDTOS.add(importDetailTalentDTO); - } - importDetailTalentService.batchCreate(importDetailTalentDTOS); - super.finishCheck(mainId, importDetailTalentDTOS); - } - - /** - * @param importDetailTalentDTO 插入导入表对象 - * @param importDetailTalentListenerDTO 解析导入明细对象 - * @description: 基础校验 -> 二要素认证 -> 创建个人用户 - * @return: - * @author: guixinman - */ - private void checkAndFill(ImportDetailTalentDTO importDetailTalentDTO, ImportDetailTalentListenerDTO importDetailTalentListenerDTO) { - LinkedHashMap dateJson = new LinkedHashMap(); - dateJson.put("realName", importDetailTalentListenerDTO.getRealName()); - dateJson.put("cardNo", importDetailTalentListenerDTO.getCardNo()); - dateJson.put("contactWay", importDetailTalentListenerDTO.getContactWay()); - - BeanUtils.copyProperties(importDetailTalentListenerDTO, importDetailTalentDTO); - importDetailTalentDTO.setDataJson(JSONUtil.toJsonStr(dateJson)); - - //必填项校验(姓名、身份证号)、基础格式校验(姓名/身份证/联系方式)、实名认证(二要素校验) - - //校验 姓名/身份证/联系方式 - if (StringUtils.isBlank(importDetailTalentListenerDTO.getRealName())) { - importDetailTalentDTO.appendFailMsg("姓名不能为空"); - } else if (importDetailTalentListenerDTO.getRealName().length() > 32) { - importDetailTalentDTO.appendFailMsg("姓名超过最大限制长度"); - importDetailTalentDTO.setRealName(null); - } else if (!ValidateUtils.checkRealName(importDetailTalentListenerDTO.getRealName())) { - importDetailTalentDTO.appendFailMsg("姓名格式不正确"); - } - - if (StringUtils.isBlank(importDetailTalentListenerDTO.getCardNo())) { - importDetailTalentDTO.appendFailMsg("身份证不能为空"); - } else if (importDetailTalentListenerDTO.getCardNo().length() > 18) { - importDetailTalentDTO.appendFailMsg("身份证号超过最大限制长度"); - importDetailTalentDTO.setCardNo(null); - } else if (!ValidateUtils.isIdCard(importDetailTalentListenerDTO.getCardNo())) { - importDetailTalentDTO.appendFailMsg("身份证格式不正确"); - } - - if (StringUtils.isNotBlank(importDetailTalentListenerDTO.getContactWay()) && importDetailTalentListenerDTO.getContactWay().length() > 50) { - importDetailTalentDTO.appendFailMsg("联系方式超过最大限制长度"); - importDetailTalentDTO.setContactWay(null); - } - - if (StringUtils.isBlank(importDetailTalentDTO.getFailReason())) { - - Long userId; - try { - // 直接认证,创建用户 - userId = userRealNameTwoVerificationService.superAuth( - SuperRealNameTwoAuthDTO.builder().realName(importDetailTalentDTO.getRealName()).cardNo(importDetailTalentDTO.getCardNo()).build()); - importDetailTalentDTO.setUserId(userId); - } catch (Exception e) { - importDetailTalentDTO.appendFailMsg("实名认证失败: " + e.getMessage()); - return; - } - - try { - //绑定机构 - orgUserService.create( - OrgUserOperateDTO.builder() - .orgId(UserContextHolder.getExistLoginOrgId()) - .userId(userId) - .build()); - } catch (Exception e) { - importDetailTalentDTO.appendFailMsg("个人用户绑定机构失败: " + e.getMessage()); - return; - } - } - - } - - @Transactional(rollbackFor = Exception.class) - @Override - public Long execute(ImportDetailTalentExecuteDTO executeDto) { - Long mainId = executeDto.getMainId(); - Assert.notNull(mainId, "参数异常"); - - ImportMainDTO importMainDTO = importMainService.find(ImportMainQueryDTO.builder().id(mainId).build()); - Assert.notNull(importMainDTO, "未查询到导入数据"); - - List importDetailTalentDTOS = importDetailTalentService.list(ImportDetailTalentQueryDTO.builder().mainId(mainId).detailStatus(ImportDetailStatusEnum.CHECK_SUCCESS.getStatus()).build()); - if (CollectionUtils.isEmpty(importDetailTalentDTOS)) { - throw new BusinessException("未查询到成功的明细数据"); - } - - for (ImportDetailTalentDTO importDetailTalentDTO : importDetailTalentDTOS) { - Talent talent = new Talent(); - talent.setContactWay(importDetailTalentDTO.getContactWay()); - talent.setCompanyId(executeDto.getCompanyId()); - talent.setUserId(importDetailTalentDTO.getUserId()); - talent.setOrgId(UserContextHolder.getExistLoginOrgId()); - Long talentId = talentService.importCreate(talent); - ImportDetailTalentOperatorDTO updateImportDetailTalentDTO = new ImportDetailTalentOperatorDTO(); - BeanUtils.copyProperties(importDetailTalentDTO, updateImportDetailTalentDTO); - updateImportDetailTalentDTO.setExtraDetailId(talentId); - importDetailTalentService.modify(updateImportDetailTalentDTO); - } - - return null; - } -} - diff --git a/src/main/java/com/newyetai/recruit/talent/service/impl/ImportDetailTalentServiceImpl.java b/src/main/java/com/newyetai/recruit/talent/service/impl/ImportDetailTalentServiceImpl.java deleted file mode 100644 index 2d6b76d..0000000 --- a/src/main/java/com/newyetai/recruit/talent/service/impl/ImportDetailTalentServiceImpl.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.newyetai.recruit.talent.service.impl; - -import lombok.extern.slf4j.Slf4j; - -import com.newyetai.recruit.talent.convert.ImportDetailTalentConvert; -import com.newyetai.recruit.talent.entity.ImportDetailTalent; -import com.newyetai.recruit.talent.dto.*; -import com.newyetai.recruit.talent.dao.ImportDetailTalentMapper; -import com.newyetai.recruit.talent.service.ImportDetailTalentService; - -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.newyetai.common.util.UserContextHolder; - -import javax.annotation.Resource; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * 人才库导入表 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@Slf4j -@Service -public class ImportDetailTalentServiceImpl implements ImportDetailTalentService { - - @Resource - private ImportDetailTalentMapper importDetailTalentMapper; - - @Override - public ImportDetailTalentDTO create(ImportDetailTalentOperatorDTO operatorDto) { - ImportDetailTalent importDetailTalent = ImportDetailTalentConvert.INSTANCE.convert(operatorDto); - importDetailTalentMapper.saveEntity(importDetailTalent); - return ImportDetailTalentConvert.INSTANCE.convert(importDetailTalent); - } - - @Override - public ImportDetailTalentDTO modify(ImportDetailTalentOperatorDTO operatorDto) { - ImportDetailTalentDTO importDetailTalentDto = this.findById(operatorDto.getId()); - if (Objects.isNull(importDetailTalentDto)) { - return null; - } - ImportDetailTalent importDetailTalent = ImportDetailTalentConvert.INSTANCE.convert(operatorDto); - importDetailTalentMapper.updateEntitySelective(importDetailTalent); - return this.findById(operatorDto.getId()); - } - - @Override - public ImportDetailTalentDTO delete(Long id) { - ImportDetailTalentDTO importDetailTalentDto = this.findById(id); - if (Objects.isNull(importDetailTalentDto)) { - return null; - } - ImportDetailTalent importDetailTalent = ImportDetailTalent.builder().build(); - importDetailTalent.setId(id); - importDetailTalentMapper.deleteEntity(importDetailTalent, UserContextHolder.getLoginUserId()); - return importDetailTalentDto; - } - - @Override - public ImportDetailTalentDTO findById(Long id) { - ImportDetailTalent importDetailTalent = importDetailTalentMapper.getById(id); - if (Objects.isNull(importDetailTalent)) { - return null; - } - return ImportDetailTalentConvert.INSTANCE.convert(importDetailTalent); - } - - @Override - public List list(ImportDetailTalentQueryDTO queryDTO) { - return importDetailTalentMapper.list(queryDTO); - } - - @Override - public List page(ImportDetailTalentPageQueryDTO queryDTO) { - return importDetailTalentMapper.page(queryDTO); - } - - @Transactional(rollbackFor = Exception.class) - @Override - public void batchCreate(List importDetailTalentDTOS) { - if (CollectionUtils.isEmpty(importDetailTalentDTOS)) { - return; - } - - List importDetailTalents = importDetailTalentDTOS.stream().map(dto -> { - ImportDetailTalent importDetailTalent = new ImportDetailTalent(); - BeanUtils.copyProperties(dto, importDetailTalent); - return importDetailTalent; - }).collect(Collectors.toList()); - - importDetailTalentMapper.saveEntites(importDetailTalents); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/talent/service/impl/ImportTalentExcelListener.java b/src/main/java/com/newyetai/recruit/talent/service/impl/ImportTalentExcelListener.java deleted file mode 100644 index bf4889c..0000000 --- a/src/main/java/com/newyetai/recruit/talent/service/impl/ImportTalentExcelListener.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.newyetai.recruit.talent.service.impl; - -import com.alibaba.excel.context.AnalysisContext; -import com.alibaba.excel.event.AnalysisEventListener; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.recruit.talent.dto.ImportDetailTalentListenerDTO; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @description: 人才库导入 - * @author: guixinman - * @create: 2024-04-09 16:49 - **/ -public class ImportTalentExcelListener extends AnalysisEventListener{ - - private List dtos; - private Map headMap = new HashMap<>(); - public ImportTalentExcelListener() { - this.dtos = new ArrayList<>(); - } - - @Override - public void invoke(ImportDetailTalentListenerDTO data, AnalysisContext context) { - dtos.add(data); - } - - @Override - public void doAfterAllAnalysed(AnalysisContext context) { - - } - @Override - public void invokeHeadMap(Map headMap, AnalysisContext context) { - this.headMap = headMap; - if (headMap.isEmpty()) { - throw new BusinessException("导入模板表头有误"); - } - //姓名、身份证号、发放金额、备注 - if (headMap.size() != 3) { - throw new BusinessException("导入模板表头有误"); - } - Assert.isTrue(headMap.get(0).toString().contains("姓名"),"导入模板表头有误"); - Assert.isTrue(headMap.get(1).toString().contains("身份证"),"导入模板表头有误"); - Assert.isTrue(headMap.get(2).toString().contains("联系方式"),"导入模板表头有误"); - - } - - public List getImportDTOs(){ - return this.dtos; - } -} diff --git a/src/main/java/com/newyetai/recruit/talent/service/impl/TalentServiceImpl.java b/src/main/java/com/newyetai/recruit/talent/service/impl/TalentServiceImpl.java deleted file mode 100644 index 26119c4..0000000 --- a/src/main/java/com/newyetai/recruit/talent/service/impl/TalentServiceImpl.java +++ /dev/null @@ -1,288 +0,0 @@ -package com.newyetai.recruit.talent.service.impl; - -import com.google.common.collect.Lists; - -import cn.hutool.core.date.DateUtil; -import com.newyetai.usercenter.enums.UserType; -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import lombok.extern.slf4j.Slf4j; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.dto.ExportHeadDetailInfoDTO; -import com.newyetai.common.dto.ExportHeadInfoDTO; -import com.newyetai.common.easyexcel.ExcelUtil; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.recruit.company.dto.HrCompanyDTO; -import com.newyetai.recruit.company.dto.HrCompanyPageQueryDTO; -import com.newyetai.recruit.company.enums.HrCompanyEnum; -import com.newyetai.recruit.company.service.IHrCompanyService; -import com.newyetai.frame.redis.aop.annotation.AutoUnLock; -import com.newyetai.frame.redis.dto.LockDTO; -import com.newyetai.frame.redis.redisson.RedissonUtils; -import com.newyetai.recruit.talent.convert.TalentConvert; -import com.newyetai.recruit.talent.entity.Talent; -import com.newyetai.recruit.talent.dto.*; -import com.newyetai.recruit.talent.dao.TalentMapper; -import com.newyetai.recruit.talent.service.TalentService; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.usercenter.user.dao.UserMapper; -import com.newyetai.usercenter.user.dto.SuperRealNameTwoAuthDTO; -import com.newyetai.usercenter.user.entity.User; -import com.newyetai.usercenter.user.service.UserRealNameTwoVerificationService; - -import javax.annotation.Resource; - -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 人才库 - * - * @author guixinman - * @since 1.0.0 2024-04-09 - */ -@Slf4j -@Service -public class TalentServiceImpl implements TalentService { - - @Resource - private TalentMapper talentMapper; - - @Autowired - private UserRealNameTwoVerificationService userRealNameTwoVerificationService; - - @Resource - private UserMapper userMapper; - - @Autowired - private IHrCompanyService hrCompanyService; - - @Transactional(rollbackFor = Exception.class) - @AutoUnLock - @Override - public TalentDTO create(TalentOperatorDTO operatorDto) { - Assert.isTrue( - RedissonUtils.tryLockAutomatically( - LockDTO.builder() - .tryLockWaitTime(0L) - .lockTimeout(60 * 5L) - .methodName("talent:create") - .arg(operatorDto.getRealName()) - .arg(operatorDto.getCardNo()) - .arg(String.valueOf(UserContextHolder.getExistLoginOrgId())) - .build() - ), - "请稍后再试"); - - HrCompanyDTO hrCompanyDTO = hrCompanyService.find(HrCompanyPageQueryDTO.builder().id(operatorDto.getCompanyId()).companyType(HrCompanyEnum.GYS.getType()).build()); - Assert.notNull(hrCompanyDTO, "供应商不存在"); - - //姓名+身份证号进行实名,且在当前机构下唯一 - // 直接认证,创建用户 - Long userId = userRealNameTwoVerificationService.superAuth( - SuperRealNameTwoAuthDTO.builder().realName(operatorDto.getRealName()).cardNo(operatorDto.getCardNo()).build()); - - - Talent talent = TalentConvert.INSTANCE.convert(operatorDto); - talent.setUserId(userId); - talent.setOrgId(UserContextHolder.getExistLoginOrgId()); - - List talents = talentMapper.selectList( - new LambdaQueryWrapper() - .eq(Talent::getDeleted, false) - .eq(Talent::getOrgId, talent.getOrgId()) - .eq(Talent::getUserId, talent.getUserId()) - ); - if (CollectionUtils.isEmpty(talents)) { - talentMapper.saveEntity(talent); - } - - return TalentConvert.INSTANCE.convert(talentMapper.selectOne(new LambdaQueryWrapper() - .eq(Talent::getDeleted, false) - .eq(Talent::getOrgId, talent.getOrgId()) - .eq(Talent::getUserId, talent.getUserId()))); - } - - @Override - public TalentDTO modify(TalentOperatorDTO operatorDto) { - Assert.notNull(operatorDto.getId(), "参数缺失"); - - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .eq(Talent::getDeleted, false) - .eq(Talent::getId, operatorDto.getId()); - - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - queryWrapper.eq(Talent::getOrgId, UserContextHolder.getExistLoginOrgId()); - } - - Talent talent = talentMapper.selectOne(queryWrapper); - if (Objects.isNull(talent)) { - throw new BusinessException("未查询到数据"); - } - User user = userMapper.getById(talent.getUserId()); - Assert.notNull(user, "用户不存在"); - - HrCompanyDTO hrCompanyDTO = hrCompanyService.find(HrCompanyPageQueryDTO.builder().id(operatorDto.getCompanyId()).companyType(HrCompanyEnum.GYS.getType()).build()); - Assert.notNull(hrCompanyDTO, "供应商不存在"); - - Talent newTalent = new Talent(); - newTalent.setId(operatorDto.getId()); - newTalent.setContactWay(operatorDto.getContactWay()); - newTalent.setCompanyId(operatorDto.getCompanyId()); - newTalent.setUserId(user.getId()); - talentMapper.updateEntitySelective(newTalent); - return this.findById(operatorDto.getId()); - } - - @Override - public TalentDTO delete(Long id) { - TalentDTO talentDto = this.findById(id); - if (Objects.isNull(talentDto)) { - return null; - } - Talent talent = Talent.builder().build(); - talent.setId(id); - talentMapper.deleteEntity(talent, UserContextHolder.getLoginUserId()); - return talentDto; - } - - @Override - public TalentDTO findById(Long id) { - TalentPageQueryDTO queryDTO = new TalentPageQueryDTO(); - queryDTO.setId(id); - List list = this.page(queryDTO); - return org.apache.commons.collections.CollectionUtils.isEmpty(list) ? null : list.get(0); - } - - @Override - public List list(TalentPageQueryDTO queryDTO) { - queryDTO.disablePage(); - return this.page(queryDTO); - } - - @Override - public List page(TalentPageQueryDTO queryDTO) { - if (!CommonConstants.PLATFORM_ORG_ID.equals(UserContextHolder.getExistLoginOrgId())) { - queryDTO.setOrgId(UserContextHolder.getExistLoginOrgId()); - } - return talentMapper.page(queryDTO); - } - - @Override - public void export(TalentPageQueryDTO queryDTO) { - boolean flag = true; - Integer pageNo = 1; - Integer pageSize = 100; - - List listAll = new ArrayList<>(); - - while (flag) { - queryDTO.setPageNo(pageNo); - queryDTO.setPageSize(pageSize); - List list = this.page(queryDTO); - if (org.springframework.util.CollectionUtils.isEmpty(list)) { - flag = false; - continue; - } - if (list.size() < pageSize) { - flag = false; - } - pageNo = pageNo + 1; - listAll.addAll(list); - } - List collect = listAll.stream().map(dto -> { - TalentExportDTO talentExportDTO = new TalentExportDTO(); - BeanUtils.copyProperties(dto, talentExportDTO); - talentExportDTO.setCreateTime(DateUtil.format(dto.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); - return talentExportDTO; - }).collect(Collectors.toList()); - - if (org.springframework.util.CollectionUtils.isEmpty(collect)) { - return; - } - - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); - String fileName = "人才明细导出" + "(" + formatter.format(LocalDateTime.now()) + ")"; - - ExportHeadInfoDTO infoDTO = ExportHeadInfoDTO.builder() - .fileName(fileName) - .build(); - List heads = infoDTO.getHeads(); - heads.add(ExportHeadDetailInfoDTO.builder().head("姓名").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("年龄").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("手机号").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("身份证号").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("联系方式").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("供应商").build()); - heads.add(ExportHeadDetailInfoDTO.builder().head("创建时间").build()); - - List datas = Lists.newArrayList(); - for (TalentExportDTO dto : collect) { - List objects = Lists.newArrayList(); - datas.add(objects); - objects.add(dto.getRealName()); - objects.add(dto.getAge()); - objects.add(dto.getPhone()); - objects.add(dto.getCardNo()); - objects.add(dto.getContactWay()); - objects.add(dto.getCompanyName()); - objects.add(dto.getCreateTime()); - } - infoDTO.setDatas(datas); - - ExcelUtil.dynamicExportTemplate(infoDTO); - } - - @Transactional(rollbackFor = Exception.class) - @AutoUnLock - @Override - public Long importCreate(Talent talent) { - User user = userMapper.getById(talent.getUserId()); - Assert.notNull(user, "用户不存在"); - - Assert.isTrue( - RedissonUtils.tryLockAutomatically( - LockDTO.builder() - .tryLockWaitTime(0L) - .lockTimeout(60 * 5L) - .methodName("talent:create") - .arg(user.getRealName()) - .arg(user.getCardNo()) - .arg(String.valueOf(UserContextHolder.getExistLoginOrgId())) - .build() - ), - "该用户正在操作中,请检查"); - - List talents = talentMapper.selectList( - new LambdaQueryWrapper() - .eq(Talent::getDeleted, false) - .eq(Talent::getOrgId, talent.getOrgId()) - .eq(Talent::getUserId, talent.getUserId()) - ); - if (CollectionUtils.isEmpty(talents)) { - talentMapper.saveEntity(talent); - } else { - Long companyId = talents.get(0).getCompanyId(); - if (companyId.longValue() != talent.getCompanyId().longValue()) { - Talent updateTalent = new Talent(); - updateTalent.setId(talents.get(0).getId()); - updateTalent.setCompanyId(companyId); - talentMapper.updateEntitySelective(updateTalent); - } - } - return talent.getId(); - } - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/tencent/controller/TencentController.java b/src/main/java/com/newyetai/recruit/tencent/controller/TencentController.java deleted file mode 100644 index fb589f5..0000000 --- a/src/main/java/com/newyetai/recruit/tencent/controller/TencentController.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.newyetai.recruit.tencent.controller; - -import com.newyetai.common.AlitaResult; -import com.newyetai.recruit.tencent.service.TencentService; -import com.newyetai.sdk.tencent.map.dto.TencentMapBaseResDTO; -import com.newyetai.sdk.tencent.map.dto.TencentMapLocationV1IpResDTO; -import com.newyetai.sdk.tencent.map.dto.TencentMapPlaceSearchReqDTO; -import com.newyetai.sdk.tencent.map.dto.TencentMapWsDistanceV1MatrixReqDTO; -import com.newyetai.sdk.tencent.map.dto.TencentWsDistanceV1MatrixResDTO; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @description: - * @author: guixinman - * @create: 2024-12-18 14:14 - **/ -@RestController -@RequestMapping("/tencent") -public class TencentController { - - @Autowired - private TencentService tencentService; - - @GetMapping("/ws/location/v1/ip") - public AlitaResult wsLocationV1Ip() { - return tencentService.wsLocationV1Ip(); - } - - @GetMapping("/ws/distance/v1/matrix") - public AlitaResult wsDistanceV1Matrix(TencentMapWsDistanceV1MatrixReqDTO reqDTO) { - return tencentService.wsDistanceV1Matrix(reqDTO); - } - - @GetMapping("/ws/place/v1/search") - public AlitaResult placeSearch(TencentMapPlaceSearchReqDTO reqDTO) { - return tencentService.placeSearch(reqDTO); - } -} diff --git a/src/main/java/com/newyetai/recruit/tencent/service/TencentService.java b/src/main/java/com/newyetai/recruit/tencent/service/TencentService.java deleted file mode 100644 index 1f2aa06..0000000 --- a/src/main/java/com/newyetai/recruit/tencent/service/TencentService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.newyetai.recruit.tencent.service; - -import com.newyetai.common.AlitaResult; -import com.newyetai.sdk.tencent.map.dto.TencentMapBaseResDTO; -import com.newyetai.sdk.tencent.map.dto.TencentMapLocationV1IpResDTO; -import com.newyetai.sdk.tencent.map.dto.TencentMapPlaceSearchReqDTO; -import com.newyetai.sdk.tencent.map.dto.TencentMapWsDistanceV1MatrixReqDTO; -import com.newyetai.sdk.tencent.map.dto.TencentWsDistanceV1MatrixResDTO; - -public interface TencentService { - - AlitaResult wsLocationV1Ip(); - - AlitaResult wsDistanceV1Matrix(TencentMapWsDistanceV1MatrixReqDTO reqDTO); - - AlitaResult placeSearch(TencentMapPlaceSearchReqDTO reqDTO); -} diff --git a/src/main/java/com/newyetai/recruit/tencent/service/impl/TencentServiceImpl.java b/src/main/java/com/newyetai/recruit/tencent/service/impl/TencentServiceImpl.java deleted file mode 100644 index cc68433..0000000 --- a/src/main/java/com/newyetai/recruit/tencent/service/impl/TencentServiceImpl.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.newyetai.recruit.tencent.service.impl; - -import com.newyetai.common.AlitaResult; -import com.newyetai.common.util.RequestUtils; -import com.newyetai.common.util.SpringContextHolder; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.recruit.tencent.service.TencentService; -import com.newyetai.sdk.tencent.map.TencentMapContext; -import com.newyetai.sdk.tencent.map.dto.TencentMapBaseResDTO; -import com.newyetai.sdk.tencent.map.dto.TencentMapLocationV1IpResDTO; -import com.newyetai.sdk.tencent.map.dto.TencentMapPlaceSearchReqDTO; -import com.newyetai.sdk.tencent.map.dto.TencentMapWsDistanceV1MatrixReqDTO; -import com.newyetai.sdk.tencent.map.dto.TencentMapWsLocationV1IpReqDTO; -import com.newyetai.sdk.tencent.map.dto.TencentWsDistanceV1MatrixResDTO; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -/** - * @description: - * @author: guixinman - * @create: 2024-12-18 14:14 - **/ -@Service -public class TencentServiceImpl implements TencentService { - - @Autowired - private TencentMapContext tencentMapContext; - - @Override - public AlitaResult wsLocationV1Ip() { - return tencentMapContext.webServiceWsLocationV1Ip(TencentMapWsLocationV1IpReqDTO.builder().ip(RequestUtils.getIpAddress(SpringContextHolder.getRequest())).build()); - } - - @Override - public AlitaResult wsDistanceV1Matrix(TencentMapWsDistanceV1MatrixReqDTO reqDTO) { - return tencentMapContext.wsDistanceV1MatrixReqDTO(reqDTO); - } - - @Override - public AlitaResult placeSearch(TencentMapPlaceSearchReqDTO reqDTO) { - return tencentMapContext.placeSearch(reqDTO); - } -} diff --git a/src/main/java/com/newyetai/recruit/user/controller/JobExpectController.java b/src/main/java/com/newyetai/recruit/user/controller/JobExpectController.java deleted file mode 100644 index d700a84..0000000 --- a/src/main/java/com/newyetai/recruit/user/controller/JobExpectController.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.newyetai.recruit.user.controller; - - -import com.newyetai.common.AlitaResult; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.common.validation.Create; -import com.newyetai.common.validation.Update; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.user.dto.JobExpectDTO; -import com.newyetai.recruit.user.dto.JobExpectOperateDTO; -import com.newyetai.recruit.user.dto.JobExpectQueryDTO; -import com.newyetai.recruit.user.service.JobExpectService; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -/** - * @author fzp on 2022-02-23 - */ -@RestController -@RequestMapping("job_expect") -@Api(tags = "求职期望表") -public class JobExpectController { - - @Autowired - private JobExpectService jobExpectService; - - @PostMapping("/create") - @ApiOperation("创建") - public AlitaResult create(@Validated(Create.class) @RequestBody JobExpectOperateDTO jobExpectOperateDTO){ - return AlitaResult.success(jobExpectService.create(jobExpectOperateDTO)); - } - - @PutMapping("/modify") - @ApiOperation("修改") - public AlitaResult modify(@Validated(Update.class) @RequestBody JobExpectOperateDTO jobExpectOperateDTO){ - jobExpectService.modify(jobExpectOperateDTO); - return AlitaResult.success(true); - } - - @PutMapping("/modify_job_status") - @ApiOperation("修改求职状态") - public AlitaResult modifyOnDuty(@RequestBody JobExpectOperateDTO jobExpectOperateDTO){ - jobExpectService.modifyOnDuty(jobExpectOperateDTO); - return AlitaResult.success(true); - } - - @DeleteMapping("/remove/{id}") - @ApiOperation("删除") - public AlitaResult remove(@PathVariable Long id){ - jobExpectService.remove(id); - return AlitaResult.success(true); - } - - @GetMapping("/page") - @ApiOperation("分页查询") - public AlitaResult> page(JobExpectQueryDTO jobExpectQueryDTO){ - jobExpectService.page(jobExpectQueryDTO); - return AlitaResult.success(jobExpectQueryDTO.getPageResult()); - } - - @GetMapping("/list") - @ApiOperation("列表查询") - public AlitaResult> list(JobExpectQueryDTO jobExpectQueryDTO){ - if(jobExpectQueryDTO.getUserId() == null){ - jobExpectQueryDTO.setUserId(UserContextHolder.getLoginUserId()); - } - return AlitaResult.success(jobExpectService.list(jobExpectQueryDTO)); - } - -} diff --git a/src/main/java/com/newyetai/recruit/user/controller/ResumeController.java b/src/main/java/com/newyetai/recruit/user/controller/ResumeController.java deleted file mode 100644 index 1e10484..0000000 --- a/src/main/java/com/newyetai/recruit/user/controller/ResumeController.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.newyetai.recruit.user.controller; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -import com.newyetai.common.AlitaResult; -import com.newyetai.common.validation.Create; -import com.newyetai.common.validation.Update; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.user.dto.*; -import com.newyetai.recruit.user.service.ResumeService; - -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -/** - * 简历管理 - * - * @author guixinman - * @since 1.0.0 2024-04-19 - */ -@Api(tags = "简历管理") -@RestController -@RequestMapping("/resume") -public class ResumeController { - - @Autowired - private ResumeService resumeService; - - @PostMapping("/createOrModify") - @ApiOperation("简历管理-创建") - public AlitaResult createOrModify(@RequestBody ResumeOperatorDTO operatorDTO) { - resumeService.createOrModify(operatorDTO); - return AlitaResult.success(); - } - - @PutMapping("/modify") - @ApiOperation("简历管理-修改") - public AlitaResult modify(@RequestBody @Validated(Update.class) ResumeOperatorDTO operatorDTO) { - resumeService.modify(operatorDTO); - return AlitaResult.success(); - } - - @DeleteMapping("/delete") - @ApiOperation("简历管理-删除") - public AlitaResult delete() { - resumeService.delete(); - return AlitaResult.success(); - } - - @GetMapping("/{id}") - @ApiOperation("简历管理-查询单个") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(resumeService.findById(id)); - } - - @GetMapping("/list") - @ApiOperation("简历管理-列表查询") - public AlitaResult> list(ResumeQueryDTO queryDTO) { - return AlitaResult.success(resumeService.list(queryDTO)); - } - - @GetMapping("/page") - @ApiOperation("简历管理-分页查询") - public AlitaResult> page(ResumePageQueryDTO queryDTO) { - resumeService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - - @GetMapping("/user_find") - @ApiOperation("简历管理-用户查询单个") - public AlitaResult userFind() { - return AlitaResult.success(resumeService.userFind()); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/controller/UserCertificateController.java b/src/main/java/com/newyetai/recruit/user/controller/UserCertificateController.java deleted file mode 100644 index c0048be..0000000 --- a/src/main/java/com/newyetai/recruit/user/controller/UserCertificateController.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.newyetai.recruit.user.controller; - - -import com.newyetai.common.AlitaResult; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.user.dto.UserCertificateCreateDTO; -import com.newyetai.recruit.user.dto.UserCertificateDTO; -import com.newyetai.recruit.user.dto.UserCertificateModifyDTO; -import com.newyetai.recruit.user.dto.UserCertificateQueryDTO; -import com.newyetai.recruit.user.service.UserCertificateService; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - -/** - * @author fzp on 2022-02-23 - */ -@RestController -@RequestMapping("user_certificate") -@Api(tags = "用户证书表") -public class UserCertificateController { - - @Autowired - private UserCertificateService userCertificateService; - - @PostMapping("/create") - @ApiOperation("创建") - public AlitaResult create(@Validated @RequestBody List operateDTOs){ - userCertificateService.create(operateDTOs); - return AlitaResult.success(); - } - - @PutMapping("/modify") - @ApiOperation("修改") - public AlitaResult modify( - @Validated @RequestBody UserCertificateModifyDTO operateDTO) { - return AlitaResult.success(userCertificateService.modify(operateDTO)); - } - - @DeleteMapping("/{id}") - @ApiOperation("删除") - public AlitaResult delete(@PathVariable Long id){ - return AlitaResult.success(userCertificateService.delete(id)); - } - - @GetMapping("/{id}") - @ApiOperation("查询单个") - public AlitaResult findById(@PathVariable("id") Long id) { - return AlitaResult.success(userCertificateService.findById(id)); - } - - @GetMapping("/page") - @ApiOperation("分页查询") - public AlitaResult> page(UserCertificateQueryDTO queryDTO){ - if(queryDTO.getUserId() == null){ - queryDTO.setUserId(UserContextHolder.getLoginUserId()); - } - userCertificateService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @GetMapping("/list") - @ApiOperation("列表查询") - public AlitaResult> list(UserCertificateQueryDTO queryDTO){ - if(queryDTO.getUserId() == null){ - queryDTO.setUserId(UserContextHolder.getLoginUserId()); - } - return AlitaResult.success(userCertificateService.list(queryDTO)); - } - -} diff --git a/src/main/java/com/newyetai/recruit/user/controller/UserCollectionController.java b/src/main/java/com/newyetai/recruit/user/controller/UserCollectionController.java deleted file mode 100644 index 51686c8..0000000 --- a/src/main/java/com/newyetai/recruit/user/controller/UserCollectionController.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.newyetai.recruit.user.controller; - -import com.newyetai.common.AlitaResult; -import com.newyetai.common.validation.Create; -import com.newyetai.recruit.position.dto.PositionDTO; -import com.newyetai.recruit.position.dto.PositionPageQueryDTO; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.user.dto.UserCollectionCreateDTO; -import com.newyetai.recruit.user.service.UserCollectionService; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -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 io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; - - -/** - * 招聘系统 - 我的收藏 - * - * @author fzp - * @date 2021年10月22日11:17:24 - */ -@Api(tags = "招聘系统 - 用户职位") -@RestController -@RequestMapping("/user_collections") -public class UserCollectionController { - - @Autowired - private UserCollectionService userCollectionService; - - - @ApiOperation("查询收藏的职位列表") - @GetMapping("/page") - public AlitaResult> page(PositionPageQueryDTO queryDTO) { - userCollectionService.page(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @ApiOperation("收藏职位") - @PostMapping("/create") - public AlitaResult create(@Validated(Create.class) @RequestBody UserCollectionCreateDTO dto) { - userCollectionService.create(dto); - return AlitaResult.success(); - } - - @ApiOperation("取消收藏") - @DeleteMapping("/delete/{id}") - public AlitaResult delete(@PathVariable("id") Long id) { - return AlitaResult.success(userCollectionService.delete(id)); - } - - @ApiOperation("收藏统计") - @GetMapping("/statistics") - public AlitaResult statistics(){ - return AlitaResult.success(userCollectionService.statistics()); - } -} diff --git a/src/main/java/com/newyetai/recruit/user/controller/UserPositionBrowseRecordController.java b/src/main/java/com/newyetai/recruit/user/controller/UserPositionBrowseRecordController.java deleted file mode 100644 index d12fac0..0000000 --- a/src/main/java/com/newyetai/recruit/user/controller/UserPositionBrowseRecordController.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.newyetai.recruit.user.controller; - -import com.newyetai.common.AlitaResult; -import com.newyetai.recruit.user.dto.BrowseRecordUserPageQueryDTO; -import com.newyetai.tkmybatis.pojo.Page; -import com.newyetai.recruit.user.dto.BrowseRecordDTO; -import com.newyetai.recruit.user.dto.BrowseRecordPageQueryDTO; -import com.newyetai.recruit.user.service.BrowseRecordService; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -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 io.swagger.annotations.ApiOperation; - -/** - * @description: 用户浏览 - * @author: guixinman - * @create: 2024-04-18 17:15 - **/ -@RestController -@RequestMapping("/user_position_browse_record") -public class UserPositionBrowseRecordController { - - @Autowired - private BrowseRecordService browseRecordService; - - @PostMapping("/create") - @ApiOperation("新增岗位浏览记录") - public AlitaResult browseRecordCreate(@RequestBody @Validated BrowseRecordDTO recordDTO) { - browseRecordService.create(recordDTO); - return AlitaResult.success(); - } - - @GetMapping("/page") - @ApiOperation("分页查询岗位浏览记录") - public AlitaResult> browseRecordPage(BrowseRecordPageQueryDTO queryDTO) { - browseRecordService.pagePosition(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } - - @ApiOperation("浏览统计") - @GetMapping("/statistics") - public AlitaResult statistics(){ - return AlitaResult.success(browseRecordService.statistics()); - } - - @GetMapping("/user_page") - @ApiOperation("分页查询岗位浏览记录") - public AlitaResult> browseRecordUserPage(BrowseRecordUserPageQueryDTO queryDTO) { - browseRecordService.browseRecordUserPage(queryDTO); - return AlitaResult.success(queryDTO.getPageResult()); - } -} diff --git a/src/main/java/com/newyetai/recruit/user/convert/JobExpectMapMapper.java b/src/main/java/com/newyetai/recruit/user/convert/JobExpectMapMapper.java deleted file mode 100644 index 14babdc..0000000 --- a/src/main/java/com/newyetai/recruit/user/convert/JobExpectMapMapper.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.newyetai.recruit.user.convert; - -import com.newyetai.recruit.user.dto.JobExpectDTO; -import com.newyetai.recruit.user.dto.JobExpectOperateDTO; -import com.newyetai.recruit.user.entity.JobExpect; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * @author fzp on 2022-02-23 - */ -@Mapper -public interface JobExpectMapMapper { - - JobExpectMapMapper INSTANCE = - Mappers.getMapper(JobExpectMapMapper.class); - - /** - * dto to entity - * - * @param jobExpectDto - * @return - * @author fzp on 2022-02-23 - */ - JobExpect toEntity( - JobExpectDTO jobExpectDto); - - - /** - * @param jobExpectOperateDTO - * @return - * @author fzp on 2022-02-23 - */ - JobExpect toEntity(JobExpectOperateDTO jobExpectOperateDTO); - -} diff --git a/src/main/java/com/newyetai/recruit/user/convert/ResumeConvert.java b/src/main/java/com/newyetai/recruit/user/convert/ResumeConvert.java deleted file mode 100644 index a90f7c2..0000000 --- a/src/main/java/com/newyetai/recruit/user/convert/ResumeConvert.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.user.convert; - -import com.newyetai.recruit.user.entity.Resume; -import com.newyetai.recruit.user.dto.ResumeDTO; -import com.newyetai.recruit.user.dto.ResumeOperatorDTO; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -/** - * 简历管理 - * - * @author guixinman - * @since 1.0.0 2024-04-19 - */ -@Mapper -public interface ResumeConvert { - ResumeConvert INSTANCE = Mappers.getMapper(ResumeConvert.class); - - Resume convert(ResumeDTO dto); - - ResumeDTO convert(Resume entity); - - Resume convert(ResumeOperatorDTO dto); - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/convert/UserCertificateMapMapper.java b/src/main/java/com/newyetai/recruit/user/convert/UserCertificateMapMapper.java deleted file mode 100644 index 03df896..0000000 --- a/src/main/java/com/newyetai/recruit/user/convert/UserCertificateMapMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.newyetai.recruit.user.convert; - -import com.newyetai.recruit.user.dto.UserCertificateCreateDTO; -import com.newyetai.recruit.user.dto.UserCertificateDTO; -import com.newyetai.recruit.user.dto.UserCertificateModifyDTO; -import com.newyetai.recruit.user.entity.UserCertificate; - -import org.mapstruct.Mapper; -import org.mapstruct.factory.Mappers; - -import java.util.List; - -/** - * @author fzp on 2022-02-23 - */ -@Mapper -public interface UserCertificateMapMapper { - - UserCertificateMapMapper INSTANCE = - Mappers.getMapper(UserCertificateMapMapper.class); - - UserCertificate toEntity(UserCertificateModifyDTO jobExpectOperateDTO); - - List toEntitys(List jobExpectOperateDTOs); - - UserCertificateDTO toDTO(UserCertificate userCertificate); -} diff --git a/src/main/java/com/newyetai/recruit/user/dao/BrowseRecordMapper.java b/src/main/java/com/newyetai/recruit/user/dao/BrowseRecordMapper.java deleted file mode 100644 index f38b93a..0000000 --- a/src/main/java/com/newyetai/recruit/user/dao/BrowseRecordMapper.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.newyetai.recruit.user.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.newyetai.recruit.user.dto.BrowseRecordDTO; -import com.newyetai.recruit.user.dto.BrowseRecordPageQueryDTO; -import com.newyetai.recruit.user.dto.BrowseRecordUserPageQueryDTO; -import com.newyetai.recruit.user.entity.BrowseRecord; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - *

- * 用户岗位访问记录表 Mapper 接口 - *

- * - * @author Carlye - * @since 2021-01-21 - */ -@Mapper -public interface BrowseRecordMapper extends BaseMapper { - - List pagePosition(BrowseRecordPageQueryDTO queryDTO); - List pageUserPosition(BrowseRecordUserPageQueryDTO queryDTO); - - int checkUserIdIsWechat(@Param("userId") Long userId); -} diff --git a/src/main/java/com/newyetai/recruit/user/dao/JobExpectMapper.java b/src/main/java/com/newyetai/recruit/user/dao/JobExpectMapper.java deleted file mode 100644 index 31d5d8a..0000000 --- a/src/main/java/com/newyetai/recruit/user/dao/JobExpectMapper.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.newyetai.recruit.user.dao; - - -import com.newyetai.recruit.statistics.dto.StatisticsBaseDTO; -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.user.dto.JobExpectDTO; -import com.newyetai.recruit.user.dto.JobExpectQueryDTO; -import com.newyetai.recruit.user.entity.JobExpect; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; -import java.util.Map; - -/** - * 求职期望表 - * - * @author fzp on 2022-02-23 - */ -@Mapper -public interface JobExpectMapper extends MyMapper { - - /** - * 查询 - * - * @param jobExpectQueryDTO - * @return - * @author fzp on 2022-02-23 - */ - List listJobExpectDTO(@Param("param") JobExpectQueryDTO jobExpectQueryDTO); - - long updateByUserId(@Param("param") JobExpect jobExpect); - - /** - * 期望岗位类型分组求数量 - */ - List positionTypeCodeGroupMap(@Param("recruitPositionType") String recruitPositionType); - -} diff --git a/src/main/java/com/newyetai/recruit/user/dao/ResumeMapper.java b/src/main/java/com/newyetai/recruit/user/dao/ResumeMapper.java deleted file mode 100644 index 18aaf4f..0000000 --- a/src/main/java/com/newyetai/recruit/user/dao/ResumeMapper.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.newyetai.recruit.user.dao; - -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.user.entity.Resume; -import com.newyetai.recruit.user.dto.ResumeDTO; -import com.newyetai.recruit.user.dto.ResumeQueryDTO; -import com.newyetai.recruit.user.dto.ResumePageQueryDTO; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 简历管理 - * - * @author guixinman - * @since 1.0.0 2024-04-19 - */ -@Mapper -public interface ResumeMapper extends MyMapper { - - List page(@Param("param") ResumePageQueryDTO queryDTO); - - List list(@Param("param") ResumeQueryDTO queryDTO); - - int updateByUserId(@Param("param") Resume resume); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/dao/UserCertificateMapper.java b/src/main/java/com/newyetai/recruit/user/dao/UserCertificateMapper.java deleted file mode 100644 index e1fbf26..0000000 --- a/src/main/java/com/newyetai/recruit/user/dao/UserCertificateMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.newyetai.recruit.user.dao; - - -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.user.dto.UserCertificateDTO; -import com.newyetai.recruit.user.dto.UserCertificateQueryDTO; -import com.newyetai.recruit.user.entity.UserCertificate; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; -@Mapper -public interface UserCertificateMapper extends MyMapper { - - /** - * 查询 - * - */ - List page(@Param("param") UserCertificateQueryDTO queryDTO); - -} diff --git a/src/main/java/com/newyetai/recruit/user/dao/UserCollectionMapper.java b/src/main/java/com/newyetai/recruit/user/dao/UserCollectionMapper.java deleted file mode 100644 index 2dc4a2d..0000000 --- a/src/main/java/com/newyetai/recruit/user/dao/UserCollectionMapper.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.newyetai.recruit.user.dao; - - -import com.newyetai.tkmybatis.mybatis.MyMapper; -import com.newyetai.recruit.user.entity.UserCollection; - -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; - -import java.util.List; - -@Mapper -public interface UserCollectionMapper extends MyMapper { - - @Select("select post_id from hr_user_collection where deleted = 0 and user_id = #{userId} order by create_time desc limit #{startSize},#{endSize}") - List page(@Param("userId") Long userId, @Param("startSize") Integer startSize, @Param("endSize") Integer endSize); - -} diff --git a/src/main/java/com/newyetai/recruit/user/dto/BrowseRecordDTO.java b/src/main/java/com/newyetai/recruit/user/dto/BrowseRecordDTO.java deleted file mode 100644 index bf4acad..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/BrowseRecordDTO.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import com.newyetai.common.entity.BaseEntity; - -import javax.validation.constraints.NotNull; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - *

- * 用户岗位访问DTO - *

- * - * @author Carlye - * @since 2021-01-21 - */ -@ApiModel("招聘用户岗位访问DTO") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@Accessors(chain = true) -public class BrowseRecordDTO extends BaseEntity { - - private static final long serialVersionUID = 1L; - - @ApiModelProperty("用户ID") - private Long userId; - - @ApiModelProperty("岗位ID") - @NotNull(message = "岗位ID不能为空") - private Long positionId; - - @ApiModelProperty("访问记录数") - private Integer numberOfVisits; - - @ApiModelProperty("头像") - private String avatar; - - private String positionName; -} diff --git a/src/main/java/com/newyetai/recruit/user/dto/BrowseRecordPageQueryDTO.java b/src/main/java/com/newyetai/recruit/user/dto/BrowseRecordPageQueryDTO.java deleted file mode 100644 index 5d6c851..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/BrowseRecordPageQueryDTO.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import javax.validation.constraints.NotNull; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - *

- * 用户岗位访问DTO - *

- * - * @author Carlye - * @since 2021-01-21 - */ -@ApiModel("招聘用户岗位访问查询DTO") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@Accessors(chain = true) -public class BrowseRecordPageQueryDTO extends PageQueryDTO { - - - private static final long serialVersionUID = -3261822980006851294L; - @ApiModelProperty("岗位ID") - @NotNull(message = "岗位ID不能为空") - private Long positionId; -} diff --git a/src/main/java/com/newyetai/recruit/user/dto/BrowseRecordUserPageQueryDTO.java b/src/main/java/com/newyetai/recruit/user/dto/BrowseRecordUserPageQueryDTO.java deleted file mode 100644 index dee48ed..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/BrowseRecordUserPageQueryDTO.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import lombok.Data; - -/** - * @description: - * @author: guixinman - * @create: 2024-05-07 10:03 - **/ -@Data -public class BrowseRecordUserPageQueryDTO extends PageQueryDTO { -} diff --git a/src/main/java/com/newyetai/recruit/user/dto/JobExpectDTO.java b/src/main/java/com/newyetai/recruit/user/dto/JobExpectDTO.java deleted file mode 100644 index 9f81402..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/JobExpectDTO.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import com.newyetai.common.dto.BaseDTO; - -import java.math.BigDecimal; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * @author fzp on 2022-02-23 - */ -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@SuperBuilder -@Data -@ApiModel(description = "求职期望表") -public class JobExpectDTO extends BaseDTO { - - /** **/ - private static final long serialVersionUID = 1L; - - @ApiModelProperty("用户id") - private Long userId; - @ApiModelProperty("岗位类型编码") - private String typeCode; -// @ApiModelProperty("岗位类型名称") -// private String typeName; - @ApiModelProperty("期望城市") - private String expectCity; - @ApiModelProperty("期望城市名称") - private String expectCityName; - @ApiModelProperty("期望月薪") - private BigDecimal expectSalary; - @ApiModelProperty("是否在职 0否 1是") - private Boolean onDuty; - @ApiModelProperty("入职周期:1随时入职、2 2周内入职、3一个月内入职") - private Integer inductionCycle; - - private String positionName; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/dto/JobExpectOperateDTO.java b/src/main/java/com/newyetai/recruit/user/dto/JobExpectOperateDTO.java deleted file mode 100644 index d90858e..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/JobExpectOperateDTO.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import com.newyetai.common.dto.BaseOperateDTO; -import com.newyetai.common.validation.Create; -import com.newyetai.common.validation.Update; - -import java.io.Serializable; -import java.math.BigDecimal; - -import javax.validation.constraints.NotNull; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author fzp on 2022-02-23 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -@ApiModel(description = "求职期望表操作") -public class JobExpectOperateDTO extends BaseOperateDTO implements Serializable{ - - /** **/ - private static final long serialVersionUID = 1L; - - @ApiModelProperty("id") - @NotNull(message = "id不能为空", groups = {Update.class}) - private Long id; - - @ApiModelProperty("用户id") - private Long userId; - @ApiModelProperty("岗位类型编码") - @NotNull(message = "岗位类型不能为空", groups = {Update.class}) - private String typeCode; - @ApiModelProperty("期望城市") - @NotNull(message = "期望城市不能为空", groups = {Update.class, Create.class}) - private String expectCity; - @ApiModelProperty("期望月薪") - @NotNull(message = "期望月薪不能为空", groups = {Update.class}) - private BigDecimal expectSalary; - - @ApiModelProperty("是否在职 0否 1是") - private Boolean onDuty; - @ApiModelProperty("入职周期:1随时入职、2 2周内入职、3一个月内入职") - private Integer inductionCycle; - - @NotNull(message = "求职意向岗位不能为空", groups = {Create.class}) - private String positionName; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/dto/JobExpectQueryDTO.java b/src/main/java/com/newyetai/recruit/user/dto/JobExpectQueryDTO.java deleted file mode 100644 index 774bf57..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/JobExpectQueryDTO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import java.io.Serializable; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author fzp on 2022-02-23 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -@ApiModel(description = "求职期望表查询条件") -public class JobExpectQueryDTO extends PageQueryDTO implements Serializable{ - - /** **/ - private static final long serialVersionUID = 1L; - - @ApiModelProperty("id") - private Long id; - - @ApiModelProperty("用户id") - private Long userId; - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/dto/ResumeDTO.java b/src/main/java/com/newyetai/recruit/user/dto/ResumeDTO.java deleted file mode 100644 index a9616c7..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/ResumeDTO.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import com.newyetai.common.dto.BaseDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; -import lombok.experimental.SuperBuilder; - -/** - * 简历管理 - * - * @author guixinman - * @since 1.0.0 2024-04-19 - */ -@ApiModel("简历管理") -@Data -@SuperBuilder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class ResumeDTO extends BaseDTO { - private static final long serialVersionUID = 1L; - - @ApiModelProperty("用户id") - private Long userId; - - @ApiModelProperty("简历附件") - private String fileCode; - - private String fileName; - - @ApiModelProperty("所在城市") - private String cityCode; - - private String cityCodeName; - - @ApiModelProperty("学历") - private String education; - - @ApiModelProperty("个人评价") - private String selfEvaluation; - - @ApiModelProperty("备注") - private String remark; - - private String dataJson; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/dto/ResumeOperatorDTO.java b/src/main/java/com/newyetai/recruit/user/dto/ResumeOperatorDTO.java deleted file mode 100644 index 094def8..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/ResumeOperatorDTO.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; - -import com.newyetai.common.validation.Create; -import com.newyetai.common.validation.Update; - -import org.hibernate.validator.constraints.Length; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import javax.validation.constraints.NotBlank; - -/** - * 简历管理 - * - * @author guixinman - * @since 1.0.0 2024-04-19 - */ -@ApiModel("简历管理") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class ResumeOperatorDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("用户id") - private Long userId; - - @Length(max = 32,message = "简历附件超长",groups = {Create.class, Update.class}) - @NotBlank(message = "简历附件不能为空",groups = {Create.class, Update.class}) - @ApiModelProperty("简历附件") - private String fileCode; - - @Length(max = 50,message = "所在城市长度超长",groups = {Create.class, Update.class}) - @NotBlank(message = "所在城市不能为空",groups = {Create.class, Update.class}) - @ApiModelProperty("所在城市") - private String cityCode; - - @Length(max = 32,message = "学历长度超长",groups = {Create.class, Update.class}) - @NotBlank(message = "学历不能为空",groups = {Create.class, Update.class}) - @ApiModelProperty("学历") - private String education; - - @Length(max = 255,message = "个人评价长度超长",groups = {Create.class, Update.class}) - @NotBlank(message = "个人评价不能为空",groups = {Create.class, Update.class}) - @ApiModelProperty("个人评价") - private String selfEvaluation; - - @ApiModelProperty("备注") - private String remark; - - private String dataJson; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/dto/ResumePageQueryDTO.java b/src/main/java/com/newyetai/recruit/user/dto/ResumePageQueryDTO.java deleted file mode 100644 index ed0fe28..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/ResumePageQueryDTO.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.*; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - - -import java.util.Date; - -/** - * 简历管理 - * - * @author guixinman - * @since 1.0.0 2024-04-19 - */ - -@ApiModel("简历管理") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class ResumePageQueryDTO extends PageQueryDTO { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("用户id") - private Long userId; - - @ApiModelProperty("简历附件") - private String fileCode; - - @ApiModelProperty("所在城市") - private String cityCode; - - @ApiModelProperty("学历") - private String education; - - @ApiModelProperty("个人评价") - private String selfEvaluation; - - @ApiModelProperty("备注") - private String remark; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/dto/ResumeQueryDTO.java b/src/main/java/com/newyetai/recruit/user/dto/ResumeQueryDTO.java deleted file mode 100644 index d8059ae..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/ResumeQueryDTO.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -import com.fasterxml.jackson.annotation.JsonFormat; - -import org.springframework.format.annotation.DateTimeFormat; - -import java.util.Date; - -/** - * 简历管理 - * - * @author guixinman - * @since 1.0.0 2024-04-19 - */ -@ApiModel("简历管理") -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class ResumeQueryDTO implements Serializable { - private static final long serialVersionUID = 1L; - - private Long id; - - @ApiModelProperty("用户id") - private Long userId; - - @ApiModelProperty("简历附件") - private String fileCode; - - @ApiModelProperty("所在城市") - private String cityCode; - - @ApiModelProperty("学历") - private String education; - - @ApiModelProperty("个人评价") - private String selfEvaluation; - - @ApiModelProperty("备注") - private String remark; - - @ApiModelProperty("创建时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeStart; - - @ApiModelProperty("创建时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date createTimeEnd; - - @ApiModelProperty("更新时间起,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeStart; - - @ApiModelProperty("更新时间止,格式 (yyyy-MM-dd HH:mm:ss)") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") - private Date updateTimeEnd; - - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/dto/UserCertificateCreateDTO.java b/src/main/java/com/newyetai/recruit/user/dto/UserCertificateCreateDTO.java deleted file mode 100644 index 05a70f9..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/UserCertificateCreateDTO.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import com.newyetai.common.dto.BaseOperateDTO; - -import java.io.Serializable; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -@ApiModel(description = "用户证书创建") -public class UserCertificateCreateDTO extends BaseOperateDTO implements Serializable{ - - /** **/ - private static final long serialVersionUID = 1L; - - @ApiModelProperty("用户id") - private Long userId; - - @ApiModelProperty("证书Code") - @NotBlank(message = "证书code不能为空") - private String fileCode; - - @ApiModelProperty("证书名称") - private String fileName; - - @ApiModelProperty("证件类型") - @NotNull(message = "证件类型不能为空") - private Integer certType; - - @NotBlank(message = "证件名称不能为空") - @ApiModelProperty("证件名称") - private String name; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/dto/UserCertificateDTO.java b/src/main/java/com/newyetai/recruit/user/dto/UserCertificateDTO.java deleted file mode 100644 index 992bc05..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/UserCertificateDTO.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import com.newyetai.common.dto.BaseDTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@SuperBuilder -@Data -@ApiModel(description = "用户证书") -public class UserCertificateDTO extends BaseDTO { - - /** **/ - private static final long serialVersionUID = 1L; - - @ApiModelProperty("用户id") - private Long userId; - - @ApiModelProperty("证书Code") - private String fileCode; - - @ApiModelProperty("证书名称") - private String fileName; - - @ApiModelProperty("证件类型") - private Integer certType; - - @ApiModelProperty("证件名称") - private String name; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/dto/UserCertificateModifyDTO.java b/src/main/java/com/newyetai/recruit/user/dto/UserCertificateModifyDTO.java deleted file mode 100644 index 4a53553..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/UserCertificateModifyDTO.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import com.newyetai.common.dto.BaseOperateDTO; - -import java.io.Serializable; - -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -@ApiModel(description = "用户证书操作") -public class UserCertificateModifyDTO extends BaseOperateDTO implements Serializable{ - - /** **/ - private static final long serialVersionUID = 1L; - - @ApiModelProperty("id") - @NotNull(message = "id不能为空") - private Long id; - - @ApiModelProperty("证书Code") - @NotBlank(message = "证书code不能为空") - private String fileCode; - - @ApiModelProperty("证书名称") - private String fileName; - - @NotBlank(message = "证件名称不能为空") - @ApiModelProperty("证件名称") - private String name; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/dto/UserCertificateQueryDTO.java b/src/main/java/com/newyetai/recruit/user/dto/UserCertificateQueryDTO.java deleted file mode 100644 index a476749..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/UserCertificateQueryDTO.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import com.newyetai.common.dto.PageQueryDTO; - -import java.io.Serializable; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author fzp on 2022-02-23 - */ -@Data -@NoArgsConstructor -@AllArgsConstructor -@Builder -@ApiModel(description = "用户证书查询条件") -public class UserCertificateQueryDTO extends PageQueryDTO implements Serializable{ - - /** **/ - private static final long serialVersionUID = 1L; - - @ApiModelProperty("id") - private Long id; - - @ApiModelProperty("用户id") - private Long userId; - -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/dto/UserCollectionCreateDTO.java b/src/main/java/com/newyetai/recruit/user/dto/UserCollectionCreateDTO.java deleted file mode 100644 index 3426975..0000000 --- a/src/main/java/com/newyetai/recruit/user/dto/UserCollectionCreateDTO.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.newyetai.recruit.user.dto; - -import com.newyetai.common.validation.Create; - -import javax.validation.constraints.NotNull; - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor -public class UserCollectionCreateDTO { - - @ApiModelProperty("岗位id") - @NotNull(message = "岗位ID不能为空", groups = {Create.class}) - private Long positionId; - -} diff --git a/src/main/java/com/newyetai/recruit/user/entity/BrowseRecord.java b/src/main/java/com/newyetai/recruit/user/entity/BrowseRecord.java deleted file mode 100644 index e83edb6..0000000 --- a/src/main/java/com/newyetai/recruit/user/entity/BrowseRecord.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.newyetai.recruit.user.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.newyetai.common.entity.BaseEntity; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.Accessors; - -/** - *

- * 用户岗位访问记录表 - *

- * - * @author Carlye - * @since 2021-01-21 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@Accessors(chain = true) -@TableName("hr_position_browse_record") -public class BrowseRecord extends BaseEntity { - - private static final long serialVersionUID = 5473693561130145709L; - - - /** - * 用户ID - */ - private Long userId; - - /** - * 岗位ID - */ - private Long positionId; -} diff --git a/src/main/java/com/newyetai/recruit/user/entity/JobExpect.java b/src/main/java/com/newyetai/recruit/user/entity/JobExpect.java deleted file mode 100644 index f8c07a9..0000000 --- a/src/main/java/com/newyetai/recruit/user/entity/JobExpect.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.newyetai.recruit.user.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.newyetai.common.entity.BaseEntity; - -import java.math.BigDecimal; - - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * 求职期望表 - * - * @author fzp on 2022-02-23 - */ -@TableName(value = "hr_job_expect") -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@SuperBuilder -@Data -public class JobExpect extends BaseEntity { - - /** - * - **/ - private static final long serialVersionUID = 1L; - - /** - * 用户id - **/ - private Long userId; - /** - * 岗位类型编码 - **/ - private String typeCode; - /** - * 期望城市 - **/ - private String expectCity; - /** - * 期望月薪 - **/ - private BigDecimal expectSalary; - /** - * 是否在职 0否 1是 - **/ - private Boolean onDuty; - /** - * 入职周期:1随时入职、2 2周内入职、3一个月内入职 - **/ - private Integer inductionCycle; - - private String positionName; - -} diff --git a/src/main/java/com/newyetai/recruit/user/entity/Resume.java b/src/main/java/com/newyetai/recruit/user/entity/Resume.java deleted file mode 100644 index cc7ec47..0000000 --- a/src/main/java/com/newyetai/recruit/user/entity/Resume.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.newyetai.recruit.user.entity; - - -import lombok.*; - -import com.baomidou.mybatisplus.annotation.*; -import com.newyetai.common.entity.BaseEntity; - -/** - * 简历管理 - * - * @author guixinman - * @since 1.0.0 2024-04-19 - */ -@TableName(value = "hr_resume") -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -public class Resume extends BaseEntity { - - private static final long serialVersionUID = 1L; - - /** - * 用户id - */ - private Long userId; - /** - * 简历附件 - */ - private String fileCode; - /** - * 所在城市 - */ - private String cityCode; - /** - * 学历 - */ - private String education; - /** - * 个人评价 - */ - private String selfEvaluation; - /** - * 备注 - */ - private String remark; - - private String dataJson; -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/entity/UserCertificate.java b/src/main/java/com/newyetai/recruit/user/entity/UserCertificate.java deleted file mode 100644 index b9eb542..0000000 --- a/src/main/java/com/newyetai/recruit/user/entity/UserCertificate.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.newyetai.recruit.user.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.newyetai.common.entity.BaseEntity; - - -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -/** - * @author fzp - * @date 2022年6月8日09:29:20 - */ - -@TableName(value = "uc_user_certificate") -@NoArgsConstructor -@AllArgsConstructor -@EqualsAndHashCode(callSuper = true) -@SuperBuilder -@Data -public class UserCertificate extends BaseEntity { - - /** - * 用户Id - */ - private Long userId; - - /** - * 简历Code - */ - private String fileCode; - /** - * 简历名称 - */ - private String fileName; - - /** 证件类型 **/ - private Integer certType; - - @ApiModelProperty("证件名称") - private String name; -} diff --git a/src/main/java/com/newyetai/recruit/user/entity/UserCollection.java b/src/main/java/com/newyetai/recruit/user/entity/UserCollection.java deleted file mode 100644 index 75bf8cb..0000000 --- a/src/main/java/com/newyetai/recruit/user/entity/UserCollection.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.newyetai.recruit.user.entity; - -import com.baomidou.mybatisplus.annotation.TableName; -import com.newyetai.common.entity.BaseEntity; - -import java.io.Serializable; -import java.util.Date; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @author fzp - * @date 2021年10月21日10:47:31 - */ -@TableName(value = "hr_user_collection") -@Data -@NoArgsConstructor -@AllArgsConstructor -public class UserCollection extends BaseEntity implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * 用户ID - */ - private Long userId; - /** - * 收藏的岗位ID - */ - private Long postId; - - @Builder - public UserCollection(Long id, Boolean deleted, Long createBy, Date createTime, Long updateBy, Date updateTime, Long proxyBy, Long userId, Long postId) { - super(id, deleted, createBy, createTime, updateBy, updateTime, proxyBy); - this.userId = userId; - this.postId = postId; - } -} diff --git a/src/main/java/com/newyetai/recruit/user/enums/InductionCycleEnum.java b/src/main/java/com/newyetai/recruit/user/enums/InductionCycleEnum.java deleted file mode 100644 index ab05be1..0000000 --- a/src/main/java/com/newyetai/recruit/user/enums/InductionCycleEnum.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.newyetai.recruit.user.enums; - -import com.baomidou.mybatisplus.annotation.EnumValue; -import com.newyetai.mybatis.handle.BaseEnum; - -/** - * 入职周期枚举 - */ -public enum InductionCycleEnum implements BaseEnum { - - ANY_TIME(1, "随时入职"), - TWO_WEEKS(2, "2周内入职"), - ONE_MONTH(3, "一个月内入职"); - - @EnumValue - private final Integer type; - - private final String desc; - - InductionCycleEnum(Integer type, String desc) { - this.type = type; - this.desc = desc; - } - - public Integer getType() { - return type; - } - - public String getDesc() { - return desc; - } - - @Override - public Integer getValue() { - return type; - } - - - public static Integer findTypeByDesc(String desc) { - for (InductionCycleEnum type : InductionCycleEnum.values()) { - if (type.getDesc().equals(desc)) { - return type.getType(); - } - } - return null; // 如果没有找到,返回null - } -} diff --git a/src/main/java/com/newyetai/recruit/user/mapper/BrowseRecordMapper.xml b/src/main/java/com/newyetai/recruit/user/mapper/BrowseRecordMapper.xml deleted file mode 100644 index fbbb430..0000000 --- a/src/main/java/com/newyetai/recruit/user/mapper/BrowseRecordMapper.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - diff --git a/src/main/java/com/newyetai/recruit/user/mapper/JobExpectMapper.xml b/src/main/java/com/newyetai/recruit/user/mapper/JobExpectMapper.xml deleted file mode 100644 index 410975c..0000000 --- a/src/main/java/com/newyetai/recruit/user/mapper/JobExpectMapper.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - update hr_job_expect - set type_code = #{param.typeCode}, - expect_city = #{param.expectCity}, - expect_salary = #{param.expectSalary}, - on_duty = #{param.onDuty}, - induction_cycle = #{param.inductionCycle}, - update_by = #{param.userId}, - update_time = now() - where user_id = #{param.userId} and deleted = 0 - - - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/mapper/ResumeMapper.xml b/src/main/java/com/newyetai/recruit/user/mapper/ResumeMapper.xml deleted file mode 100644 index cf53641..0000000 --- a/src/main/java/com/newyetai/recruit/user/mapper/ResumeMapper.xml +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - update hr_resume - set - update_by = #{param.userId}, - update_time = now() - - - ,file_code = #{param.fileCode} - - - ,city_code = #{param.cityCode} - - - ,education = #{param.education} - - - ,self_evaluation = #{param.selfEvaluation} - - - ,deleted = #{param.deleted} - - - ,data_json = #{param.dataJson} - - where user_id = #{param.userId} and deleted = 0 - - - - - - - - - FROM - hr_resume t - left join xs_district xd1 on t.city_code = xd1.code - left join xs_district xd2 on xd1.parent_id = xd2.id - left join xs_district xd3 on xd2.parent_id = xd3.id - WHERE t.deleted = 0 - - AND t.id = #{param.id} - - - AND t.user_id = #{param.userId} - - - AND t.file_code = #{param.fileCode} - - - AND t.city_code = #{param.cityCode} - - - AND t.education = #{param.education} - - - AND t.self_evaluation = #{param.selfEvaluation} - - - AND t.remark = #{param.remark} - - - AND t.create_time >= #{param.createTimeStart} - - - AND t.create_time <= #{param.createTimeEnd} - - - AND t.update_time >= #{param.updateTimeStart} - - - AND t.update_time <= #{param.updateTimeEnd} - - ORDER BY t.id DESC - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/mapper/UserCertificateMapper.xml b/src/main/java/com/newyetai/recruit/user/mapper/UserCertificateMapper.xml deleted file mode 100644 index 7171807..0000000 --- a/src/main/java/com/newyetai/recruit/user/mapper/UserCertificateMapper.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/service/BrowseRecordService.java b/src/main/java/com/newyetai/recruit/user/service/BrowseRecordService.java deleted file mode 100644 index 2cfdf16..0000000 --- a/src/main/java/com/newyetai/recruit/user/service/BrowseRecordService.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.newyetai.recruit.user.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.newyetai.recruit.user.dto.BrowseRecordDTO; -import com.newyetai.recruit.user.dto.BrowseRecordPageQueryDTO; -import com.newyetai.recruit.user.dto.BrowseRecordUserPageQueryDTO; -import com.newyetai.recruit.user.entity.BrowseRecord; - -import org.springframework.validation.annotation.Validated; - -import java.util.List; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -/** - *

- * 用户岗位访问记录表 服务类 - *

- * - * @author Carlye - * @since 2021-01-21 - */ -@Validated(Default.class) -public interface BrowseRecordService extends IService { - - - /** - * 新增用户访问记录 - * - * @param recordDTO 记录dto - * @return {@link BrowseRecord} - */ - void create(BrowseRecordDTO recordDTO); - - /** - * 分页查询 - * - * @param queryDTO 查询dto - * @return {@link List< BrowseRecordDTO >} - */ - List pagePosition(@Valid BrowseRecordPageQueryDTO queryDTO); - - Integer statistics(); - - List browseRecordUserPage(BrowseRecordUserPageQueryDTO queryDTO); -} diff --git a/src/main/java/com/newyetai/recruit/user/service/JobExpectService.java b/src/main/java/com/newyetai/recruit/user/service/JobExpectService.java deleted file mode 100644 index fa085ae..0000000 --- a/src/main/java/com/newyetai/recruit/user/service/JobExpectService.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.newyetai.recruit.user.service; - - -import com.newyetai.recruit.user.dto.JobExpectDTO; -import com.newyetai.recruit.user.dto.JobExpectOperateDTO; -import com.newyetai.recruit.user.dto.JobExpectQueryDTO; - -import java.util.List; - -/** - * 求职期望表 - * - * @author fzp on 2022-02-23 - */ -public interface JobExpectService { - - /** - * 新增 - * - * @param jobExpectOperateDTO - * @return - * @author fzp on 2022-02-23 - */ - Long create(JobExpectOperateDTO jobExpectOperateDTO); - - /** - * 修改 - * - * @param jobExpectOperateDTO - * @author fzp on 2022-02-23 - */ - void modify(JobExpectOperateDTO jobExpectOperateDTO); - - /** - * 更新求职状态 - * @param jobExpectOperateDTO - */ - void modifyOnDuty(JobExpectOperateDTO jobExpectOperateDTO); - - /** - * 删除 - * - * @param id - * @author fzp on 2022-02-23 - */ - void remove(Long id); - void removeByUserId(); - - /** - * 查询 - * - * @param jobExpectQueryDTO - * @return - * @author fzp on 2022-02-23 - */ - List list(JobExpectQueryDTO jobExpectQueryDTO); - - /** - * 分页查询 - * - * @param jobExpectQueryDTO - * @return - * @author fzp on 2022-02-23 - */ - void page(JobExpectQueryDTO jobExpectQueryDTO); - - /** - * 单个查询 - * - * @param jobExpectQueryDTO - * @return - * @author fzp on 2022-02-23 - */ - JobExpectDTO find(JobExpectQueryDTO jobExpectQueryDTO); - -} diff --git a/src/main/java/com/newyetai/recruit/user/service/ResumeService.java b/src/main/java/com/newyetai/recruit/user/service/ResumeService.java deleted file mode 100644 index 320f9f2..0000000 --- a/src/main/java/com/newyetai/recruit/user/service/ResumeService.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.newyetai.recruit.user.service; - -import org.springframework.validation.annotation.Validated; - -import javax.validation.Valid; -import javax.validation.groups.Default; - -import java.util.List; - -import com.newyetai.recruit.user.dto.*; - -/** - * 简历管理 - * - * @author guixinman - * @since 1.0.0 2024-04-19 - */ -@Validated(Default.class) -public interface ResumeService { - - /** - * 简历管理 - 创建 - * - * @param operatorDto 操作dto - * @return {@link ResumeDTO} - */ - void createOrModify(ResumeOperatorDTO operatorDto); - - /** - * 简历管理 - 修改 - * - * @param operatorDto 操作dto - * @return {@link ResumeDTO} - */ - void modify(@Valid ResumeOperatorDTO operatorDto); - - /** - * 简历管理 - 删除 - * - * @param id id - * @return {@link ResumeDTO} - */ - void delete(); - - /** - * 简历管理 - 根据ID查询单个 - * - * @param id id - * @return {@link ResumeDTO} - */ - ResumeDTO findById(Long id); - - /** - * 简历管理 - 列表查询 - * - * @param queryDTO 列表查询dto - * @return {@link List}<{@link ResumeDTO}> - */ - List list(ResumeQueryDTO queryDTO); - - /** - * 简历管理 - 分页查询 - * - * @param queryDTO 分页查询dto - * @return {@link ResumeDTO} - */ - List page(ResumePageQueryDTO queryDTO); - - ResumeDTO userFind(); - - ResumeDTO findByUserId(Long userId); -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/service/UserCertificateService.java b/src/main/java/com/newyetai/recruit/user/service/UserCertificateService.java deleted file mode 100644 index 2e5480e..0000000 --- a/src/main/java/com/newyetai/recruit/user/service/UserCertificateService.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.newyetai.recruit.user.service; - - - -import com.newyetai.recruit.user.dto.UserCertificateCreateDTO; -import com.newyetai.recruit.user.dto.UserCertificateDTO; -import com.newyetai.recruit.user.dto.UserCertificateModifyDTO; -import com.newyetai.recruit.user.dto.UserCertificateQueryDTO; - -import java.util.List; - -public interface UserCertificateService { - - void create(List operateDTOs); - - UserCertificateDTO modify(UserCertificateModifyDTO operateDTO); - - UserCertificateDTO delete(Long id); - - List list(UserCertificateQueryDTO queryDTO); - - List page(UserCertificateQueryDTO queryDTO); - - UserCertificateDTO findById(Long queryDTO); - -} diff --git a/src/main/java/com/newyetai/recruit/user/service/UserCollectionService.java b/src/main/java/com/newyetai/recruit/user/service/UserCollectionService.java deleted file mode 100644 index 66c78ee..0000000 --- a/src/main/java/com/newyetai/recruit/user/service/UserCollectionService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.newyetai.recruit.user.service; - -import com.newyetai.recruit.position.dto.PositionDTO; -import com.newyetai.recruit.position.dto.PositionPageQueryDTO; -import com.newyetai.recruit.user.dto.UserCollectionCreateDTO; - -import java.util.List; - -/** - * @Author fzp - * @Date 2021年10月21日10:39:46 - * @Version 1.0 - */ -public interface UserCollectionService { - - List page(PositionPageQueryDTO queryDTO); - - void create(UserCollectionCreateDTO dto); - - int delete(Long id); - - Integer statistics(); -} diff --git a/src/main/java/com/newyetai/recruit/user/service/impl/BrowseRecordServiceImpl.java b/src/main/java/com/newyetai/recruit/user/service/impl/BrowseRecordServiceImpl.java deleted file mode 100644 index cafe915..0000000 --- a/src/main/java/com/newyetai/recruit/user/service/impl/BrowseRecordServiceImpl.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.newyetai.recruit.user.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.recruit.user.dao.BrowseRecordMapper; -import com.newyetai.recruit.user.dto.BrowseRecordDTO; -import com.newyetai.recruit.user.dto.BrowseRecordPageQueryDTO; -import com.newyetai.recruit.user.dto.BrowseRecordUserPageQueryDTO; -import com.newyetai.recruit.user.entity.BrowseRecord; -import com.newyetai.recruit.user.service.BrowseRecordService; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.Date; -import java.util.List; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; - - -/** - *

- * 用户岗位访问记录表 服务实现类 - *

- * - * @author Carlye - * @since 2021-01-21 - */ -@Slf4j -@Service -@RequiredArgsConstructor(onConstructor = @__(@Autowired)) -public class BrowseRecordServiceImpl extends ServiceImpl implements BrowseRecordService { - - @Override - public void create(BrowseRecordDTO recordDTO) { - BrowseRecord browseRecord = new BrowseRecord(); - browseRecord.setPositionId(recordDTO.getPositionId()); - browseRecord.setUserId(UserContextHolder.getExistLoginUserId()); - browseRecord.setCreateBy(UserContextHolder.getExistLoginUserId()); - browseRecord.setCreateTime(new Date()); - Assert.isTrue(save(browseRecord), "新增浏览记录失败"); - } - - @Override - public List pagePosition(BrowseRecordPageQueryDTO queryDTO) { - return getBaseMapper().pagePosition(queryDTO); - } - - @Override - public Integer statistics() { - Integer count = getBaseMapper().selectCount(new LambdaQueryWrapper() - .eq(BrowseRecord::getDeleted, false) - .eq(BrowseRecord::getUserId, UserContextHolder.getExistLoginUserId()) - ); - return count; - } - - @Override - public List browseRecordUserPage(BrowseRecordUserPageQueryDTO queryDTO) { - return getBaseMapper().pageUserPosition(queryDTO); - } -} diff --git a/src/main/java/com/newyetai/recruit/user/service/impl/JobExpectServiceImpl.java b/src/main/java/com/newyetai/recruit/user/service/impl/JobExpectServiceImpl.java deleted file mode 100644 index 8ae0ae0..0000000 --- a/src/main/java/com/newyetai/recruit/user/service/impl/JobExpectServiceImpl.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.newyetai.recruit.user.service.impl; - - -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.ListUtil; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.recruit.user.convert.JobExpectMapMapper; -import com.newyetai.recruit.user.dao.JobExpectMapper; -import com.newyetai.recruit.user.dto.JobExpectDTO; -import com.newyetai.recruit.user.dto.JobExpectOperateDTO; -import com.newyetai.recruit.user.dto.JobExpectQueryDTO; -import com.newyetai.recruit.user.entity.JobExpect; -import com.newyetai.recruit.user.service.JobExpectService; - -import org.apache.commons.collections.CollectionUtils; -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.stream.Collectors; - - -/** - * @author fzp on 2022-02-23 - */ -@Service -public class JobExpectServiceImpl implements JobExpectService { - - @Autowired - private JobExpectMapper jobExpectMapper; - - @Override - @Transactional - public Long create(JobExpectOperateDTO jobExpectOperateDTO) { -// List jobExpectDTOS = this.list(JobExpectQueryDTO.builder().userId(UserContextHolder.getLoginUserId()).build()); -// if (jobExpectDTOS.size() >= 3) { -// throw new BusinessException("添加失败,求职期望数量最多3个"); -// } - this.removeByUserId(); - JobExpect jobExpect = JobExpectMapMapper.INSTANCE.toEntity(jobExpectOperateDTO); - jobExpect.setUserId(UserContextHolder.getLoginUserId()); - jobExpectMapper.saveEntity(jobExpect); - return jobExpect.getId(); - } - - @Override - @Transactional - public void modify(JobExpectOperateDTO jobExpectOperateDTO) { - JobExpect jobExpect = JobExpectMapMapper.INSTANCE.toEntity(jobExpectOperateDTO); - jobExpect.setUserId(UserContextHolder.getLoginUserId()); - jobExpectMapper.updateEntitySelective(jobExpect); - } - - @Override - @Transactional - public void modifyOnDuty(JobExpectOperateDTO jobExpectOperateDTO) { - JobExpect jobExpect = JobExpectMapMapper.INSTANCE.toEntity(jobExpectOperateDTO); - jobExpect.setUserId(UserContextHolder.getLoginUserId()); - // 批量更新未删除的求职状态 - jobExpectMapper.updateByUserId(jobExpect); - } - - @Override - @Transactional - public void remove(Long id) { - List list = this.list(JobExpectQueryDTO.builder().userId(UserContextHolder.getLoginUserId()).build()); - if (CollectionUtils.isEmpty(list)) { - return; - } - List jobExpectDTOList = list.stream() - .filter(jobExpectDTO -> jobExpectDTO.getUserId().equals(UserContextHolder.getExistLoginUserId()) && - jobExpectDTO.getId().equals(id) - ).collect(Collectors.toList()); - if (CollectionUtils.isEmpty(jobExpectDTOList)) { - return; - } - - jobExpectMapper.deleteEntity(JobExpect.builder().id(id).build(), UserContextHolder.getLoginUserId()); - } - - @Transactional - @Override - public void removeByUserId() { - List list = this.list(JobExpectQueryDTO.builder().userId(UserContextHolder.getLoginUserId()).build()); - for (JobExpectDTO jobExpectDTO : list) { - jobExpectMapper.deleteEntity(JobExpect.builder().id(jobExpectDTO.getId()).build(), UserContextHolder.getLoginUserId()); - } - } - - @Override - public List list(JobExpectQueryDTO jobExpectQueryDTO) { - jobExpectQueryDTO.disablePage(); - return jobExpectMapper.listJobExpectDTO(jobExpectQueryDTO); - } - - @Override - public void page(JobExpectQueryDTO jobExpectQueryDTO) { - jobExpectQueryDTO.setUserId(UserContextHolder.getLoginUserId()); - jobExpectMapper.listJobExpectDTO(jobExpectQueryDTO); - } - - @Override - public JobExpectDTO find(JobExpectQueryDTO jobExpectQueryDTO) { - List jobExpectDTOs = this.list(jobExpectQueryDTO); - return jobExpectDTOs.isEmpty() ? null : ListUtil.first(jobExpectDTOs); - } - -} diff --git a/src/main/java/com/newyetai/recruit/user/service/impl/ResumeServiceImpl.java b/src/main/java/com/newyetai/recruit/user/service/impl/ResumeServiceImpl.java deleted file mode 100644 index 926cb7d..0000000 --- a/src/main/java/com/newyetai/recruit/user/service/impl/ResumeServiceImpl.java +++ /dev/null @@ -1,122 +0,0 @@ -package com.newyetai.recruit.user.service.impl; - -import com.newyetai.common.util.ListUtil; -import lombok.extern.slf4j.Slf4j; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.component.file.entity.FileRecord; -import com.newyetai.component.file.service.FileRecordService; -import com.newyetai.recruit.user.convert.ResumeConvert; -import com.newyetai.recruit.user.dto.*; -import com.newyetai.recruit.user.dao.ResumeMapper; -import com.newyetai.recruit.user.entity.Resume; -import com.newyetai.recruit.user.service.ResumeService; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.newyetai.common.util.UserContextHolder; - -import javax.annotation.Resource; - -import java.util.*; - -/** - * 简历管理 - * - * @author guixinman - * @since 1.0.0 2024-04-19 - */ -@Slf4j -@Service -public class ResumeServiceImpl implements ResumeService { - - @Resource - private ResumeMapper resumeMapper; - - @Autowired - private FileRecordService fileRecordService; - - @Override - public void createOrModify(ResumeOperatorDTO operatorDto) { - Integer count = resumeMapper.selectCount(new LambdaQueryWrapper() - .eq(Resume::getUserId, UserContextHolder.getExistLoginUserId()) - .eq(Resume::getDeleted, false) - ); - if (count == 0) { - Resume resume = ResumeConvert.INSTANCE.convert(operatorDto); - resume.setUserId(UserContextHolder.getExistLoginUserId()); - resumeMapper.saveEntity(resume); - } else { - this.modify(operatorDto); - } - } - - @Override - public void modify(ResumeOperatorDTO operatorDto) { - Resume resume = ResumeConvert.INSTANCE.convert(operatorDto); - resume.setUserId(UserContextHolder.getExistLoginUserId()); - resumeMapper.updateByUserId(resume); - } - - @Override - public void delete() { - - Resume resume = Resume.builder().build(); - resume.setUserId(UserContextHolder.getExistLoginUserId()); - resume.setDeleted(true); - resumeMapper.updateByUserId(resume); - } - - @Override - public ResumeDTO findById(Long id) { - Resume resume = resumeMapper.getById(id); - if (Objects.isNull(resume)) { - return null; - } - return ResumeConvert.INSTANCE.convert(resume); - } - - @Override - public List list(ResumeQueryDTO queryDTO) { - return resumeMapper.list(queryDTO); - } - - @Override - public List page(ResumePageQueryDTO queryDTO) { - return resumeMapper.page(queryDTO); - } - - @Override - public ResumeDTO userFind() { - Resume resume = resumeMapper.selectOne(new LambdaQueryWrapper() - .eq(Resume::getDeleted, false) - .eq(Resume::getUserId, UserContextHolder.getExistLoginUserId()) - ); - if (Objects.isNull(resume)) { - return null; - } - - ResumeDTO resumeDTO = ResumeDTO.builder().build(); - if (StringUtils.isNotBlank(resume.getFileCode())) { - FileRecord fileRecord = fileRecordService.find(FileRecord.builder().fileCode(resume.getFileCode()).build()); - if (Objects.nonNull(fileRecord)) { - resumeDTO.setFileName(fileRecord.getFileName()); - } - } - resumeDTO.setFileCode(resume.getFileCode()); - resumeDTO.setSelfEvaluation(resume.getSelfEvaluation()); - resumeDTO.setEducation(resume.getEducation()); - resumeDTO.setCityCode(resume.getCityCode()); - resumeDTO.setDataJson(resume.getDataJson()); - return resumeDTO; - } - - @Override - public ResumeDTO findByUserId(Long userId) { - List list = this.list(ResumeQueryDTO.builder().userId(userId).build()); - return ListUtil.first(list); - } -} \ No newline at end of file diff --git a/src/main/java/com/newyetai/recruit/user/service/impl/UserCertificateServiceImpl.java b/src/main/java/com/newyetai/recruit/user/service/impl/UserCertificateServiceImpl.java deleted file mode 100644 index 373d6a1..0000000 --- a/src/main/java/com/newyetai/recruit/user/service/impl/UserCertificateServiceImpl.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.newyetai.recruit.user.service.impl; - - -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.frame.redis.aop.annotation.AutoUnLock; -import com.newyetai.recruit.user.convert.UserCertificateMapMapper; -import com.newyetai.recruit.user.dao.UserCertificateMapper; -import com.newyetai.recruit.user.dto.UserCertificateCreateDTO; -import com.newyetai.recruit.user.dto.UserCertificateDTO; -import com.newyetai.recruit.user.dto.UserCertificateModifyDTO; -import com.newyetai.recruit.user.dto.UserCertificateQueryDTO; -import com.newyetai.recruit.user.entity.UserCertificate; -import com.newyetai.recruit.user.service.UserCertificateService; - -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; - -/** - * @author fzp on 2022年6月8日09:58:44 - */ -@Service -public class UserCertificateServiceImpl implements UserCertificateService { - - @Autowired - private UserCertificateMapper userCertificateMapper; - - @Override - @AutoUnLock - @Transactional(rollbackFor = Exception.class) - public void create(List operateDTOs) { - List userCertificates = UserCertificateMapMapper.INSTANCE.toEntitys(operateDTOs); - userCertificates.forEach(userCertificate -> { - userCertificate.setUserId(UserContextHolder.getLoginUserId()); - }); - userCertificateMapper.saveEntites(userCertificates, UserContextHolder.getExistLoginUserId()); - } - - @Override - public UserCertificateDTO modify(UserCertificateModifyDTO operateDTO) { - UserCertificate exchange = UserCertificateMapMapper.INSTANCE.toEntity(operateDTO); - userCertificateMapper.updateEntitySelective(exchange); - UserCertificate byId = userCertificateMapper.getById(exchange.getId()); - return UserCertificateMapMapper.INSTANCE.toDTO(byId); - } - - @Override - public UserCertificateDTO delete(Long id) { - UserCertificate userCertificate = userCertificateMapper.getById(id); - if (Objects.isNull(userCertificate)) { - return null; - } - UserCertificate param = new UserCertificate(); - param.setId(id); - userCertificateMapper.deleteEntity(param, UserContextHolder.getLoginUserId()); - return UserCertificateMapMapper.INSTANCE.toDTO(userCertificate); - } - - @Override - public UserCertificateDTO findById(Long id) { - UserCertificate byId = userCertificateMapper.getById(id); - if (Objects.isNull(byId)) { - return null; - } - return UserCertificateMapMapper.INSTANCE.toDTO(byId); - } - - @Override - public List page(UserCertificateQueryDTO queryDTO) { - return userCertificateMapper.page(queryDTO); - } - - @Override - public List list(UserCertificateQueryDTO queryDTO) { - queryDTO.disablePage(); - return userCertificateMapper.page(queryDTO); - } -} diff --git a/src/main/java/com/newyetai/recruit/user/service/impl/UserCollectionServiceImpl.java b/src/main/java/com/newyetai/recruit/user/service/impl/UserCollectionServiceImpl.java deleted file mode 100644 index 71dc5b7..0000000 --- a/src/main/java/com/newyetai/recruit/user/service/impl/UserCollectionServiceImpl.java +++ /dev/null @@ -1,89 +0,0 @@ -package com.newyetai.recruit.user.service.impl; - - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.recruit.position.dto.PositionDTO; -import com.newyetai.recruit.position.dto.PositionPageQueryDTO; -import com.newyetai.recruit.position.service.PositionService; -import com.newyetai.recruit.user.dao.UserCollectionMapper; -import com.newyetai.recruit.user.dto.UserCollectionCreateDTO; -import com.newyetai.recruit.user.entity.UserCollection; -import com.newyetai.recruit.user.service.UserCollectionService; - -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.util.ArrayList; -import java.util.List; - -import javax.annotation.Resource; - -import cn.hutool.core.collection.CollectionUtil; -import lombok.extern.slf4j.Slf4j; - -/** - * @Author dylanyuan - * @Date 2021/1/16 3:44 下午 - * @Version 1.0 - */ -@Slf4j -@Service -public class UserCollectionServiceImpl implements UserCollectionService { - - - @Resource - private UserCollectionMapper userCollectionMapper; - - @Resource - private PositionService positionService; - - @Override - public List page(PositionPageQueryDTO queryDTO) { - int pageNo = queryDTO.getPageNo(); - int pageSize = queryDTO.getPageSize(); - // 收藏的岗位id - List ids = userCollectionMapper.page(UserContextHolder.getLoginUserId(), (pageNo - 1) * pageSize, pageSize); - queryDTO.setIds(ids); - return CollectionUtils.isEmpty(ids) ? new ArrayList<>() : positionService.userPage(queryDTO); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void create(UserCollectionCreateDTO dto) { - UserCollection userCollection = UserCollection.builder() - .userId(UserContextHolder.getExistLoginUserId()) - .postId(dto.getPositionId()) - .deleted(false).build(); - - if (CollectionUtil.isEmpty(userCollectionMapper.selectList(new LambdaQueryWrapper() - .eq(UserCollection::getUserId, UserContextHolder.getExistLoginUserId()) - .eq(UserCollection::getPostId, dto.getPositionId()) - .eq(UserCollection::getDeleted, false) - ))) { - userCollectionMapper.saveEntity(userCollection); - } - } - - @Override - public int delete(Long id) { - - List userCollection = userCollectionMapper.selectList(new LambdaQueryWrapper() - .eq(UserCollection::getUserId, UserContextHolder.getExistLoginUserId()) - .eq(UserCollection::getPostId, id) - .eq(UserCollection::getDeleted, false)); - if (!CollectionUtil.isEmpty(userCollection)) { - UserCollection entity = UserCollection.builder().id(userCollection.get(0).getId()) - .postId(id).build(); - return userCollectionMapper.deleteEntity(entity, UserContextHolder.getLoginUserId()); - } - return 0; - } - - @Override - public Integer statistics() { - return userCollectionMapper.selectCount(new LambdaQueryWrapper().eq(UserCollection::getDeleted, false).eq(UserCollection::getUserId, UserContextHolder.getExistLoginUserId())); - - } -} diff --git a/src/main/java/com/newyetai/usercenter/authority/service/impl/ResourceSecurityServiceImpl.java b/src/main/java/com/newyetai/usercenter/authority/service/impl/ResourceSecurityServiceImpl.java index ac99f32..04a35d6 100644 --- a/src/main/java/com/newyetai/usercenter/authority/service/impl/ResourceSecurityServiceImpl.java +++ b/src/main/java/com/newyetai/usercenter/authority/service/impl/ResourceSecurityServiceImpl.java @@ -1,21 +1,7 @@ package com.newyetai.usercenter.authority.service.impl; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; - -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.collections.MapUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import com.newyetai.common.constant.SystemCodeEnum; import com.newyetai.common.exception.util.Assert; import com.newyetai.common.util.UserContextHolder; import com.newyetai.security.decision.manager.SecurityDecisionManager; @@ -34,9 +20,19 @@ import com.newyetai.usercenter.resource.dao.UcComponentMapper; import com.newyetai.usercenter.resource.dao.UcUrlMapper; import com.newyetai.usercenter.resource.dto.ComponentDTO; import com.newyetai.usercenter.resource.dto.UrlDTO; - +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.MapUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; @Service @RequiredArgsConstructor(onConstructor = @__(@Autowired)) @@ -168,20 +164,20 @@ public class ResourceSecurityServiceImpl implements IResourceSecurityService { @Override public List listUrlDTO(Integer systemCode, Long orgId) { - Assert.notNull( + /*Assert.notNull( Arrays.stream(SystemCodeEnum.values()).filter(code -> code.getCode().equals(systemCode)) .findFirst().orElse(null), - "应用不存在"); + "应用不存在");*/ return ucUrlMapper.listUrlDTO(systemCode, OrgConstants.PLATFORM_ORG_ID.equals(orgId) ? null : orgId); } @Override public List listComponentDTO(Integer systemCode, Long orgId) { - Assert.notNull( + /*Assert.notNull( Arrays.stream(SystemCodeEnum.values()).filter(code -> code.getCode().equals(systemCode)) .findFirst().orElse(null), - "应用不存在"); + "应用不存在");*/ return ucComponentMapper.listComponentDTO(systemCode, OrgConstants.PLATFORM_ORG_ID.equals(orgId) ? null : orgId); } diff --git a/src/main/java/com/newyetai/usercenter/common/mq/constant/UcMqConstants.java b/src/main/java/com/newyetai/usercenter/common/mq/constant/UcMqConstants.java index d6f19a9..8ae6abd 100644 --- a/src/main/java/com/newyetai/usercenter/common/mq/constant/UcMqConstants.java +++ b/src/main/java/com/newyetai/usercenter/common/mq/constant/UcMqConstants.java @@ -1,7 +1,7 @@ package com.newyetai.usercenter.common.mq.constant; import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.constant.SystemCodeEnum; +import com.newyetai.common.util.EnvironmentUtils; /** * mq常量类(routingkey) @@ -10,27 +10,13 @@ import com.newyetai.common.constant.SystemCodeEnum; public interface UcMqConstants { /** 用户中心系统mq前缀 **/ - String MQ_PREFIX = SystemCodeEnum.ALITA_USER_CENTER.getName() + CommonConstants.POINT; - - /** 站内信(websocket消费) **/ - String ROUTING_KEY_SITE_NOTICE = UcMqConstants.MQ_PREFIX + "site_notice"; + String MQ_PREFIX = EnvironmentUtils.getApplicationName() + CommonConstants.POINT; - /** - * 阶梯费率单子创建 - */ - String LADDER_RATE_ORDER_NOTICE = UcMqConstants.MQ_PREFIX + "ladder_rate_order_notice"; - - - /** 企业产品能力开通 **/ - String ROUTING_KEY_UNION_PROD_ABILITY_CREATE = UcMqConstants.MQ_PREFIX + "prod_ability_create"; - /** 修改手机号 **/ String CHANGE_PHONE = UcMqConstants.MQ_PREFIX + "change_phone"; /** 修改手机号 关联简历 **/ String CHANGE_PHONE_RESUME = UcMqConstants.MQ_PREFIX + "change_phone_resume"; - /** 用户活动记录处理 **/ - String ROUTING_KEY_USER_ACTIVITY_RECORD_DEAL = UcMqConstants.MQ_PREFIX + "user_activity_record_deal"; - + } diff --git a/src/main/java/com/newyetai/usercenter/dto/AllocatedBusinessRoleQueryDTO.java b/src/main/java/com/newyetai/usercenter/dto/AllocatedBusinessRoleQueryDTO.java index af6aed0..6cdb893 100644 --- a/src/main/java/com/newyetai/usercenter/dto/AllocatedBusinessRoleQueryDTO.java +++ b/src/main/java/com/newyetai/usercenter/dto/AllocatedBusinessRoleQueryDTO.java @@ -1,15 +1,11 @@ package com.newyetai.usercenter.dto; -import com.newyetai.common.constant.SystemCodeEnum; -import com.newyetai.common.util.UserContextHolder; import com.newyetai.usercenter.constants.RoleConstants; import com.newyetai.usercenter.constants.SecurityConstants; import java.io.Serializable; -import java.util.Arrays; import java.util.List; -import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import io.swagger.annotations.ApiModelProperty; diff --git a/src/main/java/com/newyetai/usercenter/org/constant/OrgTypeConstants.java b/src/main/java/com/newyetai/usercenter/org/constant/OrgTypeConstants.java deleted file mode 100644 index 9b6a5c9..0000000 --- a/src/main/java/com/newyetai/usercenter/org/constant/OrgTypeConstants.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.newyetai.usercenter.org.constant; - -import com.newyetai.common.constant.SystemCodeEnum; - -/** - * 机构类型 - * @author sr on 2022-11-28 - */ -public class OrgTypeConstants { - - /** 招聘系统 **/ - public static RecruitOrgType recruit ; - - public interface RecruitOrgType{ - /** 平台 **/ - Integer PLAFORM = 1; - /** 运营 **/ - Integer OPERATION = 2; - /** 普通 **/ - Integer SIMPLE = 3; - - default Integer getPlateformCode() { - return SystemCodeEnum.ALITA_RECRUIT.getCode(); - } - } - - - - -} diff --git a/src/main/java/com/newyetai/usercenter/org/dto/OrgRelationCreateDTO.java b/src/main/java/com/newyetai/usercenter/org/dto/OrgRelationCreateDTO.java index e043adc..408ac8f 100644 --- a/src/main/java/com/newyetai/usercenter/org/dto/OrgRelationCreateDTO.java +++ b/src/main/java/com/newyetai/usercenter/org/dto/OrgRelationCreateDTO.java @@ -5,7 +5,6 @@ import java.io.Serializable; import javax.validation.constraints.NotNull; import com.newyetai.common.dto.BaseOperateDTO; -import com.newyetai.usercenter.org.constant.OrgTypeConstants; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -33,9 +32,8 @@ public class OrgRelationCreateDTO extends BaseOperateDTO implements Serializable @NotNull(message = "机构id不能为空") private Long orgId; @ApiModelProperty("类型") - @Default @NotNull(message = "机构类型不能为空") - private Integer orgType = OrgTypeConstants.recruit.SIMPLE; + private Integer orgType ; @ApiModelProperty("上级id") private Long parentId; @ApiModelProperty("平台编码") diff --git a/src/main/java/com/newyetai/usercenter/org/service/impl/ImportDetailOrgProvider.java b/src/main/java/com/newyetai/usercenter/org/service/impl/ImportDetailOrgProvider.java index ef28a87..47f5137 100644 --- a/src/main/java/com/newyetai/usercenter/org/service/impl/ImportDetailOrgProvider.java +++ b/src/main/java/com/newyetai/usercenter/org/service/impl/ImportDetailOrgProvider.java @@ -25,10 +25,6 @@ import com.newyetai.component.commonimport.service.impl.AbstractCommonImportProv import com.newyetai.component.dict.util.DictUtils; import com.newyetai.component.file.entity.FileRecord; import com.newyetai.component.file.service.FileRecordService; -import com.newyetai.recruit.position.dto.ImportDetailPositionExportDTO; -import com.newyetai.recruit.position.dto.ImportDetailPositionListenerDTO; -import com.newyetai.recruit.position.service.impl.ImportPositionExcelListener; -import com.newyetai.recruit.talent.service.ImportDetailTalentService; import com.newyetai.tkmybatis.pojo.Page; import com.newyetai.usercenter.org.dao.OrgMapper; import com.newyetai.usercenter.org.dto.ImportDetailOrgDTO; @@ -38,8 +34,6 @@ import com.newyetai.usercenter.org.dto.ImportDetailOrgListenerDTO; import com.newyetai.usercenter.org.dto.ImportDetailOrgOperatorDTO; import com.newyetai.usercenter.org.dto.ImportDetailOrgPageQueryDTO; import com.newyetai.usercenter.org.dto.OrgCreateDTO; -import com.newyetai.usercenter.org.dto.OrgQueryDTO; -import com.newyetai.usercenter.org.entity.ImportDetailOrg; import com.newyetai.usercenter.org.entity.Org; import com.newyetai.usercenter.org.service.ImportDetailOrgService; import com.newyetai.usercenter.org.service.OrgService; diff --git a/src/main/java/com/newyetai/usercenter/org/service/impl/ImportDetailOrgServiceImpl.java b/src/main/java/com/newyetai/usercenter/org/service/impl/ImportDetailOrgServiceImpl.java index 43c6139..b4247bc 100644 --- a/src/main/java/com/newyetai/usercenter/org/service/impl/ImportDetailOrgServiceImpl.java +++ b/src/main/java/com/newyetai/usercenter/org/service/impl/ImportDetailOrgServiceImpl.java @@ -2,7 +2,6 @@ package com.newyetai.usercenter.org.service.impl; import lombok.extern.slf4j.Slf4j; -import com.newyetai.recruit.position.entity.ImportDetailPosition; import com.newyetai.usercenter.org.entity.ImportDetailOrg; import com.newyetai.usercenter.org.dto.*; import com.newyetai.usercenter.org.dao.ImportDetailOrgMapper; diff --git a/src/main/java/com/newyetai/usercenter/org/service/impl/OrgRelationServiceImpl.java b/src/main/java/com/newyetai/usercenter/org/service/impl/OrgRelationServiceImpl.java index 5440685..1ffe6d4 100644 --- a/src/main/java/com/newyetai/usercenter/org/service/impl/OrgRelationServiceImpl.java +++ b/src/main/java/com/newyetai/usercenter/org/service/impl/OrgRelationServiceImpl.java @@ -6,22 +6,16 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.newyetai.usercenter.constants.OrgConstants; -import com.newyetai.usercenter.org.constant.OrgTypeConstants; import com.newyetai.usercenter.org.dao.OrgRelationMapper; import com.newyetai.usercenter.org.service.OrgRelationService; import com.newyetai.usercenter.org.dto.OrgRelationQueryDTO; import com.newyetai.usercenter.org.dto.OrgRelationQueryOrgDTO; -import com.newyetai.usercenter.org.dto.OrgQueryDTO; import com.newyetai.usercenter.org.dto.OrgRelationCreateDTO; import com.newyetai.usercenter.org.dto.OrgRelationDTO; import com.newyetai.usercenter.org.dto.OrgRelationModifyDTO; -import com.newyetai.usercenter.org.entity.Org; import com.newyetai.usercenter.org.entity.OrgRelation; -import com.newyetai.usercenter.org.mapstruct.OrgMapMapper; import com.newyetai.usercenter.org.mapstruct.OrgRelationMapMapper; -import com.newyetai.common.util.UserContextHolder; import com.newyetai.frame.redis.dto.LockDTO; -import com.newyetai.frame.redis.redisson.RedissonUtils; import com.newyetai.common.constant.CommonConstants; import com.newyetai.common.exception.util.Assert; import com.newyetai.common.util.ListUtil; diff --git a/src/main/java/com/newyetai/usercenter/org/service/impl/OrgServiceImpl.java b/src/main/java/com/newyetai/usercenter/org/service/impl/OrgServiceImpl.java index 0f6de1d..9f81670 100644 --- a/src/main/java/com/newyetai/usercenter/org/service/impl/OrgServiceImpl.java +++ b/src/main/java/com/newyetai/usercenter/org/service/impl/OrgServiceImpl.java @@ -3,21 +3,14 @@ package com.newyetai.usercenter.org.service.impl; import java.util.*; import java.util.stream.Collectors; -import com.newyetai.recruit.company.dto.HrCompanyAuditDTO; -import com.newyetai.recruit.company.dto.HrCompanyAuditOperatorDTO; -import com.newyetai.recruit.company.dto.HrCompanyAuditPageQueryDTO; -import com.newyetai.recruit.company.service.HrCompanyAuditService; -import jdk.nashorn.internal.runtime.options.Option; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.newyetai.codegenerator.util.CodeUtils; import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.constant.SystemCodeEnum; import com.newyetai.common.exception.util.Assert; import com.newyetai.common.util.EnvironmentUtils; import com.newyetai.common.util.ListUtil; @@ -25,12 +18,6 @@ import com.newyetai.common.util.TreeHelper; import com.newyetai.common.util.UserContextHolder; import com.newyetai.frame.redis.dto.LockDTO; import com.newyetai.frame.redis.redisson.RedissonUtils; -import com.newyetai.recruit.company.dao.HrCompanyMapper; -import com.newyetai.recruit.company.dto.HrCompanyDTO; -import com.newyetai.recruit.company.entity.HrCompany; -import com.newyetai.recruit.company.enums.HrCompanyEnum; -import com.newyetai.recruit.company.service.IHrCompanyService; -import com.newyetai.recruit.position.entity.PositionAudit; import com.newyetai.usercenter.common.constant.CodeTypeEnum; import com.newyetai.usercenter.enums.OrgTypeEnum; import com.newyetai.usercenter.org.dao.OrgMapper; @@ -69,9 +56,7 @@ public class OrgServiceImpl implements OrgService { @Autowired private OrgRelationService orgRelationService; - - @Autowired - private HrCompanyAuditService hrCompanyAuditService; + public static LockDTO getLockDTO(String orgName) { Assert.notNull(orgName, "机构名称不能为空"); @@ -113,25 +98,7 @@ public class OrgServiceImpl implements OrgService { // orgrelation上下级 orgRelationService.create(OrgRelationCreateDTO.builder().orgId(orgId).orgType(orgType) .platformCode(EnvironmentUtils.getSystemCode()).parentId(orgCreateDTO.getParentId()).build()); - // 用工企业类型-创建自己默认的用工企业 - if (orgTypeEnum == OrgTypeEnum.ORG_TYPE_SIMPLE || orgTypeEnum == OrgTypeEnum.ORG_TYPE_HR) { - HrCompanyAuditOperatorDTO operatorDto = - HrCompanyAuditOperatorDTO.builder() - .orgId(orgId) - .creditCode(orgCreateDTO.getCreditCode()) - .companyLogo(orgCreateDTO.getOrgLogo()) - .companyName(orgName) - .contactPerson(orgCreateDTO.getRealName()) - .contactWay(orgCreateDTO.getPhone()) - .companyProfile(orgCreateDTO.getDescription()) - .companyDescription(orgCreateDTO.getDescription()) - .companyIndustry(orgCreateDTO.getTrade()) - .companySize(orgCreateDTO.getCompanySize()) - .companyRegisterAddress(orgCreateDTO.getRegisteredAddress()) - .companyType(HrCompanyEnum.SELF.getType()) - .build(); - hrCompanyAuditService.create(operatorDto); - } + return orgId; } @@ -165,38 +132,6 @@ public class OrgServiceImpl implements OrgService { public void modify(OrgModifyDTO orgModifyDTO) { orgMapper.modifyByOrgId(orgModifyDTO); - // 获取集合第一条数据并判断null/empty - HrCompanyAuditDTO hrCompanyAuditDTO = Optional.ofNullable(hrCompanyAuditService.page( - HrCompanyAuditPageQueryDTO.builder() - .companyType(HrCompanyEnum.SELF.getType()) - .orgId(orgModifyDTO.getId()) - .build())) - .filter(c -> !c.isEmpty()) - .map(c -> c.get(0)) - .orElse(null); - - - if (Objects.nonNull(hrCompanyAuditDTO)) { - HrCompanyAuditOperatorDTO operatorDto = HrCompanyAuditOperatorDTO - .builder() - .id(hrCompanyAuditDTO.getId()) - .orgId(orgModifyDTO.getId()) - .companyId(hrCompanyAuditDTO.getCompanyId()) - .creditCode(orgModifyDTO.getCreditCode()) - .companyLogo(orgModifyDTO.getOrgLogo()) - .companyName(hrCompanyAuditDTO.getCompanyName()) - .contactPerson(hrCompanyAuditDTO.getContactPerson()) - .contactWay(hrCompanyAuditDTO.getContactWay()) - .companyProfile(orgModifyDTO.getDescription()) - .companyDescription(orgModifyDTO.getDescription()) - .companyIndustry(orgModifyDTO.getTrade()) - .companySize(orgModifyDTO.getCompanySize()) - .companyRegisterAddress(orgModifyDTO.getRegisteredAddress()) - .companyType(HrCompanyEnum.SELF.getType()) - .version(hrCompanyAuditDTO.getVersion()) - .build(); - hrCompanyAuditService.modify(operatorDto); - } } diff --git a/src/main/java/com/newyetai/usercenter/resource/service/impl/UcUrlServiceImpl.java b/src/main/java/com/newyetai/usercenter/resource/service/impl/UcUrlServiceImpl.java index e3c8d23..9bcf27f 100644 --- a/src/main/java/com/newyetai/usercenter/resource/service/impl/UcUrlServiceImpl.java +++ b/src/main/java/com/newyetai/usercenter/resource/service/impl/UcUrlServiceImpl.java @@ -1,7 +1,6 @@ package com.newyetai.usercenter.resource.service.impl; import com.newyetai.common.AlitaResult; -import com.newyetai.common.constant.SystemCodeEnum; import com.newyetai.common.exception.util.Assert; import com.newyetai.common.exception.util.ExceptionUtils; import com.newyetai.common.util.TreeHelper; @@ -79,10 +78,10 @@ public class UcUrlServiceImpl implements UcUrlService { // 递归删除子菜单 Integer platformCode = history.getPlatformCode(); - Arrays.stream(SystemCodeEnum.values()) + /*Arrays.stream(SystemCodeEnum.values()) .filter(systemCodeEnum -> systemCodeEnum.getCode().equals(platformCode)) .findFirst() - .orElseThrow(() -> new RuntimeException("菜单应用码异常")); + .orElseThrow(() -> new RuntimeException("菜单应用码异常"));*/ UrlPageQueryDTO urlQueryDTO = new UrlPageQueryDTO(); urlQueryDTO.setNeedPage(false); diff --git a/src/main/java/com/newyetai/usercenter/user/constant/UserSourceEnum.java b/src/main/java/com/newyetai/usercenter/user/constant/UserSourceEnum.java deleted file mode 100644 index fbbf929..0000000 --- a/src/main/java/com/newyetai/usercenter/user/constant/UserSourceEnum.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.newyetai.usercenter.user.constant; - -/** - * 个人用户来源 - * @author fzp on 2022年3月8日14:55:13 - */ -public enum UserSourceEnum { - // ALITA_RECRUIT 13 = 1 - APPLET(1,"招聘微信小程序"), - // ALITA_TASK 1 = 2 - FLEXIBLE(2,"灵活就业微信小程序"), - FLEXIBLE_IMPORT(3,"灵活就业页面导入"); - - private Integer status; - private String name; - - UserSourceEnum(Integer status,String name) { - this.status = status; - this.name = name; - } - - public Integer getStatus() { - return status; - } - public String getName() { - return name; - } - - -} diff --git a/src/main/java/com/newyetai/usercenter/user/consumer/FourFactorVerifyStatusUpdateHandler.java b/src/main/java/com/newyetai/usercenter/user/consumer/FourFactorVerifyStatusUpdateHandler.java deleted file mode 100644 index b8f344e..0000000 --- a/src/main/java/com/newyetai/usercenter/user/consumer/FourFactorVerifyStatusUpdateHandler.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.newyetai.usercenter.user.consumer; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import com.newyetai.alitaforward.verification.dto.FourFactorVerificationDTO; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.usercenter.user.dto.AuthenticateUserDTO; -import com.newyetai.usercenter.user.dto.UserBankAccountCreateReqDTO; -import com.newyetai.usercenter.user.service.UserBankAccountService; -import com.newyetai.usercenter.user.service.UserService; - -import cn.hutool.json.JSONUtil; -import lombok.extern.slf4j.Slf4j; - -/** - * @author czy - * @date 2021-07-01 - */ - -@Slf4j -@Component("fourFactorVerifyStatusUpdateHandler") -public class FourFactorVerifyStatusUpdateHandler { - - - @Autowired - private UserService userService; - - @Autowired - private UserBankAccountService userBankAccountService; - - public void onMessage(FourFactorVerificationDTO fourVerification) { - try { -// log.info("【MQ】四要素认证流程结束,回写用户信息,参数:{}", JSONUtil.toJsonStr(fourVerification)); - if (fourVerification == null) { - return; - } - // 四要素校验通过 - if (!AuthStatusEnum.AUTH_SUCCESS.getType().equals(fourVerification.getStatus())) { - return; - } - AuthenticateUserDTO authenticateUserDTO = AuthenticateUserDTO.builder() - .cardNo(fourVerification.getCardNo()) - .realName(fourVerification.getRealName()) - .build(); - Long userId = userService.createAndAuthenticatePersonUser(authenticateUserDTO); - //3.添加用户银行卡信息 - UserBankAccountCreateReqDTO accountCreateReqDTO = UserBankAccountCreateReqDTO.builder() - .userId(userId) - .cardNo(fourVerification.getCardNo()) - .accountName(fourVerification.getRealName()) - .accountNo(fourVerification.getBankAccountNo()) - .build(); - userBankAccountService.addBankAccount(accountCreateReqDTO); - } catch (Exception e) { - log.info("四要素认证流程结束,回写用户信息异常,", e); - } - - } - - -} diff --git a/src/main/java/com/newyetai/usercenter/user/consumer/PhoneThreeFactorVerifyStatusUpdateHandler.java b/src/main/java/com/newyetai/usercenter/user/consumer/PhoneThreeFactorVerifyStatusUpdateHandler.java deleted file mode 100644 index 6ad5ebd..0000000 --- a/src/main/java/com/newyetai/usercenter/user/consumer/PhoneThreeFactorVerifyStatusUpdateHandler.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.newyetai.usercenter.user.consumer; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import com.newyetai.alitaforward.verification.dto.PhoneThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.service.PhoneThreeFactorVerificationProvider; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.mq.dto.TopicMqMessage; -import com.newyetai.usercenter.user.dto.AuthenticateUserDTO; -import com.newyetai.usercenter.user.service.UserService; - -import cn.hutool.json.JSONUtil; -import lombok.extern.slf4j.Slf4j; - -/** - * @author czy - * @date 2021-07-01 - */ - -@Slf4j -@Component("phoneThreeFactorVerifyStatusUpdateHandler") -public class PhoneThreeFactorVerifyStatusUpdateHandler { - - @Autowired - private UserService userService; - - public void onMessage(PhoneThreeFactorVerificationDTO threeVerification) { - // log.info("【MQ】手机三要素认证流程结束,回写用户信息,参数:{}", JSONUtil.toJsonStr(threeVerification)); - try { - if (threeVerification == null) { - return; - } - // 三要素校验通过 - if (!AuthStatusEnum.AUTH_SUCCESS.getType().equals(threeVerification.getStatus())) { - return; - } - AuthenticateUserDTO authenticateUserDTO = AuthenticateUserDTO.builder() - .cardNo(threeVerification.getCardNo()) - .realName(threeVerification.getRealName()) - .build(); - userService.createAndAuthenticatePersonUser(authenticateUserDTO); - } catch (Exception e) { - log.info("手机三要素认证流程结束,回写用户信息异常,", e); - } - - } - -} diff --git a/src/main/java/com/newyetai/usercenter/user/consumer/ThreeFactorVerifyStatusUpdateHandler.java b/src/main/java/com/newyetai/usercenter/user/consumer/ThreeFactorVerifyStatusUpdateHandler.java deleted file mode 100644 index 8ac65d8..0000000 --- a/src/main/java/com/newyetai/usercenter/user/consumer/ThreeFactorVerifyStatusUpdateHandler.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.newyetai.usercenter.user.consumer; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.service.ThreeFactorVerificationProvider; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.mq.dto.TopicMqMessage; -import com.newyetai.usercenter.user.dto.AuthenticateUserDTO; -import com.newyetai.usercenter.user.dto.UserBankAccountCreateReqDTO; -import com.newyetai.usercenter.user.service.UserBankAccountService; -import com.newyetai.usercenter.user.service.UserService; - -import cn.hutool.json.JSONUtil; -import lombok.extern.slf4j.Slf4j; - -/** - * @author czy - * @date 2021-07-01 - */ - -@Slf4j -@Component("threeFactorVerifyStatusUpdateHandler") -public class ThreeFactorVerifyStatusUpdateHandler { - - @Autowired - private UserService userService; - - @Autowired - private UserBankAccountService userBankAccountService; - - - public void onMessage(ThreeFactorVerificationDTO threeVerification) { - // log.info("【MQ】三要素认证流程结束,回写用户信息,参数:{}", JSONUtil.toJsonStr(threeVerification)); - try { - if (threeVerification == null) { - return; - } - // 三要素校验通过 - if (!AuthStatusEnum.AUTH_SUCCESS.getType().equals(threeVerification.getStatus())) { - return; - } - AuthenticateUserDTO authenticateUserDTO = AuthenticateUserDTO.builder() - .cardNo(threeVerification.getCardNo()) - .realName(threeVerification.getRealName()) - .build(); - Long userId = userService.createAndAuthenticatePersonUser(authenticateUserDTO); - //3.添加用户银行卡信息 - UserBankAccountCreateReqDTO accountCreateReqDTO = UserBankAccountCreateReqDTO.builder() - .userId(userId) - .accountName(threeVerification.getRealName()) - .accountNo(threeVerification.getBankAccountNo()) - .cardNo(threeVerification.getCardNo()) - .build(); - userBankAccountService.addBankAccount(accountCreateReqDTO); - } catch (Exception e) { - log.info("三要素认证流程结束,回写用户信息异常,", e); - } - - } - - -} diff --git a/src/main/java/com/newyetai/usercenter/user/controller/UserController.java b/src/main/java/com/newyetai/usercenter/user/controller/UserController.java index 774f50f..9cef86b 100644 --- a/src/main/java/com/newyetai/usercenter/user/controller/UserController.java +++ b/src/main/java/com/newyetai/usercenter/user/controller/UserController.java @@ -2,7 +2,6 @@ package com.newyetai.usercenter.user.controller; import com.newyetai.common.AlitaResult; import com.newyetai.common.constant.CommonConstants; -import com.newyetai.common.constant.SystemCodeEnum; import com.newyetai.common.util.EnvironmentUtils; import com.newyetai.common.util.UserContextHolder; import com.newyetai.common.validation.Update; diff --git a/src/main/java/com/newyetai/usercenter/user/controller/UserVerificationController.java b/src/main/java/com/newyetai/usercenter/user/controller/UserVerificationController.java deleted file mode 100644 index 518921a..0000000 --- a/src/main/java/com/newyetai/usercenter/user/controller/UserVerificationController.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.newyetai.usercenter.user.controller; - -import com.newyetai.common.AlitaResult; -import com.newyetai.usercenter.user.dto.RealNameTwoResponseDTO; -import com.newyetai.usercenter.user.dto.SuperRealNameTwoAuthDTO; -import com.newyetai.usercenter.user.dto.UserBankCardFourVerificationDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationCreateDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationDTO; -import com.newyetai.usercenter.user.dto.UserDTO; -import com.newyetai.usercenter.user.dto.UserPhoneThreeVerificationDTO; -import com.newyetai.usercenter.user.dto.UserRealNameTwoAuthCreateDTO; -import com.newyetai.usercenter.user.service.UserBankCardFourVerificationService; -import com.newyetai.usercenter.user.service.UserBankCardThreeVerificationService; -import com.newyetai.usercenter.user.service.UserPhoneThreeVerificationService; -import com.newyetai.usercenter.user.service.UserRealNameTwoVerificationService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author czy - * @date 2021-06-28 - */ -@RestController -@Api(tags = "用户要素认证") -public class UserVerificationController { - - @Autowired - private UserPhoneThreeVerificationService userPhoneThreeVerificationService; - @Autowired - private UserBankCardThreeVerificationService userBankCardThreeVerificationService; - @Autowired - private UserBankCardFourVerificationService userBankCardFourVerificationService; - @Autowired - private UserRealNameTwoVerificationService userRealNameTwoVerificationService; - - @PostMapping("/unac/user/verification/phone_three_factor") - @ApiOperation("三要素认证") - public AlitaResult userPhoneThreeFactorVerification( - @Validated @RequestBody UserPhoneThreeVerificationDTO userPhoneThreeVerificationDTO) { - return AlitaResult.success(userPhoneThreeVerificationService - .userThreeFactorVerification(userPhoneThreeVerificationDTO)); - } - - @GetMapping("/user/verification/phone_three_factor/find_last") - @ApiOperation("查询用户最新的三要素认证") - public AlitaResult phoneThreeFactorFindLast() { - return AlitaResult.success(userPhoneThreeVerificationService - .findLast()); - } - - @PostMapping("/unac/user/verification/three_factor") - @ApiOperation("三要素认证") - public AlitaResult userThreeFactorVerification( - @Validated @RequestBody UserBankCardThreeVerificationCreateDTO userBankCardThreeVerificationCreateDTO) { - return AlitaResult.success(userBankCardThreeVerificationService - .userThreeFactorVerification(userBankCardThreeVerificationCreateDTO)); - } - - @GetMapping("/user/verification/three_factor/find_last") - @ApiOperation("查询用户最新的三要素认证") - public AlitaResult threeFactorFindLast() { - return AlitaResult.success(userBankCardThreeVerificationService - .findLast()); - } - - @PostMapping("/unac/user/verification/four_factor") - @ApiOperation("四要素认证") - public AlitaResult userFourFactorVerification( - @RequestBody UserBankCardFourVerificationDTO userBankCardFourVerificationDTO) { - return AlitaResult.success(userBankCardFourVerificationService - .userFourFactorVerification(userBankCardFourVerificationDTO)); - } - - @PostMapping("/super/verification/two_factor") - @ApiOperation("上级认证并创建实名用户(非个人用户自己)") - public AlitaResult superTwoFactorVerification( - @Validated @RequestBody SuperRealNameTwoAuthDTO authDTO) { - return AlitaResult - .success(userRealNameTwoVerificationService.superAuth(authDTO)); - } - - @PostMapping("user/real_name_two_auth") - @ApiOperation("二要素实名认证") - public AlitaResult userRealNameTwoAuth( - @Validated @RequestBody UserRealNameTwoAuthCreateDTO createDTO) { - userRealNameTwoVerificationService.userRealNameTwoAuth(createDTO); - return AlitaResult.success(); - } - -} diff --git a/src/main/java/com/newyetai/usercenter/user/dto/UserDTO.java b/src/main/java/com/newyetai/usercenter/user/dto/UserDTO.java index a3707b8..c501916 100644 --- a/src/main/java/com/newyetai/usercenter/user/dto/UserDTO.java +++ b/src/main/java/com/newyetai/usercenter/user/dto/UserDTO.java @@ -1,10 +1,7 @@ package com.newyetai.usercenter.user.dto; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.newyetai.common.constant.SystemCodeEnum; import com.newyetai.common.dto.BaseDTO; -import com.newyetai.usercenter.authority.dto.RoleAllocationDTO; -import com.newyetai.usercenter.user.constant.UserSourceEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.*; @@ -108,17 +105,6 @@ public class UserDTO extends BaseDTO { /** 生日 **/ private Date birthday; - @ApiModelProperty("个人用户来源:1.招聘微信小程序 2.灵活就业微信小程序 3.灵活就业页面导入") - public Integer getUserSource() { - Integer platformCode = getPlatformCode(); - if (SystemCodeEnum.ALITA_TASK.getCode().equals(platformCode)) { - return UserSourceEnum.FLEXIBLE.getStatus(); - } else if (SystemCodeEnum.ALITA_RECRUIT.getCode().equals(platformCode)) { - return UserSourceEnum.APPLET.getStatus(); - } else { - return UserSourceEnum.FLEXIBLE_IMPORT.getStatus(); - } - } public void setPassword(String password) { this.password = password; diff --git a/src/main/java/com/newyetai/usercenter/user/dto/UserQueryDTO.java b/src/main/java/com/newyetai/usercenter/user/dto/UserQueryDTO.java index 5f78375..4290455 100644 --- a/src/main/java/com/newyetai/usercenter/user/dto/UserQueryDTO.java +++ b/src/main/java/com/newyetai/usercenter/user/dto/UserQueryDTO.java @@ -2,9 +2,7 @@ package com.newyetai.usercenter.user.dto; import com.fasterxml.jackson.annotation.JsonFormat; import com.newyetai.common.annotation.trimAndUpper.TrimAndUpper; -import com.newyetai.common.constant.SystemCodeEnum; import com.newyetai.common.dto.PageQueryDTO; -import com.newyetai.usercenter.user.constant.UserSourceEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; @@ -79,9 +77,6 @@ public class UserQueryDTO extends PageQueryDTO { @ApiModelProperty("是否申请注销 null:未申请 1:已申请 2:已通过") private Integer cancelStatus; - @ApiModelProperty("个人用户来源:1.招聘微信小程序 2.灵活就业微信小程序 3.灵活就业页面导入") - private Integer userSource; - /** * 是否实名 */ @@ -104,15 +99,5 @@ public class UserQueryDTO extends PageQueryDTO { ) private Date createTimeEnd; - @ApiModelProperty("重写个人用户来源转换成平台编码") - public void rewriteUserSource(Integer platformCode) { - if (UserSourceEnum.FLEXIBLE.getStatus().equals(platformCode)) { - this.userSource = SystemCodeEnum.ALITA_TASK.getCode(); - } else if (UserSourceEnum.APPLET.getStatus().equals(platformCode)) { - this.userSource = SystemCodeEnum.ALITA_RECRUIT.getCode(); - } else { - this.userSource = null; - } - } } diff --git a/src/main/java/com/newyetai/usercenter/user/login/service/impl/UserLoginServiceImpl.java b/src/main/java/com/newyetai/usercenter/user/login/service/impl/UserLoginServiceImpl.java index fcdf71b..d249cc2 100644 --- a/src/main/java/com/newyetai/usercenter/user/login/service/impl/UserLoginServiceImpl.java +++ b/src/main/java/com/newyetai/usercenter/user/login/service/impl/UserLoginServiceImpl.java @@ -1,8 +1,6 @@ package com.newyetai.usercenter.user.login.service.impl; -import com.newyetai.usercenter.user.dto.SuperRealNameTwoAuthDTO; import com.newyetai.usercenter.user.login.dto.LoginUCardDTO; -import com.newyetai.usercenter.user.service.UserRealNameTwoVerificationService; import java.util.List; import java.util.stream.Collectors; @@ -24,7 +22,6 @@ import com.newyetai.common.util.UserContextHolder; import com.newyetai.common.validation.util.ValidateUtils; import com.newyetai.frame.redis.util.RedisUtils; import com.newyetai.sdk.ssb.constant.SsbConstants; -import com.newyetai.sdk.ssb.constant.SsbPlatformEnum; import com.newyetai.sdk.ssb.dto.SsbAppUserInfoDTO; import com.newyetai.sdk.ssb.dto.SsbUserDTO; import com.newyetai.sdk.ssb.dto.SsbUserDataDTO; @@ -33,7 +30,6 @@ import com.newyetai.sdk.ssb.service.SsbInvoker; import com.newyetai.security.expection.BadLoginException; import com.newyetai.security.expection.DuplicateOrgException; import com.newyetai.security.expection.DuplicateUserException; -import com.newyetai.security.jwt.JwtTokenUtils; import com.newyetai.security.ssb.SsbLoginDTO; import com.newyetai.security.temptoken.dto.DuplMobileToken; import com.newyetai.security.temptoken.dto.DuplUserToken; @@ -51,9 +47,7 @@ import com.newyetai.usercenter.user.constant.UserTypeEnum; import com.newyetai.usercenter.user.dao.OrgUserMapper; import com.newyetai.usercenter.user.dao.UserMapper; import com.newyetai.usercenter.user.dto.AuthenticateUserDTO; -import com.newyetai.usercenter.user.dto.PersonUserCardCreateDTO; import com.newyetai.usercenter.user.dto.PersonUserPhoneCreateDTO; -import com.newyetai.usercenter.user.dto.UserDTO; import com.newyetai.usercenter.user.dto.UserDetailQueryDTO; import com.newyetai.usercenter.user.dto.UserRegisterCreateDTO; import com.newyetai.usercenter.user.entity.User; @@ -100,8 +94,6 @@ public class UserLoginServiceImpl implements UserLoginService { @Autowired private SsbInvoker ssbInvoker; - @Autowired - private UserRealNameTwoVerificationService userRealNameTwoVerificationService; @Override public UserDetailDTO loadUser(LoginUsernamePasswordDTO loginUsernamePasswordDTO) { @@ -471,18 +463,7 @@ public class UserLoginServiceImpl implements UserLoginService { } } // 未实名,调第三方实名校验 - Long userId = null; - try { - userId = userRealNameTwoVerificationService - .superAuth(SuperRealNameTwoAuthDTO.builder().realName(realName).cardNo(cardNo).build()); - } catch (Exception e) { - throw new BadLoginException(e.getMessage(), e); - } - UserDetailDTO userDetailDTO = this.findUserDetailDTO( - UserDetailQueryDTO.builder().userId(userId).userType(UserTypeEnum.PERSON.getType()) - .build()); - dealActiveStatus(userDetailDTO); - return userDetailDTO; + throw new BadLoginException("未实名"); } } diff --git a/src/main/java/com/newyetai/usercenter/user/mapper/UserMapper.xml b/src/main/java/com/newyetai/usercenter/user/mapper/UserMapper.xml index 75089d2..5fe442d 100644 --- a/src/main/java/com/newyetai/usercenter/user/mapper/UserMapper.xml +++ b/src/main/java/com/newyetai/usercenter/user/mapper/UserMapper.xml @@ -89,9 +89,6 @@ ORDER BY uu.id DESC ) tab - - where platform_code = #{param.userSource} - diff --git a/src/main/java/com/newyetai/usercenter/user/mapstruct/UserBankCardFourVerificationMapMapper.java b/src/main/java/com/newyetai/usercenter/user/mapstruct/UserBankCardFourVerificationMapMapper.java deleted file mode 100644 index 734b7fd..0000000 --- a/src/main/java/com/newyetai/usercenter/user/mapstruct/UserBankCardFourVerificationMapMapper.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.newyetai.usercenter.user.mapstruct; - -import com.newyetai.alitaforward.verification.dto.FourFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.usercenter.user.dto.UserBankCardFourVerificationDTO; -import com.newyetai.usercenter.user.dto.UserBankCardFourVerificationOperateDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationOperateDTO; -import com.newyetai.usercenter.user.entity.UserBankCardFourVerification; -import com.newyetai.usercenter.user.entity.UserBankCardThreeVerification; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.factory.Mappers; - -/** - * @author czy - * @date 2021-06-23 - */ - -@Mapper -public interface UserBankCardFourVerificationMapMapper { - - UserBankCardFourVerificationMapMapper INSTANCE = Mappers.getMapper(UserBankCardFourVerificationMapMapper.class); - - /** - * to entity - * @param dto - * @return - */ - @Mapping(target = "sourceVerifyId", source = "dto.id") - UserBankCardFourVerification toEntity(FourFactorVerificationDTO dto); - - /** - * to entity - * @param operateDTO - * @return - */ - UserBankCardFourVerification toEntity(UserBankCardFourVerificationOperateDTO operateDTO); - - /** - * to dto - * @param dto - * @return - */ - FourFactorVerificationDTO toDto(UserBankCardFourVerificationDTO dto); - - /** - * to dto - * @param entity - * @return - */ - UserBankCardFourVerificationDTO toDto(UserBankCardFourVerification entity); - - -} diff --git a/src/main/java/com/newyetai/usercenter/user/mapstruct/UserBankCardThreeVerificationMapMapper.java b/src/main/java/com/newyetai/usercenter/user/mapstruct/UserBankCardThreeVerificationMapMapper.java deleted file mode 100644 index 97ce1fe..0000000 --- a/src/main/java/com/newyetai/usercenter/user/mapstruct/UserBankCardThreeVerificationMapMapper.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.newyetai.usercenter.user.mapstruct; - -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationCreateDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationOperateDTO; -import com.newyetai.usercenter.user.entity.UserBankCardThreeVerification; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.Mappings; -import org.mapstruct.factory.Mappers; - -/** - * @author czy - * @date 2021-06-23 - */ - -@Mapper -public interface UserBankCardThreeVerificationMapMapper { - - UserBankCardThreeVerificationMapMapper INSTANCE = Mappers.getMapper( - UserBankCardThreeVerificationMapMapper.class); - - /** - * to entity - * @param dto - * @return - */ - @Mappings({ - @Mapping(target = "sourceVerifyId", source = "dto.id"), - @Mapping(target = "id", source = "dto.id", ignore = true) - }) - UserBankCardThreeVerification toEntity(ThreeFactorVerificationDTO dto); - - /** - * to entity - * @param operateDTO - * @return - */ - UserBankCardThreeVerification toEntity(UserBankCardThreeVerificationOperateDTO operateDTO); - - /** - * to dto - * @param dto - * @return - */ - ThreeFactorVerificationDTO toDto(UserBankCardThreeVerificationCreateDTO dto); - - /** - * to dto - * @param entity - * @return - */ - UserBankCardThreeVerificationDTO toDto(UserBankCardThreeVerification entity); - -} diff --git a/src/main/java/com/newyetai/usercenter/user/mapstruct/UserPhoneThreeVerificationMapMapper.java b/src/main/java/com/newyetai/usercenter/user/mapstruct/UserPhoneThreeVerificationMapMapper.java deleted file mode 100644 index 0b793b5..0000000 --- a/src/main/java/com/newyetai/usercenter/user/mapstruct/UserPhoneThreeVerificationMapMapper.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.newyetai.usercenter.user.mapstruct; - -import com.newyetai.alitaforward.verification.dto.PhoneThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.usercenter.user.dto.UserPhoneThreeVerificationDTO; -import com.newyetai.usercenter.user.dto.UserPhoneThreeVerificationOperateDTO; -import com.newyetai.usercenter.user.entity.UserPhoneThreeVerification; -import org.mapstruct.Mapper; -import org.mapstruct.Mapping; -import org.mapstruct.Mappings; -import org.mapstruct.factory.Mappers; - -/** - * @author czy - * @date 2021-06-23 - */ - -@Mapper -public interface UserPhoneThreeVerificationMapMapper { - - UserPhoneThreeVerificationMapMapper INSTANCE = Mappers.getMapper( - UserPhoneThreeVerificationMapMapper.class); - - /** - * to entity - * @param dto - * @return - */ - @Mappings({ - @Mapping(target = "sourceVerifyId", source = "dto.id"), - @Mapping(target = "id", source = "dto.id", ignore = true) - }) - UserPhoneThreeVerification toEntity(ThreeFactorVerificationDTO dto); - - /** - * to entity - * @param operateDTO - * @return - */ - UserPhoneThreeVerification toEntity(UserPhoneThreeVerificationOperateDTO operateDTO); - - /** - * to dto - * @param dto - * @return - */ - PhoneThreeFactorVerificationDTO toDto(UserPhoneThreeVerificationDTO dto); - - /** - * 实体 - * - * @param dto dto - * @return {@link PhoneThreeFactorVerificationDTO} - */ - UserPhoneThreeVerification toEntity(PhoneThreeFactorVerificationDTO dto); - - /** - * to dto - * @param entity - * @return - */ - UserPhoneThreeVerificationDTO toDto(UserPhoneThreeVerification entity); - -} diff --git a/src/main/java/com/newyetai/usercenter/user/service/UserBankCardFourVerificationService.java b/src/main/java/com/newyetai/usercenter/user/service/UserBankCardFourVerificationService.java deleted file mode 100644 index b906e5c..0000000 --- a/src/main/java/com/newyetai/usercenter/user/service/UserBankCardFourVerificationService.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.newyetai.usercenter.user.service; - -import com.newyetai.alitaforward.verification.dto.FourFactorVerificationDTO; -import com.newyetai.usercenter.user.dto.UserBankCardFourVerificationDTO; -import com.newyetai.usercenter.user.dto.UserBankCardFourVerificationOperateDTO; -import com.newyetai.usercenter.user.dto.UserBankCardFourVerificationQueryDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationOperateDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationQueryDTO; -import java.util.List; - -/** - * @author czy - * @date 2021-06-28 - */ -public interface UserBankCardFourVerificationService { - - /** - * 用户四要素认证 - * @param userBankCardFourVerificationDTO - * @return - */ - UserBankCardFourVerificationDTO userFourFactorVerification( - UserBankCardFourVerificationDTO userBankCardFourVerificationDTO); - - Long create(UserBankCardFourVerificationOperateDTO operateDTO); - - /** - * 查询 - * - * @param userBankCardFourVerificationQueryDTO - * @return - * @author sr on 2021-08-04 - */ - List list( - UserBankCardFourVerificationQueryDTO userBankCardFourVerificationQueryDTO); - - /** - * 查询用户最新的四要素认证 - * @return - * @author sr on 2021-08-04 - */ - UserBankCardFourVerificationDTO findLast(); -} diff --git a/src/main/java/com/newyetai/usercenter/user/service/UserBankCardThreeVerificationService.java b/src/main/java/com/newyetai/usercenter/user/service/UserBankCardThreeVerificationService.java deleted file mode 100644 index 44d5b15..0000000 --- a/src/main/java/com/newyetai/usercenter/user/service/UserBankCardThreeVerificationService.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.newyetai.usercenter.user.service; - -import java.util.List; - -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationCreateDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationOperateDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationQueryDTO; - -/** - * @author czy - * @date 2021-06-28 - */ -public interface UserBankCardThreeVerificationService { - - /** - * 用户三要素认证 - * @param userBankCardThreeVerificationCreateDTO - * @return - */ - UserBankCardThreeVerificationDTO userThreeFactorVerification( - UserBankCardThreeVerificationCreateDTO userBankCardThreeVerificationCreateDTO); - - - Long create(UserBankCardThreeVerificationOperateDTO operateDTO); - - /** - * 查询 - * - * @param userBankCardThreeVerificationQueryDTO - * @return - * @author sr on 2021-08-04 - */ - List list( - UserBankCardThreeVerificationQueryDTO userBankCardThreeVerificationQueryDTO); - - /** - * 查询用户最新的三要素认证 - * @return - * @author sr on 2021-08-04 - */ - UserBankCardThreeVerificationDTO findLast(); - -} diff --git a/src/main/java/com/newyetai/usercenter/user/service/UserPhoneThreeVerificationService.java b/src/main/java/com/newyetai/usercenter/user/service/UserPhoneThreeVerificationService.java deleted file mode 100644 index 8ab5107..0000000 --- a/src/main/java/com/newyetai/usercenter/user/service/UserPhoneThreeVerificationService.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.newyetai.usercenter.user.service; - -import com.newyetai.usercenter.user.dto.UserPhoneThreeVerificationDTO; -import com.newyetai.usercenter.user.dto.UserPhoneThreeVerificationOperateDTO; -import com.newyetai.usercenter.user.dto.UserPhoneThreeVerificationQueryDTO; - -import java.util.List; - -/** - * @author czy - * @date 2021-06-28 - */ -public interface UserPhoneThreeVerificationService { - - /** - * 用户三要素认证 - * @param userPhoneThreeVerificationDTO - * @return - */ - UserPhoneThreeVerificationDTO userThreeFactorVerification( - UserPhoneThreeVerificationDTO userPhoneThreeVerificationDTO); - - - Long create(UserPhoneThreeVerificationOperateDTO operateDTO); - - /** - * 查询 - * - * @param userPhoneThreeVerificationQueryDTO - * @return - * @author sr on 2021-08-04 - */ - List list( - UserPhoneThreeVerificationQueryDTO userPhoneThreeVerificationQueryDTO); - - /** - * 查询用户最新的三要素认证 - * @return - * @author sr on 2021-08-04 - */ - UserPhoneThreeVerificationDTO findLast(); - -} diff --git a/src/main/java/com/newyetai/usercenter/user/service/UserRealNameTwoVerificationService.java b/src/main/java/com/newyetai/usercenter/user/service/UserRealNameTwoVerificationService.java deleted file mode 100644 index cdfbddf..0000000 --- a/src/main/java/com/newyetai/usercenter/user/service/UserRealNameTwoVerificationService.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.newyetai.usercenter.user.service; - -import com.newyetai.usercenter.user.dto.SuperRealNameTwoAuthDTO; -import com.newyetai.usercenter.user.dto.UserRealNameTwoAuthCreateDTO; - -/** - * @author fzp - * @date 2021年7月13日18:35:40 - */ -public interface UserRealNameTwoVerificationService { - - - /** - * 上级(入参直接)认证并创建实名用户(非个人用户自己) - * @param authDTO - * @return - * @author sr on 2022-10-18 - */ - Long superAuth(SuperRealNameTwoAuthDTO authDTO); - - /** - * 二要素认证(并激活用户),个人用户自己 - * @param createDTO - * @author sr on 2023-11-10 - */ - void userRealNameTwoAuth(UserRealNameTwoAuthCreateDTO createDTO); -} diff --git a/src/main/java/com/newyetai/usercenter/user/service/impl/UserBankCardFourVerificationServiceImpl.java b/src/main/java/com/newyetai/usercenter/user/service/impl/UserBankCardFourVerificationServiceImpl.java deleted file mode 100644 index 9a45621..0000000 --- a/src/main/java/com/newyetai/usercenter/user/service/impl/UserBankCardFourVerificationServiceImpl.java +++ /dev/null @@ -1,152 +0,0 @@ -package com.newyetai.usercenter.user.service.impl; - -import java.util.List; - -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import com.newyetai.alitaforward.verification.dto.FourFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.FourVerify; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.common.exception.ChangeTokenException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import com.newyetai.usercenter.user.dao.UserBankCardFourVerificationMapper; -import com.newyetai.usercenter.user.dao.UserMapper; -import com.newyetai.usercenter.user.dto.AuthenticateUserDTO; -import com.newyetai.usercenter.user.dto.UserBankAccountCreateReqDTO; -import com.newyetai.usercenter.user.dto.UserBankCardFourVerificationDTO; -import com.newyetai.usercenter.user.dto.UserBankCardFourVerificationOperateDTO; -import com.newyetai.usercenter.user.dto.UserBankCardFourVerificationQueryDTO; -import com.newyetai.usercenter.user.entity.User; -import com.newyetai.usercenter.user.entity.UserBankCardFourVerification; -import com.newyetai.usercenter.user.mapstruct.UserBankCardFourVerificationMapMapper; -import com.newyetai.usercenter.user.service.UserBankAccountService; -import com.newyetai.usercenter.user.service.UserBankCardFourVerificationService; -import com.newyetai.usercenter.user.service.UserService; - -/** - * @author czy - * @date 2021-06-28 - */ -@Service -public class UserBankCardFourVerificationServiceImpl implements - UserBankCardFourVerificationService { - - @Autowired - private FourVerify fourVerify; - - @Autowired - private UserBankCardFourVerificationMapper userBankCardFourVerificationMapper; - - @Autowired - private UserMapper userMapper; - - @Autowired - private UserService userService; - - @Autowired - private UserBankAccountService userBankAccountService; - - @Override - public UserBankCardFourVerificationDTO userFourFactorVerification( - UserBankCardFourVerificationDTO userBankCardFourVerificationDTO) { - String cardNo = userBankCardFourVerificationDTO.getCardNo(); - Long userId = UserContextHolder.getLoginUserId(); - Assert.isTrue(UserTypeEnum.PERSON.getType().equals(UserContextHolder.getUserType()), - "不支持非个人用户认证"); - UserBankCardFourVerificationQueryDTO userBankCardFourVerificationQueryDTO = - (UserBankCardFourVerificationQueryDTO) UserBankCardFourVerificationQueryDTO.builder() - .userId(userId) - .realName(userBankCardFourVerificationDTO.getRealName()) - .cardNo(cardNo) - .bankAccountNo(userBankCardFourVerificationDTO.getBankAccountNo()) - .phone(userBankCardFourVerificationDTO.getPhone()) - .build().disablePage(); - List verificationDTOs = - list(userBankCardFourVerificationQueryDTO); - Assert.isTrue(verificationDTOs.isEmpty(), "该信息用户已经认证"); - User user = userMapper.getById(userId); - Assert.notNull(user, "当前登录信息异常,请退出重新登录"); - String existCardNo = user.getCardNo(); - //判断用户是否已经有身份证号;有则校验当前用户的证件号与待认证的证件号是否一致 - Assert.isTrue(StringUtils.isBlank(existCardNo) || - StringUtils.equals(existCardNo, cardNo), - "认证身份证与当前用户身份证不一致"); - - FourFactorVerificationDTO fourFactorVerificationDTO = - UserBankCardFourVerificationMapMapper.INSTANCE - .toDto(userBankCardFourVerificationDTO); - //四要素认证 - - //第三方认证结束 - FourFactorVerificationDTO verifyResultData = fourVerify.sync(fourFactorVerificationDTO); - UserBankCardFourVerification userBankCardFourVerification = - UserBankCardFourVerificationMapMapper.INSTANCE - .toEntity(verifyResultData); - String failReason = verifyResultData.getFailReason(); - Assert.isTrue(AuthStatusEnum.AUTH_SUCCESS.getType().equals(verifyResultData.getStatus()), - failReason); - ChangeTokenException exception = null; - try { - userService.authenticatePersonUser( - AuthenticateUserDTO.builder().cardNo(fourFactorVerificationDTO.getCardNo()) - .realName(fourFactorVerificationDTO.getRealName()).userId(user.getId()) - .build()); - } catch (ChangeTokenException e) { - exception = e; - // 合并账号,有可能userId合并 - userId = e.getCasTokenDTO().getUserId(); - } - if (exception != null && !UserContextHolder.getLoginUserId().equals(userId)) { - // 合并账号,替换用户id,判断老用户id是否存在相同认证信息,存在则不保存该用户认证信息了 - userBankCardFourVerificationQueryDTO.setUserId(userId); - List existverificationDTOs = - list(userBankCardFourVerificationQueryDTO); - if (!existverificationDTOs.isEmpty()) { - throw exception; - } - } - userBankCardFourVerification.setUserId(userId); - userBankCardFourVerificationMapper.saveEntity(userBankCardFourVerification); - userBankCardFourVerificationDTO = UserBankCardFourVerificationMapMapper.INSTANCE - .toDto(userBankCardFourVerification); - //保存用户银行卡信息 - UserBankAccountCreateReqDTO accountCreateReqDTO = UserBankAccountCreateReqDTO.builder() - .userId(userId) - .accountName(userBankCardFourVerification.getRealName()) - .accountNo(userBankCardFourVerification.getBankAccountNo()) - .cardNo(userBankCardFourVerification.getCardNo()) - .build(); - userBankAccountService.addBankAccount(accountCreateReqDTO); - Assert.isTrue(exception == null, exception); - return userBankCardFourVerificationDTO; - - } - - @Override - public Long create(UserBankCardFourVerificationOperateDTO operateDTO) { - UserBankCardFourVerification userBankCardFourVerification = UserBankCardFourVerificationMapMapper.INSTANCE.toEntity(operateDTO); - userBankCardFourVerificationMapper.saveEntity(userBankCardFourVerification); - return userBankCardFourVerification.getId(); - } - - @Override - public List list( - UserBankCardFourVerificationQueryDTO userBankCardFourVerificationQueryDTO) { - return userBankCardFourVerificationMapper - .listUserBankCardFourVerificationDTO(userBankCardFourVerificationQueryDTO); - } - - @Override - public UserBankCardFourVerificationDTO findLast() { - UserBankCardFourVerificationQueryDTO queryDto = UserBankCardFourVerificationQueryDTO.builder() - .userId(UserContextHolder.getExistLoginUserId()).build(); - queryDto.setPageSize(1); - List verificationDTOs = list(queryDto); - return verificationDTOs.isEmpty() ? null : verificationDTOs.get(0); - } - -} diff --git a/src/main/java/com/newyetai/usercenter/user/service/impl/UserBankCardThreeVerificationServiceImpl.java b/src/main/java/com/newyetai/usercenter/user/service/impl/UserBankCardThreeVerificationServiceImpl.java deleted file mode 100644 index 4f22ccc..0000000 --- a/src/main/java/com/newyetai/usercenter/user/service/impl/UserBankCardThreeVerificationServiceImpl.java +++ /dev/null @@ -1,173 +0,0 @@ -package com.newyetai.usercenter.user.service.impl; - -import java.util.List; - -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.newyetai.alitaforward.verification.dto.ThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.ThreeVerify; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.common.exception.ChangeTokenException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.component.cardbin.service.CardBinService; -import com.newyetai.frame.redis.aop.annotation.AutoUnLock; -import com.newyetai.frame.redis.dto.LockDTO; -import com.newyetai.frame.redis.redisson.RedissonUtils; -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import com.newyetai.usercenter.user.dao.UserBankCardThreeVerificationMapper; -import com.newyetai.usercenter.user.dao.UserMapper; -import com.newyetai.usercenter.user.dto.AuthenticateUserDTO; -import com.newyetai.usercenter.user.dto.UserBankAccountCreateReqDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationCreateDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationOperateDTO; -import com.newyetai.usercenter.user.dto.UserBankCardThreeVerificationQueryDTO; -import com.newyetai.usercenter.user.entity.User; -import com.newyetai.usercenter.user.entity.UserBankCardThreeVerification; -import com.newyetai.usercenter.user.mapstruct.UserBankAccountMapMapper; -import com.newyetai.usercenter.user.mapstruct.UserBankCardThreeVerificationMapMapper; -import com.newyetai.usercenter.user.service.UserBankAccountService; -import com.newyetai.usercenter.user.service.UserBankCardThreeVerificationService; -import com.newyetai.usercenter.user.service.UserService; - -import lombok.extern.slf4j.Slf4j; - -/** - * @author czy - * @date 2021-06-28 - */ -@Slf4j -@Service -public class UserBankCardThreeVerificationServiceImpl implements - UserBankCardThreeVerificationService { - - @Autowired - private ThreeVerify threeVerify; - - @Autowired - private UserBankCardThreeVerificationMapper userBankCardThreeVerificationMapper; - - @Autowired - private UserMapper userMapper; - - @Autowired - private UserService userService; - - @Autowired - private UserBankAccountService userBankAccountService; - - @Autowired - private CardBinService cardBinService; - - @Override - @AutoUnLock - @Transactional(noRollbackFor = ChangeTokenException.class) - public UserBankCardThreeVerificationDTO userThreeFactorVerification( - UserBankCardThreeVerificationCreateDTO userBankCardThreeVerificationCreateDTO) { - String bankName = cardBinService.getBankNo(userBankCardThreeVerificationCreateDTO.getBankAccountNo()); - Assert.isTrue(StringUtils.isNotBlank(bankName), "无效银行卡号"); - - String cardNo = userBankCardThreeVerificationCreateDTO.getCardNo(); - Long userId = UserContextHolder.getLoginUserId(); - Assert.isTrue(UserTypeEnum.PERSON.getType().equals(UserContextHolder.getUserType()), - "不支持非个人用户认证"); - UserBankCardThreeVerificationQueryDTO userBankCardThreeVerificationQueryDTO = - (UserBankCardThreeVerificationQueryDTO) UserBankCardThreeVerificationQueryDTO.builder() - .userId(userId) - .realName(userBankCardThreeVerificationCreateDTO.getRealName()) - .cardNo(cardNo) - .bankAccountNo(userBankCardThreeVerificationCreateDTO.getBankAccountNo()) - .build().disablePage(); - List verificationDTOs = - list(userBankCardThreeVerificationQueryDTO); - Assert.isTrue(verificationDTOs.isEmpty(), "该信息用户已经认证"); - User user = userMapper.getById(userId); - Assert.notNull(user, "当前用户已不存在,请重新登录"); - String existCardNo = user.getCardNo(); - //判断用户是否已经有身份证号;有则校验当前用户的证件号与待认证的证件号是否一致 - Assert.isTrue(StringUtils.isBlank(existCardNo) || - StringUtils.equals(existCardNo, cardNo), - "认证身份证与当前用户身份证不一致"); - - // 上锁 - LockDTO lockDTO = UserServiceImpl.getCardNoLockDTO(cardNo); - Assert.isTrue(RedissonUtils.tryLockAutomatically(lockDTO), "该身份证号正在操作"); - - ThreeFactorVerificationDTO threeFactorVerificationDTO = - UserBankCardThreeVerificationMapMapper.INSTANCE - .toDto(userBankCardThreeVerificationCreateDTO); - //三要素认证 - //第三方认证结束 - ThreeFactorVerificationDTO verifyResultData = threeVerify.sync(threeFactorVerificationDTO); - UserBankCardThreeVerification userBankCardThreeVerification = - UserBankCardThreeVerificationMapMapper.INSTANCE - .toEntity(verifyResultData); - String failReason = verifyResultData.getFailReason(); - Assert.isTrue(AuthStatusEnum.AUTH_SUCCESS.getType().equals(verifyResultData.getStatus()), - failReason); - ChangeTokenException exception = null; - try { - userService.authenticatePersonUser( - AuthenticateUserDTO.builder().cardNo(threeFactorVerificationDTO.getCardNo()) - .realName(threeFactorVerificationDTO.getRealName()).userId(user.getId()) - .build()); - } catch (ChangeTokenException e) { - exception = e; - // 合并账号,有可能userId合并 - userId = e.getCasTokenDTO().getUserId(); - } - if (exception != null && !UserContextHolder.getLoginUserId().equals(userId)) { - // 合并账号,替换用户id,判断老用户id是否存在相同认证信息,存在则不保存该用户认证信息了 - userBankCardThreeVerificationQueryDTO.setUserId(userId); - List existverificationDTOs = - list(userBankCardThreeVerificationQueryDTO); - if (!existverificationDTOs.isEmpty()) { - throw exception; - } - } - userBankCardThreeVerification.setUserId(userId); - userBankCardThreeVerificationMapper.saveEntity(userBankCardThreeVerification); - UserBankCardThreeVerificationDTO userBankCardThreeVerificationDTO = UserBankCardThreeVerificationMapMapper.INSTANCE - .toDto(userBankCardThreeVerification); - //保存用户银行卡信息 - UserBankAccountCreateReqDTO accountCreateReqDTO = - UserBankAccountMapMapper.INSTANCE.toDto(userBankCardThreeVerificationCreateDTO); - accountCreateReqDTO.setUserId(userId); - accountCreateReqDTO.setBankName(bankName); - userBankAccountService.addBankAccount(accountCreateReqDTO); - Assert.isTrue(exception == null, exception); - return userBankCardThreeVerificationDTO; - } - - @Override - @Transactional - public Long create(UserBankCardThreeVerificationOperateDTO operateDTO) { - UserBankCardThreeVerification userBankCardThreeVerification = - UserBankCardThreeVerificationMapMapper.INSTANCE.toEntity(operateDTO); - userBankCardThreeVerificationMapper.saveEntity(userBankCardThreeVerification); - return userBankCardThreeVerification.getId(); - } - - @Override - public List list( - UserBankCardThreeVerificationQueryDTO userBankCardThreeVerificationQueryDTO) { - userBankCardThreeVerificationQueryDTO.disablePage(); - return userBankCardThreeVerificationMapper - .listUserBankCardThreeVerificationDTO(userBankCardThreeVerificationQueryDTO); - } - - @Override - public UserBankCardThreeVerificationDTO findLast() { - UserBankCardThreeVerificationQueryDTO queryDto = UserBankCardThreeVerificationQueryDTO.builder() - .userId(UserContextHolder.getExistLoginUserId()).build(); - queryDto.setPageSize(1); - List verificationDTOs = - userBankCardThreeVerificationMapper.listUserBankCardThreeVerificationDTO(queryDto); - return verificationDTOs.isEmpty() ? null : verificationDTOs.get(0); - } - -} diff --git a/src/main/java/com/newyetai/usercenter/user/service/impl/UserPhoneThreeVerificationServiceImpl.java b/src/main/java/com/newyetai/usercenter/user/service/impl/UserPhoneThreeVerificationServiceImpl.java deleted file mode 100644 index 2a0162f..0000000 --- a/src/main/java/com/newyetai/usercenter/user/service/impl/UserPhoneThreeVerificationServiceImpl.java +++ /dev/null @@ -1,156 +0,0 @@ -package com.newyetai.usercenter.user.service.impl; - -import java.util.List; - -import javax.annotation.Resource; - -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.newyetai.alitaforward.verification.dto.PhoneThreeFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.PhoneThreeVerify; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.common.exception.ChangeTokenException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.frame.redis.aop.annotation.AutoUnLock; -import com.newyetai.frame.redis.dto.LockDTO; -import com.newyetai.frame.redis.redisson.RedissonUtils; -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import com.newyetai.usercenter.user.dao.UserMapper; -import com.newyetai.usercenter.user.dao.UserPhoneThreeVerificationMapper; -import com.newyetai.usercenter.user.dto.AuthenticateUserDTO; -import com.newyetai.usercenter.user.dto.UserPhoneThreeVerificationDTO; -import com.newyetai.usercenter.user.dto.UserPhoneThreeVerificationOperateDTO; -import com.newyetai.usercenter.user.dto.UserPhoneThreeVerificationQueryDTO; -import com.newyetai.usercenter.user.entity.User; -import com.newyetai.usercenter.user.entity.UserPhoneThreeVerification; -import com.newyetai.usercenter.user.mapstruct.UserPhoneThreeVerificationMapMapper; -import com.newyetai.usercenter.user.service.UserPhoneThreeVerificationService; -import com.newyetai.usercenter.user.service.UserService; - -import lombok.extern.slf4j.Slf4j; - -/** - * @author czy - * @date 2021-06-28 - */ -@Slf4j -@Service -public class UserPhoneThreeVerificationServiceImpl implements - UserPhoneThreeVerificationService { - - @Autowired - private PhoneThreeVerify phoneThreeVerify; - - @Resource - private UserPhoneThreeVerificationMapper userPhoneThreeVerificationMapper; - - @Autowired - private UserMapper userMapper; - - @Autowired - private UserService userService; - - @Override - @AutoUnLock - @Transactional(noRollbackFor = ChangeTokenException.class) - public UserPhoneThreeVerificationDTO userThreeFactorVerification( - UserPhoneThreeVerificationDTO userPhoneThreeVerificationDTO) { - String cardNo = userPhoneThreeVerificationDTO.getCardNo(); - Long userId = UserContextHolder.getLoginUserId(); - Assert.isTrue(UserTypeEnum.PERSON.getType().equals(UserContextHolder.getUserType()), - "不支持非个人用户认证"); - UserPhoneThreeVerificationQueryDTO userPhoneThreeVerificationQueryDTO = - (UserPhoneThreeVerificationQueryDTO) UserPhoneThreeVerificationQueryDTO.builder() - .userId(userId) - .realName(userPhoneThreeVerificationDTO.getRealName()) - .cardNo(cardNo) - .phone(userPhoneThreeVerificationDTO.getPhone()) - .build().disablePage(); - List verificationDTOs = - list(userPhoneThreeVerificationQueryDTO); - Assert.isTrue(verificationDTOs.isEmpty(), "该信息用户已经认证"); - User user = userMapper.getById(userId); - Assert.notNull(user, "当前用户已不存在,请重新登录"); - String existCardNo = user.getCardNo(); - //判断用户是否已经有身份证号;有则校验当前用户的证件号与待认证的证件号是否一致 - Assert.isTrue(StringUtils.isBlank(existCardNo) || - StringUtils.equals(existCardNo, cardNo), - "认证身份证与当前用户身份证不一致"); - - // 上锁 - LockDTO lockDTO = UserServiceImpl.getCardNoLockDTO(cardNo); - Assert.isTrue(RedissonUtils.tryLockAutomatically(lockDTO), "该身份证号正在操作"); - - PhoneThreeFactorVerificationDTO phoneThreeFactorVerificationDTO = - UserPhoneThreeVerificationMapMapper.INSTANCE - .toDto(userPhoneThreeVerificationDTO); - //三要素认证 - - //第三方认证结束 - PhoneThreeFactorVerificationDTO verifyResultData = phoneThreeVerify.sync(phoneThreeFactorVerificationDTO); - UserPhoneThreeVerification userPhoneThreeVerification = - UserPhoneThreeVerificationMapMapper.INSTANCE - .toEntity(verifyResultData); - String failReason = verifyResultData.getFailReason(); - Assert.isTrue(AuthStatusEnum.AUTH_SUCCESS.getType().equals(verifyResultData.getStatus()), - failReason); - ChangeTokenException exception = null; - try { - userService.authenticatePersonUser( - AuthenticateUserDTO.builder().cardNo(phoneThreeFactorVerificationDTO.getCardNo()) - .realName(phoneThreeFactorVerificationDTO.getRealName()).userId(user.getId()) - .build()); - } catch (ChangeTokenException e) { - exception = e; - // 合并账号,有可能userId合并 - userId = e.getCasTokenDTO().getUserId(); - } - if (exception != null && !UserContextHolder.getLoginUserId().equals(userId)) { - // 合并账号,替换用户id,判断老用户id是否存在相同认证信息,存在则不保存该用户认证信息了 - userPhoneThreeVerificationQueryDTO.setUserId(userId); - List existverificationDTOs = - list(userPhoneThreeVerificationQueryDTO); - if (!existverificationDTOs.isEmpty()) { - throw exception; - } - } - userPhoneThreeVerification.setUserId(userId); - userPhoneThreeVerificationMapper.saveEntity(userPhoneThreeVerification); - userPhoneThreeVerificationDTO = UserPhoneThreeVerificationMapMapper.INSTANCE - .toDto(userPhoneThreeVerification); - - Assert.isTrue(exception == null, exception); - return userPhoneThreeVerificationDTO; - - } - - @Override - @Transactional - public Long create(UserPhoneThreeVerificationOperateDTO operateDTO) { - UserPhoneThreeVerification userPhoneThreeVerification = UserPhoneThreeVerificationMapMapper.INSTANCE - .toEntity(operateDTO); - userPhoneThreeVerificationMapper.saveEntity(userPhoneThreeVerification); - return userPhoneThreeVerification.getId(); - } - - @Override - public List list( - UserPhoneThreeVerificationQueryDTO userPhoneThreeVerificationQueryDTO) { - return userPhoneThreeVerificationMapper - .listUserPhoneThreeVerificationDTO(userPhoneThreeVerificationQueryDTO); - } - - @Override - public UserPhoneThreeVerificationDTO findLast() { - UserPhoneThreeVerificationQueryDTO queryDto = UserPhoneThreeVerificationQueryDTO.builder() - .userId(UserContextHolder.getExistLoginUserId()).build(); - queryDto.setPageSize(1); - List verificationDTOs = list(queryDto); - return verificationDTOs.isEmpty() ? null : verificationDTOs.get(0); - } - -} diff --git a/src/main/java/com/newyetai/usercenter/user/service/impl/UserRealNameTwoVerificationServiceImpl.java b/src/main/java/com/newyetai/usercenter/user/service/impl/UserRealNameTwoVerificationServiceImpl.java deleted file mode 100644 index d3aa335..0000000 --- a/src/main/java/com/newyetai/usercenter/user/service/impl/UserRealNameTwoVerificationServiceImpl.java +++ /dev/null @@ -1,116 +0,0 @@ -package com.newyetai.usercenter.user.service.impl; - -import java.io.InputStream; - -import javax.annotation.Resource; - -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Lazy; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import com.newyetai.alitaforward.verification.dto.RealNameTwoFactorVerificationDTO; -import com.newyetai.alitaforward.verification.factor.RealNameTwoVerify; -import com.newyetai.common.constant.AuthStatusEnum; -import com.newyetai.common.exception.BusinessException; -import com.newyetai.common.exception.ChangeTokenException; -import com.newyetai.common.exception.util.Assert; -import com.newyetai.common.util.UserContextHolder; -import com.newyetai.component.file.entity.FileRecord; -import com.newyetai.component.file.service.FileRecordService; -import com.newyetai.usercenter.user.constant.UserTypeEnum; -import com.newyetai.usercenter.user.dao.UserMapper; -import com.newyetai.usercenter.user.dao.UserRealNameTwoVerificationMapper; -import com.newyetai.usercenter.user.dto.AuthenticateUserDTO; -import com.newyetai.usercenter.user.dto.SuperRealNameTwoAuthDTO; -import com.newyetai.usercenter.user.dto.UserRealNameTwoAuthCreateDTO; -import com.newyetai.usercenter.user.entity.User; -import com.newyetai.usercenter.user.mapstruct.UserMapMapper; -import com.newyetai.usercenter.user.service.UserRealNameTwoVerificationService; -import com.newyetai.usercenter.user.service.UserService; - -import cn.hutool.core.io.IORuntimeException; -import cn.hutool.core.io.IoUtil; -import lombok.extern.slf4j.Slf4j; - -/** - * @author czy - * @date 2021-06-28 - */ -@Service -@Slf4j -@Lazy -public class UserRealNameTwoVerificationServiceImpl implements UserRealNameTwoVerificationService { - - @Resource - private UserMapper userMapper; - - @Resource - private UserRealNameTwoVerificationMapper userRealNameTwoVerificationMapper; - - @Autowired - private FileRecordService fileRecordService; - - @Autowired - private UserService userService; - - @Autowired - private RealNameTwoVerify realNameTwoVerify; - - private byte[] getBytes(String fileCode){ - try { - FileRecord frontFile = - fileRecordService.find(FileRecord.builder().fileCode(fileCode).build()); - InputStream inputStream = fileRecordService.getFile(frontFile); - return IoUtil.readBytes(inputStream); - } catch (IORuntimeException e) { - //doNothing - } - return null; - } - - @Override - @Transactional(noRollbackFor = ChangeTokenException.class) - public void userRealNameTwoAuth(UserRealNameTwoAuthCreateDTO createDTO) { - String cardNo = createDTO.getCardNo(); - String realName = createDTO.getRealName(); - Long userId = UserContextHolder.getLoginUserId(); - Assert.isTrue(UserTypeEnum.PERSON.getType().equals(UserContextHolder.getUserType()), - "不支持非个人用户认证"); - User user = userMapper.getById(userId); - Assert.notNull(user, "当前登录信息异常,请退出重新登录"); - String existCardNo = user.getCardNo(); - Assert.isTrue(!user.getAuthenticated(), "当前用户已实名"); - //判断用户是否已经有身份证号;有则校验当前用户的证件号与待认证的证件号是否一致 - Assert.isTrue(StringUtils.isBlank(existCardNo) || - StringUtils.equals(existCardNo, cardNo), - "认证身份证与当前用户身份证不一致"); - RealNameTwoFactorVerificationDTO verifyResultData = realNameTwoVerify.sync(RealNameTwoFactorVerificationDTO.builder() - .realName(createDTO.getRealName()) - .cardNo(createDTO.getCardNo()) - .build()); - Assert.isTrue(AuthStatusEnum.AUTH_SUCCESS.getType().equals(verifyResultData.getStatus()), - "实名不通过"); - userService.authenticatePersonUser( - AuthenticateUserDTO.builder().cardNo(cardNo) - .realName(realName).userId(user.getId()) - .build()); - } - - @Override - public Long superAuth(SuperRealNameTwoAuthDTO authDTO) { - RealNameTwoFactorVerificationDTO verifyResultData = - realNameTwoVerify.sync(RealNameTwoFactorVerificationDTO.builder() - .realName(authDTO.getRealName()) - .cardNo(authDTO.getCardNo()) - .build()); - Assert.notNull(verifyResultData, "实名失败"); - Integer status = verifyResultData.getStatus(); - if (null == status || status.intValue() == AuthStatusEnum.AUTH_FAIL.getType().intValue()) { - throw new BusinessException("实名失败:"+verifyResultData.getFailReason()); - } - return userService.createAndAuthenticatePersonUser(UserMapMapper.INSTANCE.to(authDTO)); - } - -} diff --git a/src/main/java/com/newyetai/usercenter/user/service/impl/UserServiceImpl.java b/src/main/java/com/newyetai/usercenter/user/service/impl/UserServiceImpl.java index 5d801e7..1e7278f 100644 --- a/src/main/java/com/newyetai/usercenter/user/service/impl/UserServiceImpl.java +++ b/src/main/java/com/newyetai/usercenter/user/service/impl/UserServiceImpl.java @@ -505,9 +505,6 @@ public class UserServiceImpl implements UserService { @Override public void page(UserQueryDTO userQueryDTO) { - if (userQueryDTO.getUserSource() != null) { - userQueryDTO.rewriteUserSource(userQueryDTO.getUserSource()); - } userMapper.listUserDTO(userQueryDTO); } diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties deleted file mode 100644 index 918f230..0000000 --- a/src/main/resources/application-prod.properties +++ /dev/null @@ -1,173 +0,0 @@ -spring.application.name=alita-bjy-uygur - -##数据源 -spring.datasource.url=jdbc:mysql://192.168.1.13:13049/uygur-job?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&rewriteBatchedStatements=true&allowMultiQueries=true&useSSL=false -#&useAffectedRows=true -spring.datasource.username=root -spring.datasource.password=Ctyun@2025 -spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver -spring.datasource.type=com.alibaba.druid.pool.DruidDataSource - -# 初始化时建立物理连接的个数 -spring.datasource.druid.initial-size=50 -# 最大连接池数量 -spring.datasource.druid.max-active=500 -# 最小连接池数量 -spring.datasource.druid.min-idle=50 -# 获取连接时最大等待时间,单位毫秒 -spring.datasource.druid.max-wait=60000 -spring.servlet.multipart.max-file-size=50MB -spring.servlet.multipart.max-request-size=50MB -spring.cloud.config.allowOverride=true -spring.cloud.config.overrideNone=true - -# mybatis -mybatis.mapperLocations=classpath*:com/newyetai/**/mapper/*Mapper.xml -mybatis.configuration.map-underscore-to-camel-case=true -pagehelper.helperDialect=mysql -pagehelper.reasonable=true - -#mybatis plus -mybatis-plus.mapper-locations=classpath*:com/newyetai/**/mapper/*.xml -mybatis-plus.configuration.default-enum-type-handler=com.baomidou.mybatisplus.extension.handlers.MybatisEnumTypeHandler -mybatis-plus.type-aliases-package=com.newyetai.**.entity -mybatis-plus.type-enums-package=com.newyetai.**.enums - -### 日志文件 -logging.file.name=/usr/local/logs/${spring.application.name}.log -logging.pattern.console:%d{yyyy/MM/dd-HH:mm:ss} %X{traceId:-} [%thread] %-5level %logger- %msg%n -logging.pattern.file:%d{yyyy/MM/dd-HH:mm:ss} %X{traceId:-} [%thread] %-5level %logger- %msg%n - -### 文件路径 -file.upload-dir=/var/${spring.application.name}/upload -java.io.tmpdir=/var/${spring.application.name}/upload/tmpdir - -#文件存储配置 -file.storage.type=ali -file.storage.ali.endpoint=https://oss-cn-beijing.aliyuncs.com -file.storage.ali.accessKeyId=LTAI5tNoNZxij2fAsKFXcbHg -file.storage.ali.accessKeySecret=ggjqUtLPENMd92FhM5QcAkiF7ploas -file.storage.ali.bucketName=xjrc - -#发号器 -#机器id:根据ip自己定义 -code.snowflake.workid.192.168.31.135=23 -code.snowflake.workid.36.105.166.15=1 - - - -##redis配置 -spring.redis.password=root888 -spring.redis.host=192.168.1.3 -spring.redis.port=6379 -spring.redis.lettuce.pool.min-idle=2 -spring.redis.lettuce.pool.max-idle=8 -spring.redis.lettuce.pool.max-active=10 -spring.redis.lettuce.pool.max-wait=-1ms -spring.redis.database=13 - -##mq -spring.rabbitmq.host=192.168.1.3 -spring.rabbitmq.port=5672 -spring.rabbitmq.username=root -spring.rabbitmq.password=root888 -#开启发送失败返回 -spring.rabbitmq.publisher-returns=true -#开启发送确认 -spring.rabbitmq.publisher-confirms=true -#监听类型,每个consumer都有对应的channel,consumer的线程共享 -spring.rabbitmq.listener.type=direct -#none发送消息后直接确认消息/auto根据消息消费的情况,智能判定消息的确认情况/manual手动确认消息的情况 -spring.rabbitmq.listener.direct.acknowledge-mode=auto -#每个队列消费者数 -spring.rabbitmq.listener.direct.consumers-per-queue=3 -#每个消费者处理未确认消息的最大数量 -spring.rabbitmq.listener.direct.prefetch=100 -spring.rabbitmq.listener.direct.default-requeue-rejected=true -#支持消息的确认与返回 -spring.rabbitmq.template.mandatory=true -#定制化配置 -#exchange名称 -rabbitmq.custom.topicExchangeName=alita_exchange -#指定消息消费者ip -rabbitmq.custom.consumerAppId= - - -security.useLocal=true -security.ignoring=/*.html,/favicon.ico -security.anonymous=/anon/**,/druid/**,/ws/** -security.loginPage=/login.html -security.loginSuccessPage=/ -security.loginH5SuccessPage=/h5/ -security.loginProcessingUrl=/login -security.allowIfAllAbstainDecisions=false -security.domain= -#不记日志路径,contains匹配 -security.notLogs=/district,/dict/lookup,/dict/flush,/anon/dropdown,/anon/user/info,/domain_setting,/anon/config -security.jwt.enable=true -security.jwt.secret=abcdef -security.jwt.expiration=28800 -security.jwt.header=Authorization -security.jwt.iss=${spring.application.name} -#oauth配置 -security.oauth2.enable=false -#oauth配置类型:true使用数据库配置,否则配置文件 -#security.oauth2.usedb=true - - -#websocket配置 -websocket.enable=true - - -# 短信开关 -sms.enable=true -sms.domain=dysmsapi.aliyuncs.com -sms.accessKeyId=LTAI5tNoNZxij2fAsKFXcbHg -sms.accessSecret=ggjqUtLPENMd92FhM5QcAkiF7ploas -sms.regionId=default -sms.version=2017-05-25 -# properties中文乱码 -sms.signName=\u65b0\u7586\u4eba\u624d\u521b\u65b0\u79d1\u6280 -sms.numLimit=300000 -#短信验证码模板配置 -sms.phoneSms=SMS_320262429 -sms.position_invite=SMS_493260244 -sms.position_interview_pass=SMS_493400245 -sms.position_interview_fail=SMS_493245262 - -#默认认证源:1fxq,2cl,4ali -alita.authenticationSource=4 -#阿里二要素认证 -ali.idcard.enable=true -ali.idcard.numLimit=10000 -ali.idcard.url=https://kzidcardv1.market.alicloudapi.com/api-mall/api/id_card/check -ali.idcard.appcode=c2da7106db6e4d4581ab9789987a5fcb - - - -#讯飞配置 -xf.httpAPIPassword=EfqszvaEEoTnUfQRRcvr:ohEYAwzpIiUeWFvZAqEk -#在控制台-我的应用获取 -xf.appId=83b8ddca -xf.apiSecret=ZWE2MjkzY2VmZDkwM2EwZGJhNGRhOWJm -xf.apiKey=e092f93e28ebe6d27f756bb2d884dcff -#语音听写地址 -xf.iatHostUrl=https://iat-api.xfyun.cn/v2/iat -#语音合成地址 -xf.ttsHostUrl=https://tts-api.xfyun.cn/v2/tts -#机器翻译niutrans -xf.otsHostUrl=https://ntrans.xfyun.cn/v2/ots -#实时语音转写 -xf.rtasr.APIKey=2e33d9128a73be21b294594e5377ca53 - - -#deepseek配置 -deepseek.httpAPIPassword=sk-2f5300bb751944a2a8e3b8d8f45c0ac5 - -#ai配置 -#对话提供者,对应配置的PREFIX -ai.chatProvider=deepseek - - - - diff --git a/src/main/resources/application-uat.properties b/src/main/resources/application.properties similarity index 78% rename from src/main/resources/application-uat.properties rename to src/main/resources/application.properties index e7f7cbb..74203df 100644 --- a/src/main/resources/application-uat.properties +++ b/src/main/resources/application.properties @@ -1,4 +1,5 @@ -spring.application.name=alita-bjy-uygur +spring.application.name=demo +system.code=1 ##数据源 spring.datasource.url=jdbc:mysql://121.37.2.171:3306/uygur-job?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&rewriteBatchedStatements=true&allowMultiQueries=true&useSSL=false @@ -43,19 +44,15 @@ file.upload-dir=/var/${spring.application.name}/upload java.io.tmpdir=/var/${spring.application.name}/upload/tmpdir #文件存储配置 -file.storage.type=ali -file.storage.ali.endpoint=https://oss-cn-shanghai.aliyuncs.com -file.storage.ali.accessKeyId=LTAI5tMYmstNNcvsf67CWR5P -file.storage.ali.accessKeySecret=JyRcBvT8jVC1dhP5ji85WDTmgEOvZW -file.storage.ali.bucketName=newyetai +file.storage.type=local #发号器 #机器id:根据ip自己定义 code.snowflake.workid.192.168.31.135=23 +code.snowflake.workid.192.168.1.63=24 code.snowflake.workid.121.37.2.171=1 code.snowflake.workid.139.159.237.199=2 -code.snowflake.workid.192.168.3.2=4 -code.snowflake.workid.192.168.31.99=5 + ##redis配置 spring.redis.password=Xinshan888 @@ -121,37 +118,25 @@ websocket.enable=true # 短信开关 -sms.enable=true +sms.enable=false sms.domain=dysmsapi.aliyuncs.com -sms.accessKeyId=LTAI5tNoNZxij2fAsKFXcbHg -sms.accessSecret=ggjqUtLPENMd92FhM5QcAkiF7ploas +sms.accessKeyId= +sms.accessSecret= sms.regionId=default sms.version=2017-05-25 # properties中文乱码 -sms.signName=\u65b0\u7586\u4eba\u624d\u521b\u65b0\u79d1\u6280 -sms.numLimit=300000 +sms.signName= +sms.numLimit=0 #短信验证码模板配置 -sms.phoneSms=SMS_320262429 -sms.position_invite=SMS_493260244 -sms.position_interview_pass=SMS_493400245 -sms.position_interview_fail=SMS_493245262 - -#默认认证源:1fxq,2cl,4ali -alita.authenticationSource=4 -#阿里二要素认证 -ali.idcard.enable=true -ali.idcard.numLimit=10000 -ali.idcard.url=https://kzidcardv1.market.alicloudapi.com/api-mall/api/id_card/check -ali.idcard.appcode=c2da7106db6e4d4581ab9789987a5fcb - +sms.phoneSms= #讯飞配置 -xf.httpAPIPassword=EfqszvaEEoTnUfQRRcvr:ohEYAwzpIiUeWFvZAqEk +xf.httpAPIPassword= #在控制台-我的应用获取 -xf.appId=83b8ddca -xf.apiSecret=ZWE2MjkzY2VmZDkwM2EwZGJhNGRhOWJm -xf.apiKey=e092f93e28ebe6d27f756bb2d884dcff +xf.appId= +xf.apiSecret= +xf.apiKey= #语音听写地址 xf.iatHostUrl=https://iat-api.xfyun.cn/v2/iat #语音合成地址 @@ -159,11 +144,10 @@ xf.ttsHostUrl=https://tts-api.xfyun.cn/v2/tts #机器翻译niutrans xf.otsHostUrl=https://ntrans.xfyun.cn/v2/ots #实时语音转写 -xf.rtasr.APIKey=2e33d9128a73be21b294594e5377ca53 - +xf.rtasr.APIKey= #deepseek配置 -deepseek.httpAPIPassword=sk-2f5300bb751944a2a8e3b8d8f45c0ac5 +deepseek.httpAPIPassword= #ai配置 #对话提供者,对应配置的PREFIX