修改单点登录,保存企业信息

This commit is contained in:
chenshaohua
2026-06-17 00:00:36 +08:00
parent 666c49aa11
commit 8aa6091e0c
4 changed files with 57 additions and 9 deletions

View File

@@ -73,6 +73,9 @@ public class CmsJobController extends BaseController
{ {
if (RoleUtils.isCompanyAdmin()) { if (RoleUtils.isCompanyAdmin()) {
Company company = companyService.queryCodeCompany(RoleUtils.getCurrentUseridCard()); Company company = companyService.queryCodeCompany(RoleUtils.getCurrentUseridCard());
if(company==null){
return getDataTable(new ArrayList<>());
}
job.setCompanyId(Objects.nonNull(company) ? company.getCompanyId() : null); job.setCompanyId(Objects.nonNull(company) ? company.getCompanyId() : null);
} }
startPage(); startPage();

View File

@@ -54,8 +54,7 @@ public class CompanyController extends BaseController
if(StringUtils.isNotEmpty(RoleUtils.getCurrentUseridCard())){ if(StringUtils.isNotEmpty(RoleUtils.getCurrentUseridCard())){
company.setCode(RoleUtils.getCurrentUseridCard()); company.setCode(RoleUtils.getCurrentUseridCard());
}else{ }else{
List<Company> list = new ArrayList<>(); return getDataTable(new ArrayList<>());
return getDataTable(list);
} }
} }
startPage(); startPage();

View File

@@ -129,12 +129,16 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
} }
int insert =companyMapper.insert(company); int insert =companyMapper.insert(company);
if(insert>0){ if(insert>0){
company.getCompanyContactList().forEach(x->{ List<CompanyContact> contactList = company.getCompanyContactList();
CompanyContact companyContact=new CompanyContact(); if (contactList != null) {
BeanUtils.copyProperties(x,companyContact); Long companyId = company.getCompanyId();
companyContact.setCompanyId(company.getCompanyId()); contactList.forEach(x->{
companyContactMapper.insert(companyContact); CompanyContact companyContact=new CompanyContact();
}); BeanUtils.copyProperties(x,companyContact);
companyContact.setCompanyId(companyId);
companyContactMapper.insert(companyContact);
});
}
} }
return insert; return insert;
} }

View File

@@ -2,10 +2,12 @@ package com.ruoyi.framework.web.service;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.cms.service.ICompanyService;
import com.ruoyi.cms.service.impl.AppUserServiceImpl; import com.ruoyi.cms.service.impl.AppUserServiceImpl;
import com.ruoyi.cms.util.StringUtil; import com.ruoyi.cms.util.StringUtil;
import com.ruoyi.common.constant.Constants; import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.entity.AppUser; import com.ruoyi.common.core.domain.entity.AppUser;
import com.ruoyi.common.core.domain.entity.Company;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginSiteUser; import com.ruoyi.common.core.domain.model.LoginSiteUser;
import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.LoginUser;
@@ -40,6 +42,8 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;
/** /**
* @Author: chenyanchang * @Author: chenyanchang
@@ -69,6 +73,8 @@ public class SsoService {
@Autowired @Autowired
private UserDetailsService userDetailsService; private UserDetailsService userDetailsService;
@Autowired
private ICompanyService companyService;
//一体机pc个人企业 //一体机pc个人企业
@Value("${lc_web_auth.appId}") @Value("${lc_web_auth.appId}")
@@ -230,6 +236,17 @@ public class SsoService {
//获取身份证号 //获取身份证号
String personCardNo = null; String personCardNo = null;
JSONObject info = null; JSONObject info = null;
//判断是否是企业
boolean hasRecruitRole = Optional.ofNullable(userJson.getJSONArray("roles"))
.filter(arr -> !arr.isEmpty())
.map(JSONArray::stream)
.orElse(Stream.empty())
.anyMatch(obj -> {
JSONObject role = (JSONObject) obj;
Long roleCode = role.getLong("roleCode");
return roleCode != null && roleCode == 1102L;
});
//获取用户信息
if (userJson.containsKey("info")) { if (userJson.containsKey("info")) {
info = userJson.getJSONObject("info"); info = userJson.getJSONObject("info");
if (ObjectUtils.isNotEmpty(info) && info.containsKey("personCardNo")) { if (ObjectUtils.isNotEmpty(info) && info.containsKey("personCardNo")) {
@@ -240,7 +257,17 @@ public class SsoService {
} }
personCardNo = EncryptUtil.decryptByAppIdAndSecret(personCardNo, webAppId, webAppSecret); personCardNo = EncryptUtil.decryptByAppIdAndSecret(personCardNo, webAppId, webAppSecret);
}else{ }else{
personCardNo=info.getString("entCreditCode"); //保存企业信息
if(hasRecruitRole){
personCardNo=info.getString("entCreditCode");
if (personCardNo != null) {
Company company=companyService.queryCodeCompany(personCardNo);
if(company==null){
JSONObject infoJson = userJson.getJSONObject("info");
saveCompany(infoJson);
}
}
}
} }
} }
@@ -268,6 +295,21 @@ public class SsoService {
return backJson; return backJson;
} }
/**
* 保存企业信息
* @param object
*/
public void saveCompany(JSONObject object){
Company company=new Company();
company.setCode(object.getString("entCreditCode"));
company.setName(object.getString("entName"));
company.setLegalPerson(object.getString("entLegalPersonName"));
company.setLegalIdCard(object.getString("entLegalPersonCardNo"));
company.setLegalPhone(object.getString("entLegalPersonPhone"));
company.setIndustry(object.getString("entIndustry"));
company.setRegisteredAddress(object.getString("entRegisteredAddress"));
companyService.insertCompany(company);
}
/** /**
* pc端监管端单点登录-code * pc端监管端单点登录-code
* @param param * @param param