From 960907872747054992a447f52242b5df50dbcf21 Mon Sep 17 00:00:00 2001
From: toesbieya <1647775459@qq.com>
Date: Sun, 12 Jul 2020 14:05:58 +0800
Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4spring-session=EF=BC=8C?=
=?UTF-8?q?=E6=94=B9=E7=94=A8=E7=AE=80=E6=98=93=E6=96=B9=E5=BC=8F=E5=AD=98?=
=?UTF-8?q?=E5=82=A8=E7=99=BB=E5=BD=95=E6=80=81=20=E7=A7=BB=E9=99=A4?=
=?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=9B=91=E6=8E=A7=E6=A8=A1=E5=9D=97=20SysUse?=
=?UTF-8?q?rController=E9=83=A8=E5=88=86=E5=8A=9F=E8=83=BD=E6=8B=86?=
=?UTF-8?q?=E5=88=86=E8=87=B3AccountController=20socket=E5=8F=82=E6=95=B0?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9Asession=5Fid->token=20=E5=85=B6?=
=?UTF-8?q?=E4=BB=96=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
java/my.sql | 68 ++++++--
java/pom.xml | 5 -
.../java/com/toesbieya/my/MyApplication.java | 2 -
.../com/toesbieya/my/aspect/LockAspect.java | 28 ++--
.../my/config/FastJsonConfigFactory.java | 19 +++
.../my/config/HttpSessionConfig.java | 70 ---------
.../com/toesbieya/my/config/QiniuConfig.java | 22 +++
.../com/toesbieya/my/config/RedisConfig.java | 25 +--
.../com/toesbieya/my/config/SocketConfig.java | 32 ++--
.../my/config/SocketServerConfig.java | 37 +++++
.../com/toesbieya/my/config/WebConfig.java | 24 +--
.../my/constant/DocumentConstant.java | 7 +
.../my/constant/SessionConstant.java | 4 +-
.../toesbieya/my/constant/SocketConstant.java | 18 ++-
.../my/controller/AccountController.java | 100 +++++-------
.../BizPurchaseInboundController.java | 14 +-
.../BizPurchaseOrderController.java | 22 +--
.../my/controller/BizSellOrderController.java | 15 +-
.../controller/BizSellOutboundController.java | 20 +--
.../my/controller/MonitorController.java | 17 --
.../my/controller/MsgController.java | 24 +--
.../my/controller/RecController.java | 10 +-
.../controller/SysDepartmentController.java | 6 +-
.../my/controller/SysRoleController.java | 10 +-
.../my/controller/SysUserController.java | 1 -
.../interceptor/RateControlInterceptor.java | 20 +--
.../my/interceptor/SecurityInterceptor.java | 41 ++---
.../toesbieya/my/mapper/SysUserMapper.java | 9 +-
.../toesbieya/my/model/entity/SysUser.java | 23 +--
.../com/toesbieya/my/model/vo/LoginParam.java | 17 ++
.../my/model/vo/LoginSuccessInfo.java | 26 ++++
.../my/model/vo/PasswordUpdateParam.java | 10 ++
.../toesbieya/my/model/vo/RegisterParam.java | 11 ++
.../com/toesbieya/my/model/vo/UserVo.java | 33 ++++
.../toesbieya/my/model/vo/info/CpuInfo.java | 54 -------
.../toesbieya/my/model/vo/info/DiskInfo.java | 25 ---
.../toesbieya/my/model/vo/info/JvmInfo.java | 29 ----
.../my/model/vo/info/MemoryInfo.java | 26 ----
.../my/model/vo/info/MonitorInfo.java | 20 ---
.../my/model/vo/info/OperatingInfo.java | 19 ---
.../toesbieya/my/module/PermissionModule.java | 19 ++-
.../my/module/{redis => }/RedisModule.java | 36 +++--
.../com/toesbieya/my/module/SocketModule.java | 61 ++++----
.../toesbieya/my/module/redis/LockHelper.java | 15 --
.../my/module/redis/RedisLockHelper.java | 45 ------
.../my/module/redis/RedisLockType.java | 5 -
.../toesbieya/my/service/AccountService.java | 145 ++++++++++++++++++
.../my/service/BizPurchaseInboundService.java | 14 +-
.../my/service/BizPurchaseOrderService.java | 11 +-
.../my/service/BizSellOrderService.java | 11 +-
.../my/service/BizSellOutboundService.java | 14 +-
.../com/toesbieya/my/service/MsgService.java | 7 +-
.../com/toesbieya/my/service/RecService.java | 4 +-
.../toesbieya/my/service/SysUserService.java | 128 +---------------
.../com/toesbieya/my/utils/DocumentUtil.java | 47 ++++++
.../com/toesbieya/my/utils/ExcelUtil.java | 4 +-
.../com/toesbieya/my/utils/MonitorUtil.java | 69 ---------
.../com/toesbieya/my/utils/QiniuUtil.java | 41 +++--
.../com/toesbieya/my/utils/RedisUtil.java | 84 +++++-----
.../com/toesbieya/my/utils/SessionUtil.java | 46 ++++++
.../com/toesbieya/my/utils/ThreadUtil.java | 13 +-
.../java/com/toesbieya/my/utils/Util.java | 66 ++++----
.../java/com/toesbieya/my/utils/WebUtil.java | 23 +++
java/src/main/resources/mapper/SysUser.xml | 14 +-
64 files changed, 876 insertions(+), 1009 deletions(-)
create mode 100644 java/src/main/java/com/toesbieya/my/config/FastJsonConfigFactory.java
delete mode 100644 java/src/main/java/com/toesbieya/my/config/HttpSessionConfig.java
create mode 100644 java/src/main/java/com/toesbieya/my/config/QiniuConfig.java
create mode 100644 java/src/main/java/com/toesbieya/my/config/SocketServerConfig.java
create mode 100644 java/src/main/java/com/toesbieya/my/constant/DocumentConstant.java
delete mode 100644 java/src/main/java/com/toesbieya/my/controller/MonitorController.java
create mode 100644 java/src/main/java/com/toesbieya/my/model/vo/LoginParam.java
create mode 100644 java/src/main/java/com/toesbieya/my/model/vo/LoginSuccessInfo.java
create mode 100644 java/src/main/java/com/toesbieya/my/model/vo/PasswordUpdateParam.java
create mode 100644 java/src/main/java/com/toesbieya/my/model/vo/RegisterParam.java
create mode 100644 java/src/main/java/com/toesbieya/my/model/vo/UserVo.java
delete mode 100644 java/src/main/java/com/toesbieya/my/model/vo/info/CpuInfo.java
delete mode 100644 java/src/main/java/com/toesbieya/my/model/vo/info/DiskInfo.java
delete mode 100644 java/src/main/java/com/toesbieya/my/model/vo/info/JvmInfo.java
delete mode 100644 java/src/main/java/com/toesbieya/my/model/vo/info/MemoryInfo.java
delete mode 100644 java/src/main/java/com/toesbieya/my/model/vo/info/MonitorInfo.java
delete mode 100644 java/src/main/java/com/toesbieya/my/model/vo/info/OperatingInfo.java
rename java/src/main/java/com/toesbieya/my/module/{redis => }/RedisModule.java (69%)
delete mode 100644 java/src/main/java/com/toesbieya/my/module/redis/LockHelper.java
delete mode 100644 java/src/main/java/com/toesbieya/my/module/redis/RedisLockHelper.java
delete mode 100644 java/src/main/java/com/toesbieya/my/module/redis/RedisLockType.java
create mode 100644 java/src/main/java/com/toesbieya/my/service/AccountService.java
create mode 100644 java/src/main/java/com/toesbieya/my/utils/DocumentUtil.java
delete mode 100644 java/src/main/java/com/toesbieya/my/utils/MonitorUtil.java
create mode 100644 java/src/main/java/com/toesbieya/my/utils/SessionUtil.java
create mode 100644 java/src/main/java/com/toesbieya/my/utils/WebUtil.java
diff --git a/java/my.sql b/java/my.sql
index ff948b8..15e837e 100644
--- a/java/my.sql
+++ b/java/my.sql
@@ -11,7 +11,7 @@
Target Server Version : 80018
File Encoding : 65001
- Date: 11/07/2020 10:11:24
+ Date: 12/07/2020 13:49:09
*/
SET NAMES utf8mb4;
@@ -34,7 +34,7 @@ CREATE TABLE `biz_document_history` (
PRIMARY KEY (`id`) USING BTREE,
INDEX `pid_time_idx`(`pid`, `time`) USING BTREE,
INDEX `uid_idx`(`uid`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 30 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 31 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of biz_document_history
@@ -76,7 +76,7 @@ CREATE TABLE `biz_purchase_inbound_sub` (
`num` decimal(10, 2) NOT NULL COMMENT '入库数量',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `pid_cid_unique_idx`(`pid`, `cid`) USING BTREE COMMENT '同一采购入库单不能有重复分类的商品'
-) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for biz_purchase_order
@@ -208,7 +208,7 @@ CREATE TABLE `biz_sell_outbound_sub` (
`cname` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '商品分类名称',
`num` decimal(10, 2) NOT NULL COMMENT '出库数量',
PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for biz_stock
@@ -226,7 +226,7 @@ CREATE TABLE `biz_stock` (
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `cid_cgrkid_unique_idx`(`cid`, `cgrkid`) USING BTREE,
INDEX `cdate_idx`(`ctime`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for msg
@@ -297,7 +297,7 @@ CREATE TABLE `rec_attachment` (
PRIMARY KEY (`id`) USING BTREE,
INDEX `pid_idx`(`pid`) USING BTREE,
INDEX `url_idx`(`url`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for rec_login_history
@@ -315,7 +315,7 @@ CREATE TABLE `rec_login_history` (
INDEX `uid_idx`(`uid`) USING BTREE,
INDEX `type_idx`(`type`) USING BTREE,
INDEX `time_idx`(`time`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 400 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 406 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of rec_login_history
@@ -477,6 +477,21 @@ INSERT INTO `rec_login_history` VALUES (398, 1, 'admin', '127.0.0.1', NULL, 1, 1
INSERT INTO `rec_login_history` VALUES (399, 1, 'admin', '127.0.0.1', NULL, 1, 1594344197698);
INSERT INTO `rec_login_history` VALUES (400, 1, 'admin', '127.0.0.1', NULL, 1, 1594396572079);
INSERT INTO `rec_login_history` VALUES (401, 1, 'admin', '127.0.0.1', NULL, 1, 1594433292572);
+INSERT INTO `rec_login_history` VALUES (402, 1, 'admin', '127.0.0.1', NULL, 1, 1594453804314);
+INSERT INTO `rec_login_history` VALUES (403, 1, 'admin', '127.0.0.1', NULL, 1, 1594463748662);
+INSERT INTO `rec_login_history` VALUES (404, 1, 'admin', '127.0.0.1', NULL, 1, 1594464193655);
+INSERT INTO `rec_login_history` VALUES (405, 1, 'admin', '127.0.0.1', NULL, 1, 1594467338836);
+INSERT INTO `rec_login_history` VALUES (406, 1, 'admin', '127.0.0.1', NULL, 1, 1594478241573);
+INSERT INTO `rec_login_history` VALUES (407, 1, 'admin', '127.0.0.1', NULL, 1, 1594517412152);
+INSERT INTO `rec_login_history` VALUES (408, 1, 'admin', '127.0.0.1', NULL, 1, 1594517476000);
+INSERT INTO `rec_login_history` VALUES (409, 1, 'admin', '127.0.0.1', NULL, 1, 1594517663344);
+INSERT INTO `rec_login_history` VALUES (410, 1, 'admin', '127.0.0.1', NULL, 1, 1594518624685);
+INSERT INTO `rec_login_history` VALUES (411, 1, 'admin', '127.0.0.1', NULL, 0, 1594518745456);
+INSERT INTO `rec_login_history` VALUES (412, 1, 'admin', '127.0.0.1', NULL, 1, 1594518838620);
+INSERT INTO `rec_login_history` VALUES (413, 1, 'admin', '127.0.0.1', NULL, 1, 1594530875654);
+INSERT INTO `rec_login_history` VALUES (414, 1, 'admin', '127.0.0.1', NULL, 1, 1594531358311);
+INSERT INTO `rec_login_history` VALUES (415, 1, 'admin', '127.0.0.1', NULL, 0, 1594531491193);
+INSERT INTO `rec_login_history` VALUES (416, 1, 'admin', '127.0.0.1', NULL, 1, 1594531562264);
-- ----------------------------
-- Table structure for rec_user_action
@@ -493,7 +508,7 @@ CREATE TABLE `rec_user_action` (
`error` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '错误信息',
`type` int(11) NOT NULL COMMENT '0失败、1成功',
PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 64 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 65 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of rec_user_action
@@ -503,6 +518,9 @@ INSERT INTO `rec_user_action` VALUES (61, 1, 'admin', '127.0.0.1', '/purchase/or
INSERT INTO `rec_user_action` VALUES (62, 1, 'admin', '127.0.0.1', '/purchase/order/commit', 1592537930960, '提交采购订单CGDD202006190001', NULL, 1);
INSERT INTO `rec_user_action` VALUES (63, 1, 'admin', '127.0.0.1', '/purchase/order/pass', 1592537934425, '通过采购订单CGDD202006190001', NULL, 1);
INSERT INTO `rec_user_action` VALUES (64, 1, 'admin', '127.0.0.1', '/system/user/add', 1592803978425, '添加用户:toesbieya', NULL, 1);
+INSERT INTO `rec_user_action` VALUES (65, 1, 'admin', '127.0.0.1', '/system/role/update', 1594530891861, '修改角色:默认管理员', NULL, 1);
+INSERT INTO `rec_user_action` VALUES (66, 1, 'admin', '127.0.0.1', '/system/role/update', 1594530931531, '修改角色:默认管理员', NULL, 1);
+INSERT INTO `rec_user_action` VALUES (67, 1, 'admin', '127.0.0.1', '/system/role/update', 1594530948651, '修改角色:默认管理员', NULL, 1);
-- ----------------------------
-- Table structure for stat_finish_order
@@ -514,7 +532,7 @@ CREATE TABLE `stat_finish_order` (
`sell` int(11) NOT NULL COMMENT '销售订单完成数',
`time` bigint(20) NOT NULL COMMENT '完成时间',
PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 131 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 132 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of stat_finish_order
@@ -553,6 +571,7 @@ INSERT INTO `stat_finish_order` VALUES (128, 0, 0, 1594051200000);
INSERT INTO `stat_finish_order` VALUES (129, 0, 0, 1594137600000);
INSERT INTO `stat_finish_order` VALUES (130, 0, 0, 1594224000000);
INSERT INTO `stat_finish_order` VALUES (131, 0, 0, 1594310400000);
+INSERT INTO `stat_finish_order` VALUES (132, 0, 0, 1594396800000);
-- ----------------------------
-- Table structure for stat_profit_goods
@@ -584,7 +603,7 @@ CREATE TABLE `stat_profit_total` (
`profit` decimal(10, 2) NOT NULL COMMENT '毛利润',
`time` bigint(20) NOT NULL,
PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 131 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 132 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of stat_profit_total
@@ -623,6 +642,7 @@ INSERT INTO `stat_profit_total` VALUES (128, 0.00, 0.00, 0.00, 1594051200000);
INSERT INTO `stat_profit_total` VALUES (129, 0.00, 0.00, 0.00, 1594137600000);
INSERT INTO `stat_profit_total` VALUES (130, 0.00, 0.00, 0.00, 1594224000000);
INSERT INTO `stat_profit_total` VALUES (131, 0.00, 0.00, 0.00, 1594310400000);
+INSERT INTO `stat_profit_total` VALUES (132, 0.00, 0.00, 0.00, 1594396800000);
-- ----------------------------
-- Table structure for sys_category
@@ -669,7 +689,7 @@ CREATE TABLE `sys_customer` (
UNIQUE INDEX `name_unique_idx`(`name`) USING BTREE,
INDEX `status_idx`(`status`) USING BTREE,
INDEX `ctime_idx`(`ctime`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_customer
@@ -687,7 +707,7 @@ CREATE TABLE `sys_department` (
`status` int(11) NOT NULL DEFAULT 1 COMMENT '0禁用,1正常',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `pid_name_unique_idx`(`pid`, `name`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_department
@@ -47256,7 +47276,6 @@ INSERT INTO `sys_resource` VALUES (302, 300, '修改', '/update', 0, 100, 1);
INSERT INTO `sys_resource` VALUES (303, 300, '删除', '/del', 0, 100, 1);
INSERT INTO `sys_resource` VALUES (350, 200, '接口管理', '/resource', 1, 100, 1);
INSERT INTO `sys_resource` VALUES (351, 350, '修改', '/update', 1, 100, 1);
-INSERT INTO `sys_resource` VALUES (360, 200, '系统监控', '/monitor', 1, 100, 1);
-- ----------------------------
-- Table structure for sys_role
@@ -47298,7 +47317,7 @@ CREATE TABLE `sys_supplier` (
UNIQUE INDEX `name_unique_idx`(`name`) USING BTREE,
INDEX `ctime_idx`(`ctime`) USING BTREE,
INDEX `status_idx`(`status`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_supplier
@@ -47328,4 +47347,25 @@ CREATE TABLE `sys_user` (
INSERT INTO `sys_user` VALUES (1, 'admin', 'e10adc3949ba59abbe56e057f20f883e', NULL, NULL, 1582184632922, 1, 1);
INSERT INTO `sys_user` VALUES (47, 'toesbieya', 'e10adc3949ba59abbe56e057f20f883e', 1, NULL, 1592803978422, 0, 1);
+-- ----------------------------
+-- Function structure for check_category_use
+-- ----------------------------
+DROP FUNCTION IF EXISTS `check_category_use`;
+delimiter ;;
+CREATE FUNCTION `check_category_use`(cid INT)
+ RETURNS tinyint(4)
+ READS SQL DATA
+BEGIN
+ declare r int;
+ select count(0) from biz_purchase_order_sub where cid=cid into r;
+ if r=0 then
+ select count(0) from biz_sell_order_sub where cid=cid into r;
+ return r;
+ else
+ return 1;
+ end if;
+END
+;;
+delimiter ;
+
SET FOREIGN_KEY_CHECKS = 1;
diff --git a/java/pom.xml b/java/pom.xml
index 17f9dab..bc33479 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -54,11 +54,6 @@
commons-pool2
-
- org.springframework.session
- spring-session-data-redis
-
-
org.mybatis.spring.boot
diff --git a/java/src/main/java/com/toesbieya/my/MyApplication.java b/java/src/main/java/com/toesbieya/my/MyApplication.java
index abe1fdb..0c9a742 100644
--- a/java/src/main/java/com/toesbieya/my/MyApplication.java
+++ b/java/src/main/java/com/toesbieya/my/MyApplication.java
@@ -3,13 +3,11 @@ package com.toesbieya.my;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.cache.annotation.EnableCaching;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@MapperScan("com.toesbieya.my.mapper")
@EnableScheduling
-@EnableCaching
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
diff --git a/java/src/main/java/com/toesbieya/my/aspect/LockAspect.java b/java/src/main/java/com/toesbieya/my/aspect/LockAspect.java
index b6591f2..164b4ba 100644
--- a/java/src/main/java/com/toesbieya/my/aspect/LockAspect.java
+++ b/java/src/main/java/com/toesbieya/my/aspect/LockAspect.java
@@ -1,8 +1,7 @@
package com.toesbieya.my.aspect;
import com.toesbieya.my.annoation.Lock;
-import com.toesbieya.my.module.redis.LockHelper;
-import com.toesbieya.my.module.redis.RedisLockHelper;
+import com.toesbieya.my.utils.RedisUtil;
import com.toesbieya.my.utils.Result;
import com.toesbieya.my.utils.SpringUtil;
import lombok.extern.slf4j.Slf4j;
@@ -11,7 +10,6 @@ import org.aspectj.lang.annotation.*;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
-import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.lang.reflect.Method;
@@ -22,7 +20,7 @@ import java.util.ArrayList;
@Slf4j
@Order(Integer.MAX_VALUE - 1)
public class LockAspect {
- private final ThreadLocal> lockHelperThreadLocal = new ThreadLocal<>();
+ private final ThreadLocal> lockerThreadLocal = new ThreadLocal<>();
@Pointcut("@annotation(com.toesbieya.my.annoation.Lock)&&execution(com.toesbieya.my.utils.Result com.toesbieya.my..*.*(..))")
public void pointCut() {
@@ -37,21 +35,23 @@ public class LockAspect {
if (values.length <= 0) {
return point.proceed();
}
- ArrayList locks = new ArrayList<>();
+ ArrayList locks = new ArrayList<>();
String[] parameterNames = signature.getParameterNames();
Object[] args = point.getArgs();
for (String v : values) {
String lockKey = (String) SpringUtil.spell(v, parameterNames, args);
+
//跳过空值
if (StringUtils.isEmpty(lockKey)) continue;
- LockHelper lockHelper = new RedisLockHelper(lockKey);
- if (!lockHelper.lock()) {
- locks.forEach(LockHelper::close);
+
+ RedisUtil.Locker locker = new RedisUtil.Locker(lockKey);
+ if (!locker.lock()) {
+ locks.forEach(RedisUtil.Locker::close);
return Result.fail("操作失败,请刷新后重试");
}
- locks.add(lockHelper);
+ locks.add(locker);
}
- lockHelperThreadLocal.set(locks);
+ lockerThreadLocal.set(locks);
return point.proceed();
}
@@ -66,10 +66,10 @@ public class LockAspect {
}
private void unlock() {
- ArrayList locks = lockHelperThreadLocal.get();
- if (!CollectionUtils.isEmpty(locks)) {
- locks.forEach(LockHelper::close);
- lockHelperThreadLocal.remove();
+ ArrayList locks = lockerThreadLocal.get();
+ if (locks != null) {
+ locks.forEach(RedisUtil.Locker::close);
+ lockerThreadLocal.remove();
}
}
}
diff --git a/java/src/main/java/com/toesbieya/my/config/FastJsonConfigFactory.java b/java/src/main/java/com/toesbieya/my/config/FastJsonConfigFactory.java
new file mode 100644
index 0000000..e32ed4e
--- /dev/null
+++ b/java/src/main/java/com/toesbieya/my/config/FastJsonConfigFactory.java
@@ -0,0 +1,19 @@
+package com.toesbieya.my.config;
+
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.alibaba.fastjson.support.config.FastJsonConfig;
+
+public class FastJsonConfigFactory {
+ public static FastJsonConfig defaultConfig() {
+ FastJsonConfig config = new FastJsonConfig();
+
+ config.setSerializerFeatures(
+ SerializerFeature.WriteMapNullValue, // 是否输出值为null的字段
+ SerializerFeature.WriteDateUseDateFormat,
+ SerializerFeature.WriteNullListAsEmpty,
+ SerializerFeature.DisableCircularReferenceDetect // 禁用循环引用
+ );
+
+ return config;
+ }
+}
diff --git a/java/src/main/java/com/toesbieya/my/config/HttpSessionConfig.java b/java/src/main/java/com/toesbieya/my/config/HttpSessionConfig.java
deleted file mode 100644
index 906f0e5..0000000
--- a/java/src/main/java/com/toesbieya/my/config/HttpSessionConfig.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.toesbieya.my.config;
-
-import com.alibaba.fastjson.JSON;
-import com.toesbieya.my.model.entity.SysUser;
-import com.toesbieya.my.module.SocketModule;
-import com.toesbieya.my.utils.Util;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.data.redis.serializer.RedisSerializer;
-import org.springframework.data.redis.serializer.SerializationException;
-import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;
-
-import javax.servlet.http.HttpSessionEvent;
-import javax.servlet.http.HttpSessionListener;
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-
-@Configuration
-@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 28800)
-public class HttpSessionConfig {
- @Bean
- public HttpSessionListener httpSessionEventPublisher() {
- return new HttpSessionListener() {
- @Override
- public void sessionCreated(HttpSessionEvent se) {
- }
-
- @Override
- public void sessionDestroyed(HttpSessionEvent se) {
- SysUser user = Util.getUser(se.getSession());
- if (user != null) {
- SocketModule.logout(user.getId(), "登陆状态过期,请重新登陆");
- }
- }
- };
- }
-
- @Bean("springSessionDefaultRedisSerializer")
- public RedisSerializer