|
|
|
@ -19,6 +19,7 @@ import com.zdxt.code.utils.ServiceInvocation; |
|
|
|
import com.zdxt.common.util.IdCardCryptoUtil; |
|
|
|
import com.zdxt.common.ZDResponse; |
|
|
|
import com.zdxt.common.util.DateUtils; |
|
|
|
import com.zdxt.common.util.StringUtils; |
|
|
|
import com.zdxt.common.util.UserConstants; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.shiro.SecurityUtils; |
|
|
|
@ -67,12 +68,27 @@ public class ThirdLoginServiceImpl implements ThirdLoginService { |
|
|
|
@Override |
|
|
|
public ZDResponse siqLogin(JSONObject jsonObject) { |
|
|
|
try { |
|
|
|
UserBean user = null; |
|
|
|
//查询登录用户
|
|
|
|
log.info("用户名:{}",jsonObject.getString("account")); |
|
|
|
UserBean user = userApi.getUserByUserLoginName(jsonObject.getString("account")); |
|
|
|
if (StringUtils.isNotEmpty(jsonObject.getString("account"))) { |
|
|
|
log.info("用户名:{}",jsonObject.getString("account")); |
|
|
|
user = userApi.getUserByUserLoginName(jsonObject.getString("account")); |
|
|
|
} |
|
|
|
if (null == user || StringUtils.isEmpty(user.getLoginName())) { |
|
|
|
// 电话号码解密并获取用户
|
|
|
|
String phone = IdCardCryptoUtil.symmetricDecryptIdCard(srzSecretKey, jsonObject.getString("phone")); |
|
|
|
log.info("电话号码:{}",phone); |
|
|
|
user = userApi.getUserByUserPhone(phone); |
|
|
|
} |
|
|
|
//本系统令牌
|
|
|
|
// UsernamePasswordToken sysToken = new UsernamePasswordToken(user.getLoginName(), user.getPassword(), false);
|
|
|
|
UserToken sysToken = new UserToken(user.getLoginName(), LoginType.NOPASSWD); |
|
|
|
UserToken sysToken = null; |
|
|
|
if (null != user && StringUtils.isEmpty(user.getLoginName())) { |
|
|
|
sysToken = new UserToken(user.getLoginName(), LoginType.NOPASSWD); |
|
|
|
} |
|
|
|
if (null != user || StringUtils.isEmpty(user.getPhonenumber())) { |
|
|
|
sysToken = new UserToken(user.getPhonenumber(), LoginType.NOPASSWD); |
|
|
|
} |
|
|
|
Subject subject = SecurityUtils.getSubject(); |
|
|
|
subject.login(sysToken); |
|
|
|
user.setEnterpriseNumber(jsonObject.getString("corpCid")); |
|
|
|
|