Commit 6fa63abe authored by huyuchen's avatar huyuchen

hyc 用户菜单字典调整

parent 8d13ac95
...@@ -98,4 +98,14 @@ public interface ErrorCodes { ...@@ -98,4 +98,14 @@ public interface ErrorCodes {
*/ */
String SYS_DICT_DELETE_EXISTING = "sys.dict.delete.existing"; String SYS_DICT_DELETE_EXISTING = "sys.dict.delete.existing";
/**
* 系统内置角色不允许删除
*/
String SYS_ROLE_DELETE_SYSTEM = "sys.role.delete.system";
/**
* 系统内置角色不能修改
*/
String SYS_ROLE_UPDATE_SYSTEM = "sys.role.update.system";
} }
...@@ -24,3 +24,6 @@ sys.dict.delete.system=\u7CFB\u7EDF\u5185\u7F6E\u5B57\u5178\u9879\u76EE\u4E0D\u8 ...@@ -24,3 +24,6 @@ sys.dict.delete.system=\u7CFB\u7EDF\u5185\u7F6E\u5B57\u5178\u9879\u76EE\u4E0D\u8
sys.dict.update.system=\u7CFB\u7EDF\u5185\u7F6E\u5B57\u5178\u9879\u76EE\u4E0D\u80FD\u4FEE\u6539 sys.dict.update.system=\u7CFB\u7EDF\u5185\u7F6E\u5B57\u5178\u9879\u76EE\u4E0D\u80FD\u4FEE\u6539
sys.dict.delete.existing=\u5B57\u5178\u5B58\u5728\u4E0B\u7EA7\u8282\u70B9\u4E0D\u80FD\u5931\u8D25 sys.dict.delete.existing=\u5B57\u5178\u5B58\u5728\u4E0B\u7EA7\u8282\u70B9\u4E0D\u80FD\u5931\u8D25
sys.role.delete.system=\u7CFB\u7EDF\u5185\u7F6E\u89D2\u8272\u4E0D\u80FD\u5220\u9664
sys.role.update.system=\u7CFB\u7EDF\u5185\u7F6E\u89D2\u8272\u4E0D\u80FD\u4FEE\u6539
...@@ -57,9 +57,12 @@ public class SysRole extends BaseEntity { ...@@ -57,9 +57,12 @@ public class SysRole extends BaseEntity {
private String roleDesc; private String roleDesc;
/** /**
* 删除标识(0-正常,1-删除) * 是否是系统内置(0是,1否)
*/ */
@TableLogic @TableLogic
private String delFlag; private String delFlag;
@Schema(description = "是否是系统内置")
private String systemFlag;
} }
...@@ -168,8 +168,7 @@ public class DictController { ...@@ -168,8 +168,7 @@ public class DictController {
@SysLog("修改字典项") @SysLog("修改字典项")
@PutMapping("/item") @PutMapping("/item")
public R updateById(@RequestBody SysDictItem sysDictItem) { public R updateById(@RequestBody SysDictItem sysDictItem) {
sysDictItemService.updateDictItem(sysDictItem); return R.ok(sysDictItemService.updateDictItem(sysDictItem));
return R.ok();
} }
/** /**
...@@ -180,8 +179,7 @@ public class DictController { ...@@ -180,8 +179,7 @@ public class DictController {
@SysLog("删除字典项") @SysLog("删除字典项")
@DeleteMapping("/item/{id:\\d+}") @DeleteMapping("/item/{id:\\d+}")
public R removeDictItemById(@PathVariable Long id) { public R removeDictItemById(@PathVariable Long id) {
sysDictItemService.removeDictItem(id); return R.ok(sysDictItemService.removeDictItem(id));
return R.ok();
} }
@SysLog("清除字典缓存") @SysLog("清除字典缓存")
......
...@@ -84,8 +84,9 @@ public class RoleController { ...@@ -84,8 +84,9 @@ public class RoleController {
@SysLog("修改角色") @SysLog("修改角色")
@PutMapping @PutMapping
@PreAuthorize("@pms.hasPermission('sys_role_edit')") @PreAuthorize("@pms.hasPermission('sys_role_edit')")
public R<Boolean> update(@Valid @RequestBody SysRole sysRole) { public R update(@Valid @RequestBody SysRole sysRole) {
return R.ok(sysRoleService.updateById(sysRole)); sysRoleService.updateRoleById(sysRole);
return R.ok();
} }
/** /**
......
...@@ -34,14 +34,14 @@ public interface SysDictItemService extends IService<SysDictItem> { ...@@ -34,14 +34,14 @@ public interface SysDictItemService extends IService<SysDictItem> {
* @param id 字典项ID * @param id 字典项ID
* @return * @return
*/ */
void removeDictItem(Long id); Boolean removeDictItem(Long id);
/** /**
* 更新字典项 * 更新字典项
* @param item 字典项 * @param item 字典项
* @return * @return
*/ */
void updateDictItem(SysDictItem item); Boolean updateDictItem(SysDictItem item);
/** /**
* 构建树 * 构建树
......
...@@ -55,4 +55,11 @@ public interface SysRoleService extends IService<SysRole> { ...@@ -55,4 +55,11 @@ public interface SysRoleService extends IService<SysRole> {
*/ */
List<RoleExcelVO> listRole(); List<RoleExcelVO> listRole();
/**
* 更新角色信息
* @param sysRole
* @return
*/
void updateRoleById(SysRole sysRole);
} }
...@@ -62,7 +62,7 @@ public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDi ...@@ -62,7 +62,7 @@ public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDi
*/ */
@Override @Override
@CacheEvict(value = CacheConstants.DICT_DETAILS, allEntries = true) @CacheEvict(value = CacheConstants.DICT_DETAILS, allEntries = true)
public void removeDictItem(Long id) { public Boolean removeDictItem(Long id) {
// 查询父节点为当前节点的节点 // 查询父节点为当前节点的节点
List<SysDictItem> dictList = this.list(Wrappers.<SysDictItem>query().lambda().eq(SysDictItem::getParentId, id)); List<SysDictItem> dictList = this.list(Wrappers.<SysDictItem>query().lambda().eq(SysDictItem::getParentId, id));
Assert.isTrue(CollUtil.isEmpty(dictList), MsgUtils.getMessage(ErrorCodes.SYS_MENU_DELETE_EXISTING)); Assert.isTrue(CollUtil.isEmpty(dictList), MsgUtils.getMessage(ErrorCodes.SYS_MENU_DELETE_EXISTING));
...@@ -72,7 +72,7 @@ public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDi ...@@ -72,7 +72,7 @@ public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDi
// 系统内置 // 系统内置
Assert.state(!DictTypeEnum.SYSTEM.getType().equals(dict.getSystemFlag()), Assert.state(!DictTypeEnum.SYSTEM.getType().equals(dict.getSystemFlag()),
MsgUtils.getMessage(ErrorCodes.SYS_DICT_DELETE_SYSTEM)); MsgUtils.getMessage(ErrorCodes.SYS_DICT_DELETE_SYSTEM));
this.removeById(id); return this.removeById(id);
} }
/** /**
...@@ -82,13 +82,13 @@ public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDi ...@@ -82,13 +82,13 @@ public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDi
*/ */
@Override @Override
@CacheEvict(value = CacheConstants.DICT_DETAILS, key = "#item.type") @CacheEvict(value = CacheConstants.DICT_DETAILS, key = "#item.type")
public void updateDictItem(SysDictItem item) { public Boolean updateDictItem(SysDictItem item) {
// 查询字典 // 查询字典
SysDict dict = dictService.getById(item.getDictId()); SysDict dict = dictService.getById(item.getDictId());
// 系统内置 // 系统内置
Assert.state(!DictTypeEnum.SYSTEM.getType().equals(dict.getSystemFlag()), Assert.state(!DictTypeEnum.SYSTEM.getType().equals(dict.getSystemFlag()),
MsgUtils.getMessage(ErrorCodes.SYS_DICT_UPDATE_SYSTEM)); MsgUtils.getMessage(ErrorCodes.SYS_DICT_UPDATE_SYSTEM));
this.updateById(item); return this.updateById(item);
} }
/** /**
......
...@@ -20,6 +20,7 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -20,6 +20,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysDict;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRole; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRole;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRoleMenu; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRoleMenu;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.RoleExcelVO; import com.yifu.cloud.plus.v1.yifu.admin.api.vo.RoleExcelVO;
...@@ -27,7 +28,9 @@ import com.yifu.cloud.plus.v1.yifu.admin.mapper.SysRoleMapper; ...@@ -27,7 +28,9 @@ import com.yifu.cloud.plus.v1.yifu.admin.mapper.SysRoleMapper;
import com.yifu.cloud.plus.v1.yifu.admin.mapper.SysRoleMenuMapper; import com.yifu.cloud.plus.v1.yifu.admin.mapper.SysRoleMenuMapper;
import com.yifu.cloud.plus.v1.yifu.admin.service.SysRoleService; import com.yifu.cloud.plus.v1.yifu.admin.service.SysRoleService;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.enums.DictTypeEnum;
import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes; import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.MsgUtils; import com.yifu.cloud.plus.v1.yifu.common.core.util.MsgUtils;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.pig4cloud.plugin.excel.vo.ErrorMessage; import com.pig4cloud.plugin.excel.vo.ErrorMessage;
...@@ -35,6 +38,7 @@ import lombok.RequiredArgsConstructor; ...@@ -35,6 +38,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import java.util.HashSet; import java.util.HashSet;
...@@ -65,6 +69,10 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl ...@@ -65,6 +69,10 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@CacheEvict(value = CacheConstants.MENU_DETAILS, allEntries = true) @CacheEvict(value = CacheConstants.MENU_DETAILS, allEntries = true)
public Boolean removeRoleById(Long id) { public Boolean removeRoleById(Long id) {
SysRole sysRole = this.getById(id);
String type = "0";
//系统内置
Assert.state(!type.equals(sysRole.getSystemFlag()),MsgUtils.getMessage(ErrorCodes.SYS_ROLE_DELETE_SYSTEM));
sysRoleMenuMapper.delete(Wrappers.<SysRoleMenu>update().lambda().eq(SysRoleMenu::getRoleId, id)); sysRoleMenuMapper.delete(Wrappers.<SysRoleMenu>update().lambda().eq(SysRoleMenu::getRoleId, id));
return this.removeById(id); return this.removeById(id);
} }
...@@ -137,4 +145,13 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl ...@@ -137,4 +145,13 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
this.save(sysRole); this.save(sysRole);
} }
@Override
public void updateRoleById(SysRole sysRole) {
String type = "0";
// 系统内置
Assert.state(!type.equals(sysRole.getSystemFlag()),
MsgUtils.getMessage(ErrorCodes.SYS_ROLE_UPDATE_SYSTEM));
this.updateById(sysRole);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment