feat: 数据字典CRUD
This commit is contained in:
@@ -0,0 +1,75 @@
|
|||||||
|
package com.adc.da.eo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author ThinkBook
|
||||||
|
* @TableName ts_dict
|
||||||
|
*/
|
||||||
|
@TableName(value ="ts_dict")
|
||||||
|
@Data
|
||||||
|
public class DictEntity implements Serializable {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
@TableId(value = "id", type = IdType.INPUT)
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字典名称
|
||||||
|
*/
|
||||||
|
@TableField(value = "dic_name")
|
||||||
|
private String dicName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字典编码
|
||||||
|
*/
|
||||||
|
@TableField(value = "dic_code")
|
||||||
|
private String dicCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 描述
|
||||||
|
*/
|
||||||
|
@TableField(value = "description")
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建用户id
|
||||||
|
*/
|
||||||
|
@TableField(value = "create_user")
|
||||||
|
private String createUser;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@TableField(value = "create_time")
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新用户id
|
||||||
|
*/
|
||||||
|
@TableField(value = "update_user")
|
||||||
|
private String updateUser;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
@TableField(value = "update_time")
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除标志 0存在 1删除
|
||||||
|
*/
|
||||||
|
@TableField(value = "del_flag")
|
||||||
|
private Integer delFlag;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private static final long serialVersionUID = 1564756474576568768L;
|
||||||
|
}
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
package com.adc.da.eo;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Caihaohan
|
||||||
|
* @TableName ts_dict_item
|
||||||
|
*/
|
||||||
|
@TableName(value ="ts_dict_item")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class DictItemEntity implements Serializable {
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
@TableId(value = "id", type = IdType.INPUT)
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字典id
|
||||||
|
*/
|
||||||
|
@TableField(value = "type_id")
|
||||||
|
private String typeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据名称
|
||||||
|
*/
|
||||||
|
@TableField(value = "item_name")
|
||||||
|
private String itemName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据值
|
||||||
|
*/
|
||||||
|
@TableField(value = "item_value")
|
||||||
|
private String itemValue;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 描述
|
||||||
|
*/
|
||||||
|
@TableField(value = "item_description")
|
||||||
|
private String itemDescription;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 排序
|
||||||
|
*/
|
||||||
|
@TableField(value = "item_order")
|
||||||
|
private Double itemOrder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 启用标志 0不启用 1启用
|
||||||
|
*/
|
||||||
|
@TableField(value = "item_status")
|
||||||
|
private Integer itemStatus;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建用户id
|
||||||
|
*/
|
||||||
|
@TableField(value = "create_user")
|
||||||
|
private String createUser;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@TableField(value = "create_time")
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新用户id
|
||||||
|
*/
|
||||||
|
@TableField(value = "update_user")
|
||||||
|
private String updateUser;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
@TableField(value = "update_time")
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除标志 0存在 1删除
|
||||||
|
*/
|
||||||
|
@TableField(value = "del_flag")
|
||||||
|
private Integer delFlag;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private static final long serialVersionUID = 12134213414324536L;
|
||||||
|
}
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
package com.adc.da.sys.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.adc.da.sys.service.iservice.IDictService;
|
||||||
|
import com.adc.da.sys.vo.DictQueryVo;
|
||||||
|
import com.adc.da.sys.vo.DictVo;
|
||||||
|
import com.adc.da.util.http.ResponseMessage;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author CaiHaohan
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/${restPath}/sys/dict")
|
||||||
|
@Api(tags = {"Sys-数据字典设置"})
|
||||||
|
public class DictController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IDictService dictService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取一个基本设置项
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "分页获取所有数据字典")
|
||||||
|
@GetMapping("/page")
|
||||||
|
public ResponseMessage page(@RequestBody DictQueryVo dictQueryVo) {
|
||||||
|
return dictService.list(dictQueryVo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改一个字典
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "修改数据字典")
|
||||||
|
@PostMapping("/edit")
|
||||||
|
public ResponseMessage edit(@RequestBody DictVo dictVo) {
|
||||||
|
return dictService.edit(dictVo);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除一个字典
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "删除数据字典")
|
||||||
|
@PostMapping("/{id}")
|
||||||
|
public ResponseMessage delete(@PathVariable String id) {
|
||||||
|
return dictService.delete(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除一个字典
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "新增数据字典")
|
||||||
|
@PostMapping("/add")
|
||||||
|
public ResponseMessage add(@RequestBody DictVo dictVo) {
|
||||||
|
return dictService.add(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package com.adc.da.sys.controller;
|
||||||
|
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/${restPath}/sys/dictItem")
|
||||||
|
@Api(tags = {"Sys-数据字典配置项设置"})
|
||||||
|
public class DictItemController {
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.adc.da.sys.dao.mysql;
|
||||||
|
|
||||||
|
import com.adc.da.eo.DictEntity;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author ThinkBook
|
||||||
|
* @description 针对表【ts_dict】的数据库操作Mapper
|
||||||
|
* @createDate 2023-05-05 10:28:12
|
||||||
|
* @Entity com.adc.da.eo.DictEntity
|
||||||
|
*/
|
||||||
|
public interface DictDao extends BaseMapper<DictEntity> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.adc.da.sys.dao.mysql;
|
||||||
|
|
||||||
|
import com.adc.da.eo.DictItemEntity;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author ThinkBook
|
||||||
|
* @description 针对表【ts_dict_item】的数据库操作Mapper
|
||||||
|
* @createDate 2023-05-05 10:28:25
|
||||||
|
* @Entity com.adc.da.eo.DictItemEntity
|
||||||
|
*/
|
||||||
|
public interface DictItemDao extends BaseMapper<DictItemEntity> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package com.adc.da.sys.service;
|
||||||
|
|
||||||
|
import com.adc.da.eo.DictItemEntity;
|
||||||
|
import com.adc.da.sys.service.iservice.IDictItemService;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
import com.adc.da.sys.dao.mysql.DictItemDao;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author ThinkBook
|
||||||
|
* @description 针对表【ts_dict_item】的数据库操作Service实现
|
||||||
|
* @createDate 2023-05-05 10:28:25
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class DictItemServiceImpl extends ServiceImpl<DictItemDao, DictItemEntity>
|
||||||
|
implements IDictItemService {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
package com.adc.da.sys.service;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import com.adc.da.eo.DictEntity;
|
||||||
|
import com.adc.da.sys.vo.DictQueryVo;
|
||||||
|
import com.adc.da.sys.vo.DictVo;
|
||||||
|
import com.adc.da.util.http.ResponseMessage;
|
||||||
|
import com.adc.da.util.http.Result;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.adc.da.sys.service.iservice.IDictService;
|
||||||
|
import com.adc.da.sys.dao.mysql.DictDao;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author ThinkBook
|
||||||
|
* @description 针对表【ts_dict】的数据库操作Service实现
|
||||||
|
* @createDate 2023-05-05 10:28:12
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Slf4j
|
||||||
|
public class DictServiceImpl extends ServiceImpl<DictDao, DictEntity>
|
||||||
|
implements IDictService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private DictDao dictDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResponseMessage list(DictQueryVo dictQueryVo) {
|
||||||
|
LambdaQueryWrapper<DictEntity> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(DictEntity::getDelFlag, 0);
|
||||||
|
IPage<DictEntity> page = new Page<>();
|
||||||
|
page.setCurrent(dictQueryVo.getPageNo());
|
||||||
|
page.setSize(dictQueryVo.getPageSize());
|
||||||
|
page(page, wrapper);
|
||||||
|
IPage<DictVo> dictVoPage = new Page<>();
|
||||||
|
BeanUtil.copyProperties(page, dictVoPage);
|
||||||
|
|
||||||
|
List<DictVo> dictVos = page.getRecords().stream().map(dict -> {
|
||||||
|
DictVo dictVo = new DictVo();
|
||||||
|
BeanUtil.copyProperties(dict, dictVo);
|
||||||
|
return dictVo;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
|
dictVoPage.setRecords(dictVos);
|
||||||
|
return Result.success(dictVoPage);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResponseMessage edit(DictVo dictVo) {
|
||||||
|
try {
|
||||||
|
DictEntity dictEntity = new DictEntity();
|
||||||
|
BeanUtil.copyProperties(dictVo, dictEntity);
|
||||||
|
dictDao.updateById(dictEntity);
|
||||||
|
log.info("编辑数据字典{}成功", dictEntity.getDicName());
|
||||||
|
return Result.success("编辑成功");
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.info("编辑数据字典失败", e);
|
||||||
|
}
|
||||||
|
return Result.error("编辑失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResponseMessage delete(String id) {
|
||||||
|
DictEntity dictEntity = new DictEntity();
|
||||||
|
dictEntity.setDelFlag(1);
|
||||||
|
if (updateById(dictEntity)) {
|
||||||
|
return Result.success("删除成功");
|
||||||
|
}
|
||||||
|
return Result.error("删除失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package com.adc.da.sys.service.iservice;
|
||||||
|
|
||||||
|
import com.adc.da.eo.DictItemEntity;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author ThinkBook
|
||||||
|
* @description 针对表【ts_dict_item】的数据库操作Service
|
||||||
|
* @createDate 2023-05-05 10:28:25
|
||||||
|
*/
|
||||||
|
public interface IDictItemService extends IService<DictItemEntity> {
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
package com.adc.da.sys.service.iservice;
|
||||||
|
|
||||||
|
|
||||||
|
import com.adc.da.sys.vo.DictQueryVo;
|
||||||
|
import com.adc.da.sys.vo.DictVo;
|
||||||
|
import com.adc.da.util.http.ResponseMessage;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author ThinkBook
|
||||||
|
* @description 针对表【ts_dict】的数据库操作Service
|
||||||
|
* @createDate 2023-05-05 10:28:12
|
||||||
|
*/
|
||||||
|
public interface IDictService extends IService<DictEntity> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取字典列表
|
||||||
|
*
|
||||||
|
* @param dictQueryVo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
ResponseMessage list(DictQueryVo dictQueryVo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑字典
|
||||||
|
*
|
||||||
|
* @param dictVo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
ResponseMessage edit(DictVo dictVo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除字典
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
ResponseMessage delete(String id);
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.adc.da.sys.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author CaiHaohan
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class DictQueryVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页数
|
||||||
|
*/
|
||||||
|
private int pageNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 每页数量
|
||||||
|
*/
|
||||||
|
private int pageSize;
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package com.adc.da.sys.vo;
|
||||||
|
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author CaiHaohan
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class DictVo {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键id
|
||||||
|
*/
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字典名称
|
||||||
|
*/
|
||||||
|
private String dicName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字典编码
|
||||||
|
*/
|
||||||
|
private String dicCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 描述
|
||||||
|
*/
|
||||||
|
private String description;
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user