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