|
|
@@ -91,14 +91,13 @@ public class AuthAccessTokenServiceImpl extends ServiceImpl<AuthAccessTokenMappe
|
|
|
* @date : 2024-02-20 14:04
|
|
|
*/
|
|
|
public ResponseResultVO token(HttpServletRequest request){
|
|
|
+ UserLogin userLogin = userMapper.getByPhone(request.getParameter("phone"));
|
|
|
+ if (userLogin == null || (!userLogin.getUserPwd().equals(request.getParameter("password")))) {
|
|
|
+ //无用户 或 密码错误
|
|
|
+ return ResponseResultUtil.error(ErrorCodeEnum.USER_PASSWORD_ERROR.getCode(), ErrorCodeEnum.USER_PASSWORD_ERROR.getMessage());
|
|
|
+ }
|
|
|
+ userLogin.checkUserLogin();
|
|
|
try {
|
|
|
- UserLogin userLogin = userMapper.getByPhone(request.getParameter("phone"));
|
|
|
- if (userLogin == null || (!userLogin.getUserPwd().equals(request.getParameter("password")))) {
|
|
|
- //无用户 或 密码错误
|
|
|
- return ResponseResultUtil.error(ErrorCodeEnum.USER_PASSWORD_ERROR.getCode(), ErrorCodeEnum.USER_PASSWORD_ERROR.getMessage());
|
|
|
- }
|
|
|
- userLogin.checkUserLogin();
|
|
|
-
|
|
|
return createToken(userLogin);
|
|
|
} catch (Exception e) {
|
|
|
log.error("获取accessToken发生异常=", e);
|
|
|
@@ -113,24 +112,13 @@ public class AuthAccessTokenServiceImpl extends ServiceImpl<AuthAccessTokenMappe
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public ResponseResultVO wxToken(UserWxLogin userWxLogin) {
|
|
|
+ UserLogin userLogin = userMapper.getByWxid(userWxLogin.getUserWxid());
|
|
|
+ if (userLogin == null) {
|
|
|
+ //无用户
|
|
|
+ return ResponseResultUtil.error(ErrorCodeEnum.USER_NOT_EXIST.getCode(), ErrorCodeEnum.USER_NOT_EXIST.getMessage());
|
|
|
+ }
|
|
|
+ userLogin.checkUserLogin();
|
|
|
try {
|
|
|
- UserLogin userLogin = userMapper.getByWxid(userWxLogin.getUserWxid());
|
|
|
- if (userLogin == null) {
|
|
|
- //openid没查到,用手机号再查一次
|
|
|
- userLogin = userMapper.getByPhone(userWxLogin.getUserName());
|
|
|
- } else if (!userLogin.getUserPhone().equals(userWxLogin.getUserPhone())) {
|
|
|
- //通过openid查到了,对比一下手机号,不同则更新
|
|
|
- //如新电话已存在,将其他微信用户的电话清空
|
|
|
- userMapper.cleanPhone(userWxLogin.getUserPhone());
|
|
|
- userMapper.updatePhone(userLogin.getUserId(), userWxLogin.getUserPhone());
|
|
|
- }
|
|
|
-
|
|
|
- if (userLogin == null) {
|
|
|
- //无用户
|
|
|
- return ResponseResultUtil.error(ErrorCodeEnum.USER_NOT_EXIST.getCode(), ErrorCodeEnum.USER_NOT_EXIST.getMessage());
|
|
|
- }
|
|
|
- userLogin.checkUserLogin();
|
|
|
-
|
|
|
return createToken(userLogin);
|
|
|
} catch (Exception e) {
|
|
|
log.error("获取accessToken发生异常=", e);
|
|
|
@@ -145,22 +133,27 @@ public class AuthAccessTokenServiceImpl extends ServiceImpl<AuthAccessTokenMappe
|
|
|
*/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public ResponseResultVO<?> register(UserWxLogin userWxLogin){
|
|
|
- //检查openid、电话是否存在
|
|
|
- if (userMapper.checkExist(userWxLogin)!=null) {
|
|
|
- return ResponseResultUtil.error(ErrorCodeEnum.USER_IS_EXIST.getCode(), ErrorCodeEnum.USER_IS_EXIST.getMessage());
|
|
|
+ UserLogin userLogin = userMapper.getByWxid(userWxLogin.getUserWxid());
|
|
|
+ if (userLogin == null) {
|
|
|
+ //openid没查到,用手机号再查一次
|
|
|
+ userLogin = userMapper.getByPhone(userWxLogin.getUserPhone());
|
|
|
+ } else if (userLogin.getUserWxid()==null) {
|
|
|
+ //通过手机号查到了用户,但是openid是空,更新上当前的openid
|
|
|
+ userMapper.updateWxid(userLogin.getUserId(), userWxLogin.getUserWxid());
|
|
|
}
|
|
|
|
|
|
- //注册
|
|
|
- userMapper.insert(userWxLogin);
|
|
|
+ //用户无法通过openid或手机号查到 或 通过手机号查到了,但openid不同
|
|
|
+ if (userLogin == null || !userWxLogin.getUserWxid().equals(userLogin.getUserWxid())){
|
|
|
+ //将其他微信用户的相同电话清空
|
|
|
+ userMapper.cleanPhone(userWxLogin.getUserPhone());
|
|
|
+ //注册
|
|
|
+ userMapper.insert(userWxLogin);
|
|
|
|
|
|
- try {
|
|
|
- UserLogin userLogin = userMapper.getByWxid(userWxLogin.getUserWxid());
|
|
|
- if (userLogin == null) {
|
|
|
- //无用户
|
|
|
- return ResponseResultUtil.error(ErrorCodeEnum.USER_NOT_EXIST.getCode(), ErrorCodeEnum.USER_NOT_EXIST.getMessage());
|
|
|
- }
|
|
|
- userLogin.checkUserLogin();
|
|
|
+ userLogin = userMapper.getByWxid(userWxLogin.getUserWxid());
|
|
|
+ }
|
|
|
|
|
|
+ userLogin.checkUserLogin();
|
|
|
+ try {
|
|
|
return createToken(userLogin);
|
|
|
} catch (Exception e) {
|
|
|
log.error("获取accessToken发生异常=", e);
|