From b7becf98e156a8c5f0c89a926b70f7a528ea172b Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 29 七月 2025 14:24:51 +0800
Subject: [PATCH] 添加分布式锁,解决重复执行任务问题

---
 se-common/src/main/java/com/terra/common/mapper/CommonMapper.java |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/se-common/src/main/java/com/terra/common/mapper/CommonMapper.java b/se-common/src/main/java/com/terra/common/mapper/CommonMapper.java
index c74f2cd..035471d 100644
--- a/se-common/src/main/java/com/terra/common/mapper/CommonMapper.java
+++ b/se-common/src/main/java/com/terra/common/mapper/CommonMapper.java
@@ -2,10 +2,14 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.terra.common.entity.lf.OperatePo;
+import com.terra.common.entity.lf.TokenPo;
+import com.terra.common.entity.lf.UserPo;
 import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
 import java.util.Map;
 
 @Mapper
@@ -13,4 +17,25 @@
 public interface CommonMapper extends BaseMapper<OperatePo> {
     @Insert("INSERT INTO lf.sys_operate(url, ip, exec, clazz, type, userid, bak, modular1, modular2) VALUES (#{url}, #{ip}, #{exec}, #{clazz}, #{type}, #{userid}, #{bak}, #{modular1}, #{modular2})")
     int insertOperate(Map<String, Object> map);
+
+    @Select("select * from lf.sys_user where id = (select create_user from lf.sys_token where token=#{token} and expire > now() limit 1)")
+    UserPo selectByToken(String token);
+
+    @Select("select a.* from lf.sys_token a where token = #{token} and expire > now() limit 1")
+    TokenPo selectOneByToken(String token);
+
+    @Select("select ip from lf.sys_blacklist where type = #{type}")
+    List<String> selectIpList(Integer type);
+
+    @Select("SELECT DISTINCT e.perms || f.tag AS perms " +
+            "FROM lf.sys_user a " +
+            "INNER JOIN lf.sys_role_user b ON a.id = b.userid " +
+            "INNER JOIN lf.sys_role_menu_auth c ON b.roleid = c.roleid " +
+            "INNER JOIN lf.sys_menu_auth d ON c.menu_auth_id = d.id " +
+            "INNER JOIN lf.sys_menu e ON d.menuid = e.id " +
+            "INNER JOIN lf.sys_auth f ON d.authid = f.id " +
+            "WHERE e.perms IS NOT NULL " +
+            "AND (#{uid} IS NULL OR a.uid = #{uid}) " +
+            "ORDER BY perms")
+    List<String> selectPerms(String type);
 }

--
Gitblit v1.9.3