From f4bf2a46e21f3fa18e2540f408eaae5ddf346e99 Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Fri, 5 May 2023 13:39:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=95=B0=E6=8D=AE=E5=AD=97=E5=85=B8CRU?= =?UTF-8?q?D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/adc/da/eo/DictEntity.java | 75 ++++++++++++++ .../java/com/adc/da/eo/DictItemEntity.java | 98 +++++++++++++++++++ .../adc/da/sys/controller/DictController.java | 65 ++++++++++++ .../da/sys/controller/DictItemController.java | 13 +++ .../com/adc/da/sys/dao/mysql/DictDao.java | 18 ++++ .../com/adc/da/sys/dao/mysql/DictItemDao.java | 18 ++++ .../da/sys/service/DictItemServiceImpl.java | 23 +++++ .../adc/da/sys/service/DictServiceImpl.java | 85 ++++++++++++++++ .../service/iservice/IDictItemService.java | 13 +++ .../da/sys/service/iservice/IDictService.java | 38 +++++++ .../java/com/adc/da/sys/vo/DictQueryVo.java | 20 ++++ .../main/java/com/adc/da/sys/vo/DictVo.java | 36 +++++++ 12 files changed, 502 insertions(+) create mode 100644 adc-da-sys/src/main/java/com/adc/da/eo/DictEntity.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/eo/DictItemEntity.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/controller/DictController.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/controller/DictItemController.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/DictDao.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/DictItemDao.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/service/DictItemServiceImpl.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/service/DictServiceImpl.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IDictItemService.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IDictService.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/vo/DictQueryVo.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/vo/DictVo.java diff --git a/adc-da-sys/src/main/java/com/adc/da/eo/DictEntity.java b/adc-da-sys/src/main/java/com/adc/da/eo/DictEntity.java new file mode 100644 index 0000000..9d3c462 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/eo/DictEntity.java @@ -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; +} \ No newline at end of file diff --git a/adc-da-sys/src/main/java/com/adc/da/eo/DictItemEntity.java b/adc-da-sys/src/main/java/com/adc/da/eo/DictItemEntity.java new file mode 100644 index 0000000..f8cb85d --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/eo/DictItemEntity.java @@ -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; +} \ No newline at end of file diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/controller/DictController.java b/adc-da-sys/src/main/java/com/adc/da/sys/controller/DictController.java new file mode 100644 index 0000000..88eca1a --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/controller/DictController.java @@ -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); + } + + +} diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/controller/DictItemController.java b/adc-da-sys/src/main/java/com/adc/da/sys/controller/DictItemController.java new file mode 100644 index 0000000..e832337 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/controller/DictItemController.java @@ -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 { +} diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/DictDao.java b/adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/DictDao.java new file mode 100644 index 0000000..5118893 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/DictDao.java @@ -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 { + +} + + + + diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/DictItemDao.java b/adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/DictItemDao.java new file mode 100644 index 0000000..cd3bbbc --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/DictItemDao.java @@ -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 { + +} + + + + diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/DictItemServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/DictItemServiceImpl.java new file mode 100644 index 0000000..ac21d60 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/DictItemServiceImpl.java @@ -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 + implements IDictItemService { + +} + + + + diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/DictServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/DictServiceImpl.java new file mode 100644 index 0000000..66cbe1d --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/DictServiceImpl.java @@ -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 + implements IDictService { + + @Resource + private DictDao dictDao; + + @Override + public ResponseMessage list(DictQueryVo dictQueryVo) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(DictEntity::getDelFlag, 0); + IPage page = new Page<>(); + page.setCurrent(dictQueryVo.getPageNo()); + page.setSize(dictQueryVo.getPageSize()); + page(page, wrapper); + IPage dictVoPage = new Page<>(); + BeanUtil.copyProperties(page, dictVoPage); + + List 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("删除失败"); + } + +} + + + + diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IDictItemService.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IDictItemService.java new file mode 100644 index 0000000..feeed27 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IDictItemService.java @@ -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 { + +} diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IDictService.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IDictService.java new file mode 100644 index 0000000..c5baa6c --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IDictService.java @@ -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 { + + /** + * 获取字典列表 + * + * @param dictQueryVo + * @return + */ + ResponseMessage list(DictQueryVo dictQueryVo); + + /** + * 编辑字典 + * + * @param dictVo + * @return + */ + ResponseMessage edit(DictVo dictVo); + + /** + * 删除字典 + * @param id + * @return + */ + ResponseMessage delete(String id); +} diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/vo/DictQueryVo.java b/adc-da-sys/src/main/java/com/adc/da/sys/vo/DictQueryVo.java new file mode 100644 index 0000000..989404c --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/vo/DictQueryVo.java @@ -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; +} \ No newline at end of file diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/vo/DictVo.java b/adc-da-sys/src/main/java/com/adc/da/sys/vo/DictVo.java new file mode 100644 index 0000000..200b77f --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/vo/DictVo.java @@ -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; + +}