一 数据结构
二 代码逻辑
数据字典:是最简单的涉及到单张表的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;
}
}