直接跳到内容

保存或更新记录

技术交流QQ群:3549030

保存或更新记录接口

以系统管理的字典管理为例,来展示下保存或更新接口的实现,如下:

java
public class TableController extends KungfuController {

    // 字典校验处理
    @Before(SysDictValidator.class)
    public void saveOrUpdate() {
        // 获取字典对象
        SysDict sysDict = toModel(SysDict.class);

        // getUserInfo() 封装好的可以获取Header中的用户信息
        renderJson(sysDictService.saveOrUpdate(sysDict, getUserInfo()));
    }
}
java
public class SysDictService extends KungfuService<SysDict> {

        public R saveOrUpdate(SysDict sysDict, UserInfo userInfo) {

        if (sysDict == null) {
            return R.fail(641, "信息不能为空");
        }

        // 字典的存在性判断
        R result = existValid(sysDict.getId() == null, sysDict, "dict_code", "dict_name");
        if (result.isFail()) {
            return result;
        }

        Date date = new Date();
        // 根据ID值是否为空来判断是新增还是更新操作
        if (sysDict.getId() != null) {
            sysDict.setUpdateUser(userInfo.getUserName());
            sysDict.setUpdateUserId(userInfo.getUserId());
            sysDict.setUpdateTime(date);
            if (sysDict.update()) {
                // 更新成功,移除缓存
                CacheKit.remove("sysDict", sysDict.getDictCode());
                CacheKit.remove("sysDict", "dictTree");
                return R.ok("更新成功");
            }

            return R.fail(643, "更新失败");
        }
        else {

            sysDict.setCreateUser(userInfo.getUserName());
            sysDict.setCreateUserId(userInfo.getUserId());
            sysDict.setCreateTime(date);

            if (sysDict.save()) {
                // 保存成功,移除缓存
                CacheKit.removeAll("sysDict");
                return R.ok("保存成功");
            }

            return R.fail(642, "保存失败");
        }

    }

}

易学易用,信手拈来。认真体会一下酸爽的感觉吧。

系统字典信息保存或修改Swagger文档

接口地址:/sys-dict/saveOrUpdate

请求方式:POST

请求数据类型:application/x-www-form-urlencoded

响应数据类型:application/json

接口描述:

根据表单内容保存或更新内容

请求示例:

javascript
{
  "id": 100,
  "dictCode": "示例值",
  "dictName": "示例值",
  "remark": "示例值",
  "displayNo": 1,
  "isEnabled": 1
}

请求参数:

请求参数:

参数名称参数说明请求类型是否必须数据类型schema
sysDict系统字典信息bodyfalseSysDictDTOSysDictDTO
  id主键trueinteger(int64)
  dictCode字典编号truestring
  dictName字典名称truestring
  remark备注truestring
  displayNo排序trueinteger(int32)
  isEnabled是否启用(1:是,0:否)trueboolean

响应状态:

状态码说明schema
200请求成功ResultVO
400服务器不理解请求的语法
403服务器拒绝请求
404服务器找不到请求的网页
405禁用请求中指定的方法
500服务器遇到错误,无法完成请求

响应参数:

参数名称参数说明类型schema
msg消息:给出接口返回提示信息string
code状态:成功为200,失败为600~900integer(int32)integer(int32)
data数据:存放接口的各种结果数据object

响应示例:

javascript
{
	"msg": "ok",
	"code": 200
}
保存或更新记录已经加载完毕