添加"系统菜单"的基础业务接口和实现
This commit is contained in:
parent
07e8ffff11
commit
e599004c92
@ -0,0 +1,45 @@
|
||||
package com.ycwl.basic.controller.pc;
|
||||
|
||||
import com.ycwl.basic.annotation.IgnoreToken;
|
||||
import com.ycwl.basic.model.pc.menu.entity.MenuEntity;
|
||||
import com.ycwl.basic.service.pc.MenuService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @Author:longbinbin
|
||||
* @Date:2024/12/3 10:03
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/api/menu/v1")
|
||||
@Api(tags = "菜单管理")
|
||||
public class MenuController {
|
||||
|
||||
private MenuService menuService;
|
||||
|
||||
|
||||
@GetMapping(value = "/list/{type}")
|
||||
@ApiOperation(value = " 菜单列表")
|
||||
@IgnoreToken
|
||||
public ApiResponse list(@PathVariable("type") Integer type) {
|
||||
return menuService.list(type);
|
||||
}
|
||||
|
||||
@PostMapping("/add")
|
||||
@ApiOperation(value = "添加菜单")
|
||||
public ApiResponse add(@RequestBody MenuEntity menu) {
|
||||
return menuService.add(menu);
|
||||
}
|
||||
@PostMapping("/update")
|
||||
@ApiOperation(value = "修改菜单")
|
||||
public ApiResponse update(@RequestBody MenuEntity menu) {
|
||||
return menuService.update(menu);
|
||||
}
|
||||
@GetMapping("/delete/{id}")
|
||||
@ApiOperation(value = "删除菜单")
|
||||
public ApiResponse delete(@PathVariable("id") Long id) {
|
||||
return menuService.deleteById(id);
|
||||
}
|
||||
}
|
@ -50,12 +50,7 @@ public class RoleController {
|
||||
return roleService.updateReturnMenu(id);
|
||||
}
|
||||
|
||||
@GetMapping(value = "/menu/{type}")
|
||||
@ApiOperation(value = " 菜单")
|
||||
@IgnoreToken
|
||||
public ApiResponse menu(@PathVariable("type") Integer type) {
|
||||
return roleService.menu(type);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping(value = "/updateStatus/{id}")
|
||||
@ApiOperation(value = "更改角色类型状态")
|
||||
|
@ -9,11 +9,24 @@ import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface MenuMapper {
|
||||
int delete(@Param("id")String id);
|
||||
int addRoleMenu(@Param("id")String id,@Param("list") List<Integer> list);
|
||||
/**
|
||||
* 根据角色id删除角色菜单
|
||||
* @param roleId 角色id
|
||||
* @return
|
||||
*/
|
||||
int deleteRoleMenuByRoleId(@Param("id")String roleId);
|
||||
int addRoleMenu(@Param("id")String roleId,@Param("list") List<Integer> list);
|
||||
int add(MenuEntity menuEntity);
|
||||
|
||||
List<MenuNode>getListByType(@Param("type")Integer type);
|
||||
|
||||
int update(MenuEntity menuEntity);
|
||||
int deleteById(@Param("id")Long id);
|
||||
|
||||
/**
|
||||
* 根据菜单id删除角色菜单
|
||||
* @param menuId
|
||||
* @return
|
||||
*/
|
||||
int deleteRoleMenuByMenuId(@Param("id")String menuId);
|
||||
}
|
||||
|
@ -0,0 +1,75 @@
|
||||
package com.ycwl.basic.service.impl.pc;
|
||||
|
||||
import com.ycwl.basic.mapper.pc.MenuMapper;
|
||||
import com.ycwl.basic.model.pc.menu.MenuNode;
|
||||
import com.ycwl.basic.model.pc.menu.entity.MenuEntity;
|
||||
import com.ycwl.basic.service.pc.MenuService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author:longbinbin
|
||||
* @Date:2024/12/3 10:16
|
||||
*/
|
||||
|
||||
public class MenuServiceImpl implements MenuService {
|
||||
|
||||
@Autowired
|
||||
private MenuMapper menuMapper;
|
||||
|
||||
@Override
|
||||
public ApiResponse<List<MenuNode>> list(Integer type) {
|
||||
// if(type==null){
|
||||
// type=1;
|
||||
// }
|
||||
List<MenuNode> listByType = menuMapper.getListByType(type);
|
||||
List<MenuNode> MenuList = new ArrayList<>();
|
||||
for (MenuNode item :listByType) {
|
||||
if ("-1".equals(item.getParentId())) {
|
||||
MenuList.add(item);
|
||||
}
|
||||
for (MenuNode item2 : listByType) {
|
||||
if (item2.getParentId().equals(item.getId())) {
|
||||
if (item.getChildrenList() == null) {
|
||||
item.setChildrenList(new ArrayList<>());
|
||||
}
|
||||
item.getChildrenList().add(item2);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ApiResponse.buildSuccessResponse(MenuList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<Integer> add(MenuEntity menu) {
|
||||
int add = menuMapper.add(menu);
|
||||
if(add>0){
|
||||
return ApiResponse.buildSuccessResponse(add);
|
||||
}else {
|
||||
return ApiResponse.buildCommonErrorResponse("添加失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<Integer> update(MenuEntity menu) {
|
||||
int update = menuMapper.update(menu);
|
||||
if(update>0){
|
||||
return ApiResponse.buildSuccessResponse(update);
|
||||
}else {
|
||||
return ApiResponse.buildCommonErrorResponse("更新失败");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<Integer> deleteById(Long id) {
|
||||
int deleteById = menuMapper.deleteById(id);
|
||||
if(deleteById>0){
|
||||
return ApiResponse.buildSuccessResponse(deleteById);
|
||||
}else {
|
||||
return ApiResponse.buildCommonErrorResponse("删除失败");
|
||||
}
|
||||
}
|
||||
}
|
@ -59,7 +59,7 @@ public class RoleServiceImpl implements RoleService {
|
||||
}
|
||||
}else {
|
||||
if(roleMapper.update(addOrUpdateRoleReqVO)>0){
|
||||
menuMapper.delete(addOrUpdateRoleReqVO.getId());
|
||||
menuMapper.deleteRoleMenuByRoleId(addOrUpdateRoleReqVO.getId());
|
||||
if(addOrUpdateRoleReqVO.getMenuIdList()!=null&addOrUpdateRoleReqVO.getMenuIdList().size()>0){
|
||||
menuMapper.addRoleMenu(addOrUpdateRoleReqVO.getId(),addOrUpdateRoleReqVO.getMenuIdList());
|
||||
}
|
||||
@ -72,7 +72,7 @@ public class RoleServiceImpl implements RoleService {
|
||||
@Override
|
||||
public ApiResponse delete(String id) {
|
||||
if(roleMapper.delete(id)>0){
|
||||
menuMapper.delete(id);
|
||||
menuMapper.deleteRoleMenuByRoleId(id);
|
||||
return ApiResponse.buildSuccessResponse(null);
|
||||
}
|
||||
return ApiResponse.buildCommonErrorResponse("失败");
|
||||
@ -98,29 +98,6 @@ public class RoleServiceImpl implements RoleService {
|
||||
return ApiResponse.buildSuccessResponse(MenuList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse menu(Integer type) {
|
||||
if(type==null){
|
||||
type=1;
|
||||
}
|
||||
List<MenuNode> listByType = menuMapper.getListByType(type);
|
||||
List<MenuNode> MenuList = new ArrayList<>();
|
||||
for (MenuNode item :listByType) {
|
||||
if ("-1".equals(item.getParentId())) {
|
||||
MenuList.add(item);
|
||||
}
|
||||
for (MenuNode item2 : listByType) {
|
||||
if (item2.getParentId().equals(item.getId())) {
|
||||
if (item.getChildrenList() == null) {
|
||||
item.setChildrenList(new ArrayList<>());
|
||||
}
|
||||
item.getChildrenList().add(item2);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ApiResponse.buildSuccessResponse(MenuList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse updateStatus(String id) {
|
||||
if(roleMapper.updateStatus(id)>0){
|
||||
|
18
src/main/java/com/ycwl/basic/service/pc/MenuService.java
Normal file
18
src/main/java/com/ycwl/basic/service/pc/MenuService.java
Normal file
@ -0,0 +1,18 @@
|
||||
package com.ycwl.basic.service.pc;
|
||||
|
||||
import com.ycwl.basic.model.pc.menu.MenuNode;
|
||||
import com.ycwl.basic.model.pc.menu.entity.MenuEntity;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author:longbinbin
|
||||
* @Date:2024/12/3 10:40
|
||||
*/
|
||||
public interface MenuService {
|
||||
ApiResponse<List<MenuNode>> list(Integer type);
|
||||
ApiResponse<Integer> add(MenuEntity menu);
|
||||
ApiResponse<Integer> update(MenuEntity menu);
|
||||
ApiResponse<Integer> deleteById(Long id);
|
||||
}
|
@ -9,7 +9,6 @@ public interface RoleService {
|
||||
ApiResponse addOrUpdate(AddOrUpdateRoleReqVO addOrUpdateRoleReqVO);
|
||||
ApiResponse delete(String id);
|
||||
ApiResponse updateReturnMenu(String id);
|
||||
ApiResponse menu(Integer type);
|
||||
ApiResponse updateStatus(String id);
|
||||
|
||||
}
|
||||
|
@ -44,11 +44,19 @@
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="delete">
|
||||
<delete id="deleteRoleMenuByRoleId">
|
||||
delete
|
||||
from role_menu
|
||||
where role_id = #{id}
|
||||
</delete>
|
||||
<delete id="deleteById">
|
||||
update menu set is_remove=1 where id = #{id}
|
||||
</delete>
|
||||
<delete id="deleteRoleMenuByMenuId">
|
||||
delete
|
||||
from role_menu
|
||||
where menu_id = #{id}
|
||||
</delete>
|
||||
|
||||
<select id="getListByType" resultType="com.ycwl.basic.model.pc.menu.MenuNode">
|
||||
select id,
|
||||
@ -59,7 +67,9 @@
|
||||
sort
|
||||
from menu
|
||||
where is_remove = 0
|
||||
and business_type = #{type}
|
||||
<if test="type!= null ">
|
||||
and business_type = #{type}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user