Browse Source
Merge branch 'milestone-20250711-金币重构二期' of http://39.101.133.168:8807/huangqizhen/gold-java into lijianlin/feature-20250710152503-二期工作台与部分权限
huangqizheng/feature-20250717200321-优化导出
Merge branch 'milestone-20250711-金币重构二期' of http://39.101.133.168:8807/huangqizhen/gold-java into lijianlin/feature-20250710152503-二期工作台与部分权限
huangqizheng/feature-20250717200321-优化导出
58 changed files with 1081 additions and 174 deletions
-
28src/main/java/com/example/demo/Export/ExportServiceImpl.java
-
13src/main/java/com/example/demo/Mysql/MysqlServiceImpl.java
-
38src/main/java/com/example/demo/controller/AdminController.java
-
4src/main/java/com/example/demo/controller/ConsumeController.java
-
2src/main/java/com/example/demo/controller/GeneralController.java
-
47src/main/java/com/example/demo/controller/MenuController.java
-
5src/main/java/com/example/demo/controller/PermissionController.java
-
6src/main/java/com/example/demo/controller/RechargeController.java
-
4src/main/java/com/example/demo/controller/RefundController.java
-
51src/main/java/com/example/demo/controller/RoleController.java
-
2src/main/java/com/example/demo/controller/UserController.java
-
2src/main/java/com/example/demo/domain/entity/Admin.java
-
2src/main/java/com/example/demo/domain/entity/Menu.java
-
1src/main/java/com/example/demo/domain/entity/Role.java
-
2src/main/java/com/example/demo/domain/vo/AdminVo.java
-
30src/main/java/com/example/demo/domain/vo/MenuVo.java
-
30src/main/java/com/example/demo/domain/vo/Password.java
-
20src/main/java/com/example/demo/domain/vo/RoleMenu.java
-
38src/main/java/com/example/demo/domain/vo/RoleVo.java
-
10src/main/java/com/example/demo/mapper/AdminMapper.java
-
6src/main/java/com/example/demo/mapper/ConsumeMapper.java
-
3src/main/java/com/example/demo/mapper/GeneralMapper.java
-
31src/main/java/com/example/demo/mapper/MenuMapper.java
-
1src/main/java/com/example/demo/mapper/PermissionMapper.java
-
2src/main/java/com/example/demo/mapper/RateMapper.java
-
5src/main/java/com/example/demo/mapper/RechargeMapper.java
-
5src/main/java/com/example/demo/mapper/RefundMapper.java
-
34src/main/java/com/example/demo/mapper/RoleMapper.java
-
8src/main/java/com/example/demo/mapper/UserMapper.java
-
11src/main/java/com/example/demo/service/AdminService.java
-
4src/main/java/com/example/demo/service/ConsumeService.java
-
27src/main/java/com/example/demo/service/MenuService.java
-
6src/main/java/com/example/demo/service/PermissionService.java
-
2src/main/java/com/example/demo/service/RateService.java
-
4src/main/java/com/example/demo/service/RechargeService.java
-
5src/main/java/com/example/demo/service/RefundService.java
-
25src/main/java/com/example/demo/service/RoleService.java
-
7src/main/java/com/example/demo/service/UserService.java
-
112src/main/java/com/example/demo/serviceImpl/AdminServiceImpl.java
-
1src/main/java/com/example/demo/serviceImpl/ConsumeServiceImpl.java
-
9src/main/java/com/example/demo/serviceImpl/GoldDetailServiceImpl.java
-
100src/main/java/com/example/demo/serviceImpl/MenuServiceImpl.java
-
87src/main/java/com/example/demo/serviceImpl/PermissionServiceImpl.java
-
4src/main/java/com/example/demo/serviceImpl/RateServiceImpl.java
-
10src/main/java/com/example/demo/serviceImpl/RechargeServiceImpl.java
-
9src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java
-
97src/main/java/com/example/demo/serviceImpl/RoleServiceImpl.java
-
8src/main/java/com/example/demo/serviceImpl/StatisticsServiceImpl.java
-
3src/main/java/com/example/demo/serviceImpl/UserServiceImpl.java
-
6src/main/resources/application.yml
-
12src/main/resources/mapper/AdminMapper.xml
-
42src/main/resources/mapper/ConsumeMapper.xml
-
4src/main/resources/mapper/GoldDetailMapper.xml
-
38src/main/resources/mapper/MenuMapper.xml
-
8src/main/resources/mapper/PermissionMapper.xml
-
10src/main/resources/mapper/RechargeMapper.xml
-
35src/main/resources/mapper/RefundMapper.xml
-
31src/main/resources/mapper/RoleMapper.xml
@ -0,0 +1,47 @@ |
|||||
|
package com.example.demo.controller; |
||||
|
|
||||
|
import com.example.demo.domain.vo.MenuVo; |
||||
|
import com.example.demo.domain.vo.Result; |
||||
|
import com.example.demo.domain.vo.RoleVo; |
||||
|
import com.example.demo.service.MenuService; |
||||
|
import lombok.RequiredArgsConstructor; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Controller; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @program: gold-java |
||||
|
* @ClassName MenuController |
||||
|
* @description: |
||||
|
* @author: Double |
||||
|
* @create: 2025−07-15 14:10 |
||||
|
* @Version 1.0 |
||||
|
**/ |
||||
|
|
||||
|
@RestController |
||||
|
@RequestMapping("/menu") |
||||
|
@RequiredArgsConstructor |
||||
|
@Slf4j |
||||
|
@CrossOrigin |
||||
|
public class MenuController { |
||||
|
|
||||
|
@Autowired |
||||
|
private MenuService menuService; |
||||
|
|
||||
|
//获取权限树 |
||||
|
@PostMapping("/tree") |
||||
|
public Result getPermissionTree(@RequestBody RoleVo roleVo) { |
||||
|
List<MenuVo> permissionTree = menuService.getPermissionTree(roleVo.getId()); |
||||
|
return Result.success(permissionTree); |
||||
|
} |
||||
|
|
||||
|
//新增权限 |
||||
|
@PostMapping("/add") |
||||
|
public Result addPermission(@RequestBody RoleVo roleVo) { |
||||
|
|
||||
|
return menuService.addPermission(roleVo); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,51 @@ |
|||||
|
package com.example.demo.controller; |
||||
|
|
||||
|
import com.example.demo.domain.entity.Role; |
||||
|
import com.example.demo.domain.vo.Page; |
||||
|
import com.example.demo.domain.vo.Result; |
||||
|
import com.example.demo.domain.vo.RoleVo; |
||||
|
import com.example.demo.service.RefundService; |
||||
|
import com.example.demo.service.RoleService; |
||||
|
import lombok.RequiredArgsConstructor; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.util.ObjectUtils; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @program: gold-java |
||||
|
* @ClassName RoleController |
||||
|
* @description: |
||||
|
* @author: Double |
||||
|
* @create: 2025−07-15 11:23 |
||||
|
* @Version 1.0 |
||||
|
**/ |
||||
|
|
||||
|
@RestController |
||||
|
@RequestMapping("/role") |
||||
|
@RequiredArgsConstructor |
||||
|
@Slf4j |
||||
|
@CrossOrigin |
||||
|
public class RoleController { |
||||
|
|
||||
|
@Autowired |
||||
|
private RoleService roleService; |
||||
|
|
||||
|
//新增角色 |
||||
|
@PostMapping("/add") |
||||
|
public Result addRole(@RequestBody RoleVo roleVo) { |
||||
|
|
||||
|
return roleService.addRole(roleVo); |
||||
|
} |
||||
|
|
||||
|
//查找全部角色 |
||||
|
@PostMapping("/selectAll") |
||||
|
public Result selectRole() { |
||||
|
List<RoleVo> list = roleService.selectAllRole(); |
||||
|
return Result.success(list); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
@ -0,0 +1,30 @@ |
|||||
|
package com.example.demo.domain.vo; |
||||
|
|
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @program: gold-java |
||||
|
* @ClassName MenuVo |
||||
|
* @description: |
||||
|
* @author: Double |
||||
|
* @create: 2025−07-15 13:16 |
||||
|
* @Version 1.0 |
||||
|
**/ |
||||
|
|
||||
|
@Data |
||||
|
@NoArgsConstructor |
||||
|
@AllArgsConstructor |
||||
|
public class MenuVo { |
||||
|
|
||||
|
private Integer id;//id |
||||
|
private String menuName;//菜单名 |
||||
|
private Integer parentId;//父id |
||||
|
private Integer priority;//优先级 |
||||
|
private Integer menuType;//类型 |
||||
|
// 子菜单列表(用于构建树形结构) |
||||
|
private List<MenuVo> children; |
||||
|
} |
||||
@ -0,0 +1,30 @@ |
|||||
|
package com.example.demo.domain.vo; |
||||
|
|
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
|
||||
|
/** |
||||
|
* @program: gold-java |
||||
|
* @ClassName Password |
||||
|
* @description: |
||||
|
* @author: Double |
||||
|
* @create: 2025−07-10 11:02 |
||||
|
* @Version 1.0 |
||||
|
**/ |
||||
|
|
||||
|
@Data |
||||
|
@NoArgsConstructor |
||||
|
@AllArgsConstructor |
||||
|
public class Password implements Serializable { |
||||
|
|
||||
|
private String account; // 账号 |
||||
|
|
||||
|
private String oldPassword; |
||||
|
|
||||
|
private String newPassword; |
||||
|
|
||||
|
private String againPassword; |
||||
|
} |
||||
@ -0,0 +1,20 @@ |
|||||
|
package com.example.demo.domain.vo; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
/** |
||||
|
* @program: gold-java |
||||
|
* @ClassName RoleMenu |
||||
|
* @description: |
||||
|
* @author: Double |
||||
|
* @create: 2025−07-15 16:19 |
||||
|
* @Version 1.0 |
||||
|
**/ |
||||
|
|
||||
|
@Data |
||||
|
@NoArgsConstructor |
||||
|
public class RoleMenu { |
||||
|
private Integer roleId; // 角色id |
||||
|
private Integer menuId; // 菜单id |
||||
|
} |
||||
@ -0,0 +1,38 @@ |
|||||
|
package com.example.demo.domain.vo; |
||||
|
|
||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
import java.io.Serializable; |
||||
|
import java.util.Date; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @program: gold-java |
||||
|
* @ClassName RoleVo |
||||
|
* @description: |
||||
|
* @author: Double |
||||
|
* @create: 2025−07-15 11:45 |
||||
|
* @Version 1.0 |
||||
|
**/ |
||||
|
|
||||
|
@Data |
||||
|
@NoArgsConstructor |
||||
|
public class RoleVo implements Serializable { |
||||
|
private static final long serialVersionUID = 1L; |
||||
|
|
||||
|
private Integer id; // 角色id |
||||
|
private String roleName; // 角色名 |
||||
|
private String roleKey; // 角色标识符 |
||||
|
private Integer priority;//优先级 |
||||
|
private Integer fatherId;//上级角色id |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
||||
|
private Date createTime; // 创建时间 |
||||
|
|
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") |
||||
|
private Date updateTime; // 更新时间 |
||||
|
|
||||
|
List<Integer> menuIds;//拥有的菜单id |
||||
|
} |
||||
@ -0,0 +1,31 @@ |
|||||
|
package com.example.demo.mapper; |
||||
|
|
||||
|
|
||||
|
import com.example.demo.domain.entity.Menu; |
||||
|
import com.example.demo.domain.entity.Role; |
||||
|
import com.example.demo.domain.vo.MenuVo; |
||||
|
import com.example.demo.domain.vo.RoleMenu; |
||||
|
import com.example.demo.domain.vo.RoleVo; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @program: gold-java |
||||
|
* @ClassName MenuMapper |
||||
|
* @description: |
||||
|
* @author: Double |
||||
|
* @create: 2025−07-15 13:28 |
||||
|
* @Version 1.0 |
||||
|
**/ |
||||
|
@Mapper |
||||
|
public interface MenuMapper { |
||||
|
|
||||
|
//根据角色ID查菜单权限 |
||||
|
List<MenuVo> selectMenusByRoleId(Integer roleId); |
||||
|
|
||||
|
//新增权限 |
||||
|
void addPermission(List<RoleMenu> roleMenuList); |
||||
|
|
||||
|
//查找菜单id |
||||
|
Menu selectByMenuId(Integer id); |
||||
|
} |
||||
@ -0,0 +1,34 @@ |
|||||
|
package com.example.demo.mapper; |
||||
|
|
||||
|
|
||||
|
import com.example.demo.domain.entity.Role; |
||||
|
import com.example.demo.domain.vo.RoleVo; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Random; |
||||
|
|
||||
|
/** |
||||
|
* @program: gold-java |
||||
|
* @ClassName RoleMaper |
||||
|
* @description: |
||||
|
* @author: Double |
||||
|
* @create: 2025−07-15 11:33 |
||||
|
* @Version 1.0 |
||||
|
**/ |
||||
|
|
||||
|
|
||||
|
@Mapper |
||||
|
public interface RoleMapper { |
||||
|
|
||||
|
//查找角色名 |
||||
|
Role selectByRoleName(String roleName); |
||||
|
|
||||
|
//查找角色id |
||||
|
Role selectByRoleId(Integer id); |
||||
|
//查找全部角色 |
||||
|
List<RoleVo> selectAllRole(); |
||||
|
|
||||
|
//新建角色 |
||||
|
void addRole(RoleVo roleVo); |
||||
|
} |
||||
@ -0,0 +1,27 @@ |
|||||
|
package com.example.demo.service; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import com.example.demo.domain.vo.MenuVo; |
||||
|
import com.example.demo.domain.vo.Result; |
||||
|
import com.example.demo.domain.vo.RoleVo; |
||||
|
|
||||
|
/** |
||||
|
* @program: gold-java |
||||
|
* @ClassName MenuService |
||||
|
* @description: |
||||
|
* @author: Double |
||||
|
* @create: 2025−07-15 13:38 |
||||
|
* @Version 1.0 |
||||
|
**/ |
||||
|
|
||||
|
public interface MenuService { |
||||
|
|
||||
|
|
||||
|
//根据角色ID生成权限树 |
||||
|
List<MenuVo> getPermissionTree(Integer roleId); |
||||
|
|
||||
|
//新增权限 |
||||
|
Result addPermission(RoleVo roleVo); |
||||
|
|
||||
|
|
||||
|
} |
||||
@ -0,0 +1,25 @@ |
|||||
|
package com.example.demo.service; |
||||
|
|
||||
|
|
||||
|
import com.example.demo.domain.vo.Result; |
||||
|
import com.example.demo.domain.vo.RoleVo; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @program: gold-java |
||||
|
* @ClassName RoleService |
||||
|
* @description: |
||||
|
* @author: Double |
||||
|
* @create: 2025−07-15 11:29 |
||||
|
* @Version 1.0 |
||||
|
**/ |
||||
|
|
||||
|
public interface RoleService { |
||||
|
|
||||
|
//新增角色 |
||||
|
Result addRole(RoleVo roleVo); |
||||
|
|
||||
|
//查找全部角色 |
||||
|
List<RoleVo> selectAllRole(); |
||||
|
} |
||||
@ -0,0 +1,100 @@ |
|||||
|
package com.example.demo.serviceImpl; |
||||
|
|
||||
|
import com.example.demo.domain.vo.MenuVo; |
||||
|
import com.example.demo.domain.vo.Result; |
||||
|
import com.example.demo.domain.vo.RoleMenu; |
||||
|
import com.example.demo.domain.vo.RoleVo; |
||||
|
import com.example.demo.mapper.MenuMapper; |
||||
|
import com.example.demo.mapper.RoleMapper; |
||||
|
import com.example.demo.service.MenuService; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
import org.springframework.transaction.annotation.Transactional; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
import java.util.Objects; |
||||
|
import java.util.stream.Collectors; |
||||
|
|
||||
|
/** |
||||
|
* @program: gold-java |
||||
|
* @ClassName MenuServiceImpl |
||||
|
* @description: |
||||
|
* @author: Double |
||||
|
* @create: 2025−07-15 13:38 |
||||
|
* @Version 1.0 |
||||
|
**/ |
||||
|
|
||||
|
@Service |
||||
|
public class MenuServiceImpl implements MenuService { |
||||
|
|
||||
|
@Autowired |
||||
|
private MenuMapper menuMapper; |
||||
|
|
||||
|
@Autowired |
||||
|
private RoleMapper roleMapper; |
||||
|
//构建菜单树 |
||||
|
@Override |
||||
|
public List<MenuVo> getPermissionTree(Integer roleId) { |
||||
|
// 1. 查询该管理员的所有权限菜单(平级列表) |
||||
|
List<MenuVo> allMenus = menuMapper.selectMenusByRoleId(roleId); |
||||
|
|
||||
|
// 2. 构建树形结构(根节点parentId=1) |
||||
|
return buildTree(allMenus, 1); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 递归构建树形结构 |
||||
|
* @param allMenus 所有菜单列表 |
||||
|
* @param parentId 父菜单ID(初始为0,查根节点) |
||||
|
*/ |
||||
|
//详细递归构建树过程 |
||||
|
private List<MenuVo> buildTree(List<MenuVo> allMenus, Integer parentId) { |
||||
|
// 过滤出当前父节点的子菜单 |
||||
|
List<MenuVo> children = allMenus.stream() |
||||
|
.filter(menu -> Objects.equals(menu.getParentId(), parentId)) |
||||
|
.collect(Collectors.toList()); |
||||
|
|
||||
|
// 递归为每个子菜单设置子节点 |
||||
|
for (MenuVo child : children) { |
||||
|
child.setChildren(buildTree(allMenus, child.getId())); |
||||
|
} |
||||
|
|
||||
|
return children; |
||||
|
} |
||||
|
|
||||
|
//新增权限 |
||||
|
@Override |
||||
|
@Transactional |
||||
|
public Result addPermission(RoleVo roleVo) { |
||||
|
//校验 |
||||
|
if(Objects.isNull(roleVo)) { |
||||
|
return Result.error("传入角色为空"); |
||||
|
} |
||||
|
if(Objects.isNull(roleVo.getId())) { |
||||
|
return Result.error("角色ID为空"); |
||||
|
} |
||||
|
if(roleVo.getMenuIds() == null||roleVo.getMenuIds().isEmpty()) { |
||||
|
return Result.error("角色权限为空"); |
||||
|
} |
||||
|
if(roleMapper.selectByRoleId(roleVo.getId())==null){ |
||||
|
return Result.error("角色不存在"); |
||||
|
} |
||||
|
//角色菜单权限对应 |
||||
|
List<RoleMenu> roleMenuList = new ArrayList<>(); |
||||
|
//循环导入 |
||||
|
for (Integer menuId : roleVo.getMenuIds()) { |
||||
|
if(menuMapper.selectByMenuId(menuId)==null){ |
||||
|
return Result.error("菜单不存在"); |
||||
|
} |
||||
|
RoleMenu roleMenu = new RoleMenu(); |
||||
|
roleMenu.setRoleId(roleVo.getId()); |
||||
|
roleMenu.setMenuId(menuId); |
||||
|
roleMenuList.add(roleMenu); |
||||
|
} |
||||
|
//提交 |
||||
|
menuMapper.addPermission(roleMenuList); |
||||
|
return Result.success("权限新增成功"); |
||||
|
} |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,97 @@ |
|||||
|
package com.example.demo.serviceImpl; |
||||
|
|
||||
|
import com.example.demo.domain.entity.Role; |
||||
|
import com.example.demo.domain.vo.Result; |
||||
|
import com.example.demo.domain.vo.RoleVo; |
||||
|
import com.example.demo.mapper.RefundMapper; |
||||
|
import com.example.demo.mapper.RoleMapper; |
||||
|
import com.example.demo.service.MenuService; |
||||
|
import com.example.demo.service.RoleService; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
import org.springframework.transaction.annotation.Transactional; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @program: gold-java |
||||
|
* @ClassName RoleServiceImpl |
||||
|
* @description: |
||||
|
* @author: Double |
||||
|
* @create: 2025−07-15 11:30 |
||||
|
* @Version 1.0 |
||||
|
**/ |
||||
|
|
||||
|
@Service |
||||
|
public class RoleServiceImpl implements RoleService { |
||||
|
|
||||
|
@Autowired |
||||
|
private RoleMapper roleMapper; |
||||
|
@Autowired |
||||
|
private MenuService menuService; |
||||
|
|
||||
|
//新增角色 |
||||
|
@Override |
||||
|
@Transactional |
||||
|
public Result addRole(RoleVo roleVo) { |
||||
|
//校验角色 |
||||
|
if(roleVo.getRoleName()==null|| roleVo.getRoleName().isEmpty()){ |
||||
|
return Result.error("角色名为空"); |
||||
|
} |
||||
|
if(roleMapper.selectByRoleName(roleVo.getRoleName())!=null){ |
||||
|
return Result.error("角色名重复"); |
||||
|
} |
||||
|
if(roleVo.getPriority()==null){ |
||||
|
return Result.error("优先级为空"); |
||||
|
} |
||||
|
if(roleVo.getMenuIds()==null||roleVo.getMenuIds().isEmpty()){ |
||||
|
return Result.error("权限为空"); |
||||
|
} |
||||
|
try { |
||||
|
roleMapper.addRole(roleVo); |
||||
|
Role role = roleMapper.selectByRoleName(roleVo.getRoleName()); |
||||
|
if(role==null){ |
||||
|
return Result.error("角色添加失败"); |
||||
|
}else{ |
||||
|
roleVo.setId(role.getId()); |
||||
|
} |
||||
|
menuService.addPermission(roleVo); |
||||
|
}catch (Exception e) |
||||
|
{ |
||||
|
return Result.error("添加失败"); |
||||
|
} |
||||
|
|
||||
|
return Result.success("创建成功"); |
||||
|
} |
||||
|
|
||||
|
//查找全部角色 |
||||
|
@Override |
||||
|
public List<RoleVo> selectAllRole() { |
||||
|
return roleMapper.selectAllRole(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
@ -0,0 +1,38 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
|
<mapper namespace="com.example.demo.mapper.MenuMapper"> |
||||
|
|
||||
|
<select id="selectMenusByRoleId" resultType="com.example.demo.domain.vo.MenuVo"> |
||||
|
SELECT DISTINCT |
||||
|
m.id, |
||||
|
m.menu_name, |
||||
|
m.parent_id, |
||||
|
m.menu_type, |
||||
|
m.priority |
||||
|
FROM |
||||
|
role r |
||||
|
LEFT JOIN role_menu rm ON r.id = rm.role_id |
||||
|
LEFT JOIN menu m ON rm.menu_id = m.id |
||||
|
WHERE |
||||
|
r.id = #{roleId} |
||||
|
AND m.id IS NOT NULL |
||||
|
ORDER BY |
||||
|
m.parent_id,m.priority |
||||
|
</select> |
||||
|
|
||||
|
<insert id="addPermission"> |
||||
|
INSERT INTO role_menu (role_id, menu_id) |
||||
|
VALUES |
||||
|
<foreach collection="list" item="item" separator=","> |
||||
|
(#{item.roleId}, #{item.menuId}) |
||||
|
</foreach> |
||||
|
</insert> |
||||
|
|
||||
|
<select id="selectByMenuId" resultType="com.example.demo.domain.entity.Menu"> |
||||
|
SELECT menu_name FROM menu |
||||
|
<where> |
||||
|
id = #{id} |
||||
|
</where> |
||||
|
</select> |
||||
|
|
||||
|
</mapper> |
||||
@ -0,0 +1,31 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
|
<mapper namespace="com.example.demo.mapper.RoleMapper"> |
||||
|
|
||||
|
|
||||
|
<select id="selectByRoleName" resultType="com.example.demo.domain.entity.Role"> |
||||
|
SELECT id FROM role |
||||
|
<where> |
||||
|
role_name = #{roleName} |
||||
|
</where> |
||||
|
</select> |
||||
|
|
||||
|
<select id="selectByRoleId" resultType="com.example.demo.domain.entity.Role"> |
||||
|
SELECT role_name FROM role |
||||
|
<where> |
||||
|
id = #{id} |
||||
|
</where> |
||||
|
</select> |
||||
|
|
||||
|
<select id="selectAllRole" resultType="com.example.demo.domain.vo.RoleVo"> |
||||
|
SELECT id,role_name FROM role |
||||
|
</select> |
||||
|
|
||||
|
<!-- 插入角色信息 --> |
||||
|
<insert id="addRole" parameterType="com.example.demo.domain.vo.RoleVo" useGeneratedKeys="true" keyProperty="id"> |
||||
|
INSERT INTO role |
||||
|
(role_name, priority, father_id) |
||||
|
VALUES |
||||
|
(#{roleName}, #{priority}, #{fatherId}) |
||||
|
</insert> |
||||
|
</mapper> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue