From c0e7f848236e1ab5f945b98c32d12c81e3e9c991 Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期四, 24 八月 2023 18:04:09 +0800
Subject: [PATCH] 角色管理
---
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleAndMenuDto.java | 33 ++++
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Menu.java | 6
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/GetAllRoleAndMenuByConditionPageDto.java | 23 ++
laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java | 21 ++
laboratory-server/src/main/resources/mapper/MenuMapper.xml | 2
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java | 98 ++++++++++++
laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java | 13 +
/dev/null | 26 ---
framework/src/main/java/com/yuanchu/limslaboratory/utils/JackSonUtil.java | 2
laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java | 33 ++++
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleInfoDto.java | 22 ++
laboratory-server/src/main/resources/mapper/RoleManangeMapper.xml | 76 +++++++++
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleInfo.java | 49 ++++++
laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleMenu.java | 67 ++++++++
14 files changed, 433 insertions(+), 38 deletions(-)
diff --git a/framework/src/main/java/com/yuanchu/limslaboratory/utils/JackSonUtil.java b/framework/src/main/java/com/yuanchu/limslaboratory/utils/JackSonUtil.java
index f272754..b9a569f 100644
--- a/framework/src/main/java/com/yuanchu/limslaboratory/utils/JackSonUtil.java
+++ b/framework/src/main/java/com/yuanchu/limslaboratory/utils/JackSonUtil.java
@@ -14,8 +14,6 @@
/**
* JSON瑙f瀽澶勭悊
- *
- * @author 寮犲
*/
@Component
public class JackSonUtil {
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java
index d60ec4e..69ea1fd 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleMangerController.java
@@ -1,12 +1,12 @@
package com.yuanchu.limslaboratory.controller;
+import com.yuanchu.limslaboratory.pojo.dto.GetAllRoleAndMenuByConditionPageDto;
+import com.yuanchu.limslaboratory.pojo.dto.RoleInfoDto;
import com.yuanchu.limslaboratory.service.RoleManagerService;
import com.yuanchu.limslaboratory.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -28,6 +28,21 @@
return Result.success(roleManagerService.getMenusTree());
};
+ @ApiOperation("鏂板瑙掕壊")
+ @PostMapping("/addRoleInfo")
+ public Result<?>addRoleInfo(@RequestBody RoleInfoDto dto){
+ return Result.success(roleManagerService.addRoleInfo(dto));
+ }
+ @ApiOperation("鏌ヨ瑙掕壊鍚嶉噸澶�")
+ @GetMapping("/assertRepeat")
+ public Result<?> assertRepeat(String roleName){
+ return Result.success(roleManagerService.assertRepeat(roleName));
+ }
+ @ApiOperation("鑾峰彇瑙掕壊淇℃伅")
+ @GetMapping("/getAllRoleAndMenuInfo")
+ public Result<?> getAllRoleAndMenuInfo(GetAllRoleAndMenuByConditionPageDto dto){
+ return Result.success(roleManagerService.getAllRoleAndMenuInfo(dto));
+ }
}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java
new file mode 100644
index 0000000..e85957b
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/mapper/RoleManageMapper.java
@@ -0,0 +1,33 @@
+package com.yuanchu.limslaboratory.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yuanchu.limslaboratory.pojo.LimitPage;
+import com.yuanchu.limslaboratory.pojo.Role;
+import com.yuanchu.limslaboratory.pojo.RoleInfo;
+import com.yuanchu.limslaboratory.pojo.RoleMenu;
+import com.yuanchu.limslaboratory.pojo.dto.GetAllRoleAndMenuByConditionPageDto;
+import com.yuanchu.limslaboratory.pojo.dto.GetPlanMeasureInstrumentDto;
+import com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/24
+ */
+@Repository
+public interface RoleManageMapper extends BaseMapper<RoleInfo> {
+
+ int insertBatchRoleMenu(@Param("roleMenuAddList") List<RoleMenu> roleMenuList);
+
+ int insertRole(RoleInfo roleInfo);
+
+ List<RoleInfo>getAssertName(@Param("roleName") String roleName);
+
+ List<RoleAndMenuDto>selectAllRoleAndMenu(@Param("dto") GetAllRoleAndMenuByConditionPageDto dto);
+
+ List<Role>getRoleByName(@Param("roleName") String roleName);
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Menu.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Menu.java
index b9cd220..12c7ddb 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Menu.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Menu.java
@@ -16,18 +16,18 @@
/**
* id
*/
- private Integer value;
+ private Long id;
/**
* 鑿滃崟鍚�
*/
- private String label;
+ private String name;
/**
* 鐖剁骇id
*/
- private Integer parentId;
+ private Long parentId;
/**
* 瀛愮骇鑿滃崟淇℃伅
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Role.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Role.java
deleted file mode 100644
index 036a706..0000000
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/Role.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.yuanchu.limslaboratory.pojo;
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.time.LocalDateTime;
-
-/**
- * @Author 寮犲
- * @Date 2023/8/23
- */
-@Data
-public class Role implements Serializable {
-
-
- private Integer id;
-
- private Integer name;
-
- private LocalDateTime createTime;
-
- private LocalDateTime updateTime;
-
- private Integer state;
-
-}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleInfo.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleInfo.java
new file mode 100644
index 0000000..854b391
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleInfo.java
@@ -0,0 +1,49 @@
+package com.yuanchu.limslaboratory.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/23
+ */
+@Data
+@TableName("role")
+@Getter
+@Setter
+public class RoleInfo implements Serializable {
+
+
+ @TableId(type = IdType.ASSIGN_ID)
+ private Long id;
+
+ private String name;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
+ private LocalDateTime createTime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
+ private LocalDateTime updateTime;
+
+ private Integer state;
+
+ public RoleInfo(String name, LocalDateTime createTime, LocalDateTime updateTime) {
+ this.name = name;
+ this.createTime = createTime;
+ this.updateTime = updateTime;
+ }
+
+ public RoleInfo() {
+ }
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleMenu.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleMenu.java
new file mode 100644
index 0000000..2bb7b23
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/RoleMenu.java
@@ -0,0 +1,67 @@
+package com.yuanchu.limslaboratory.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/24
+ */
+@Data
+@TableName("role_menu")
+public class RoleMenu implements Serializable {
+
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ private Long roleId;
+
+ private String menuName;
+
+ private Long menuId;
+
+ private Boolean selected;
+
+ private Boolean added;
+
+ private Long parentId;
+
+ private Boolean updated;
+
+ private Boolean deleted;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
+ private LocalDateTime createTime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
+ private LocalDateTime updateTime;
+
+ private List<RoleMenu> children;
+
+ public RoleMenu() {
+ }
+
+ public RoleMenu(Long id, Long roleId, Long menuId, Boolean selected, Boolean added, Boolean updated, Boolean deleted, LocalDateTime createTime) {
+ this.id = id;
+ this.roleId = roleId;
+ this.menuId = menuId;
+ this.selected = selected;
+ this.added = added;
+ this.updated = updated;
+ this.deleted = deleted;
+ this.createTime = createTime;
+ }
+
+
+
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/GetAllRoleAndMenuByConditionPageDto.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/GetAllRoleAndMenuByConditionPageDto.java
new file mode 100644
index 0000000..51285e3
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/GetAllRoleAndMenuByConditionPageDto.java
@@ -0,0 +1,23 @@
+package com.yuanchu.limslaboratory.pojo.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/24
+ */
+@Data
+@ApiModel(value = "GetAllRoleAndMenuByConditionPageDto瀵硅薄", description = "")
+public class GetAllRoleAndMenuByConditionPageDto implements Serializable {
+ @ApiModelProperty(value = "褰撳墠椤�", example = "1", required = true)
+ private Long currentPage;
+ @ApiModelProperty(value = "姣忛〉澶氬皯鏉�", required = true)
+ private Long pageSize;
+ @ApiModelProperty(value = "瑙掕壊鍚�")
+ private String name;
+
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleAndMenuDto.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleAndMenuDto.java
new file mode 100644
index 0000000..aa3d4d0
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleAndMenuDto.java
@@ -0,0 +1,33 @@
+package com.yuanchu.limslaboratory.pojo.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yuanchu.limslaboratory.pojo.RoleMenu;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/24
+ */
+@Data
+public class RoleAndMenuDto implements Serializable {
+
+ private Long roleId;
+
+ private String roleName;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
+ private LocalDateTime createTime;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
+ private LocalDateTime updateTime;
+
+ private List<RoleMenu> roleMenuList;
+
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleInfoDto.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleInfoDto.java
new file mode 100644
index 0000000..981712a
--- /dev/null
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/pojo/dto/RoleInfoDto.java
@@ -0,0 +1,22 @@
+package com.yuanchu.limslaboratory.pojo.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author 寮犲
+ * @Date 2023/8/24
+ */
+@Data
+public class RoleInfoDto implements Serializable {
+
+ @ApiModelProperty(value = "瑙掕壊鍚�", required = true)
+ private String roleName;
+
+ @ApiModelProperty(value = "閫変腑鑿滃崟淇℃伅")
+ private List<Map<String, Object>>menuData;
+}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java
index 6cb04de..9fde5f7 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/RoleManagerService.java
@@ -1,6 +1,11 @@
package com.yuanchu.limslaboratory.service;
-import com.yuanchu.limslaboratory.vo.Result;
+import com.yuanchu.limslaboratory.pojo.dto.GetAllRoleAndMenuByConditionPageDto;
+import com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto;
+import com.yuanchu.limslaboratory.pojo.dto.RoleInfoDto;
+
+import java.util.List;
+import java.util.Map;
/**
* @Author 寮犲
@@ -8,4 +13,10 @@
*/
public interface RoleManagerService {
Object getMenusTree();
+
+ boolean addRoleInfo(RoleInfoDto dto);
+
+ boolean assertRepeat(String roleName);
+
+ Map<String, Object> getAllRoleAndMenuInfo(GetAllRoleAndMenuByConditionPageDto dto);
}
diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
index 38f0db1..eedf808 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
+++ b/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
@@ -1,12 +1,25 @@
package com.yuanchu.limslaboratory.service.impl;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.limslaboratory.mapper.MenuMapper;
+import com.yuanchu.limslaboratory.mapper.RoleManageMapper;
+import com.yuanchu.limslaboratory.pojo.LimitPage;
import com.yuanchu.limslaboratory.pojo.Menu;
+import com.yuanchu.limslaboratory.pojo.RoleInfo;
+import com.yuanchu.limslaboratory.pojo.RoleMenu;
+import com.yuanchu.limslaboratory.pojo.dto.GetAllRoleAndMenuByConditionPageDto;
+import com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto;
+import com.yuanchu.limslaboratory.pojo.dto.RoleInfoDto;
import com.yuanchu.limslaboratory.service.RoleManagerService;
+import com.yuanchu.limslaboratory.utils.JsonUtil;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
@@ -20,6 +33,9 @@
@Resource
private MenuMapper menuMapper;
+ @Resource
+ private RoleManageMapper roleManageMapper;
+
@Override
public Object getMenusTree() {
List<Menu> menus = menuMapper.getMenuList();
@@ -29,10 +45,69 @@
.collect(Collectors.toList());
}
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public boolean addRoleInfo(RoleInfoDto dto) {
+ //鏂板瑙掕壊
+ //System.out.println(dto);
+ LocalDateTime createTime = DateUtil.toLocalDateTime(DateUtil.date());
+ RoleInfo role=new RoleInfo();
+ long nextId = IdUtil.getSnowflake().nextId();
+ role.setId(nextId);
+ role.setName(dto.getRoleName());
+ role.setCreateTime(createTime);
+ int insert = roleManageMapper.insertRole(role);
+ List<Map<String, Object>>addBranch=new ArrayList<>();
+ reverseTree(dto.getMenuData(),addBranch);
+ List<RoleMenu> roleMenuList =new ArrayList<>();
+ addBranch.forEach(item->{
+ roleMenuList.add(new RoleMenu(null,nextId,
+ Long.valueOf(String.valueOf(item.get("id")))
+ ,Boolean.valueOf(String.valueOf(item.get("selected")))
+ ,Boolean.valueOf(String.valueOf(item.get("added")))
+ ,Boolean.valueOf(String.valueOf(item.get("deleted")))
+ ,Boolean.valueOf(String.valueOf(item.get("updated")))
+ ,createTime
+ ));
+ });
+ //roleMenuAddList.forEach(System.out::println);
+ int i = roleManageMapper.insertBatchRoleMenu(roleMenuList);
+ return insert>0&&i>0;
+ }
+
+ @Override
+ public boolean assertRepeat(String roleName) {
+ List<RoleInfo> assertName = roleManageMapper.getAssertName(roleName);
+ return assertName.size()<1;
+ }
+
+ @Override
+ public Map<String, Object> getAllRoleAndMenuInfo(GetAllRoleAndMenuByConditionPageDto dto) {
+ dto.setCurrentPage((dto.getCurrentPage()-1)*dto.getCurrentPage());
+ List<RoleAndMenuDto> roleAndMenuDtos = roleManageMapper.selectAllRoleAndMenu(dto);
+ roleAndMenuDtos.forEach(r->{
+ List<RoleMenu>roleMenuList=r.getRoleMenuList();
+ System.out.println(roleMenuList);
+ List<RoleMenu> collect = roleMenuList.stream()
+ .filter(t -> t.getParentId() == 0)
+ .peek((menu) -> menu.setChildren(this.getRoleMenuChildren(menu, roleMenuList)))
+ .collect(Collectors.toList());
+ r.setRoleMenuList(collect);
+ });
+ roleAndMenuDtos.forEach(r->{
+ r.getRoleMenuList().forEach(System.out::println);
+ });
+ Map<String, Object>result=new HashMap<>(3);
+ result.put("list",roleAndMenuDtos);
+ int size = roleManageMapper.getRoleByName(dto.getName()).size();
+ result.put("total",size);
+ return result;
+ }
+
private List<Menu> getEnumChildren(Menu root, List<Menu> all) {
return all.stream()
- .filter(t -> Objects.equals(t.getParentId(), root.getValue()))
+ .filter(t -> Objects.equals(t.getParentId(), root.getId()))
.peek(g -> {
//鎵惧瓙鑿滃崟
g.setChildren(getEnumChildren(g, all));
@@ -40,4 +115,23 @@
.collect(Collectors.toList());
}
+ private List<RoleMenu> getRoleMenuChildren(RoleMenu root, List<RoleMenu> all) {
+ return all.stream()
+ .filter(t -> Objects.equals(t.getParentId(), root.getMenuId()))
+ .peek(g -> {
+ //鎵惧瓙鑿滃崟
+ g.setChildren(getRoleMenuChildren(g, all));
+ })
+ .collect(Collectors.toList());
+ }
+
+ private void reverseTree(List<Map<String, Object>>tree, List<Map<String, Object>>addBranch){
+ tree.forEach(t->{
+ addBranch.add(t);
+ if(t.get("children")!=null){
+ List<Map<String, Object>> children = JsonUtil.jsonToPojo( JsonUtil.jsonToString(t.get("children")), List.class);
+ addBranch.addAll(children);
+ }
+ });
+ }
}
diff --git a/laboratory-server/src/main/resources/mapper/MenuMapper.xml b/laboratory-server/src/main/resources/mapper/MenuMapper.xml
index 586dcb7..1ea9b2d 100644
--- a/laboratory-server/src/main/resources/mapper/MenuMapper.xml
+++ b/laboratory-server/src/main/resources/mapper/MenuMapper.xml
@@ -3,7 +3,7 @@
<mapper namespace="com.yuanchu.limslaboratory.mapper.MenuMapper">
<select id="getMenuList" resultType="com.yuanchu.limslaboratory.pojo.Menu">
- select id value,name label,parent_id parentId
+ select id,name,parent_id parentId
from menu
where state =1
</select>
diff --git a/laboratory-server/src/main/resources/mapper/RoleManangeMapper.xml b/laboratory-server/src/main/resources/mapper/RoleManangeMapper.xml
new file mode 100644
index 0000000..8980e01
--- /dev/null
+++ b/laboratory-server/src/main/resources/mapper/RoleManangeMapper.xml
@@ -0,0 +1,76 @@
+<?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.yuanchu.limslaboratory.mapper.RoleManageMapper">
+ <insert id="insertBatchRoleMenu" useGeneratedKeys="true" keyProperty="id">
+ insert
+ role_menu (id,`role_id`,`menu_id`,`selected`,`added`,`updated`,`deleted`,`create_time`)
+ values
+ <foreach collection="roleMenuAddList" separator="," item="r">
+ (#{r.id},#{r.roleId},#{r.menuId},#{r.selected},#{r.added},#{r.updated},#{r.deleted},#{r.createTime})
+ </foreach>
+ </insert>
+ <insert id="insertRole">
+ insert
+ role(id,name,create_time) value (
+ #{id},
+ #{name},
+ #{createTime}
+ )
+ </insert>
+ <select id="getAssertName" resultType="com.yuanchu.limslaboratory.pojo.RoleInfo">
+ select id
+ from role
+ where name = #{roleName}
+ </select>
+ <select id="selectAllRoleAndMenu" resultMap="roleAndMenu">
+ SELECT r.id roleId,
+ r.`name` roleName,
+ menu_id menuId,
+ parent_id parentId,
+ m.`name` menuName,
+ rm.selected,
+ rm.added,
+ rm.updated,
+ rm.deleted,
+ r.create_time createTime,
+ r.update_time updateTime
+ FROM role_menu rm,
+ (select id, name, createTime, updateTime
+ from role
+ where 1=1
+ <if test="dto.name!=null and dto.name!=''">
+ and name=#{dto.name}
+ </if>
+ limit #{dto.currentPage}, #{dto.pageSize}) r,
+ menu m
+ WHERE rm.role_id = r.id
+ AND rm.menu_id = m.id
+ AND r.state = 1
+ AND rm.state = 1
+ AND m.state = 1
+ </select>
+ <select id="getRoleByName" resultType="com.yuanchu.limslaboratory.pojo.Role">
+ select id
+ from role
+ where 1=1
+ <if test="dto.name!=null and dto.name!=''">
+ and name=#{dto.name}
+ </if>
+ </select>
+
+ <resultMap id="roleAndMenu" type="com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto">
+ <result property="roleId" column="roleId"/>
+ <result property="roleName" column="roleName"/>
+ <result property="createTime" column="createTime"/>
+ <result property="updateTime" column="updateTime"/>
+ <collection property="roleMenuList" ofType="roleMenu">
+ <result property="menuId" column="menuId"/>
+ <result property="added" column="added"/>
+ <result property="deleted" column="deleted"/>
+ <result property="updated" column="updated"/>
+ <result property="selected" column="selected"/>
+ <result property="menuName" column="menuName"/>
+ <result property="parentId" column="parentId"/>
+ </collection>
+ </resultMap>
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.3