修改企业注册重复问题。
This commit is contained in:
@@ -31,4 +31,6 @@ public interface CompanyMapper extends BaseMapper<Company>
|
|||||||
Company selectCompanyByJobId(Long jobId);
|
Company selectCompanyByJobId(Long jobId);
|
||||||
|
|
||||||
List<Company> selectByNames(List<String> list);
|
List<Company> selectByNames(List<String> list);
|
||||||
|
|
||||||
|
public Company selectByCode(@Param("code") String code);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -309,7 +309,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
|
|||||||
handleUserTypeSpecificLogic(existingUser, registerBody);
|
handleUserTypeSpecificLogic(existingUser, registerBody);
|
||||||
|
|
||||||
// 5. 系统用户同步(不存在则创建)
|
// 5. 系统用户同步(不存在则创建)
|
||||||
syncSysUserIfNecessary(existingUser);
|
//syncSysUserIfNecessary(existingUser);
|
||||||
|
|
||||||
// 6. 一体机密码加密处理
|
// 6. 一体机密码加密处理
|
||||||
encryptYtjPassword(existingUser);
|
encryptYtjPassword(existingUser);
|
||||||
@@ -363,6 +363,7 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
|
|||||||
switch (userType) {
|
switch (userType) {
|
||||||
case StringUtil.IS_COMPANY_USER:
|
case StringUtil.IS_COMPANY_USER:
|
||||||
handleCompanyUserLogic(appUser, registerBody.getCompany());
|
handleCompanyUserLogic(appUser, registerBody.getCompany());
|
||||||
|
appUser.setIdCard(registerBody.getCompany().getCode());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
handleJobSeekerUserLogic(appUser, registerBody);
|
handleJobSeekerUserLogic(appUser, registerBody);
|
||||||
@@ -377,6 +378,8 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
|
|||||||
*/
|
*/
|
||||||
private void handleCompanyUserLogic(AppUser appUser, Company company) {
|
private void handleCompanyUserLogic(AppUser appUser, Company company) {
|
||||||
if (company != null) {
|
if (company != null) {
|
||||||
|
Company resultCom=companyMapper.selectByCode(company.getCode());
|
||||||
|
if(resultCom==null){
|
||||||
// 保存企业信息(新增场景)
|
// 保存企业信息(新增场景)
|
||||||
if (company.getCompanyId() == null) {
|
if (company.getCompanyId() == null) {
|
||||||
companyMapper.insert(company);
|
companyMapper.insert(company);
|
||||||
@@ -386,6 +389,11 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
|
|||||||
// 关联企业信息到用户
|
// 关联企业信息到用户
|
||||||
appUser.setIdCard(company.getCode());
|
appUser.setIdCard(company.getCode());
|
||||||
appUser.setName(company.getName());
|
appUser.setName(company.getName());
|
||||||
|
}else{
|
||||||
|
company.setCompanyId(resultCom.getCompanyId());
|
||||||
|
companyMapper.updateById(company);
|
||||||
|
saveCompanyContacts(resultCom.getCompanyId(), company.getCompanyContactList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -395,9 +403,31 @@ public class AppUserServiceImpl extends ServiceImpl<AppUserMapper,AppUser> imple
|
|||||||
* @param contactList 联系人列表
|
* @param contactList 联系人列表
|
||||||
*/
|
*/
|
||||||
private void saveCompanyContacts(Long companyId, List<CompanyContact> contactList) {
|
private void saveCompanyContacts(Long companyId, List<CompanyContact> contactList) {
|
||||||
if (contactList != null && !contactList.isEmpty()) {
|
//查询联系人
|
||||||
contactList.forEach(contact -> contact.setCompanyId(companyId));
|
CompanyContact parm=new CompanyContact();
|
||||||
companyContactMapper.batchInsert(contactList);
|
parm.setCompanyId(companyId);
|
||||||
|
List<CompanyContact> existingContacts =companyContactMapper.getSelectList(parm);
|
||||||
|
Set<String> existingContactKeySet = (existingContacts == null || existingContacts.isEmpty())
|
||||||
|
? new HashSet<>()
|
||||||
|
: existingContacts.stream()
|
||||||
|
.filter(existing -> existing.getContactPerson() != null
|
||||||
|
&& existing.getContactPersonPhone() != null
|
||||||
|
&& existing.getCompanyId() != null)
|
||||||
|
.map(existing -> existing.getContactPerson() + "_" + existing.getContactPersonPhone() + "_" + existing.getCompanyId())
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
List<CompanyContact> toInsertContactList = contactList.stream()
|
||||||
|
.peek(contact -> contact.setCompanyId(companyId))
|
||||||
|
.filter(contact -> contact.getContactPerson() != null
|
||||||
|
&& contact.getContactPersonPhone() != null
|
||||||
|
&& contact.getCompanyId() != null)
|
||||||
|
.filter(contact -> {
|
||||||
|
String currentUniqueKey = contact.getContactPerson() + "_" + contact.getContactPersonPhone() + "_" + contact.getCompanyId();
|
||||||
|
return !existingContactKeySet.contains(currentUniqueKey);
|
||||||
|
})
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
if (!toInsertContactList.isEmpty()) {
|
||||||
|
companyContactMapper.batchInsert(toInsertContactList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -121,4 +121,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</foreach>
|
</foreach>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectByCode" resultType="com.ruoyi.common.core.domain.entity.Company">
|
||||||
|
<include refid="selectCompanyVo"/>
|
||||||
|
<where> del_flag = '0'
|
||||||
|
<if test="code != null and code != ''"> AND UPPER(code) = UPPER(#{code})</if>
|
||||||
|
</where>
|
||||||
|
order by create_time desc limit 1
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user