企业审核
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
@@ -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("请选择类型");
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
package com.newyetai.usercenter.org.service.impl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
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;
|
||||
@@ -70,7 +71,7 @@ public class OrgServiceImpl implements OrgService {
|
||||
private OrgRelationService orgRelationService;
|
||||
|
||||
@Autowired
|
||||
private HrCompanyMapper companyMapper;
|
||||
private HrCompanyAuditService hrCompanyAuditService;
|
||||
|
||||
public static LockDTO getLockDTO(String orgName) {
|
||||
Assert.notNull(orgName, "机构名称不能为空");
|
||||
@@ -114,20 +115,22 @@ 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)
|
||||
.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());
|
||||
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;
|
||||
}
|
||||
@@ -161,22 +164,38 @@ public class OrgServiceImpl implements OrgService {
|
||||
@Override
|
||||
public void modify(OrgModifyDTO orgModifyDTO) {
|
||||
orgMapper.modifyByOrgId(orgModifyDTO);
|
||||
HrCompany hrCompany = companyMapper.selectOne(new LambdaQueryWrapper<HrCompany>()
|
||||
.eq(HrCompany::getDeleted, false)
|
||||
.eq(HrCompany::getCompanyType, HrCompanyEnum.SELF.getType())
|
||||
.eq(HrCompany::getOrgId, orgModifyDTO.getId())
|
||||
);
|
||||
if (Objects.nonNull(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);
|
||||
|
||||
// 获取集合第一条数据并判断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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user