diff --git a/src/main/java/com/jmfy/handler/GMHandler.java b/src/main/java/com/jmfy/handler/GMHandler.java index 2f7849a..e5600d5 100644 --- a/src/main/java/com/jmfy/handler/GMHandler.java +++ b/src/main/java/com/jmfy/handler/GMHandler.java @@ -6,10 +6,7 @@ import com.jmfy.dao.GSUserDao; import com.jmfy.dao.ServerInfoDao; import com.jmfy.dao.UserBannedDao; import com.jmfy.dao.UserInfoDao; -import com.jmfy.model.CUserInfo; -import com.jmfy.model.GSUser; -import com.jmfy.model.ServerInfo; -import com.jmfy.model.UserBanned; +import com.jmfy.model.*; import com.jmfy.redisProperties.RedisUserKey; import com.jmfy.thrift.idl.Result; import com.jmfy.utils.DateUtil; @@ -22,10 +19,7 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import javax.servlet.http.HttpSession; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; +import java.util.*; @Component public class GMHandler extends BaseHandler { @@ -79,18 +73,38 @@ public class GMHandler extends BaseHandler { */ public static final int RESET_GUILD_ANNOUNCEMENT = 10; + public static boolean isNumeric(String str) { + return str.matches("-?\\d+(\\.\\d+)?"); + } + @Override public int execute(JSONObject jsonObject,HttpSession session) throws Exception { LOGGER.info("gm封禁,传参:{}",jsonObject.toJSONString()); - String openIds = jsonObject.getString("uid"); - // 根据openId查询玩家注册的全部账号 - List coreUserInfoList = userInfoDao.findUserInfo(openIds); - if (coreUserInfoList == null || coreUserInfoList.isEmpty()) { - throw new Exception("帐号不存在"); - } - // 遍历全部账号,执行封禁操作 - for (CUserInfo coreUserInfo : coreUserInfoList) { - oneUserBanner(coreUserInfo, jsonObject.getIntValue("dsid"), jsonObject, jsonObject.getIntValue("treat_type"), session); + String uid = jsonObject.getString("uid"); + String[] split = uid.split(","); + for (String id : split) { + // 根据openId查询玩家注册的全部账号 + List cUserList = new ArrayList<>(); + List infos = userInfoDao.findUserInfo(id); + if (infos == null || infos.isEmpty()) { + if (isNumeric(id)){ + CUserInfo info = userInfoDao.findUserInfoByUserId(Integer.parseInt(id)); + if (info != null){ + cUserList.add(info); + } + } + }else { + cUserList.addAll(infos); + } + if (cUserList.isEmpty()){ + throw new Exception("帐号id错误,找不到账号或者角色"); + } + int serverId = jsonObject.getIntValue("dsid"); + int type = jsonObject.getIntValue("treat_type"); + // 遍历全部账号,执行封禁操作 + for (CUserInfo coreUserInfo : cUserList) { + oneUserBanner(coreUserInfo, serverId, jsonObject, type, session); + } } return 1; } diff --git a/src/main/resources/templates/gameTitle.html b/src/main/resources/templates/gameTitle.html index 00c4f2a..a1e1291 100644 --- a/src/main/resources/templates/gameTitle.html +++ b/src/main/resources/templates/gameTitle.html @@ -56,7 +56,7 @@ * 账号Id:
- +
@@ -67,11 +67,11 @@ 类型:
@@ -128,52 +128,39 @@ }); }); function gameTitle() { - var erroCode = $('.SERVERID'); - var serverId = $("#serverId").val(); - var userIds = $("textarea[name='userIds']").val(); - var type = document.getElementById("type").value; - var banTime = 0; - var banReason = $("input[name='banReason']").val(); + let erroCode = $('.SERVERID'); + let serverId = $("#serverId").val(); + let ids = $("textarea[name='userIds']").val(); + let type = document.getElementById("type").value; + let banTime = 0; + let banReason = $("input[name='banReason']").val(); if (type != 1){ if (serverId === '' || serverId == null) { erroCode.html('服务器id不能为空!'); return false; - }else { - erroCode = $('.SERVERID'); - erroCode.html(''); } - if (userIds === '' || userIds == null) { + if (ids === '' || ids == null) { erroCode = $('.USERIDS'); - erroCode.html('用户id不能为空!'); + erroCode.html('id不能为空!'); return false; - }else { - erroCode = $('.USERIDS'); - erroCode.html(''); } if (banTime === '' || banTime == null) { erroCode = $('.BANTIME'); erroCode.html('禁止时长为空!'); return false; - }else { - erroCode = $('.BANTIME'); - erroCode.html(''); - } + } if (banReason === '' || banReason == null) { erroCode = $('.BANREASON'); erroCode.html('禁止内容不能为空!'); return false; - }else { - erroCode = $('.BANREASON'); - erroCode.html(''); - } - + } } $.ajax({ type: "POST", data: { "dsid": serverId, - "uid": userIds, + "uid": ids, "treat_type": type, "banTime": banTime, "banReason": banReason