Kaynağa Gözat

feat : bug调试修改

bilingfeng 2 yıl önce
ebeveyn
işleme
bbb9b27791

+ 9 - 0
game-module/game-manage/src/main/java/com/zanxiang/manage/service/Impl/CpServiceImpl.java

@@ -51,6 +51,15 @@ public class CpServiceImpl extends ServiceImpl<CpMapper, Cp> implements CpServic
             if (cp == null) {
                 throw new BaseException("参数错误, 更新的cp信息不存在");
             }
+            //更新CP名字, 不可重复
+            if (!Objects.equals(cp.getCpName(), param.getCpName())) {
+                //判断cp名称是否已经存在
+                int count = super.count(new LambdaQueryWrapper<Cp>()
+                        .eq(Cp::getCpName, param.getCpName()));
+                if (count > 0) {
+                    throw new BaseException("cp名称已经存在");
+                }
+            }
             cp.setCpName(param.getCpName());
             cp.setCompanyName(param.getCompanyName());
             cp.setLinkMan(param.getLinkMan());

+ 11 - 3
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/GameUserRoleServiceImpl.java

@@ -54,14 +54,22 @@ public class GameUserRoleServiceImpl extends ServiceImpl<GameUserRoleMapper, Gam
         log.error("上报用户信息, param : {}", JsonUtil.toString(param));
         //上报类型
         Integer dataType = param.getDataType();
+        //选择服务器
+        if (Objects.equals(dataType, DataTypeEnum.TYPE_SELECT_SERVER.getDateType())) {
+            User user = userService.getById(userData.getUserId());
+            return userLoginLogService.createUserLoginLog(user, LoginTypeEnum.LOGIN_IN.getLoginType());
+        }
         //创建角色
         if (Objects.equals(dataType, DataTypeEnum.TYPE_CREATE_ROLE.getDateType())) {
-            return this.createRoleUpdate(param, userData);
+            //新建游戏角色
+            this.createRoleUpdate(param, userData);
+            //插入用户登录记录
+            return userLoginLogService.createRoleLoginLog(userData, param.getRoleId(), param.getRoleName(), LoginTypeEnum.LOGIN_IN.getLoginType());
         }
         //进入游戏
         if (Objects.equals(dataType, DataTypeEnum.TYPE_ENTER_GAME.getDateType())) {
             //插入用户登录记录
-            return userLoginLogService.createRoleLoginLog(userData, param.getRoleId(), LoginTypeEnum.LOGIN_IN.getLoginType());
+            return userLoginLogService.createRoleLoginLog(userData, param.getRoleId(), param.getRoleName(), LoginTypeEnum.LOGIN_IN.getLoginType());
         }
         //等级提升更新
         if (Objects.equals(dataType, DataTypeEnum.TYPE_LEVEL_UP.getDateType())) {
@@ -80,7 +88,7 @@ public class GameUserRoleServiceImpl extends ServiceImpl<GameUserRoleMapper, Gam
         //退出游戏
         if (Objects.equals(dataType, DataTypeEnum.TYPE_EXIT_GAME.getDateType())) {
             //插入用户退出记录
-            return userLoginLogService.createRoleLoginLog(userData, param.getRoleId(), LoginTypeEnum.LOGIN_IN.getLoginType());
+            return userLoginLogService.createRoleLoginLog(userData, param.getRoleId(), param.getRoleName(), LoginTypeEnum.LOGIN_OUT.getLoginType());
         }
         return Boolean.FALSE;
     }

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

@@ -97,7 +97,10 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         //生成订单id
         String orderNum = this.getOrderNum(userData.getUserId());
         //用户已有订单数
-        int count = super.count(new LambdaQueryWrapper<Order>().eq(Order::getGameId, gameId).eq(Order::getUserId, userId));
+        int count = super.count(new LambdaQueryWrapper<Order>()
+                .eq(Order::getGameId, gameId)
+                .eq(Order::getUserId, userId)
+                .eq(Order::getStatus, OrderStateEnum.SUCCESS.getCode()));
         //构造订单
         super.save(Order.builder()
                 .orderId(orderNum)

+ 3 - 14
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/UserLoginLogServiceImpl.java

@@ -1,17 +1,13 @@
 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.common.enums.DeviceTypeEnum;
-import com.zanxiang.mybatis.entity.GameUserRole;
 import com.zanxiang.mybatis.entity.User;
 import com.zanxiang.mybatis.entity.UserLoginLog;
 import com.zanxiang.mybatis.mapper.UserLoginLogMapper;
 import com.zanxiang.sdk.domain.params.UserData;
-import com.zanxiang.sdk.service.GameUserRoleService;
 import com.zanxiang.sdk.service.UserLoginLogService;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
@@ -25,9 +21,6 @@ import java.time.LocalDateTime;
 @Service
 public class UserLoginLogServiceImpl extends ServiceImpl<UserLoginLogMapper, UserLoginLog> implements UserLoginLogService {
 
-    @Autowired
-    private GameUserRoleService gameUserRoleService;
-
     /**
      * 创建角色登录日志
      *
@@ -37,17 +30,13 @@ public class UserLoginLogServiceImpl extends ServiceImpl<UserLoginLogMapper, Use
      * @return {@link Boolean}
      */
     @Override
-    public Boolean createRoleLoginLog(UserData userData, String roleId, Integer type) {
-        //查询玩家角色信息
-        GameUserRole userRole = gameUserRoleService.getOne(new LambdaQueryWrapper<GameUserRole>()
-                .eq(GameUserRole::getGameId, userData.getGameId())
-                .eq(GameUserRole::getRoleId, roleId));
+    public Boolean createRoleLoginLog(UserData userData, String roleId, String roleName, Integer type) {
         //创建对象
         return super.save(UserLoginLog.builder()
                 .userId(userData.getUserId())
                 .gameId(userData.getGameId())
-                .roleId(userRole == null ? null : userRole.getRoleId())
-                .roleName(userRole == null ? null : userRole.getRoleName())
+                .roleId(roleId)
+                .roleName(roleName)
                 .os(userData.getDeviceSystem())
                 .ip(userData.getIp())
                 .deviceType(DeviceTypeEnum.DEVICE_TYPE_ANDROID.getDeviceType())

+ 2 - 1
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/UserLoginLogService.java

@@ -16,9 +16,10 @@ public interface UserLoginLogService {
      * @param userData 用户
      * @param type     类型
      * @param roleId   角色id
+     * @param roleName 角色名字
      * @return {@link Boolean}
      */
-    Boolean createRoleLoginLog(UserData userData, String roleId, Integer type);
+    Boolean createRoleLoginLog(UserData userData, String roleId, String roleName, Integer type);
 
     /**
      * 创建用户登录日志