Explorar el Código

feat : sdk调试修改

bilingfeng hace 2 años
padre
commit
340b15d26c

+ 8 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/GameUserService.java

@@ -2,6 +2,7 @@ package com.zanxiang.sdk.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zanxiang.mybatis.entity.GameUser;
+import com.zanxiang.mybatis.entity.User;
 
 /**
  * @author : xufeng
@@ -9,4 +10,11 @@ import com.zanxiang.mybatis.entity.GameUser;
  * @description : 玩家游戏
  */
 public interface GameUserService extends IService<GameUser> {
+
+    /**
+     * 创建玩家信息
+     *
+     * @param user : 用户信息
+     */
+    void createGameUser(User user);
 }

+ 0 - 75
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/GameUserRoleImpl.java

@@ -1,75 +0,0 @@
-package com.zanxiang.sdk.service.Impl;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.zanxiang.common.enums.HttpStatusEnum;
-import com.zanxiang.common.exception.CustomException;
-import com.zanxiang.common.utils.bean.BeanUtils;
-import com.zanxiang.module.util.JsonUtil;
-import com.zanxiang.mybatis.entity.GameUser;
-import com.zanxiang.mybatis.entity.GameUserRole;
-import com.zanxiang.mybatis.mapper.GameUserRoleMapper;
-import com.zanxiang.sdk.domain.params.GameUserRoleUpdateParam;
-import com.zanxiang.sdk.domain.params.UserData;
-import com.zanxiang.sdk.enums.DataTypeEnum;
-import com.zanxiang.sdk.service.GameUserRoleService;
-import com.zanxiang.sdk.service.GameUserService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.Objects;
-
-/**
- * @author : xufeng
- * @time : 2022-07-06
- */
-@Slf4j
-@Service
-public class GameUserRoleImpl extends ServiceImpl<GameUserRoleMapper, GameUserRole> implements GameUserRoleService {
-
-    @Autowired
-    private GameUserService gameUserService;
-
-
-    public Boolean updateUserGameRole1(GameUserRoleUpdateParam param, UserData userData) {
-        Long gameId = userData.getGameId();
-        GameUser gameUserData = gameUserService.getOne(new LambdaQueryWrapper<GameUser>().eq(GameUser::getGameId, gameId).eq(GameUser::getUserId, userData.getUserId()).last("limit 1"));
-        if (Objects.isNull(gameUserData)) {
-            throw new CustomException(HttpStatusEnum.GAME_USER_UN_CREATE);
-        }
-        GameUserRole gameUserRoleWhere = new GameUserRole();
-        gameUserRoleWhere.setRoleId(param.getRoleId());
-        gameUserRoleWhere.setGameUserId(gameUserData.getId());
-        gameUserRoleWhere.setUserId(userData.getUserId());
-
-        GameUserRole gameUserRoleData = super.getOne(new LambdaQueryWrapper<GameUserRole>().setEntity(gameUserRoleWhere).last("limit 1"));
-        GameUserRole roleData = BeanUtils.copy(param, GameUserRole.class);
-        roleData.setOs(userData.getDeviceSystem());
-
-        if (Objects.isNull(gameUserRoleData)) {
-            //新增
-            roleData.setRoleId(param.getRoleId());
-            roleData.setGameUserId(gameUserData.getId());
-            roleData.setUserId(userData.getUserId());
-            super.save(roleData);
-        } else {
-            //更新
-            super.update(roleData, new UpdateWrapper<GameUserRole>().setEntity(gameUserRoleWhere));
-        }
-        return true;
-    }
-
-    @Override
-    public Boolean updateUserGameRole(GameUserRoleUpdateParam param, UserData userData) {
-        log.error("上报用户信息, param : {}", JsonUtil.toString(param));
-        //上报类型
-        Integer dataType = param.getDataType();
-        //创建角色
-        if (Objects.equals(dataType, DataTypeEnum.TYPE_CREATE_ROLE.getDateType())) {
-
-        }
-        return true;
-    }
-}

+ 82 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/GameUserRoleServiceImpl.java

