-
Notifications
You must be signed in to change notification settings - Fork 711
Open
Description
- mysql:
CREATE TABLE `sys_permission` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`parent_id` bigint(20) DEFAULT NULL COMMENT '父级权限ID',
`permission_name` varchar(64) NOT NULL COMMENT '权限名称',
`permission_code` varchar(64) NOT NULL COMMENT '权限编码',
`permission_type` tinyint(4) NOT NULL COMMENT '权限类型:1-菜单 2-按钮 3-接口',
`path` varchar(255) DEFAULT NULL COMMENT '路由地址',
`component` varchar(255) DEFAULT NULL COMMENT '前端组件',
`icon` varchar(255) DEFAULT NULL COMMENT '图标',
`sort` int(11) DEFAULT '0' COMMENT '排序',
`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态:0-禁用 1-启用',
`created_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_permission_code` (`permission_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='权限表';
- 实体类
@Data
@ApiModel("权限表")
public class Permission implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
/**
* 主键ID
*/
@ApiModelProperty("主键ID")
private Long id;
other code...
}
- controller
/**
* 新增或编辑
*/
@PostMapping("/save")
public Object save(@RequestBody Permission permission){
log.info("permission:"+JSON.toJSONString(permission));
// permission_id是哪个列,我了个无中生有 🤣
Permission oldPermission = permissionMapper.selectOne(new QueryWrapper<Permission>().eq("permission_id",permission.getPermissionId()));
permission.setUpdateTime(new Date());
if(oldPermission!=null){
permissionMapper.updateById(permission);
}else{
if(permissionMapper.selectOne(new QueryWrapper<Permission>().eq("permission_name",permission.getPermissionName()))!=null){
return ReturnT.error("保存失败,名字重复");
}
permission.setCreateTime(new Date());
permissionMapper.insert(permission);
}
return CommonResult.success("保存成功");
}
Metadata
Metadata
Assignees
Labels
No labels