反写人员账号优化,SSO增加工号和用户名兼容逻辑

This commit is contained in:
yuxueliang0813 2025-07-01 11:00:04 +08:00
parent daba6aeca0
commit bb6bbae726
2 changed files with 28 additions and 6 deletions

View File

@ -25,6 +25,8 @@ public class JHSSOAuthHandler implements ThirdSSOAuthHandler {
private String callBackUrl = System.getProperty("domain.contextUrl"); private String callBackUrl = System.getProperty("domain.contextUrl");
private static final String[] projectgroups = new String[]{"mahongqiang","xujianbiao","anchenyuan","yuxueliang","weiyunlong","liguiqiang"};
@Override @Override
public void callTrdSSOLogin(HttpServletRequest hsrequest, HttpServletResponse hsresponse, String backUrl) { public void callTrdSSOLogin(HttpServletRequest hsrequest, HttpServletResponse hsresponse, String backUrl) {
//backUrl 系统已构建好回调地址二开无需处理 //backUrl 系统已构建好回调地址二开无需处理
@ -63,8 +65,12 @@ public class JHSSOAuthHandler implements ThirdSSOAuthHandler {
String numOrName = getWorkerNumberOrUseName(hsrequest);//此逻辑需二开实现 String numOrName = getWorkerNumberOrUseName(hsrequest);//此逻辑需二开实现
if(StringUtils.isNotEmpty(numOrName)){ if(StringUtils.isNotEmpty(numOrName)){
//当前返回类型手机用户名邮箱工号 //当前返回类型手机用户名邮箱工号
// result.setUserType(UserProperType.WorkerNumber); //查看返回值是不是我们项目组的人员如果是得使用用户名登录否则用工号
result.setUserType(UserProperType.UserName); if(isprojectgroup(numOrName)){
result.setUserType(UserProperType.UserName);
}else{
result.setUserType(UserProperType.WorkerNumber);
}
//用户信息标识 //用户信息标识
result.setUser(numOrName); result.setUser(numOrName);
result.setSucess(true); result.setSucess(true);
@ -73,6 +79,17 @@ public class JHSSOAuthHandler implements ThirdSSOAuthHandler {
return result; return result;
} }
private boolean isprojectgroup(String numOrName){
boolean result = false;
for (String projectgroup : projectgroups) {
if(projectgroup.equals(numOrName)){
result = true;
break;
}
}
return result;
}
private String getWorkerNumberOrUseName(HttpServletRequest hsrequest){ private String getWorkerNumberOrUseName(HttpServletRequest hsrequest){
//第二步SSO认证系统会携带临时code浏览器重定向至应用方回调地址直接从请求中获取code //第二步SSO认证系统会携带临时code浏览器重定向至应用方回调地址直接从请求中获取code
String tempCode = hsrequest.getParameter("code"); String tempCode = hsrequest.getParameter("code");

View File

@ -52,9 +52,15 @@ public class PersonCustomerBankTask extends AbstractTask implements Plugin {
return; return;
} }
DynamicObjectCollection doc_bank = currentCus.getDynamicObjectCollection("entry_bank"); DynamicObjectCollection doc_bank = currentCus.getDynamicObjectCollection("entry_bank");
if(!doc_bank.isEmpty()){ DynamicObject bankinfo;
//只处理新增 if(doc_bank.isEmpty()){
return; //只处理新增或者开户银行为空的记录
bankinfo = doc_bank.addNew();
}else{
bankinfo = doc_bank.get(0);
if(bankinfo.getDynamicObject("bank") != null){
return;
}
} }
String xxyh = ups.getString("shjh_xxyh");//详细分机银行 String xxyh = ups.getString("shjh_xxyh");//详细分机银行
String skyh = ups.getString("shjh_skyh");//收款银行 String skyh = ups.getString("shjh_skyh");//收款银行
@ -75,7 +81,6 @@ public class PersonCustomerBankTask extends AbstractTask implements Plugin {
} }
} }
String cusname = ups.getString("name");//姓名 String cusname = ups.getString("name");//姓名
DynamicObject bankinfo = doc_bank.addNew();
bankinfo.set("isdefault_bank",true); bankinfo.set("isdefault_bank",true);
bankinfo.set("bankaccount",acctnum);//银行账号 bankinfo.set("bankaccount",acctnum);//银行账号
bankinfo.set("accountname",cusname);//账户名称 bankinfo.set("accountname",cusname);//账户名称