diff --git a/src/main/java/com/newyetai/recruit/company/controller/HrCompanyAuditController.java b/src/main/java/com/newyetai/recruit/company/controller/HrCompanyAuditController.java new file mode 100644 index 0000000..3ed5fdb --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/controller/HrCompanyAuditController.java @@ -0,0 +1,76 @@ +package com.newyetai.recruit.company.controller; + +import com.newyetai.common.validation.Create; +import com.newyetai.common.validation.Update; +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.HrCompanyAuditService; +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-06-25 + */ +@Api(tags = "企业审核表") +@RestController +@RequestMapping("/hr/company_audit") +public class HrCompanyAuditController { + + @Autowired + private HrCompanyAuditService hrCompanyAuditService; + + @PostMapping("/create") + @ApiOperation("企业审核表-创建") + public AlitaResult 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 index 06ff903..ecef7a4 100644 --- a/src/main/java/com/newyetai/recruit/company/controller/HrCompanyController.java +++ b/src/main/java/com/newyetai/recruit/company/controller/HrCompanyController.java @@ -98,5 +98,16 @@ public class HrCompanyController { public AlitaResult findById(@PathVariable("id") Long id) { return AlitaResult.success(companyService.findById(id)); } + + /** + * 分页查询-审核表的数据 + */ + @GetMapping("/audit_page") + @ApiOperation("分页查询") + public AlitaResult> auditPage(@Validated HrCompanyPageQueryDTO queryDTO) { + 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 new file mode 100644 index 0000000..4e9a0bd --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/controller/HrCompanyFileController.java @@ -0,0 +1,72 @@ +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 +public class HrCompanyFileController { + + @Autowired + private HrCompanyFileService hrCompanyFileService; + + + @GetMapping("anon/hr/company_file/page") + @ApiOperation("分页查询企业文件") + public AlitaResult> userFilePage(HrCompanyFilePageQueryDTO queryDTO) { + Assert.notNull(queryDTO.getId(),"id不能为空"); + hrCompanyFileService.filePage(queryDTO); + return AlitaResult.success(queryDTO.getPageResult()); + } + + @GetMapping("/hr/company_file/page") + @ApiOperation("分页查询企业文件") + public AlitaResult> filePage(HrCompanyFilePageQueryDTO queryDTO) { + hrCompanyFileService.filePage(queryDTO); + return AlitaResult.success(queryDTO.getPageResult()); + } + + @PostMapping("/hr/company_file/create") + @ApiOperation("创建企业文件信息") + public AlitaResult create(@RequestBody HrCompanyFileDTO queryDTO) { + return AlitaResult.success(hrCompanyFileService.create(queryDTO)); + } + + @PostMapping("/hr/company_file/update") + @ApiOperation("修改企业文件信息") + public AlitaResult update(@RequestBody HrCompanyFileDTO queryDTO) { + hrCompanyFileService.update(queryDTO); + return AlitaResult.success(); + } + + @DeleteMapping("/hr/company_file/delete/{id}") + @ApiOperation("根据文件Id删除企业文件信息") + public AlitaResult delete(@PathVariable("id") Long id) { + hrCompanyFileService.delete(id); + return AlitaResult.success(); + } + + @PutMapping("/hr/company_file/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/dao/HrCompanyAuditMapper.java b/src/main/java/com/newyetai/recruit/company/dao/HrCompanyAuditMapper.java new file mode 100644 index 0000000..6c6b1e6 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/dao/HrCompanyAuditMapper.java @@ -0,0 +1,30 @@ +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 new file mode 100644 index 0000000..5e9b89b --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/dao/HrCompanyFileMapper.java @@ -0,0 +1,26 @@ +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 index 8b0917e..5c43349 100644 --- a/src/main/java/com/newyetai/recruit/company/dao/HrCompanyMapper.java +++ b/src/main/java/com/newyetai/recruit/company/dao/HrCompanyMapper.java @@ -21,5 +21,6 @@ import java.util.List; @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 new file mode 100644 index 0000000..d4d93df --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditDTO.java @@ -0,0 +1,85 @@ +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 new file mode 100644 index 0000000..aa38f74 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditOperatorDTO.java @@ -0,0 +1,97 @@ +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; + + @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 new file mode 100644 index 0000000..9d0a1c3 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditPageQueryDTO.java @@ -0,0 +1,116 @@ +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 new file mode 100644 index 0000000..c6658b6 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditQueryDTO.java @@ -0,0 +1,114 @@ +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 new file mode 100644 index 0000000..14c8eaa --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyAuditReqDTO.java @@ -0,0 +1,33 @@ +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 index 463fe28..0d032fd 100644 --- a/src/main/java/com/newyetai/recruit/company/dto/HrCompanyDTO.java +++ b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyDTO.java @@ -29,6 +29,8 @@ public class HrCompanyDTO extends BaseDTO { private static final long serialVersionUID = -2216352275325005059L; + private Long companyAuditId; + @ApiModelProperty("机构ID") private Long orgId; @@ -43,9 +45,6 @@ public class HrCompanyDTO extends BaseDTO { @Length(max = 32,message = "名称超长", groups = {Create.class, Update.class}) private String companyName; - @ApiModelProperty("机构名称") - private String orgName; - @ApiModelProperty("联系人") @Length(max = 20,message = "联系人长度超长", groups = {Create.class, Update.class}) private String contactPerson; @@ -85,4 +84,21 @@ public class HrCompanyDTO extends BaseDTO { */ @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/HrCompanyFileDTO.java b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFileDTO.java new file mode 100644 index 0000000..994443a --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFileDTO.java @@ -0,0 +1,49 @@ +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 new file mode 100644 index 0000000..dfa35d5 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFileOperatorDTO.java @@ -0,0 +1,53 @@ +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 new file mode 100644 index 0000000..b3074df --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFilePageQueryDTO.java @@ -0,0 +1,78 @@ +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 new file mode 100644 index 0000000..ba92d09 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/dto/HrCompanyFileQueryDTO.java @@ -0,0 +1,79 @@ +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/entity/HrCompany.java b/src/main/java/com/newyetai/recruit/company/entity/HrCompany.java index c37b753..dabbb96 100644 --- a/src/main/java/com/newyetai/recruit/company/entity/HrCompany.java +++ b/src/main/java/com/newyetai/recruit/company/entity/HrCompany.java @@ -99,4 +99,9 @@ public class HrCompany extends BaseEntity { * 类型(数据字典 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 new file mode 100644 index 0000000..41054d8 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/entity/HrCompanyAudit.java @@ -0,0 +1,105 @@ +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 new file mode 100644 index 0000000..53e6397 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/entity/HrCompanyFile.java @@ -0,0 +1,57 @@ +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 new file mode 100644 index 0000000..4704a90 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/enums/HrCompanyAuditStatusEnum.java @@ -0,0 +1,28 @@ +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/HrCompanyStatusEnum.java b/src/main/java/com/newyetai/recruit/company/enums/HrCompanyStatusEnum.java new file mode 100644 index 0000000..ac3c558 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/enums/HrCompanyStatusEnum.java @@ -0,0 +1,27 @@ +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 new file mode 100644 index 0000000..63b63c1 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/mapper/HrCompanyAuditMapper.xml @@ -0,0 +1,172 @@ + + + + + + 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 new file mode 100644 index 0000000..07a3670 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/mapper/HrCompanyFileMapper.xml @@ -0,0 +1,88 @@ + + + + + + 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 index 1d389f6..6c55640 100644 --- a/src/main/java/com/newyetai/recruit/company/mapper/HrCompanyMapper.xml +++ b/src/main/java/com/newyetai/recruit/company/mapper/HrCompanyMapper.xml @@ -58,5 +58,76 @@ order by hc.company_type desc, hc.id desc + diff --git a/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyAuditMapMapper.java b/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyAuditMapMapper.java new file mode 100644 index 0000000..c7a2e4f --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyAuditMapMapper.java @@ -0,0 +1,27 @@ +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 new file mode 100644 index 0000000..085207e --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyFileMapMapper.java @@ -0,0 +1,25 @@ +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 index 635ec4c..812fe41 100644 --- a/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyMapMapper.java +++ b/src/main/java/com/newyetai/recruit/company/mapstruct/HrCompanyMapMapper.java @@ -1,6 +1,7 @@ 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; @@ -20,4 +21,6 @@ public interface HrCompanyMapMapper { 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 new file mode 100644 index 0000000..caf4f15 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/service/HrCompanyAuditService.java @@ -0,0 +1,75 @@ +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 new file mode 100644 index 0000000..be4b382 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/service/HrCompanyFileService.java @@ -0,0 +1,41 @@ +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 index b5705ca..8548fcc 100644 --- a/src/main/java/com/newyetai/recruit/company/service/IHrCompanyService.java +++ b/src/main/java/com/newyetai/recruit/company/service/IHrCompanyService.java @@ -24,7 +24,7 @@ public interface IHrCompanyService { * @return {@link HrCompanyDTO} * @throws RuntimeException 运行时异常 */ - void create(HrCompanyDTO hrCompanyDTO); + Long create(HrCompanyDTO hrCompanyDTO); /** * 更新 @@ -61,4 +61,17 @@ public interface IHrCompanyService { 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 new file mode 100644 index 0000000..fa423c3 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/service/impl/HrCompanyAuditServiceImpl.java @@ -0,0 +1,255 @@ +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.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.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 + private OrgService orgService; + + + @Transactional(rollbackFor = Exception.class) + @Override + public HrCompanyAuditDTO create(HrCompanyAuditOperatorDTO operatorDto) { + 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(UserContextHolder.getLoginOrgId()); + hrCompanyAudit.setVersion(1); + + + Config config = configService.getConfig("company_audit_enable", CommonConstants.PLATFORM_ORG_ID, true); + 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); + 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 new file mode 100644 index 0000000..72ada31 --- /dev/null +++ b/src/main/java/com/newyetai/recruit/company/service/impl/HrCompanyFileServiceImpl.java @@ -0,0 +1,88 @@ +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 index 1b608f5..c3f489f 100644 --- a/src/main/java/com/newyetai/recruit/company/service/impl/HrCompanyServiceImpl.java +++ b/src/main/java/com/newyetai/recruit/company/service/impl/HrCompanyServiceImpl.java @@ -16,6 +16,7 @@ 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; @@ -47,7 +48,7 @@ public class HrCompanyServiceImpl implements IHrCompanyService { private final HrCompanyMapper hrCompanyMapper; @Override - public void create(HrCompanyDTO hrCompanyDTO) { + public Long create(HrCompanyDTO hrCompanyDTO) { List HrCompanyList = hrCompanyMapper.selectList(new LambdaQueryWrapper() .eq(HrCompany::getOrgId, UserContextHolder.getLoginOrgId()) .eq(HrCompany::getCompanyName, hrCompanyDTO.getCompanyName()) @@ -60,7 +61,9 @@ public class HrCompanyServiceImpl implements IHrCompanyService { HrCompany HrCompany = HrCompanyMapMapper.INSTANCE.exchange(hrCompanyDTO); HrCompany.setOrgId(UserContextHolder.getLoginOrgId()); + HrCompany.setStatus(HrCompanyStatusEnum.CLOSE.getStatus()); hrCompanyMapper.saveEntity(HrCompany, UserContextHolder.getLoginUserId()); + return HrCompany.getId(); } @Override @@ -223,4 +226,22 @@ public class HrCompanyServiceImpl implements IHrCompanyService { } 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/usercenter/org/service/impl/OrgServiceImpl.java b/src/main/java/com/newyetai/usercenter/org/service/impl/OrgServiceImpl.java index 389ff27..e5258eb 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 @@ -114,8 +114,20 @@ public class OrgServiceImpl implements OrgService { .platformCode(EnvironmentUtils.getSystemCode()).parentId(orgCreateDTO.getParentId()).build()); // 用工企业类型-创建自己默认的用工企业 if (orgTypeEnum == OrgTypeEnum.ORG_TYPE_SIMPLE || orgTypeEnum == OrgTypeEnum.ORG_TYPE_HR) { - companyMapper.saveEntity(HrCompany.builder().orgId(orgId).companyName(orgName) - .companyType(HrCompanyEnum.SELF.getType()).build()); + companyMapper.saveEntity(HrCompany.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()); } return orgId; } @@ -155,8 +167,16 @@ public class OrgServiceImpl implements OrgService { .eq(HrCompany::getOrgId, orgModifyDTO.getId()) ); if (Objects.nonNull(hrCompany)) { - hrCompany.setCompanyLogo(orgModifyDTO.getOrgLogo()); - companyMapper.updateEntity(hrCompany); + HrCompany hrCompanyModify = new HrCompany(); + hrCompanyModify.setId(hrCompany.getId()); + hrCompanyModify.setCreditCode(orgModifyDTO.getCreditCode()); + hrCompanyModify.setCompanyLogo(orgModifyDTO.getOrgLogo()); + hrCompanyModify.setCompanyProfile(orgModifyDTO.getDescription()); + hrCompanyModify.setCompanyDescription(orgModifyDTO.getDescription()); + hrCompanyModify.setCompanyIndustry(orgModifyDTO.getTrade()); + hrCompanyModify.setCompanySize(orgModifyDTO.getCompanySize()); + hrCompanyModify.setCompanyRegisterAddress(orgModifyDTO.getRegisteredAddress()); + companyMapper.updateEntitySelective(hrCompanyModify); } }