Ver código fonte

游戏策略配置添加告警人员属性;钉钉通知发送给多人

Letianhua 1 ano atrás
pai
commit
b954482152

+ 2 - 2
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/pojo/vo/GameMonitorAlarmVO.java

@@ -81,9 +81,9 @@ public class GameMonitorAlarmVO {
     private String roleName;
 
     /**
-     * 投手ID
+     * 投手ID(多个拼成一个字符串)
      */
-    private Long pitcherId;
+    private String pitcherId;
 
     /**
      * 告警内容

+ 5 - 1
game-data/game-data-serve/src/main/java/com/zanxiang/game/data/serve/service/impl/GameMonitorAlarmServiceImpl.java

@@ -45,7 +45,11 @@ public class GameMonitorAlarmServiceImpl implements IGameMonitorAlarmService {
         //结果
         try{
             List<GameMonitorAlarmVO> list = sql.getList(GameMonitorAlarmVO.class).stream().map(vo -> {
-                dingTalkMsgRpc.sendByUserId(vo.getPitcherId(), alarmStr(vo));
+                String[] pitcherIds = vo.getPitcherId().split(",");
+                for (String pitcherId : pitcherIds) {
+                    //发送给多个投手
+                    dingTalkMsgRpc.sendByUserId(Long.valueOf(pitcherId), alarmStr(vo));
+                }
                 //更新的条件
                 Criteria cri = Cnd.cri();
                 if (vo.getId() != null) {

+ 8 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/params/GamePolicyConfigAddOrUpdateParam.java

@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotNull;
+import java.util.List;
 
 /**
  * @author tianhua
@@ -65,4 +66,11 @@ public class GamePolicyConfigAddOrUpdateParam {
     @ApiModelProperty("配置说明:请写出具体的配置细节。如:首次充值金额大于500并且注册时间24小时内的用户,发送钉钉消息")
     private String configExplain;
 
+    /**
+     * 通知人
+     */
+    @NotNull(message = "策略响应时发送消息的对象(不填写,默认发送消息给角色归因的投手)")
+    @ApiModelProperty("告警人员ID")
+    private List<Long> userIds;
+
 }

+ 5 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/pojo/vo/GamePolicyConfigListVO.java

@@ -77,6 +77,11 @@ public class GamePolicyConfigListVO {
      */
     private String configExplain;
 
+    /**
+     * 告警人员名称
+     */
+    private String userNameStr;
+
     /**
      * 创建时间
      */

+ 14 - 0
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/GamePolicyConfigServiceImpl.java

@@ -21,6 +21,7 @@ import com.zanxiang.game.module.mybatis.mapper.GamePolicyConfigMapper;
 import com.zanxiang.module.util.JsonUtil;
 import com.zanxiang.module.util.exception.BaseException;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -83,6 +84,7 @@ public class GamePolicyConfigServiceImpl extends ServiceImpl<GamePolicyConfigMap
                 .type(param.getType())
                 .configParam(configParam)
                 .configExplain(param.getConfigExplain())
+                .userIds(CollectionUtils.isEmpty(param.getUserIds()) ? null : StringUtils.join(param.getUserIds().toArray(), ","))
                 .updateBy(sysUserId)
                 .updateTime(now)
                 .build();
@@ -130,6 +132,17 @@ public class GamePolicyConfigServiceImpl extends ServiceImpl<GamePolicyConfigMap
         GameSupper gameSupper = gameSupperService.getById(vo.getSuperGameId());
         GameDTO game = gameService.getById(vo.getSuperGameId());
         String superGameName = null == gameSupper ? (null == game ? null : game.getName()) : gameSupper.getName();
+        //告警人员名称
+        StringBuilder userNameStr = new StringBuilder();
+        if (StringUtils.isNotBlank(vo.getUserIds())) {
+            String[] userIds = vo.getUserIds().split(",");
+            for (int i = 0; i < userIds.length; i++) {
+                userNameStr.append(sysUserRpc.getById(Long.valueOf(userIds[i])).getData().getNickname());
+                if (i != userIds.length -1) {
+                    userNameStr.append(",");
+                }
+            }
+        }
         return GamePolicyConfigListVO.builder()
                 .id(vo.getId())
                 .superGameId(vo.getSuperGameId())
@@ -140,6 +153,7 @@ public class GamePolicyConfigServiceImpl extends ServiceImpl<GamePolicyConfigMap
                 .time(StringUtils.isBlank(time) ? null : Long.valueOf(time))
                 .timeCondition(StringUtils.isBlank(timeCondition) ? null : timeCondition)
                 .configExplain(vo.getConfigExplain())
+                .userNameStr(StringUtils.isBlank(userNameStr.toString()) ? null : userNameStr.toString())
                 .createBy(vo.getCreateBy())
                 .createName(sysUserRpc.getById(vo.getCreateBy()).getData().getNickname())
                 .createTime(vo.getCreateTime())

+ 5 - 0
game-module/game-module-mybatis/src/main/java/com/zanxiang/game/module/mybatis/entity/GamePolicyConfig.java

@@ -47,6 +47,11 @@ public class GamePolicyConfig {
      */
     private String configExplain;
 
+    /**
+     * 告警人员(字符串)
+     */
+    private String userIds;
+
     /**
      * 创建时间
      */