Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/package' into package

lth 1 anno fa
parent
commit
980b3d0411

+ 1 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/ManageApplication.java

@@ -21,7 +21,7 @@ public class ManageApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(ManageApplication.class, args);
-        System.out.println("赞象Manage服务启动成功 <区服导量调试修改> ( ´・・)ノ(._.`) \n" +
+        System.out.println("赞象Manage服务启动成功 <新增获取全量区服接口> ( ´・・)ノ(._.`) \n" +
                 "___  ___  ___   _   _   ___  _____  _____ \n" +
                 "|  \\/  | / _ \\ | \\ | | / _ \\|  __ \\|  ___|\n" +
                 "| .  . |/ /_\\ \\|  \\| |/ /_\\ \\ |  \\/| |__  \n" +

+ 9 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/GameServerController.java

@@ -84,6 +84,14 @@ public class GameServerController {
     @PreAuthorize(permissionKey = "manage:gameServer:unMergeServer")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameServerVO.class)})
     public ResultVO<List<GameServerVO>> unMergeServerList(@RequestParam Long gameId) {
-        return ResultVO.ok(gameServerService.unMergeServerList(gameId));
+        return ResultVO.ok(gameServerService.getServerList(gameId, Boolean.FALSE));
+    }
+
+    @ApiOperation(value = "获取所有区服列表(无分页)")
+    @GetMapping(value = "/all/server/list")
+    @PreAuthorize(permissionKey = "manage:gameServer:allServer")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = GameServerVO.class)})
+    public ResultVO<List<GameServerVO>> allServerList(@RequestParam Long gameId) {
+        return ResultVO.ok(gameServerService.getServerList(gameId, null));
     }
 }

+ 3 - 3
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/controller/RoleAssignController.java

@@ -46,9 +46,9 @@ public class RoleAssignController {
     }
 
     @ApiOperation(value = "指派记录删除")
-    @DeleteMapping(value = "/delete/{ids}")
+    @DeleteMapping(value = "/delete/{id}")
     @PreAuthorize(permissionKey = "manage:roleAssign:delete")
-    public ResultVO<Boolean> deleteById(@PathVariable List<Long> ids) {
-        return ResultVO.ok(roleAssignRecordService.deleteByIds(ids));
+    public ResultVO<Boolean> deleteById(@PathVariable Long id) {
+        return ResultVO.ok(roleAssignRecordService.deleteById(id));
     }
 }

+ 4 - 4
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/IGameServerService.java

@@ -10,7 +10,6 @@ import com.zanxiang.game.module.manage.pojo.vo.GameServerVO;
 import com.zanxiang.game.module.mybatis.entity.GameServer;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * @author : lingfeng
@@ -61,10 +60,11 @@ public interface IGameServerService extends IService<GameServer> {
     Boolean mergeServerAddUpdate(GameMergeServerParam param);
 
     /**
-     * 未参与合服的区服列表
+     * 获取区服列表
      *
-     * @param gameId 游戏id
+     * @param gameId  游戏id
+     * @param isMerge
      * @return {@link List}<{@link GameServerVO}>
      */
-    List<GameServerVO> unMergeServerList(Long gameId);
+    List<GameServerVO> getServerList(Long gameId, Boolean isMerge);
 }

+ 1 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/IRoleAssignRecordService.java

@@ -21,7 +21,7 @@ import java.util.List;
 public interface IRoleAssignRecordService extends IService<RoleAssignRecord> {
     IPage<RoleAssignRecordListVO> listOfPage(RoleAssignRecordListParam param);
 
-    boolean deleteByIds(List<Long> ids);
+    boolean deleteById(Long id);
 
     boolean configSysUser(RoleSysUserAssignParam param);
 

+ 2 - 2
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/GameServerServiceImpl.java

@@ -261,11 +261,11 @@ public class GameServerServiceImpl extends ServiceImpl<GameServerMapper, GameSer
     }
 
     @Override
