diff --git a/upms/upms-biz/src/main/java/com/rax/admin/controller/SysRoleController.java b/upms/upms-biz/src/main/java/com/rax/admin/controller/SysRoleController.java
index 291771c..854a87c 100644
--- a/upms/upms-biz/src/main/java/com/rax/admin/controller/SysRoleController.java
+++ b/upms/upms-biz/src/main/java/com/rax/admin/controller/SysRoleController.java
@@ -68,8 +68,8 @@ public class SysRoleController {
@PostMapping
@PreAuthorize("@pms.hasPermission('sys_role_add')")
@CacheEvict(value = CacheConstants.ROLE_DETAILS, allEntries = true)
- public R save(@Valid @RequestBody SysRole sysRole) {
- return R.ok(sysRoleService.save(sysRole));
+ public R save(@Valid SysRole sysRole, String menuIds) {
+ return sysRoleService.saveRole(sysRole, menuIds);
}
/**
@@ -119,6 +119,11 @@ public class SysRoleController {
.like(StrUtil.isNotBlank(role.getRoleName()), SysRole::getRoleName, role.getRoleName())));
}
+ @GetMapping("/tree")
+ public R getRoleTree(Page page, String roleName) {
+ return sysRoleService.getRoleTree(page, roleName);
+ }
+
/**
* 更新角色菜单
* @param roleVo 角色对象
diff --git a/upms/upms-biz/src/main/java/com/rax/admin/mapper/SysRoleMapper.java b/upms/upms-biz/src/main/java/com/rax/admin/mapper/SysRoleMapper.java
index 37856e4..b0f95b8 100644
--- a/upms/upms-biz/src/main/java/com/rax/admin/mapper/SysRoleMapper.java
+++ b/upms/upms-biz/src/main/java/com/rax/admin/mapper/SysRoleMapper.java
@@ -1,10 +1,13 @@
package com.rax.admin.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.rax.admin.api.entity.SysRole;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
+import java.util.Map;
/**
*
@@ -24,4 +27,6 @@ public interface SysRoleMapper extends BaseMapper {
*/
List listRolesByUserId(Long userId);
+ List getRoleTree(@Param("page") Page page, @Param("roleName") String roleName);
+
}
diff --git a/upms/upms-biz/src/main/java/com/rax/admin/service/SysRoleService.java b/upms/upms-biz/src/main/java/com/rax/admin/service/SysRoleService.java
index b43c9c3..f56b68d 100644
--- a/upms/upms-biz/src/main/java/com/rax/admin/service/SysRoleService.java
+++ b/upms/upms-biz/src/main/java/com/rax/admin/service/SysRoleService.java
@@ -1,5 +1,6 @@
package com.rax.admin.service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rax.admin.api.entity.SysRole;
import com.rax.admin.api.vo.RoleExcelVO;
@@ -19,6 +20,8 @@ import java.util.List;
*/
public interface SysRoleService extends IService {
+ R saveRole(SysRole sysRole, String menuIds);
+
/**
* 通过用户ID,查询角色信息
* @param userId
@@ -48,6 +51,8 @@ public interface SysRoleService extends IService {
*/
Boolean updateRoleMenus(RoleVO roleVo);
+ R getRoleTree(Page page, String roleName);
+
/**
* 导入角色
* @param excelVOList 角色列表
diff --git a/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysRoleServiceImpl.java b/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysRoleServiceImpl.java
index 54358a2..74ecf5a 100644
--- a/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysRoleServiceImpl.java
+++ b/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysRoleServiceImpl.java
@@ -2,7 +2,10 @@ package com.rax.admin.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.rax.admin.api.entity.SysRole;
import com.rax.admin.api.entity.SysRoleMenu;
@@ -20,8 +23,10 @@ import lombok.AllArgsConstructor;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
import org.springframework.validation.BindingResult;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -41,8 +46,28 @@ public class SysRoleServiceImpl extends ServiceImpl impl
private SysRoleMenuService roleMenuService;
+ @Override
+ public R saveRole(SysRole sysRole, String menuIds) {
+ boolean saveStatus = save(sysRole);
+ if (saveStatus) {
+ if (StringUtils.hasText(menuIds)) {
+ List roleMenuList = Arrays.stream(menuIds.split(StrUtil.COMMA)).map(menuId -> {
+ SysRoleMenu roleMenu = new SysRoleMenu();
+ roleMenu.setRoleId(sysRole.getRoleId());
+ roleMenu.setMenuId(Long.valueOf(menuId));
+ return roleMenu;
+ }).toList();
+ roleMenuService.saveBatch(roleMenuList);
+ }
+ return R.ok("角色保存成功");
+ } else {
+ return R.failed("角色保存失败");
+ }
+ }
+
/**
* 通过用户ID,查询角色信息
+ *
* @param userId
* @return
*/
@@ -53,8 +78,9 @@ public class SysRoleServiceImpl extends ServiceImpl impl
/**
* 根据角色ID 查询角色列表,注意缓存删除
+ *
* @param roleIdList 角色ID列表
- * @param key 缓存key
+ * @param key 缓存key
* @return
*/
@Override
@@ -65,6 +91,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl
/**
* 通过角色ID,删除角色,并清空角色菜单缓存
+ *
* @param ids
* @return
*/
@@ -72,12 +99,13 @@ public class SysRoleServiceImpl extends ServiceImpl impl
@Transactional(rollbackFor = Exception.class)
public Boolean removeRoleByIds(Long[] ids) {
roleMenuService
- .remove(Wrappers.update().lambda().in(SysRoleMenu::getRoleId, CollUtil.toList(ids)));
+ .remove(Wrappers.update().lambda().in(SysRoleMenu::getRoleId, CollUtil.toList(ids)));
return this.removeBatchByIds(CollUtil.toList(ids));
}
/**
* 根据角色菜单列表
+ *
* @param roleVo 角色&菜单列表
* @return
*/
@@ -86,9 +114,15 @@ public class SysRoleServiceImpl extends ServiceImpl impl
return roleMenuService.saveRoleMenus(roleVo.getRoleId(), roleVo.getMenuIds());
}
+ public R getRoleTree(Page page, String roleName) {
+ baseMapper.getRoleTree(page, roleName);
+ return null;
+ }
+
/**
* 导入角色
- * @param excelVOList 角色列表
+ *
+ * @param excelVOList 角色列表
* @param bindingResult 错误信息列表
* @return ok fail
*/
@@ -105,8 +139,8 @@ public class SysRoleServiceImpl extends ServiceImpl impl
Set errorMsg = new HashSet<>();
// 检验角色名称或者角色编码是否存在
boolean existRole = roleList.stream()
- .anyMatch(sysRole -> excel.getRoleName().equals(sysRole.getRoleName())
- || excel.getRoleCode().equals(sysRole.getRoleCode()));
+ .anyMatch(sysRole -> excel.getRoleName().equals(sysRole.getRoleName())
+ || excel.getRoleCode().equals(sysRole.getRoleCode()));
if (existRole) {
errorMsg.add(MsgUtils.getMessage(ErrorCodes.SYS_ROLE_NAMEORCODE_EXISTING, excel.getRoleName(),
@@ -116,8 +150,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl
// 数据合法情况
if (CollUtil.isEmpty(errorMsg)) {
insertExcelRole(excel);
- }
- else {
+ } else {
// 数据不合法情况
errorMessageList.add(new ErrorMessage(excel.getLineNum(), errorMsg));
}
@@ -130,6 +163,7 @@ public class SysRoleServiceImpl extends ServiceImpl impl
/**
* 查询全部的角色
+ *
* @return list
*/
@Override
diff --git a/upms/upms-biz/src/main/resources/application.yml b/upms/upms-biz/src/main/resources/application.yml
index 4144057..a2a2e9e 100644
--- a/upms/upms-biz/src/main/resources/application.yml
+++ b/upms/upms-biz/src/main/resources/application.yml
@@ -1,4 +1,5 @@
server:
+# port: 6379
port: 9999
servlet:
context-path: /admin
@@ -12,12 +13,17 @@ spring:
data:
redis:
host: 192.168.244.129
+# host: localhost
+# port: 6378
# 数据库相关配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
url: jdbc:mysql://192.168.244.129:3306/rax_backend?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&nullCatalogMeansCurrent=true
+# username: root
+# password: Xg137839
+# url: jdbc:mysql://localhost:3306/rax_backend?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&nullCatalogMeansCurrent=true
# 定时任务属性配置
quartz:
properties:
@@ -104,7 +110,14 @@ vital-sign:
host: 192.168.244.129:27017
password: root
username: root
+# host: localhost:27017
+# password: Xg137839mg
+# username: useradmin
+
mysql:
host: 192.168.244.129:3306
password: root
username: root
+# host: localhost:3306
+# password: Xg137839
+# username: root
diff --git a/upms/upms-biz/src/main/resources/mapper/SysRoleMapper.xml b/upms/upms-biz/src/main/resources/mapper/SysRoleMapper.xml
index 5cda7c9..85e8566 100644
--- a/upms/upms-biz/src/main/resources/mapper/SysRoleMapper.xml
+++ b/upms/upms-biz/src/main/resources/mapper/SysRoleMapper.xml
@@ -27,4 +27,26 @@
AND sys_role.del_flag = '0'
and sys_user_role.user_id = #{userId}
+
+