企业审核

This commit is contained in:
guixinman
2025-06-27 14:11:02 +08:00
parent 161076e755
commit 552091540b
6 changed files with 103 additions and 41 deletions

View File

@@ -31,6 +31,8 @@ public class HrCompanyAuditOperatorDTO extends BaseOperateDTO {
@NotNull(message = "id不能为空", groups = {Update.class})
private Long id;
private Long orgId;
@ApiModelProperty("统一社会信用代码")
private String creditCode;
@@ -94,4 +96,5 @@ public class HrCompanyAuditOperatorDTO extends BaseOperateDTO {
@NotNull(message = "版本号不能为空",groups = {Update.class})
private Integer version;
}

View File

@@ -105,6 +105,8 @@ public class HrCompanyPageQueryDTO extends PageQueryDTO<HrCompanyDTO> {
@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("请选择类型");

View File

@@ -56,6 +56,9 @@
#{item}
</foreach>
</if>
<if test='status != null and status.trim() != ""'>
AND hc.status = #{status}
</if>
order by hc.company_type desc, hc.id desc
</select>
<select id="auditPage" resultType="com.newyetai.recruit.company.dto.HrCompanyDTO">

View File

@@ -12,6 +12,7 @@ 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;
@@ -28,6 +29,7 @@ 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;
@@ -58,23 +60,41 @@ public class HrCompanyAuditServiceImpl implements HrCompanyAuditService {
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(UserContextHolder.getLoginOrgId());
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 = Objects.nonNull(config) ? config : new Config();
}
if (Objects.nonNull(config)) {
hrCompanyAudit.setAuditStatus(HrCompanyAuditStatusEnum.INIT.getStatus());
} else {
@@ -83,6 +103,7 @@ public class HrCompanyAuditServiceImpl implements HrCompanyAuditService {
hrCompanyService.updateStatus(companyId, HrCompanyStatusEnum.OPEN.getStatus());
}
hrCompanyAuditMapper.saveEntity(hrCompanyAudit);
return HrCompanyAuditMapMapper.INSTANCE.convert(hrCompanyAudit);
}
@@ -127,13 +148,18 @@ public class HrCompanyAuditServiceImpl implements HrCompanyAuditService {
hrCompanyAudit.setCompanyType(hrCompany.getCompanyType());
Config config = configService.getConfig("company_audit_enable", CommonConstants.PLATFORM_ORG_ID, true);
//入驻申请创建都是需要免审核 此处直接给config设置不为空就行
if (StringUtils.equals(HrCompanyEnum.SELF.getType(),operatorDto.getCompanyType())) {
config = Objects.nonNull(config) ? config : new Config();
}
if (Objects.nonNull(config)) {
hrCompanyAudit.setAuditStatus(HrCompanyAuditStatusEnum.INIT.getStatus());
} else {
hrCompanyAudit.setAuditStatus(HrCompanyAuditStatusEnum.SUCCESS.getStatus());
//回写企业表。
HrCompanyDTO hrCompanyDTO = new HrCompanyDTO();
BeanUtils.copyProperties(operatorDto,hrCompanyDTO);
BeanUtils.copyProperties(operatorDto, hrCompanyDTO);
hrCompanyDTO.setId(operatorDto.getCompanyId());
hrCompanyDTO.setStatus(HrCompanyStatusEnum.OPEN.getStatus());
hrCompanyService.update(hrCompanyDTO);

View File

@@ -27,6 +27,7 @@ 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;
@@ -35,6 +36,7 @@ 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;
/**
@@ -49,8 +51,12 @@ public class HrCompanyServiceImpl implements IHrCompanyService {
@Override
public Long create(HrCompanyDTO hrCompanyDTO) {
//只有入住审批创建的。才能指定orgId。其他的模式都是获取当前登录机构
Long orgId = (StringUtils.equals(HrCompanyEnum.SELF.getType(),hrCompanyDTO.getCompanyType()) && Objects.nonNull(hrCompanyDTO.getOrgId()) )
? hrCompanyDTO.getOrgId() : UserContextHolder.getLoginOrgId();
List<HrCompany> HrCompanyList = hrCompanyMapper.selectList(new LambdaQueryWrapper<HrCompany>()
.eq(HrCompany::getOrgId, UserContextHolder.getLoginOrgId())
.eq(HrCompany::getOrgId, orgId)
.eq(HrCompany::getCompanyName, hrCompanyDTO.getCompanyName())
.eq(HrCompany::getCompanyType, hrCompanyDTO.getCompanyType())
.eq(HrCompany::getDeleted, false)
@@ -60,7 +66,7 @@ public class HrCompanyServiceImpl implements IHrCompanyService {
}
HrCompany HrCompany = HrCompanyMapMapper.INSTANCE.exchange(hrCompanyDTO);
HrCompany.setOrgId(UserContextHolder.getLoginOrgId());
HrCompany.setOrgId(orgId);
HrCompany.setStatus(HrCompanyStatusEnum.CLOSE.getStatus());
hrCompanyMapper.saveEntity(HrCompany, UserContextHolder.getLoginUserId());
return HrCompany.getId();
@@ -90,6 +96,7 @@ public class HrCompanyServiceImpl implements IHrCompanyService {
HrCompany HrCompany = HrCompanyMapMapper.INSTANCE.exchange(hrCompanyDTO);
HrCompany.setOrgId(hrCompany.getOrgId());
HrCompany.setCompanyType(hrCompany.getCompanyType());
return hrCompanyMapper.updateEntity(HrCompany, UserContextHolder.getLoginUserId());
}
@@ -201,6 +208,8 @@ public class HrCompanyServiceImpl implements IHrCompanyService {
@Override
public List<HrCompanyDTO> list(HrCompanyPageQueryDTO pageQueryDTO) {
pageQueryDTO.disablePage();
//因为现在有企业审核。这个list前端用于下拉选用工企业用。所以这样只能查企业开启状态的.
pageQueryDTO.setStatus(HrCompanyStatusEnum.OPEN.getStatus());
return this.page(pageQueryDTO);
}