|
@@ -49,16 +49,18 @@ public class AppAuthServiceImpl implements IAppAuthService {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public AppAuthLoginRespVO weixinMiniAppLogin(AppAuthWeixinMiniAppLoginReqVO reqVO) throws Exception {
|
|
public AppAuthLoginRespVO weixinMiniAppLogin(AppAuthWeixinMiniAppLoginReqVO reqVO) throws Exception {
|
|
|
|
+ SysMember memberUserDO;
|
|
JSONObject responseMap = getSessionKeyOropenid(reqVO.getLoginCode());
|
|
JSONObject responseMap = getSessionKeyOropenid(reqVO.getLoginCode());
|
|
String openId = (String) responseMap.get("openid");
|
|
String openId = (String) responseMap.get("openid");
|
|
String sessionKey = (String) responseMap.get("session_key");
|
|
String sessionKey = (String) responseMap.get("session_key");
|
|
//获取用户信息
|
|
//获取用户信息
|
|
- SysMember sysMember = getUserInfo(sessionKey, reqVO.getEncryptedData(), reqVO.getIv(), reqVO.getTelephoneCode());
|
|
|
|
|
|
+ SysMember sysMember = getUserInfo(sessionKey, reqVO.getEncryptedData(), reqVO.getIv());
|
|
// 用户已经存在
|
|
// 用户已经存在
|
|
- SysMember memberUserDO = sysMemberMapper.selectByMobile(sysMember.getMobile());
|
|
|
|
|
|
+ memberUserDO = sysMemberMapper.selectByMobile(sysMember.getOpenId());
|
|
if (memberUserDO == null) {
|
|
if (memberUserDO == null) {
|
|
// 获得获得注册用户
|
|
// 获得获得注册用户
|
|
- SysMember userIfAbsent = sysMemberMapper.createUserIfAbsent(sysMember);
|
|
|
|
|
|
+ sysMemberMapper.createUserIfAbsent(sysMember);
|
|
|
|
+ memberUserDO = sysMemberMapper.selectSysMemberById(sysMember.getId());
|
|
}
|
|
}
|
|
//加密
|
|
//加密
|
|
String accessToken = RsaUtil.encrypt(memberUserDO.getId().toString(), publicKey);
|
|
String accessToken = RsaUtil.encrypt(memberUserDO.getId().toString(), publicKey);
|
|
@@ -75,10 +77,9 @@ public class AppAuthServiceImpl implements IAppAuthService {
|
|
* @param sessionKey sessionKey
|
|
* @param sessionKey sessionKey
|
|
* @param encryptedData encryptedData
|
|
* @param encryptedData encryptedData
|
|
* @param iv iv
|
|
* @param iv iv
|
|
- * @param telephoneCode telephoneCode
|
|
|
|
* @return 手机号
|
|
* @return 手机号
|
|
*/
|
|
*/
|
|
- public SysMember getUserInfo(String sessionKey, String encryptedData, String iv, String telephoneCode) {
|
|
|
|
|
|
+ public SysMember getUserInfo(String sessionKey, String encryptedData, String iv) {
|
|
SysMember sysMember = new SysMember();
|
|
SysMember sysMember = new SysMember();
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
try {
|
|
try {
|
|
@@ -86,10 +87,8 @@ public class AppAuthServiceImpl implements IAppAuthService {
|
|
byte[] result = decrypt(encryptedData, sessionKey, iv);
|
|
byte[] result = decrypt(encryptedData, sessionKey, iv);
|
|
JSONObject json = JSONObject.parseObject(new String(result));
|
|
JSONObject json = JSONObject.parseObject(new String(result));
|
|
// 2. 处理解密后的手机号信息
|
|
// 2. 处理解密后的手机号信息
|
|
- String userPhone = getUserPhone(telephoneCode);
|
|
|
|
- sysMember.setMobile(userPhone);
|
|
|
|
sysMember.setOpenId(json.get("openId").toString());
|
|
sysMember.setOpenId(json.get("openId").toString());
|
|
- sysMember.setUsername(json.get("nickName").toString() + "_" + userPhone);
|
|
|
|
|
|
+ sysMember.setUsername(json.get("nickName").toString() + "_" + json.get("openId").toString());
|
|
sysMember.setIntegral(BigDecimal.ZERO);
|
|
sysMember.setIntegral(BigDecimal.ZERO);
|
|
sysMember.setCreateTime(date);
|
|
sysMember.setCreateTime(date);
|
|
return sysMember;
|
|
return sysMember;
|