소스 검색

feat : 测试bug修改

bilingfeng 2 년 전
부모
커밋
c703c5ce6b

+ 5 - 5
game-module/game-sdk/src/main/java/com/zanxiang/sdk/controller/LoginController.java

@@ -28,7 +28,7 @@ import org.springframework.web.bind.annotation.*;
 public class LoginController {
 
     @Autowired
-    private RegisterLoginService registerPassword;
+    private RegisterLoginService registerLoginService;
 
     @Autowired
     private UserTokenService userTokenService;
@@ -53,28 +53,28 @@ public class LoginController {
     @PostMapping("/password")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
     public ResultVO<UserLoginVO> loginPassword(@Validated @RequestBody LoginPasswordParam param, UserData userData) {
-        return registerPassword.loginPassword(param, userData);
+        return registerLoginService.loginPassword(param, userData);
     }
 
     @ApiOperation(value = "用户手机号注册/登录")
     @PostMapping("/mobile")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
     public ResultVO<UserLoginVO> loginMobile(@Validated @RequestBody LoginMobileParam param, UserData userData) {
-        return registerPassword.loginMobile(param, userData);
+        return registerLoginService.loginMobile(param, userData);
     }
 
     @ApiOperation(value = "用户退出")
     @GetMapping("/sign/out")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
     public ResultVO<Boolean> loginOut(@ValidLogin UserData userData) {
-        return ResultVO.ok(Boolean.TRUE);
+        return ResultVO.ok(registerLoginService.loginOut(userData));
     }
 
     @ApiOperation(value = "用户账号注销")
     @GetMapping("/write/off")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
     public ResultVO<Boolean> writeOff(@ValidLogin UserData userData) {
-        return ResultVO.ok(Boolean.TRUE);
+        return ResultVO.ok(registerLoginService.writeOff(userData));
     }
 
     //-------------------------------- 微信和QQ授权登录(暂时没有用到) --------------------------------

+ 2 - 1
game-module/game-sdk/src/main/java/com/zanxiang/sdk/controller/UserController.java

@@ -7,6 +7,7 @@ import com.zanxiang.sdk.domain.vo.CustomerVO;
 import com.zanxiang.sdk.domain.vo.UserLoginVO;
 import com.zanxiang.sdk.domain.vo.UserVO;
 import com.zanxiang.sdk.service.GameUserRoleService;
+import com.zanxiang.sdk.service.RegisterLoginService;
 import com.zanxiang.sdk.service.UserCardService;
 import com.zanxiang.sdk.service.UserService;
 import io.swagger.annotations.Api;
@@ -82,7 +83,7 @@ public class UserController {
     @PostMapping("/update/game/role")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
     public ResultVO updateUserGameRole(@Validated @RequestBody GameUserRoleUpdateParam param, @ValidLogin UserData userData) {
-       return ResultVO.ok(gameUserRoleService.updateUserGameRole(param, userData));
+        return ResultVO.ok(gameUserRoleService.updateUserGameRole(param, userData));
     }
 
 }

+ 25 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/LoginServiceImpl.java

@@ -221,6 +221,31 @@ public class LoginServiceImpl implements RegisterLoginService {
         return new ResultVO<>(userLoginVO);
     }
 
+    /**
+     * 登录退出
+     *
+     * @param userData : 返回用户信息
+     * @return : 返回结果
+     */
+    @Override
+    public Boolean loginOut(UserData userData) {
+        //新增用户退出记录
+        return Boolean.TRUE;
+    }
+
+    /**
+     * 登录注销/切换账号
+     *
+     * @param userData : 返回用户信息
+     * @return : 返回结果
+     */
+    @Override
+    public Boolean writeOff(UserData userData) {
+        //删除token
+        userTokenService.deleteUserToken(userData.getUserId(), userData.getDeviceType());
+        return Boolean.TRUE;
+    }
+
     /**
      * 登录用户名密码合规检测
      *

+ 1 - 1
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/UserServiceImpl.java

@@ -69,7 +69,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
             if (Strings.isBlank(user.getMobile())) {
                 return new ResultVO<>(HttpStatusEnum.ACCOUNT_NOT_BIND_PHONE);
             }
-            if (Objects.equals(mobile, user.getMobile())) {
+            if (!Objects.equals(mobile, user.getMobile())) {
                 return new ResultVO<>(HttpStatusEnum.PHONE_NUM_ERROR);
             }
         } else {

+ 15 - 16
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/UserTokenServiceImpl.java

@@ -21,13 +21,11 @@ import com.zanxiang.sdk.service.UserTokenService;
 import com.zanxiang.sdk.util.RedisUtil;
 import com.zanxiang.sdk.util.SignUtil;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.collections4.CollectionUtils;
 import org.apache.logging.log4j.util.Strings;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
-import java.util.List;
 import java.util.Objects;
 
 /**
@@ -182,24 +180,25 @@ public class UserTokenServiceImpl extends ServiceImpl<UserTokenMapper, UserToken
     /**
      * 删除用户token
      *
-     * @param userId : 用户id
+     * @param userId     : 用户id
+     * @param deviceType : 设备类型
      */
     @Override
-    public void deleteUserToken(Long userId) {
-        List<UserToken> userTokenList = super.list(new LambdaQueryWrapper<UserToken>()
-                .eq(UserToken::getUserId, userId));
-        if (CollectionUtils.isEmpty(userTokenList)) {
+    public void deleteUserToken(Long userId, Integer deviceType) {
+        UserToken userToken = super.getOne(new LambdaQueryWrapper<UserToken>()
+                .eq(UserToken::getUserId, userId)
+                .eq(UserToken::getDeviceType, deviceType)
+        );
+        if (userToken == null) {
             return;
         }
-        userTokenList.forEach(userToken -> {
-            //根据主键删除数据库
-            super.removeById(userToken.getId());
-            //删除缓存
-            String userTokenKey = this.getUserTokenKey(userId, userToken.getDeviceType());
-            redisUtil.deleteCache(userTokenKey);
-            String tokenInfoKey = this.getTokenInfoKey(userToken.getToken(), userToken.getDeviceType());
-            redisUtil.deleteCache(tokenInfoKey);
-        });
+        //根据主键删除数据库
+        super.removeById(userToken.getId());
+        //删除缓存
+        String userTokenKey = this.getUserTokenKey(userId, userToken.getDeviceType());
+        redisUtil.deleteCache(userTokenKey);
+        String tokenInfoKey = this.getTokenInfoKey(userToken.getToken(), userToken.getDeviceType());
+        redisUtil.deleteCache(tokenInfoKey);
     }
 
     /**

+ 17 - 1
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/RegisterLoginService.java

@@ -29,12 +29,28 @@ public interface RegisterLoginService {
     /**
      * 手机号登录
      *
-     * @param param   : 手机号登录参数
+     * @param param    : 手机号登录参数
      * @param userData : 用户信息
      * @return : 返回登录信息
      */
     ResultVO<UserLoginVO> loginMobile(LoginMobileParam param, UserData userData);
 
+    /**
+     * 登录退出
+     *
+     * @param userData : 返回用户信息
+     * @return : 返回结果
+     */
+    Boolean loginOut(UserData userData);
+
+    /**
+     * 登录注销
+     *
+     * @param userData : 返回用户信息
+     * @return : 返回结果
+     */
+    Boolean writeOff(UserData userData);
+
     /**
      * QQ授权登录
      *

+ 3 - 2
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/UserTokenService.java

@@ -53,7 +53,8 @@ public interface UserTokenService extends IService<UserToken> {
     /**
      * 删除用户token
      *
-     * @param userId : 用户id
+     * @param userId     : 用户id
+     * @param deviceType : 设备类型
      */
-    void deleteUserToken(Long userId);
+    void deleteUserToken(Long userId, Integer deviceType);
 }