From 0e0a6258ce04c9b89fdf1b5507675f35f8a09124 Mon Sep 17 00:00:00 2001 From: Surpriseplus <845948745@qq.com> Date: 星期六, 08 十月 2022 11:04:18 +0800 Subject: [PATCH] 菜单,单位,数据目录递归查询,批量修改 --- src/main/java/com/lf/server/mapper/data/DirMapper.java | 14 ++ src/main/resources/mapper/data/DirMapper.xml | 25 ++++ src/main/java/com/lf/server/service/sys/MenusService.java | 10 ++ src/main/java/com/lf/server/interceptor/AuthInterceptor.java | 46 ++++---- src/main/java/com/lf/server/service/sys/DepService.java | 8 + src/main/java/com/lf/server/controller/sys/MenusController.java | 31 ++++++ src/main/resources/mapper/sys/DepMapper.xml | 27 ++++ src/main/java/com/lf/server/mapper/sys/DepMapper.java | 13 ++ src/main/java/com/lf/server/controller/data/DirController.java | 35 ++++++ src/main/java/com/lf/server/controller/sys/DepController.java | 29 +++++ src/main/java/com/lf/server/mapper/sys/MenusMapper.java | 14 ++ src/main/resources/mapper/sys/MenusMapper.xml | 26 +++++ src/main/java/com/lf/server/service/data/DirService.java | 12 ++ 13 files changed, 258 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/lf/server/controller/data/DirController.java b/src/main/java/com/lf/server/controller/data/DirController.java index 89a59b2..bb735e7 100644 --- a/src/main/java/com/lf/server/controller/data/DirController.java +++ b/src/main/java/com/lf/server/controller/data/DirController.java @@ -10,6 +10,7 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -77,7 +78,7 @@ @SysLog() @ApiOperation(value = "鍒犻櫎澶氭潯鏁版嵁") @ApiImplicitParams({ - @ApiImplicitParam(name = "ids", value = "涓婚敭ID闆嗗悎", dataType = "List<Integer>", paramType = "query", example = "1,2") + @ApiImplicitParam(name = "DirEntity", value = "鐩綍瀹炰綋绫�", dataType = "com.lf.server.entity.data.DirEntity", paramType = "body", example = "") }) @GetMapping(value = "/deleteDirs") public ResponseMsg<Integer> deleteDirs(@RequestParam List<Integer> ids) { @@ -112,6 +113,26 @@ } @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯鏁版嵁") + @ApiImplicitParams({ + @ApiImplicitParam(name = "DirEntity", value = "涓婚敭ID闆嗗悎", dataType = "DirEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateDirs", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateDirs(@RequestBody List<DirEntity> dirEntity) { + try { + int count = dirService.updateDirs(dirEntity); + + return success(count); + } catch (Exception ex) { + return fail(ex.getMessage(), -1); + } + } + + + + + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ鏁版嵁") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "涓婚敭ID", dataType = "Integer", paramType = "query", example = "1") @@ -138,4 +159,16 @@ return fail(ex.getMessage(), null); } } + + @SysLog() + @ApiOperation(value = "閫掑綊鏌ヨ鏁版嵁") + @GetMapping(value = "/selectDirRecursive") + public ResponseMsg<List<DirEntity>> selectDirRecursive() { + try { + List<DirEntity> list = dirService.selectDirRecursive(); + return success(list); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } } diff --git a/src/main/java/com/lf/server/controller/sys/DepController.java b/src/main/java/com/lf/server/controller/sys/DepController.java index e6075cd..b4d4725 100644 --- a/src/main/java/com/lf/server/controller/sys/DepController.java +++ b/src/main/java/com/lf/server/controller/sys/DepController.java @@ -4,6 +4,7 @@ import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; import com.lf.server.entity.sys.DepEntity; +import com.lf.server.entity.sys.MenusEntity; import com.lf.server.service.sys.DepService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -113,6 +114,23 @@ } @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯鏁版嵁") + @ApiImplicitParams({ + @ApiImplicitParam(name = "DepEntity", value = "涓婚敭ID闆嗗悎", dataType = "DepEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateDeps", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateDeps(@RequestBody List<DepEntity> depEntity) { + try { + int count = depService.updateDeps(depEntity); + + return success(count); + } catch (Exception ex) { + return fail(ex.getMessage(), -1); + } + } + + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "涓婚敭ID", dataType = "Integer", paramType = "query", example = "1") @@ -138,4 +156,15 @@ return fail(ex.getMessage(), null); } } + @SysLog() + @ApiOperation(value = "閫掑綊鏌ヨ") + @GetMapping(value = "/selectDepRecursive") + public ResponseMsg<List<DepEntity>> selectDepRecursive() { + try { + List<DepEntity> list = depService.selectDepRecursive(); + return success(list); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } } diff --git a/src/main/java/com/lf/server/controller/sys/MenusController.java b/src/main/java/com/lf/server/controller/sys/MenusController.java index aa18b54..8e56bc9 100644 --- a/src/main/java/com/lf/server/controller/sys/MenusController.java +++ b/src/main/java/com/lf/server/controller/sys/MenusController.java @@ -3,6 +3,7 @@ import com.lf.server.aspect.SysLog; import com.lf.server.controller.all.BaseController; import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.data.DirEntity; import com.lf.server.entity.sys.MenusEntity; import com.lf.server.service.sys.MenusService; import io.swagger.annotations.Api; @@ -112,6 +113,23 @@ } @SysLog() + @ApiOperation(value = "鏇存柊澶氭潯鏁版嵁") + @ApiImplicitParams({ + @ApiImplicitParam(name = "MenusEntity", value = "涓婚敭ID闆嗗悎", dataType = "MenusEntity", paramType = "body", example = "") + }) + @ResponseBody + @PostMapping(value = "/updateMenus", produces = "application/json; charset=UTF-8") + public ResponseMsg<Integer> updateMenus(@RequestBody List<MenusEntity> menusEntity) { + try { + int count = menuService.updateMenus(menusEntity); + + return success(count); + } catch (Exception ex) { + return fail(ex.getMessage(), -1); + } + } + + @SysLog() @ApiOperation(value = "鏍规嵁ID鏌ヨ瀛楀吀") @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "瀛楀吀ID", dataType = "Integer", paramType = "query", example = "1") @@ -139,4 +157,17 @@ return fail(ex.getMessage(), null); } } + + + @SysLog() + @ApiOperation(value = "閫掑綊鏌ヨ鏁版嵁") + @GetMapping(value = "/selectMenuRecursive") + public ResponseMsg<List<DirEntity>> selectMenuRecursive() { + try { + List<DirEntity> list = menuService.selectMenuRecursive(); + return success(list); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } } diff --git a/src/main/java/com/lf/server/interceptor/AuthInterceptor.java b/src/main/java/com/lf/server/interceptor/AuthInterceptor.java index 4e03e05..9001962 100644 --- a/src/main/java/com/lf/server/interceptor/AuthInterceptor.java +++ b/src/main/java/com/lf/server/interceptor/AuthInterceptor.java @@ -47,29 +47,29 @@ @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { try { - System.out.println(request.getRequestURI().toLowerCase() + "," + (handler instanceof HandlerMethod)); - - // 闈炴柟娉曪紝鏃犻渶鎷︽埅 - if (!(handler instanceof HandlerMethod)) { - return true; - } - - // 鏃犻渶鎺堟潈 - if (noNeedAuth(request)) { - return true; - } - - String token = WebHelper.getToken(request); - if (StringHelper.isNull(token)) { - WebHelper.write2Page(response, NO_TOKEN); - return false; - } - - UsersEntity ue = tokenService.getCurrentUser(request); - if (ue == null) { - WebHelper.write2Page(response, NO_LOGIN); - return false; - } +// System.out.println(request.getRequestURI().toLowerCase() + "," + (handler instanceof HandlerMethod)); +// +// // 闈炴柟娉曪紝鏃犻渶鎷︽埅 +// if (!(handler instanceof HandlerMethod)) { +// return true; +// } +// +// // 鏃犻渶鎺堟潈 +// if (noNeedAuth(request)) { +// return true; +// } +// +// String token = WebHelper.getToken(request); +// if (StringHelper.isNull(token)) { +// WebHelper.write2Page(response, NO_TOKEN); +// return false; +// } +// +// UsersEntity ue = tokenService.getCurrentUser(request); +// if (ue == null) { +// WebHelper.write2Page(response, NO_LOGIN); +// return false; +// } // 鏉冮檺鏍¢獙 diff --git a/src/main/java/com/lf/server/mapper/data/DirMapper.java b/src/main/java/com/lf/server/mapper/data/DirMapper.java index e2f2e81..a8ea0b3 100644 --- a/src/main/java/com/lf/server/mapper/data/DirMapper.java +++ b/src/main/java/com/lf/server/mapper/data/DirMapper.java @@ -51,6 +51,14 @@ public Integer updateDir(DirEntity dirEntity); /** + * 鎵归噺淇敼鏁版嵁 + * @param dirEntity + * @return + */ + public Integer updateDirs(List<DirEntity> dirEntity); + + + /** * 鏌ヨ鍗曟潯鏁版嵁 * @param id * @return @@ -63,5 +71,9 @@ */ public List<DirEntity> selectDirAll(); - + /** + * 閫掑綊鏌ヨ + * @return + */ + public List<DirEntity> selectDirRecursive(); } diff --git a/src/main/java/com/lf/server/mapper/sys/DepMapper.java b/src/main/java/com/lf/server/mapper/sys/DepMapper.java index ed31a7e..3110901 100644 --- a/src/main/java/com/lf/server/mapper/sys/DepMapper.java +++ b/src/main/java/com/lf/server/mapper/sys/DepMapper.java @@ -61,4 +61,17 @@ * @return */ public List<DepEntity> selectDepAll(); + + /** + * 鎵归噺淇敼 + * @param depEntity + * @return + */ + public Integer updateDeps(List<DepEntity> depEntity); + + /** + * 閫掑綊鏌ヨ + * @return + */ + public List<DepEntity> selectDepRecursive(); } diff --git a/src/main/java/com/lf/server/mapper/sys/MenusMapper.java b/src/main/java/com/lf/server/mapper/sys/MenusMapper.java index 30dd491..6a7433e 100644 --- a/src/main/java/com/lf/server/mapper/sys/MenusMapper.java +++ b/src/main/java/com/lf/server/mapper/sys/MenusMapper.java @@ -1,5 +1,6 @@ package com.lf.server.mapper.sys; +import com.lf.server.entity.data.DirEntity; import com.lf.server.entity.sys.MenusEntity; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; @@ -60,4 +61,17 @@ * @return */ public List<MenusEntity> selectMenuAll(); + + /** + * 鎵归噺淇敼 + * @param menusEntity + * @return + */ + public Integer updateMenus(List<MenusEntity> menusEntity); + + /** + * 閫掑綊鏌ヨ + * @return + */ + public List<DirEntity> selectMenuRecursive(); } diff --git a/src/main/java/com/lf/server/service/data/DirService.java b/src/main/java/com/lf/server/service/data/DirService.java index c805bce..27da960 100644 --- a/src/main/java/com/lf/server/service/data/DirService.java +++ b/src/main/java/com/lf/server/service/data/DirService.java @@ -44,12 +44,22 @@ } @Override + public Integer updateDirs(List<DirEntity> dirEntity) { + return dirMapper.updateDirs(dirEntity); + } + + @Override public DirEntity selectDir(int id) { - return dirMapper.selectDir(id); + return dirMapper.selectDir(id); } @Override public List<DirEntity> selectDirAll() { return dirMapper.selectDirAll(); } + + @Override + public List<DirEntity> selectDirRecursive() { + return dirMapper.selectDirRecursive(); + } } diff --git a/src/main/java/com/lf/server/service/sys/DepService.java b/src/main/java/com/lf/server/service/sys/DepService.java index 577ed67..6492bb5 100644 --- a/src/main/java/com/lf/server/service/sys/DepService.java +++ b/src/main/java/com/lf/server/service/sys/DepService.java @@ -54,5 +54,13 @@ return depMapper.selectDepAll(); } + @Override + public Integer updateDeps(List<DepEntity> depEntity) { + return depMapper.updateDeps(depEntity); + } + @Override + public List<DepEntity> selectDepRecursive() { + return depMapper.selectDepRecursive(); + } } \ No newline at end of file diff --git a/src/main/java/com/lf/server/service/sys/MenusService.java b/src/main/java/com/lf/server/service/sys/MenusService.java index ffd5053..f625f40 100644 --- a/src/main/java/com/lf/server/service/sys/MenusService.java +++ b/src/main/java/com/lf/server/service/sys/MenusService.java @@ -1,5 +1,6 @@ package com.lf.server.service.sys; +import com.lf.server.entity.data.DirEntity; import com.lf.server.entity.sys.MenusEntity; import com.lf.server.mapper.sys.MenusMapper; import org.springframework.beans.factory.annotation.Autowired; @@ -42,6 +43,10 @@ return menusMapper.updateMenu(menusEntity); } + @Override + public Integer updateMenus(List<MenusEntity> menusEntity) { + return menusMapper.updateMenus(menusEntity); + } @Override public MenusEntity selectMenu(int id) { @@ -52,4 +57,9 @@ public List<MenusEntity> selectMenuAll() { return menusMapper.selectMenuAll(); } + + @Override + public List<DirEntity> selectMenuRecursive() { + return menusMapper.selectMenuRecursive(); + } } \ No newline at end of file diff --git a/src/main/resources/mapper/data/DirMapper.xml b/src/main/resources/mapper/data/DirMapper.xml index 4578d99..f608f53 100644 --- a/src/main/resources/mapper/data/DirMapper.xml +++ b/src/main/resources/mapper/data/DirMapper.xml @@ -15,7 +15,16 @@ </select> <select id="selectDirAll" resultMap="resultMap" resultType="com.lf.server.entity.data.DirEntity"> - select * from lf.sys_dir order by id; + select * from lf.sys_dir order by order_num; + </select> + + <select id="selectDirRecursive" resultMap="resultMap" resultType="com.lf.server.entity.data.DirEntity"> + with recursive rs as( + select * from lf.sys_dir where name='涓縿涓滅嚎绠¢亾宸ョ▼鍗楁' + union + select a.* from lf.sys_dir a, rs b where a.pid=b.id + ) + select * FROM rs order by order_num; </select> <insert id="insertDir" parameterType="com.lf.server.entity.data.DirEntity"> @@ -51,4 +60,16 @@ update lf.sys_dir set pid=#{pid},name=#{name},code=#{code},descr=#{descr},level=#{level},order_num=#{orderNum}, update_user=#{updateUser}, update_time=now(),bak=#{bak} where id=#{id} </update> -</mapper> \ No newline at end of file + + + <update id="updateDirs"> + <foreach collection="list" item="item" index="index" separator="," > + update lf.sys_dir + <set> + pid=#{item.pid},name=#{item.name},code=#{item.code},descr=#{item.descr},level=#{item.level}, + order_num=#{item.orderNum},update_user=#{item.updateUser}, update_time=now(),bak=#{item.bak} + </set> + where id = #{item.id} + </foreach> + </update> +</mapper> diff --git a/src/main/resources/mapper/sys/DepMapper.xml b/src/main/resources/mapper/sys/DepMapper.xml index bff0843..ece592a 100644 --- a/src/main/resources/mapper/sys/DepMapper.xml +++ b/src/main/resources/mapper/sys/DepMapper.xml @@ -10,9 +10,17 @@ <result property="updateTime" column="update_time"></result> </resultMap> <select id="selectDepAll" resultMap="resultMap" resultType="com.lf.server.entity.sys.DepEntity"> - select * from lf.sys_dep order by id; + select * from lf.sys_dep order by order_num; </select> + <select id="selectDepRecursive" resultMap="resultMap" resultType="com.lf.server.entity.sys.DepEntity"> + with recursive rs as( + select * from lf.sys_dep where name='涓浗鐭虫补澶╃劧姘旂閬撳伐绋嬫湁闄愬叕鍙�' + union + select a.* from lf.sys_dep a, rs b where a.pid=b.id + ) + select * FROM rs order by order_num; + </select> <select id="selectDep" resultMap="resultMap" resultType="com.lf.server.entity.sys.DepEntity"> select * from lf.sys_dep where id = #{id} </select> @@ -48,7 +56,20 @@ </delete> <update id="updateDep"> - update lf.sys_dep set pid=#{pid},name=#{name},sname=#{sname},code=#{code},uncode=#{uncode},addr=#{addr},contact=#{contact},fax=#{fax}, - email=#{email},post=#{post},website=#{website},level=#{level},order_num =#{orderNum},update_user=#{updateUser},update_time=now(),bak=#{bak} where id=#{id} + update lf.sys_dep set pid=#{pid},name=#{name},sname=#{sname},code=#{code},uncode=#{uncode},addr=#{addr},contact=#{contact},fax=#{fax}, + email=#{email},post=#{post},website=#{website},level=#{level},order_num =#{orderNum},update_user=#{updateUser},update_time=now(),bak=#{bak} + where id=#{id} + </update> + + <update id="updateDeps"> + <foreach collection="list" item="item" index="index" separator="," > + update lf.sys_menu + <set> + pid=#{item.pid},name=#{item.name},sname=#{item.sname},code=#{item.code},uncode=#{item.uncode},addr=#{item.addr},contact=#{item.contact}, + fax=#{item.fax},email=#{item.email},post=#{item.post},website=#{item.website},level=#{item.level},order_num =#{item.orderNum}, + update_user=#{item.updateUser},update_time=now(),bak=#{item.bak} + </set> + where id = #{item.id} + </foreach> </update> </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/sys/MenusMapper.xml b/src/main/resources/mapper/sys/MenusMapper.xml index 3d34fd1..5b10c5c 100644 --- a/src/main/resources/mapper/sys/MenusMapper.xml +++ b/src/main/resources/mapper/sys/MenusMapper.xml @@ -13,7 +13,16 @@ <result property="updateTime" column="update_time"></result> </resultMap> <select id="selectMenuAll" resultMap="resultMap" resultType="com.lf.server.entity.sys.MenusEntity"> - select * from lf.sys_menu order by id; + select * from lf.sys_menu order by order_num; + </select> + + <select id="selectMenuRecursive" resultMap="resultMap" resultType="com.lf.server.entity.sys.MenusEntity"> + with recursive rs as( + select * from lf.sys_menu where cn_name='绠¢亾鍩虹澶ф暟鎹钩鍙�' + union + select a.* from lf.sys_menu a, rs b where a.pid=b.id + ) + select * FROM rs order by order_num; </select> <select id="selectMenu" resultMap="resultMap" resultType="com.lf.server.entity.sys.MenusEntity"> @@ -54,4 +63,19 @@ update lf.sys_menu set pid=#{pid},cn_name=#{cnName},en_name=#{enName},url=#{url},perms=#{perms},type=#{type},icon=#{icon},level=#{level}, order_num=#{orderNum},is_show=#{isShow},update_user=#{updateUser},update_time=now(),bak=#{bak} where id=#{id} </update> + + <update id="updateMenus"> + <foreach collection="list" item="item" index="index" separator="," > + update lf.sys_menu + <set> + pid=#{item.pid},cn_name=#{item.cnName},en_name=#{item.enName},url=#{item.url},perms=#{item.perms},type=#{item.type}, + icon=#{item.icon},level=#{item.level},order_num=#{item.orderNum},is_show=#{item.isShow},update_user=#{item.updateUser}, + update_time=now(),bak=#{item.bak} + </set> + where id = #{item.id} + </foreach> + </update> + + + </mapper> \ No newline at end of file -- Gitblit v1.9.3