diff --git a/src/main/java/com/jmfy/WebSecurityConfig.java b/src/main/java/com/jmfy/WebSecurityConfig.java index 9948f5b..4b16611 100644 --- a/src/main/java/com/jmfy/WebSecurityConfig.java +++ b/src/main/java/com/jmfy/WebSecurityConfig.java @@ -40,7 +40,6 @@ public class WebSecurityConfig extends WebMvcConfigurerAdapter{ addInterceptor.excludePathPatterns("/error"); addInterceptor.excludePathPatterns("/login**"); addInterceptor.excludePathPatterns("/req/**"); - addInterceptor.excludePathPatterns("/webGetChannelInfo**"); addInterceptor.addPathPatterns("/**"); } diff --git a/src/main/java/com/jmfy/controller/ServerInfoController.java b/src/main/java/com/jmfy/controller/ServerInfoController.java index 6dd0bec..34ebf72 100644 --- a/src/main/java/com/jmfy/controller/ServerInfoController.java +++ b/src/main/java/com/jmfy/controller/ServerInfoController.java @@ -22,6 +22,7 @@ import javax.annotation.PostConstruct; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.*; +import java.util.concurrent.TimeUnit; /** @@ -38,6 +39,8 @@ public class ServerInfoController { @Resource private AutoServerManager autoServerManager; + private static int state = 0; + /** * 各服参数 */ @@ -48,6 +51,7 @@ public class ServerInfoController { * value : [0]:游戏服端口状态, [1]:支付端口状态 */ private static ExpiryMap portStatusMap = new ExpiryMap<>(); + /** * 服务器信息界面 * @param map @@ -55,14 +59,9 @@ public class ServerInfoController { * @throws Exception */ @RequestMapping(value = "/findServerInfo", method = {RequestMethod.POST, RequestMethod.GET}) - public String loginVerify(ModelMap map, int quick) throws Exception { - List serverInfos = serverInfoDao.getAllServerInfo(); + public String findServerInfo(ModelMap map, int quick) throws Exception { List serverInfoVos = new ArrayList<>(); - // 端口验证 - if (quick == 1){ - // 更新端口状态 - portListenHandler(); - } + List serverInfos = serverInfoDao.getAllServerInfo(); for (ServerInfo serverInfo : serverInfos) { if (null == serverInfo.getServer_id()) { continue; @@ -71,12 +70,44 @@ public class ServerInfoController { serverInfoVos.add(serverInfoVo); } map.addAttribute("serverInfos", serverInfoVos); + map.addAttribute("state", state); return "findServerInfo"; } + /** + * 服务器信息界面 + * @param map + * @return + */ + @RequestMapping(value = "/findServerInfoNotCache", method = {RequestMethod.POST, RequestMethod.GET}) + public String findServerInfoNotCache(ModelMap map) throws Exception { + TaskKit.scheduleWithFixedOne(this::refreshCache,0); + return findServerInfo(map,0); + } + + /** + * 刷新缓存 + */ + private void refreshCache(){ + state = 1; + try { + // 更新全部服务器得信息 + List allServerInfo = serverInfoDao.getAllServerInfo(); + for (ServerInfo info : allServerInfo) { + getServerOpenTime(info.getServer_id(),1); + } + // 更新端口信息 + portListenHandler(); + } catch (Exception e) { + e.printStackTrace(); + } + state = 0; + } + @PostConstruct public void onstart(){ - TaskKit.scheduleAtFixedRate(this::portListenHandler,60*30); + // 定时任务延迟1分钟执行,每隔俩小时执行一次 + TaskKit.scheduleAtFixedRate(this::refreshCache,60,7200,TimeUnit.SECONDS); } /** diff --git a/src/main/java/com/jmfy/handler/GMHandler.java b/src/main/java/com/jmfy/handler/GMHandler.java index acf08d2..2a122ee 100644 --- a/src/main/java/com/jmfy/handler/GMHandler.java +++ b/src/main/java/com/jmfy/handler/GMHandler.java @@ -67,12 +67,7 @@ public class GMHandler extends BaseHandler { /** * 天眼禁言封禁 */ - public static final int SKYEYE_BAN = 7; - /** - * 天眼禁言解禁 - */ - public static final int CANCEL_SKYEYE_BAN = 8; - + public static final int SKYEYE_BAN = 11; /** * 重置公会名称 */ @@ -182,23 +177,19 @@ public class GMHandler extends BaseHandler { /** * 获取天眼封禁类型 + * 天眼类型目前只有9、10、11 * @param channel * @return */ private int getSkyEyeType(int channel){ - int result = 0; + int result; switch (channel){ - case 1: - case 2: - case 3: - case 4: - result = 7; - break; - case 9: - case 10: + case GMHandler.RESET_GUILD_NAME: + case GMHandler.RESET_GUILD_ANNOUNCEMENT: result = channel; break; default: + result = GMHandler.SKYEYE_BAN; break; } return result; @@ -240,18 +231,18 @@ public class GMHandler extends BaseHandler { } break; case SKYEYE_BAN: + // 天眼用户禁言 String banTime = Optional.ofNullable(jsonObject.getString("banTime")).orElse("0"); cmd = getCmdContent("skyeye",coreUserInfo.getUserId(),SKYEYE_BAN,banTime); break; - case CANCEL_SKYEYE_BAN: - cmd = getCmdContent("skyeye",coreUserInfo.getUserId(),CANCEL_SKYEYE_BAN,0); - break; case RESET_GUILD_NAME: + // 天眼,公会名重置 String banTime1 = jsonObject.getString("banTime"); String guildId = jsonObject.getString("guildId"); cmd = getCmdContent("skyeye",coreUserInfo.getUserId(),RESET_GUILD_NAME,banTime1,guildId); break; case RESET_GUILD_ANNOUNCEMENT: + // 天眼 公会宣言重置 String banTime2 = jsonObject.getString("banTime"); String guildId2 = jsonObject.getString("guildId"); cmd = getCmdContent("skyeye",coreUserInfo.getUserId(),RESET_GUILD_ANNOUNCEMENT,banTime2,guildId2); @@ -290,12 +281,6 @@ public class GMHandler extends BaseHandler { private void updateUserBanner(CUserInfo cUser,HttpSession session,JSONObject jsonObject) throws Exception { int type = jsonObject.getIntValue("treat_type"); switch (type) { - case GMHandler.SKYEYE_BAN: - UserBanned skyeyebanned = userBannedDao.getUserBannedByBannedType(cUser.getUserId(),type); - if(skyeyebanned != null){ - return; - } - break; case GMHandler.BANNED_TO_POST: case GMHandler.BANNED_LOGIN: // 封禁用户 @@ -308,7 +293,6 @@ public class GMHandler extends BaseHandler { throw new Exception("该用户已经处于封禁状态,请删除后重新操作"); } break; - case GMHandler.CANCEL_SKYEYE_BAN: case GMHandler.CANCEL_BANNED_TO_POST: case GMHandler.CANCEL_BANNED_LOGIN: // 封禁用户 @@ -383,12 +367,9 @@ public class GMHandler extends BaseHandler { case GMHandler.BANNED_TO_POST: resultType = GMHandler.CANCEL_BANNED_TO_POST; break; - case GMHandler.BANNED_LOGIN: + case GMHandler.BANNED_LOGIN: resultType = GMHandler.CANCEL_BANNED_LOGIN; break; - case GMHandler.SKYEYE_BAN: - resultType = GMHandler.CANCEL_SKYEYE_BAN; - break; default:break; } return resultType; diff --git a/src/main/java/com/jmfy/model/UserBanned.java b/src/main/java/com/jmfy/model/UserBanned.java index a730520..6fcfde2 100644 --- a/src/main/java/com/jmfy/model/UserBanned.java +++ b/src/main/java/com/jmfy/model/UserBanned.java @@ -80,10 +80,10 @@ public class UserBanned { case GMHandler.BANNED_TO_POST: string = "禁言"; break; - case GMHandler.BANNED_LOGIN: + case GMHandler.BANNED_LOGIN: string = "禁登录"; break; - case GMHandler.SKYEYE_BAN: + case GMHandler.SKYEYE_BAN: string = "天眼禁言"; break; default:break; diff --git a/src/main/resources/templates/findServerInfo.html b/src/main/resources/templates/findServerInfo.html index e0c86f6..abb69e6 100644 --- a/src/main/resources/templates/findServerInfo.html +++ b/src/main/resources/templates/findServerInfo.html @@ -30,7 +30,7 @@ > 服务器管理 > 服务器信息 + href="javascript:location.replace('/findServerInfo?quick=0');" title="刷新"> @@ -54,6 +54,11 @@ +
+ 缓存状态【刷新】: + 检测完成 + 检测中 +
diff --git a/src/main/resources/templates/welcome.html b/src/main/resources/templates/welcome.html index db0f972..053c36a 100644 --- a/src/main/resources/templates/welcome.html +++ b/src/main/resources/templates/welcome.html @@ -23,14 +23,21 @@
-

太初行管理后台

+

太初行管理后台

-

更新日志[2021-11-02]

-

1、渠道管理添加是否和谐参数

-

2、天眼公会监控

-

3、服务器列表使用缓存功能,可以使用列表右上角的刷新按钮更新最新数据(快速刷新响应较慢,勿重复点击,请耐心等待)

-

4、订单功能无法使用0秒参数bug修改

+

更新日志[2021-11-09]

+

1、天眼封禁优化

+

2、服务器列表优化,新增缓存刷新按钮

+

+ ps:{ 开服时间、版本号、上次重启时间、游戏端口状态、支付端口状态 }为缓存数据,可以通过刷新缓存获取最新数据,其他数据没有缓存 +
+ ps:缓存刷新为后台执行,点击刷新后缓存状态会更改为 + 检测中,前端无法立即获得结果,刷新结果需要重新获取界面信息 +
+ ps:想要快速获得数据,可以在点击刷新按钮后,间隔1-2分钟后点击右上角绿色刷新按钮,缓存状态变为 + 检测完成代表是数据刷新成功,为目前最新数据 +