Просмотр исходного кода

:feat:角色充值排行榜界面- 创建发送消息任务 添加异常处理

zhangxianyu 1 год назад
Родитель
Сommit
8b901ae085

+ 1 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/controller/RoleManageController.java

@@ -48,7 +48,7 @@ public class RoleManageController {
     }
 
     @ApiOperation(value = "创建发送消息任务")
-    @PreAuthorize(permissionKey = "roleManage:sendMsgTask:create")
+//    @PreAuthorize(permissionKey = "roleManage:sendMsgTask:create")
     @PostMapping("/sendMsgTask")
     public ResultVO createSendMsgTask(@RequestBody SendMsgTaskDto dto) {
         roleManageService.createSendMsgTask(dto);

+ 6 - 0
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/dto/SendMsgTaskDto.java

@@ -6,6 +6,7 @@ import lombok.Data;
 
 import java.io.Serializable;
 import java.time.LocalDate;
+import java.util.List;
 
 /**
  * @author ZhangXianyu
@@ -50,6 +51,11 @@ public class SendMsgTaskDto  implements Serializable {
      */
     private RoleRechargeRankingDTO roleRechargeRankingDTO;
 
+    /**
+     * 用户id
+     */
+    private List<String> roleIds;
+
 
 
 

+ 24 - 9
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/RoleManageServiceImpl.java

@@ -335,30 +335,45 @@ public class RoleManageServiceImpl implements IRoleManageService {
         //获取当前用户id
         Long sysUserId = SecurityUtil.getUserId();
 
+        //构建发送消息dto
+        SendMsgDto sendMsgDto = buildSendMsgDto(dto, sysUserId);
+
+        //调用发送消息接口
+        ResultVO<Boolean> booleanResultVO = sendMsgRpc.sendMsg(sendMsgDto);
+        if (!booleanResultVO.isSuccess()) {
+            throw new BaseException(booleanResultVO.getMsg());
+        }
+    }
+
+    private SendMsgDto buildSendMsgDto(SendMsgTaskDto dto, Long sysUserId) {
         //先查出来所有的角色
         List<Map> roleList = getRoleList(dto.getRoleRechargeRankingDTO());
+
         //筛选出角色id
         List<String> roleIdList = roleList.stream()
                 .map(map -> Optional.ofNullable(map.get("role_id")).map(Object::toString).orElse(null))
-            .collect(Collectors.toList());
+                .collect(Collectors.toList());
+
         SendMsgDto sendMsgDto = new SendMsgDto();
         sendMsgDto.setMsg(dto.getSendContent());
-        sendMsgDto.setRoles(roleIdList);
+
+        //暂时用前端传的角色id后期在用自己查的
+        sendMsgDto.setRoles(dto.getRoleIds());
         sendMsgDto.setCreateBy(sysUserId);
-        if(CollectionUtils.isNotEmpty(roleList)){
-            String gameName = (String) roleList.get(0).get("role_reg_parent_game_name");
+
+        if (!roleList.isEmpty()) {
+            String gameName = roleList.get(0).get("role_reg_parent_game_name").toString();
             sendMsgDto.setGameName(gameName);
         }
+        //条件
         RoleRechargeRankingDTO roleRechargeRankingDTO = dto.getRoleRechargeRankingDTO();
         sendMsgDto.setSendConditionJson(JSON.toJSONString(roleRechargeRankingDTO));
 
-        //调用发送消息接口
-        ResultVO<Boolean> booleanResultVO = sendMsgRpc.sendMsg(sendMsgDto);
-        if (!booleanResultVO.isSuccess()) {
-            throw new BaseException(booleanResultVO.getMsg());
-        }
+        return sendMsgDto;
     }
 
+
+
     /**
      * 获取角色列表
      * @param dto

+ 25 - 7
game-module/game-module-mybatis/src/main/java/com/zanxiang/game/module/mybatis/entity/SendMsgTask.java

@@ -12,21 +12,39 @@ import java.time.LocalDate;
 @Data
 public class SendMsgTask {
 
+    /**
+     * 主键任务的ID
+     */
     private Long id;
-
+    /**
+     * 消息的内容
+     */
     private String msg;
-
+    /**
+     * 任务的名称
+     */
     private String taskName;
-
+    /**
+     * 任务的条件
+     */
     private String taskCondition;
-
+    /**
+     * 游戏名称
+     */
     private String gameName;
-
+    /**
+     * 创建人的用户ID
+     */
     private Long createBy;
-
+    /**
+     * 创建时间
+     */
     private LocalDate createTime;
-
+    /**
+     * 角色id列表
+     */
     private String roleIds;
 
 
+
 }