-    public List<GameServerVO> unMergeServerList(Long gameId) {
+    public List<GameServerVO> getServerList(Long gameId, Boolean isMerge) {
         return super.list(new LambdaQueryWrapper<GameServer>()
                 .select(GameServer::getServerId, GameServer::getServerName)
                 .eq(GameServer::getGameId, gameId)
-                .eq(GameServer::getIsMerge, Boolean.FALSE)
+                .eq(GameServer::getIsMerge, isMerge)
                 .orderByAsc(GameServer::getStartTime)
         ).stream().map(gameServer -> BeanUtil.copy(gameServer, GameServerVO.class))
                 .collect(Collectors.toList());

+ 46 - 31
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/RoleAssignRecordServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.zanxiang.corp.base.pojo.entity.CorpUserChangeRecord;
 import com.zanxiang.erp.base.ErpServer;
 import com.zanxiang.erp.base.rpc.ISysUserRpc;
 import com.zanxiang.erp.security.util.SecurityUtil;
@@ -190,41 +191,55 @@ public class RoleAssignRecordServiceImpl extends ServiceImpl<RoleAssignRecordMap
                         .startTime(item.getStartTime())
                         .endTime(item.getEndTime())
                         .gsId(item.getGsId())
-                        .gsName(getNickname(item.getGsId()))
+                        .gsName(null == item.getGsId() ? null : getNickname(item.getGsId()))
                         .operUserId(item.getOperUserId())
-                        .operUserName(getNickname(item.getOperUserId()))
+                        .operUserName(null == item.getOperUserId() ? null : getNickname(item.getOperUserId()))
                         .customerServiceId(item.getCustomerServiceId())
-                        .customerServiceName(getNickname(item.getCustomerServiceId()))
+                        .customerServiceName(null == item.getCustomerServiceId() ? null : getNickname(item.getCustomerServiceId()))
                         .remark(item.getRemark())
                         .createBy(item.getCreateBy())
-                        .createName(getNickname(item.getCreateBy()))
+                        .createName(null == item.getCreateBy() ? null : getNickname(item.getCreateBy()))
                         .createTime(item.getCreateTime())
                         .updateBy(item.getUpdateBy())
-                        .updateName(getNickname(item.getUpdateBy()))
+                        .updateName(null == item.getUpdateBy() ? null : getNickname(item.getUpdateBy()))
                         .updateTime(item.getUpdateTime())
                         .build());
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public boolean deleteByIds(List<Long> ids) {
+    public boolean deleteById(Long id) {
         Long sysUserId = SecurityUtil.getUserId();
         LocalDateTime now = LocalDateTime.now();
+        RoleAssignRecord changeRecord = getById(id);
+        RoleAssignRecord nextRecord = getNextRecord(changeRecord, changeRecord.getStartTime());
+        RoleInfoAndAgentParam roleInfoAndAgentParam = RoleInfoAndAgentParam.builder()
+                .regAgentId(changeRecord.getRegAgentId())
+                .gameId(changeRecord.getGameId())
+                .serverId(changeRecord.getServerId())
+                .userId(changeRecord.getUserId())
+                .roleId(changeRecord.getRoleId())
+                .build();
+        RoleAssignRecord previousRecord = previousAssignRecord(changeRecord, changeRecord.getStartTime());
+        if (previousRecord != null) {
+            if (nextRecord != null) {
+                update(new LambdaUpdateWrapper<RoleAssignRecord>()
+                        .set(RoleAssignRecord::getEndTime, nextRecord.getStartTime())
+                        .eq(RoleAssignRecord::getId, previousRecord.getId()));
+            } else {
+                update(new LambdaUpdateWrapper<RoleAssignRecord>()
+                        .set(RoleAssignRecord::getEndTime, null)
+                        .eq(RoleAssignRecord::getId, previousRecord.getId()));
+            }
+        }
+
         update(new LambdaUpdateWrapper<RoleAssignRecord>()
                 .set(RoleAssignRecord::getIsDelete, 1)
                 .set(RoleAssignRecord::getUpdateBy, sysUserId)
                 .set(RoleAssignRecord::getUpdateTime, now)
-                .in(RoleAssignRecord::getId, ids));
-        List<RoleAssignRecord> roleAssignRecordList = listByIds(ids);
-        if (CollectionUtils.isNotEmpty(roleAssignRecordList)) {
-            RoleAssignRecord roleAssignRecord = roleAssignRecordList.get(0);
-            RoleInfoAndAgentParam roleInfoAndAgentParam = RoleInfoAndAgentParam.builder()
-                    .regAgentId(roleAssignRecord.getRegAgentId())
-                    .gameId(roleAssignRecord.getGameId())
-                    .serverId(roleAssignRecord.getServerId())
-                    .userId(roleAssignRecord.getUserId())
-                    .roleId(roleAssignRecord.getRoleId())
-                    .build();
+                .eq(RoleAssignRecord::getId, id));
+        RoleAssignRecord roleAssignRecord = getById(id);
+        if (null != roleAssignRecord) {
             RoleOperate modifyRoleOperate = getModifyRoleOperate(roleInfoAndAgentParam);
             return roleOperateService.saveOrUpdate(modifyRoleOperate);
         }
@@ -261,7 +276,7 @@ public class RoleAssignRecordServiceImpl extends ServiceImpl<RoleAssignRecordMap
                 .eq(RoleAssignRecord::getServerId, item.getServerId())
                 .eq(RoleAssignRecord::getUserId, item.getUserId())
                 .eq(RoleAssignRecord::getRoleId, item.getRoleId())
-                .le(RoleAssignRecord::getStartTime, startTime)
+                .lt(RoleAssignRecord::getStartTime, startTime)
                 .orderByDesc(RoleAssignRecord::getStartTime)
                 .eq(RoleAssignRecord::getIsDelete, 0)
                 .last("limit 1"));
@@ -279,7 +294,7 @@ public class RoleAssignRecordServiceImpl extends ServiceImpl<RoleAssignRecordMap
                 .eq(RoleAssignRecord::getServerId, item.getServerId())
                 .eq(RoleAssignRecord::getUserId, item.getUserId())
                 .eq(RoleAssignRecord::getRoleId, item.getRoleId())
-                .ge(RoleAssignRecord::getStartTime, startTime)
+                .gt(RoleAssignRecord::getStartTime, startTime)
                 .orderByAsc(RoleAssignRecord::getStartTime)
                 .eq(RoleAssignRecord::getIsDelete, 0)
                 .last("limit 1")
@@ -296,25 +311,25 @@ public class RoleAssignRecordServiceImpl extends ServiceImpl<RoleAssignRecordMap
         LocalDateTime now = LocalDateTime.now();
         RoleOperate roleOperate = RoleOperate.builder().build();
         RoleOperate queryOne = roleOperateService.getOne(new LambdaQueryWrapper<RoleOperate>()
-                .eq(RoleOperate::getGameId, lastAssignRecord.getGameId())
-                .eq(RoleOperate::getServerId, lastAssignRecord.getServerId())
-                .eq(RoleOperate::getUserId, lastAssignRecord.getUserId())
-                .eq(RoleOperate::getRoleId, lastAssignRecord.getRoleId())
+                .eq(RoleOperate::getGameId, roleInfoAndAgentParam.getGameId())
+                .eq(RoleOperate::getServerId, roleInfoAndAgentParam.getServerId())
+                .eq(RoleOperate::getUserId, roleInfoAndAgentParam.getUserId())
+                .eq(RoleOperate::getRoleId, roleInfoAndAgentParam.getRoleId())
                 .eq(RoleOperate::getIsDelete, 0));
         if (null == queryOne) {
-            roleOperate.setGameId(lastAssignRecord.getGameId());
-            roleOperate.setServerId(lastAssignRecord.getServerId());
-            roleOperate.setUserId(lastAssignRecord.getUserId());
-            roleOperate.setRoleId(lastAssignRecord.getRoleId());
+            roleOperate.setGameId(roleInfoAndAgentParam.getGameId());
+            roleOperate.setServerId(roleInfoAndAgentParam.getServerId());
+            roleOperate.setUserId(roleInfoAndAgentParam.getUserId());
+            roleOperate.setRoleId(roleInfoAndAgentParam.getRoleId());
             roleOperate.setCreateBy(sysUserId);
             roleOperate.setCreateTime(now);
         } else {
             roleOperate = queryOne;
         }
-        roleOperate.setGsId(lastAssignRecord.getGsId());
-        roleOperate.setCustomerServiceId(lastAssignRecord.getCustomerServiceId());
-        roleOperate.setOperUserId(lastAssignRecord.getOperUserId());
-        roleOperate.setRemark(lastAssignRecord.getRemark());
+        roleOperate.setGsId(null == lastAssignRecord ? null : lastAssignRecord.getGsId());
+        roleOperate.setCustomerServiceId(null == lastAssignRecord ? null : lastAssignRecord.getCustomerServiceId());
+        roleOperate.setOperUserId(null == lastAssignRecord ? null : lastAssignRecord.getOperUserId());
+        roleOperate.setRemark(null == lastAssignRecord ? null : lastAssignRecord.getRemark());
         roleOperate.setUpdateBy(sysUserId);
         roleOperate.setUpdateTime(now);
         return roleOperate;