shiro中数据字典管理
数据 管理 字典 shiro
2023-09-27 14:22:12 时间
一 数据结构
二 代码逻辑
数据字典:是最简单的涉及到单张表的crud操作,其中方法加上了shiro的授权判断
@RequiresPermissions("sys:dict:list")
@RequiresPermissions("sys:dict:info")
@RequiresPermissions("sys:dict:save")
@RequiresPermissions("sys:dict:update")
@RequiresPermissions("sys:dict:delete")
2.1 数据字典的crud操作
package com.debug.pmp.server.controller;
import com.debug.pmp.common.response.BaseResponse;
import com.debug.pmp.common.response.StatusCode;
import com.debug.pmp.common.utils.PageUtil;
import com.debug.pmp.common.utils.ValidatorUtil;
import com.debug.pmp.model.entity.SysDictEntity;
import com.debug.pmp.server.service.SysDictService;
import com.google.common.collect.Maps;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.Map;
//字典controller
@RestController
@RequestMapping("sys/dict")
public class SysDictController extends AbstractController{
@Autowired
private SysDictService sysDictService;
//列表
@RequestMapping("/list")
@RequiresPermissions("sys:dict:list")
public BaseResponse list(@RequestParam Map<String, Object> params){
BaseResponse response=new BaseResponse(StatusCode.Success);
try {
PageUtil page = sysDictService.queryPage(params);
Map<String,Object> resMap= Maps.newHashMap();
resMap.put("page", page);
response.setData(resMap);
}catch (Exception e){
response=new BaseResponse(StatusCode.Fail.getCode(),e.getMessage());
}
return response;
}
//详情
@RequestMapping("/info/{id}")
@RequiresPermissions("sys:dict:info")
public BaseResponse info(@PathVariable Long id){
BaseResponse response=new BaseResponse(StatusCode.Success);
Map<String,Object> resMap=Maps.newHashMap();
try {
SysDictEntity entity = sysDictService.getById(id);
resMap.put("dict", entity);
response.setData(resMap);
}catch (Exception e){
response=new BaseResponse(StatusCode.UpdatePasswordFail);
}
return response;
}
//新增
@RequestMapping("/save")
@RequiresPermissions("sys:dict:save")
public BaseResponse save(@RequestBody @Validated SysDictEntity dict, BindingResult result){
String res= ValidatorUtil.checkResult(result);
if (StringUtils.isNotBlank(res)){
return new BaseResponse(StatusCode.Fail.getCode(),res);
}
BaseResponse response=new BaseResponse(StatusCode.Success);
try {
sysDictService.save(dict);
}catch (Exception e){
response=new BaseResponse(StatusCode.Fail.getCode(),e.getMessage());
}
return response;
}
//修改
@RequestMapping("/update")
@RequiresPermissions("sys:dict:update")
public BaseResponse update(@RequestBody @Validated SysDictEntity dict, BindingResult result){
String res= ValidatorUtil.checkResult(result);
if (StringUtils.isNotBlank(res)){
return new BaseResponse(StatusCode.Fail.getCode(),res);
}
BaseResponse response=new BaseResponse(StatusCode.Success);
try {
sysDictService.updateById(dict);
}catch (Exception e){
response=new BaseResponse(StatusCode.Fail.getCode(),e.getMessage());
}
return response;
}
//删除
@RequestMapping("/delete")
@RequiresPermissions("sys:dict:delete")
public BaseResponse delete(@RequestBody Long[] ids){
BaseResponse response=new BaseResponse(StatusCode.Success);
Map<String,Object> resMap= Maps.newHashMap();
try {
sysDictService.removeByIds(Arrays.asList(ids));
}catch (Exception e){
response=new BaseResponse(StatusCode.Fail.getCode(),e.getMessage());
}
return response;
}
}
相关文章
- 数据质量管理(二)
- 每个人都应该知道的25个大数据术语
- EMVTag系列9《卡片管理数据》
- 《数据虚拟化:商务智能系统的数据架构与管理》一 1.11 数据集成的其他方式
- 136.(后端)订单管理物流信息接口编写——注册路由方式获取降序数据
- 132.(后端)订单管理Model与初始化数据——一对多关系的表模型建立与数据填充
- 110.(后端)商品管理数据的填充——sql添加数据
- 61.(前端)权限管理实现——从数据库中获取数据展示在前端,使用插槽和Tag标签美化数据展示
- 将大数据变成可管理的数据
- Hadoop之后:大数据的未来
- 通信行业做好“大”数据,安全是必过的门槛
- 服务器数据存储 主流磁盘接口详解
- Java数据类型转换问题
- [大数据学习研究] 4. Zookeeper-分布式服务的协同管理神器
- TensorFlow加载MNIST数据集
- 用“大数据”服务城市治理和社会管理
- Postgresql pg_class查看所有表名relname及记录数reltuples,记录数显示0实际有数据解决
- 飞客分析:防止数据二次破坏的保护方法
- 云管理不是巴别塔 从数据跨入云之路
- Mysql系列九:使用zookeeper管理远程Mycat配置文件、Mycat监控、Mycat数据迁移(扩容)
- 如何实现对上下文(Context)数据的统一管理 [提供源代码下载]