|
|
@@ -308,7 +308,9 @@ public class AppLoginController extends AppBaseController{
|
|
|
return R.error("账号或密码不能为空");
|
|
|
}
|
|
|
|
|
|
- FsUser user = findUserByPhone(param.getPhone());
|
|
|
+ Map result = WxUtil.getAccessToken(param.getCode(), openProperties.getAppId(), openProperties.getSecret());
|
|
|
+ String unionid = result.get("unionid").toString();
|
|
|
+ FsUser user = findUserByPhoneAndUnionId(param.getPhone(),unionid);
|
|
|
|
|
|
// 校验用户是否存在及账号状态
|
|
|
if (user == null) {
|
|
|
@@ -337,9 +339,6 @@ public class AppLoginController extends AppBaseController{
|
|
|
}
|
|
|
String phone = param.getPhone();
|
|
|
String encryptedPhone = encryptPhone(phone);
|
|
|
-
|
|
|
- // 根据手机号查用户
|
|
|
- FsUser user = findUserByPhone(phone);
|
|
|
logger.info("zyp app绑定微信,param: {}", param);
|
|
|
Map tokenResult = WxUtil.getAccessToken(param.getCode(), openProperties.getAppId(), openProperties.getSecret());
|
|
|
logger.info("APP的ID信息: {}", openProperties.getAppId());
|
|
|
@@ -348,6 +347,10 @@ public class AppLoginController extends AppBaseController{
|
|
|
String unionid = String.valueOf(tokenResult.get("unionid"));
|
|
|
logger.info("APP获取的唯一ID信息: {}",unionid);
|
|
|
String openid = String.valueOf(tokenResult.get("openid"));
|
|
|
+
|
|
|
+ // 根据手机号查用户
|
|
|
+ FsUser user = findUserByPhoneAndUnionId(phone,unionid);
|
|
|
+
|
|
|
// 获取微信用户信息
|
|
|
Map userInfo = WxUtil.getUserInfo(accessToken, openid);
|
|
|
if (userInfo == null) {
|
|
|
@@ -427,6 +430,19 @@ public class AppLoginController extends AppBaseController{
|
|
|
return user;
|
|
|
}
|
|
|
|
|
|
+ private FsUser findUserByPhoneAndUnionId(String phone,String unionId) {
|
|
|
+ // 先根据加密手机号查询用户
|
|
|
+ String jiami = (encryptPhone(phone));
|
|
|
+ FsUser user = userMapper.selectFsUserByPhoneAndAndUnionIdLimitOne(jiami,unionId);
|
|
|
+
|
|
|
+ // 如果没有找到用户,再根据手机号查询
|
|
|
+ if (user == null) {
|
|
|
+ user = userMapper.selectFsUserByPhoneAndAndUnionIdLimitOne(phone,unionId);
|
|
|
+
|
|
|
+ }
|
|
|
+ return user;
|
|
|
+ }
|
|
|
+
|
|
|
@PostMapping("/loginTest")
|
|
|
public R loginTest(@RequestBody String userId) {
|
|
|
FsUser user = userMapper.selectFsUserByUserId(Long.parseLong(userId));
|