From f4be36f30a802e70038bde438d1689eb749032fd Mon Sep 17 00:00:00 2001 From: zhangchao <zc857179121@qq.com> Date: 星期五, 22 十一月 2024 08:49:19 +0800 Subject: [PATCH] 采用定长的线程池,防止定时任务的异常导致大量线程被占用 --- src/main/java/com/zy/common/web/BaseController.java | 65 ++++++++++++++++++++++++++++++-- 1 files changed, 61 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/zy/common/web/BaseController.java b/src/main/java/com/zy/common/web/BaseController.java index 01ce52c..0309a4a 100644 --- a/src/main/java/com/zy/common/web/BaseController.java +++ b/src/main/java/com/zy/common/web/BaseController.java @@ -1,6 +1,5 @@ package com.zy.common.web; -import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; @@ -8,9 +7,13 @@ import com.core.common.Cools; import com.core.controller.AbstractBaseController; import com.core.exception.CoolException; +import com.zy.asrs.entity.Node; import com.zy.asrs.entity.Tag; +import com.zy.asrs.service.NodeService; import com.zy.asrs.service.TagService; import com.zy.system.entity.User; +import com.zy.system.entity.UserLogin; +import com.zy.system.service.UserLoginService; import com.zy.system.service.UserService; import io.swagger.annotations.ApiModelProperty; import org.springframework.beans.factory.annotation.Autowired; @@ -33,8 +36,16 @@ private UserService userService; @Autowired private TagService tagService; + @Autowired + private NodeService nodeService; + + @Autowired + private UserLoginService userLoginService; protected Long getUserId(){ + if(Cools.isEmpty(request.getAttribute("userId"))){ + return 000L; + } return Long.parseLong(String.valueOf(request.getAttribute("userId"))); } @@ -58,6 +69,14 @@ protected Tag getOriginTag(){ return tagService.getTop(); + } + + protected Node getOriginNode(){ + Node node = nodeService.getTop(); + if (node == null) { + throw new CoolException("搴撳尯鏁版嵁閿欒"); + } + return node; } /** @@ -148,12 +167,50 @@ if (Cools.isEmpty(str)) { return false; } else { - try { - JSON.parse(str); + str = str.trim(); + if (str.startsWith("{") && str.endsWith("}")) { return true; - } catch (Exception e) { + } else if (str.startsWith("[") && str.endsWith("]")) { + return true; + } else { return false; } } } + + protected <T> void hostEq(EntityWrapper<T> wrapper){ + Long hostId = getHostId(); + if (hostId != null) { + wrapper.eq("host_id", hostId); + } + } + + protected Long getHostId(){ + if (getUserId() == 9527) { + return null; + } + User user = getUser(); + if (user.getRoleId() == 1) { + String hostId = String.valueOf(request.getAttribute("hostId")); + if (Cools.isEmpty(hostId)) { + UserLogin userLogin = userLoginService.selectOne(new EntityWrapper<UserLogin>().eq("user_id", user.getId())); + if (userLogin != null) { + //return userLogin.getHostId(); + return 1L; + } + } + return Long.parseLong(hostId); + } else { + return user.getHostId(); + } + } + + public static boolean isNumber(String str){ + for (int i = str.length();--i>=0;){ + if (!Character.isDigit(str.charAt(i))){ + return false; + } + } + return true; + } } -- Gitblit v1.9.1