@@ -0,0 +1,82 @@
+package com.zanxiang.sdk.service.Impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zanxiang.module.util.JsonUtil;
+import com.zanxiang.mybatis.entity.GameUser;
+import com.zanxiang.mybatis.entity.GameUserRole;
+import com.zanxiang.mybatis.mapper.GameUserRoleMapper;
+import com.zanxiang.sdk.domain.params.GameUserRoleUpdateParam;
+import com.zanxiang.sdk.domain.params.UserData;
+import com.zanxiang.sdk.service.GameUserRoleService;
+import com.zanxiang.sdk.service.GameUserService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author : xufeng
+ * @time : 2022-07-06
+ */
+@Slf4j
+@Service
+public class GameUserRoleServiceImpl extends ServiceImpl<GameUserRoleMapper, GameUserRole> implements GameUserRoleService {
+
+    @Autowired
+    private GameUserService gameUserService;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean updateUserGameRole(GameUserRoleUpdateParam param, UserData userData) {
+        log.error("上报用户信息, param : {}", JsonUtil.toString(param));
+        //上报类型
+        Integer dataType = param.getDataType();
+        //查询玩家信息
+        GameUser gameUser = gameUserService.getOne(new LambdaQueryWrapper<GameUser>().eq(GameUser::getGameId, userData.getGameId())
+                .eq(GameUser::getUserId, userData.getUserId()));
+        //获取用户角色信息
+        GameUserRole userRole = this.getOne(new LambdaQueryWrapper<GameUserRole>()
+                .eq(GameUserRole::getGameId, userData.getGameId())
+                .eq(GameUserRole::getRoleId, param.getRoleId()));
+        //角色信息不存在, 创建
+        if (userRole == null) {
+            userRole = GameUserRole.builder()
+                    .userId(userData.getUserId())
+                    .gameUserId(gameUser.getId())
+                    .gameId(userData.getGameId())
+                    .serverId(param.getServerId())
+                    .serverName(param.getServerName())
+                    .roleId(param.getRoleId())
+                    .roleName(param.getRoleName())
+                    .roleLevel(param.getRoleLevel())
+                    .roleVipLevel(param.getRoleVipLevel())
+                    .rolePower(param.getRolePower())
+                    .platformCoin(param.getPlatformCoin())
+                    .os(userData.getDeviceSystem())
+                    .createTime(LocalDateTime.now())
+                    .updateTime(LocalDateTime.now())
+                    .lastLoginTime(LocalDateTime.now())
+                    .build();
+            super.save(userRole);
+        } else {
+            super.update(new LambdaUpdateWrapper<GameUserRole>()
+                    .set(GameUserRole::getRoleName, param.getRoleName())
+                    .set(GameUserRole::getRoleLevel, param.getRoleLevel())
+                    .set(GameUserRole::getServerId, param.getServerId())
+                    .set(GameUserRole::getServerName, param.getServerName())
+                    .set(param.getRoleCreateTime() != null, GameUserRole::getCreateTime, param.getRoleCreateTime())
+                    .set(param.getRoleGradeUpdateTime() != null, GameUserRole::getUpdateTime, param.getRoleGradeUpdateTime())
+                    .set(param.getRoleVipLevel() != null, GameUserRole::getRoleVipLevel, param.getRoleVipLevel())
+                    .set(param.getRolePower() != null, GameUserRole::getRolePower, param.getRolePower())
+                    .set(param.getPlatformCoin() != null, GameUserRole::getPlatformCoin, param.getPlatformCoin())
+                    .eq(GameUserRole::getGameId, userData.getGameId())
+                    .eq(GameUserRole::getRoleId, param.getRoleId())
+            );
+        }
+        return Boolean.TRUE;
+    }
+}

+ 22 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/GameUserServiceImpl.java

@@ -1,12 +1,16 @@
 package com.zanxiang.sdk.service.Impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zanxiang.mybatis.entity.GameUser;
+import com.zanxiang.mybatis.entity.User;
 import com.zanxiang.mybatis.mapper.GameUserMapper;
 import com.zanxiang.sdk.service.GameUserService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
+
 /**
  * @author : xufeng
  * @time : 2022-07-06
@@ -15,4 +19,22 @@ import org.springframework.stereotype.Service;
 @Service
 public class GameUserServiceImpl extends ServiceImpl<GameUserMapper, GameUser> implements GameUserService {
 
+    @Override
+    public void createGameUser(User user) {
+        //查询玩家信息
+        GameUser gameUser = super.getOne(new LambdaQueryWrapper<GameUser>().eq(GameUser::getGameId, user.getGameId())
+                .eq(GameUser::getUserId, user.getId()));
+        if (gameUser != null) {
+            return;
+        }
+        super.save(GameUser.builder()
+                .userId(user.getId())
+                .agentId(user.getAgentId())
+                .gameId(user.getGameId())
+                .roleCount(0)
+                .roleVipMax(0)
+                .createTime(LocalDateTime.now())
+                .updateTime(LocalDateTime.now())
+                .build());
+    }
 }

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

@@ -81,6 +81,9 @@ public class LoginServiceImpl implements RegisterLoginService {
     @Autowired
     private UserCardService userCardService;
 
+    @Autowired
+    private GameUserService gameUserService;
+
     /**
      * QQ开发者应用id
      */
@@ -151,6 +154,7 @@ public class LoginServiceImpl implements RegisterLoginService {
                     .androidId(userData.getAndroidId())
                     .build();
             userService.save(user);
+            gameUserService.createGameUser(user);
         }
         //返回登录信息
         return new ResultVO<>(this.createUserLoginVO(user, userData));
@@ -193,6 +197,7 @@ public class LoginServiceImpl implements RegisterLoginService {
                     .androidId(userData.getAndroidId())
                     .build();
             userService.save(user);
+            gameUserService.createGameUser(user);
         } else {
             //判断账号是否停用
             if (Objects.equals(AccountStatusEnum.FROZEN_STATUS.getStatus(), user.getStatus())) {

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

@@ -8,6 +8,7 @@ import com.zanxiang.common.enums.HttpStatusEnum;
 import com.zanxiang.common.enums.SmsTypeEnum;
 import com.zanxiang.common.exception.BaseException;
 import com.zanxiang.common.utils.bean.BeanUtils;
+import com.zanxiang.module.util.JsonUtil;
 import com.zanxiang.mybatis.entity.GameExt;
 import com.zanxiang.mybatis.entity.User;
 import com.zanxiang.mybatis.entity.UserCard;
@@ -160,6 +161,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         }
         //判断手机号是否已经绑定
         if (Strings.isNotBlank(user.getMobile()) || Objects.equals(user.getMobile(), mobile)) {
+            log.error("修改手机号, user : {}, mobile : {}", JsonUtil.toString(user), mobile);
             return new ResultVO<>(HttpStatusEnum.PHONE_IS_BIND);
         }
         //校验手机号是否已经绑定了其他账号