提交 54465333 编写于 作者: peijun.zhao's avatar peijun.zhao

微信绑定用户后 多返回openId

上级 35158ffa
流水线 #30189 已失败 于阶段
in 0 second
...@@ -205,12 +205,14 @@ public class LoginController extends AccountBaseController { ...@@ -205,12 +205,14 @@ public class LoginController extends AccountBaseController {
cacheClient.expire(cache_prifix + request.getWeChatCode(), 60); cacheClient.expire(cache_prifix + request.getWeChatCode(), 60);
long doctorId = super.getDoctorIdByToken(); long doctorId = super.getDoctorIdByToken();
logger.info("bindWeChat doctorId:{}",doctorId); logger.info("bindWeChat doctorId:{}",doctorId);
String nickname = loginService.bindWeChat(doctorId, request); // String nickname = loginService.bindWeChat(doctorId, request);
Map<String, String> map = new HashMap(); Map<String,String> rtnMap = loginService.bindWeChatMap(doctorId, request);
map.put("nickname", nickname);
// Map<String, String> map = new HashMap();
// map.put("nickname", rtnMap.get("nickname"));
//成功以后释放锁 //成功以后释放锁
cacheClient.del(cache_prifix + request.getWeChatCode()); cacheClient.del(cache_prifix + request.getWeChatCode());
return PicaResponse.toResponse(map); return PicaResponse.toResponse(rtnMap);
} catch (Exception e) { } catch (Exception e) {
cacheClient.del(cache_prifix + request.getWeChatCode()); cacheClient.del(cache_prifix + request.getWeChatCode());
logger.error("bindWeChat-" + e.getMessage(), e); logger.error("bindWeChat-" + e.getMessage(), e);
......
...@@ -59,6 +59,8 @@ public interface LoginService { ...@@ -59,6 +59,8 @@ public interface LoginService {
*/ */
String bindWeChat(long doctorId, BaseRequest request); String bindWeChat(long doctorId, BaseRequest request);
Map bindWeChatMap(long doctorId, BaseRequest request);
PICAPDoctor queryDoctor(long doctorId); PICAPDoctor queryDoctor(long doctorId);
/** /**
......
...@@ -523,6 +523,31 @@ public class LoginServiceImpl implements LoginService { ...@@ -523,6 +523,31 @@ public class LoginServiceImpl implements LoginService {
return weChatUserInfoEntity.getNickname(); return weChatUserInfoEntity.getNickname();
} }
@Override
@Transactional
public Map bindWeChatMap(long doctorId, BaseRequest request) {
WeChatEntity weChatEntity = WeChatUtils.getAuthorizationInfo(appId, appSecret, request.getWeChatCode());
Map map = new HashMap();
map.put("access_token", weChatEntity.getAccess_token());
map.put("openid", weChatEntity.getOpenid());
Map weChatUserInfo = WeChatUtils.getWeChatUserInfo(map, weChatURL);
WeChatUserInfoEntity weChatUserInfoEntity = WeChatUtils.mergeWechatUserInfo(weChatUserInfo, weChatEntity.getOpenid());
String unionId = weChatUserInfoEntity.getUnionid();
AccountWeChatInfoEntity entity = accountWeChatInfoMapper.selectByUnionId(unionId);
if (entity == null) {
processWeChatInfoUser(weChatUserInfoEntity, request.getWeChatLoginType());
} else {
updateWechatInfoUser(entity, weChatUserInfoEntity);
}
Integer acctId = doctorInfoMapper.getAcctIdByDoctorId(doctorId);
processAccountUnion(acctId, unionId, request.getProductType());
Map<String,String> rtnMap = new HashMap();
rtnMap.put("openId",weChatEntity.getOpenid());
rtnMap.put("nickname",weChatUserInfoEntity.getNickname());
return rtnMap;
}
/** /**
* 把unionId存储到联合登录表中 * 把unionId存储到联合登录表中
* *
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册