Browse Source

Merge branch 'dev-V1.0.5' into dev-V1.0.8

dev-V1.0.8
vincent 1 month ago
parent
commit
0e4838b754
  1. 5
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/EnterpriseUser.java
  2. 24
      zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseLoginServiceImpl.java

5
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/domain/EnterpriseUser.java

@ -79,6 +79,11 @@ public class EnterpriseUser extends TenantEntity {
*/
private String password;
/**
* 深i企用户ID
*/
private String siqUserId;
/**
* 账号状态(0正常 1停用)
*/

24
zdxt-modules/zdxt-enforcement-code/src/main/java/com/zdxt/enforcementcode/service/enterprise/impl/AppEnterpriseLoginServiceImpl.java

@ -199,13 +199,15 @@ public class AppEnterpriseLoginServiceImpl implements IAppEnterpriseLoginService
* @return 是否操作成功
*/
private EnterpriseUser saveOrUpdateEnterpriseUser(JSONObject userInfo) {
String phone = IdCardCryptoUtil.symmetricDecryptIdCard(secretKey, userInfo.getString("phone"));
String phone = safeDecryptPhone(userInfo.getString("phone"));
String account = userInfo.getString("account");
String siqUserId = userInfo.getString("userId");
String loginName = StringUtils.isNotEmpty(account) ? account : phone;
loginName = StringUtils.isNotEmpty(loginName) ? loginName : siqUserId;
String userType = UserType.APP_USER.getUserType();
EnterpriseUser newUser = null;
if (StringUtils.isEmpty(loginName)) {
log.error("深i企用户账号和手机号均为空");
log.error("深i企用户账号、手机号、用户ID均为空");
throw new BaseException("深i企用户账号不能为空");
}
@ -213,7 +215,6 @@ public class AppEnterpriseLoginServiceImpl implements IAppEnterpriseLoginService
queryWrapper.eq(EnterpriseUser::getLoginName, loginName);
EnterpriseUser existUser = enterpriseUserMapper.selectOne(queryWrapper);
Long userId;
if (existUser == null) {
log.info("企业用户不存在,执行新增操作: userName={}, userType={}", loginName, userType);
newUser = buildEnterpriseUser(userInfo, userType);
@ -238,15 +239,18 @@ public class AppEnterpriseLoginServiceImpl implements IAppEnterpriseLoginService
*/
private EnterpriseUser buildEnterpriseUser(JSONObject userInfo, String userType) {
EnterpriseUser user = new EnterpriseUser();
String phone = IdCardCryptoUtil.symmetricDecryptIdCard(secretKey, userInfo.getString("phone"));
String phone = safeDecryptPhone(userInfo.getString("phone"));
String account = userInfo.getString("account");
String siqUserId = userInfo.getString("userId");
String loginName = StringUtils.isNotEmpty(account) ? account : phone;
loginName = StringUtils.isNotEmpty(loginName) ? loginName : siqUserId;
// 基本信息
user.setUserName(userInfo.getString("userName"));
user.setUserType(userType);
user.setLoginName(loginName);
user.setPhonenumber(phone);
user.setNickName(userInfo.getString("userName"));
user.setSiqUserId(siqUserId);
// 设置默认部门ID
user.setDeptId(UserConstants.DEFAULT_DEPT);
@ -550,4 +554,16 @@ public class AppEnterpriseLoginServiceImpl implements IAppEnterpriseLoginService
return token;
}
private String safeDecryptPhone(String phone) {
if (StringUtils.isEmpty(phone)) {
return null;
}
try {
return IdCardCryptoUtil.symmetricDecryptIdCard(secretKey, phone);
} catch (Exception e) {
log.warn("解密手机号失败: {}", phone, e);
return null;
}
}
}

Loading…
Cancel
Save