修改单点登录,保存企业信息
This commit is contained in:
@@ -2,10 +2,12 @@ package com.ruoyi.framework.web.service;
|
||||
|
||||
import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.ruoyi.cms.service.ICompanyService;
|
||||
import com.ruoyi.cms.service.impl.AppUserServiceImpl;
|
||||
import com.ruoyi.cms.util.StringUtil;
|
||||
import com.ruoyi.common.constant.Constants;
|
||||
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.model.LoginSiteUser;
|
||||
import com.ruoyi.common.core.domain.model.LoginUser;
|
||||
@@ -40,6 +42,8 @@ import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* @Author: chenyanchang
|
||||
@@ -69,6 +73,8 @@ public class SsoService {
|
||||
|
||||
@Autowired
|
||||
private UserDetailsService userDetailsService;
|
||||
@Autowired
|
||||
private ICompanyService companyService;
|
||||
|
||||
//一体机,pc个人,企业
|
||||
@Value("${lc_web_auth.appId}")
|
||||
@@ -230,6 +236,17 @@ public class SsoService {
|
||||
//获取身份证号
|
||||
String personCardNo = 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")) {
|
||||
info = userJson.getJSONObject("info");
|
||||
if (ObjectUtils.isNotEmpty(info) && info.containsKey("personCardNo")) {
|
||||
@@ -240,7 +257,17 @@ public class SsoService {
|
||||
}
|
||||
personCardNo = EncryptUtil.decryptByAppIdAndSecret(personCardNo, webAppId, webAppSecret);
|
||||
}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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存企业信息
|
||||
* @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
|
||||
* @param param
|
||||
|
||||
Reference in New Issue
Block a user