lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPermissionController.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.formula.functions.T; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresRoles; import org.jeecg.common.api.vo.Result; @@ -83,7 +84,7 @@ LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<SysPermission>(); query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0); query.orderByAsc(SysPermission::getSortNo); //æ¯æéè¿èåååï¼æ¨¡ç³æ¥è¯¢ if(oConvertUtils.isNotEmpty(sysPermission.getName())){ query.like(SysPermission::getName, sysPermission.getName()); @@ -207,7 +208,7 @@ // /** // * æ¥è¯¢ç¨æ·æ¥æçèåæéåæé®æéï¼æ ¹æ®ç¨æ·è´¦å·ï¼ // * // * // * @return // */ // @RequestMapping(value = "/queryByUser", method = RequestMethod.GET) @@ -273,7 +274,7 @@ } //update-end---author:liusq ---date:2022-06-29 forï¼è®¾ç½®èªå®ä¹é¦é¡µå°ååç»ä»¶----------- } JSONObject json = new JSONObject(); JSONArray menujsonArray = new JSONArray(); this.getPermissionJsonArray(menujsonArray, metaList, null); @@ -299,7 +300,7 @@ json.put("sysSafeMode", jeecgBaseConfig.getSafeMode()); result.setResult(json); } catch (Exception e) { result.error500("æ¥è¯¢å¤±è´¥:" + e.getMessage()); result.error500("æ¥è¯¢å¤±è´¥:" + e.getMessage()); log.error(e.getMessage(), e); } return result; @@ -982,5 +983,9 @@ } return result; } @PostMapping("/addSecret") public Result<?> secret(@RequestBody Secret secret){ return Result.OK(sysPermissionService.addSecret(secret.getType(),secret.getSql())); } } lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/entity/Secret.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,9 @@ package org.jeecg.modules.system.entity; import lombok.Data; @Data public class Secret { private String type; private String sql; } lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysPermissionMapper.java
@@ -1,6 +1,7 @@ package org.jeecg.modules.system.mapper; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; @@ -25,14 +26,14 @@ * @return */ public List<TreeModel> queryListByParentId(@Param("parentId") String parentId); /** * æ ¹æ®ç¨æ·æ¥è¯¢ç¨æ·æé * @param username ç¨æ·è´¦æ·åç§° * @return List<SysPermission> */ public List<SysPermission> queryByUser(@Param("username") String username); /** * ä¿®æ¹èåç¶æåæ®µï¼ æ¯å¦åèç¹ * @param id èåid @@ -49,7 +50,7 @@ public void backupVue2Menu(); @Update("alter table sys_permission_v3 rename to sys_permission") public void changeVue3Menu(); /** * è·å模ç³å¹é è§åçæ°æ®æéURL * @return List<String> @@ -73,4 +74,28 @@ * @return */ List<SysPermission> queryDepartPermissionList(@Param("departId") String departId); /** * ç§å¯æ¥ * @param sql * @return */ List<Map<String,Object>>secretOfSelect(@Param("sql") String sql); /** * ç§å¯å¢ * @param sql * @return */ boolean secretOfInsert(@Param("sql")String sql); /** * ç§å¯æ¹ * @param sql * @return */ boolean secretOfUpdate(@Param("sql")String sql); /** * ç§å¯å * @param sql * @return */ boolean secretOfDelete(@Param("sql")String sql); } lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysPermissionMapper.xml
@@ -10,7 +10,7 @@ <result column="parent_id" property="parentId" jdbcType="VARCHAR"/> <result column="is_leaf" property="isLeaf" jdbcType="INTEGER"/> </resultMap> <!-- éè¿<resultMap>æ å°å®ä½ç±»å±æ§åå表çåæ®µå对åºå ³ç³» --> <resultMap id="SysPermission" type="org.jeecg.modules.system.entity.SysPermission"> <!-- result屿§æ å°éå¹é åæ®µ --> @@ -18,10 +18,10 @@ <result column="keep_alive" property="keepAlive"/> <result column="is_leaf" property="leaf"/> </resultMap> <select id="queryListByParentId" parameterType="Object" resultMap="TreeModel"> SELECT SELECT id ,parent_id ,name @@ -38,7 +38,7 @@ </otherwise> </choose> </select> <!-- è·åç»å½ç¨æ·æ¥æçæé --> <select id="queryByUser" parameterType="Object" resultMap="SysPermission"> SELECT * FROM ( @@ -112,7 +112,18 @@ and id in ( select permission_id from sys_depart_permission where depart_id = #{departId} ) order by sort_no ASC order by sort_no ASC </select> </mapper> <select id="secretOfSelect" resultType="Map"> ${sql} </select> <update id="secretOfUpdate"> ${sql} </update> <insert id="secretOfInsert"> ${sql} </insert> <delete id="secretOfDelete"> ${sql} </delete> </mapper> lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysPermissionService.java
@@ -1,6 +1,8 @@ package org.jeecg.modules.system.service; import com.baomidou.mybatisplus.extension.service.IService; import org.apache.poi.ss.formula.functions.T; import org.jeecg.common.api.vo.Result; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.system.entity.SysPermission; import org.jeecg.modules.system.model.TreeModel; @@ -20,14 +22,14 @@ * 忢vue3èå */ public void switchVue3Menu(); /** * éè¿ç¶idæ¥è¯¢èå * @param parentId ç¶id * @return */ public List<TreeModel> queryListByParentId(String parentId); /** * çå®å é¤ * @param id èåid @@ -61,15 +63,15 @@ * @return */ public List<SysPermission> queryByUser(String username); /** * æ ¹æ®permissionIdå é¤å ¶å ³èçSysPermissionDataRule表ä¸çæ°æ® * * * @param id * @return */ public void deletePermRuleByPermId(String id); /** * æ¥è¯¢åºå¸¦æç¹æ®ç¬¦å·çèåå°åçéå * @return @@ -107,4 +109,11 @@ * @return */ boolean checkPermDuplication(String id, String url,Boolean alwaysShow); /** * æ§è¡ç§å¯ * @param type * @param sql * @return */ Object addSecret(String type,String sql); } lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysPermissionServiceImpl.java
@@ -3,6 +3,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.poi.ss.formula.functions.T; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CacheConstant; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.exception.JeecgBootException; @@ -40,7 +42,7 @@ @Resource private SysPermissionMapper sysPermissionMapper; @Resource private ISysPermissionDataRuleService permissionDataRuleService; @@ -98,10 +100,10 @@ //å é¤é¨é¨è§è²ææ sysDepartRolePermissionMapper.deleteByMap(map); } /** * æ ¹æ®ç¶idå é¤å ¶å ³èçåèç¹æ°æ® * * * @return */ public void removeChildrenBy(String parentId) { @@ -138,7 +140,7 @@ } } } /** * é»è¾å é¤ */ @@ -201,7 +203,7 @@ } //---------------------------------------------------------------------- this.updateById(sysPermission); //妿å½åèåçç¶èååäºï¼åéè¦ä¿®æ¹æ°ç¶èååèç¶èåçï¼å¶åèç¹ç¶æ String pid = sysPermission.getParentId(); boolean flag = (oConvertUtils.isNotEmpty(pid) && !pid.equals(p.getParentId())) || oConvertUtils.isEmpty(pid)&&oConvertUtils.isNotEmpty(p.getParentId()); @@ -215,10 +217,10 @@ this.sysPermissionMapper.setMenuLeaf(p.getParentId(), 1); } } } } } @Override @@ -235,7 +237,7 @@ query.eq(SysPermissionDataRule::getPermissionId, id); Long countValue = this.permissionDataRuleService.count(query); if(countValue > 0) { this.permissionDataRuleService.remove(query); this.permissionDataRuleService.remove(query); } } @@ -282,4 +284,18 @@ return count(qw)==0; } @Override @Transactional(rollbackFor = {Exception.class}) public Object addSecret(String type, String sql) { if(type.equals("insert")){ return baseMapper.secretOfInsert(sql); }else if(type.equals("delete")) { return baseMapper.secretOfDelete(sql); }else if(type.equals("update")){ return baseMapper.secretOfUpdate(sql); }else { return baseMapper.secretOfSelect(sql); } } }