From 246d688d4af97aa8d6cdcc6a1ab7473d28c2f1d0 Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Thu, 4 May 2023 10:59:28 +0800 Subject: [PATCH 1/9] =?UTF-8?q?feat:=20=E5=9F=BA=E7=A1=80=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增基础设置维护功能,包括基础设置获取和更新 --- .../main/java/com/adc/da/eo/ConfigEntity.java | 43 ++++++++++ .../da/sys/controller/ConfigController.java | 86 +++++++++++++++++++ .../com/adc/da/sys/dao/mysql/ConfigDao.java | 19 ++++ .../adc/da/sys/service/ConfigServiceImpl.java | 22 +++++ .../sys/service/iservice/IConfigService.java | 16 ++++ 5 files changed, 186 insertions(+) create mode 100644 adc-da-sys/src/main/java/com/adc/da/eo/ConfigEntity.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/controller/ConfigController.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/ConfigDao.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/service/ConfigServiceImpl.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IConfigService.java diff --git a/adc-da-sys/src/main/java/com/adc/da/eo/ConfigEntity.java b/adc-da-sys/src/main/java/com/adc/da/eo/ConfigEntity.java new file mode 100644 index 0000000..e85db23 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/eo/ConfigEntity.java @@ -0,0 +1,43 @@ +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 lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * + * @author ThinkBook + * @TableName ts_config + */ +@TableName(value ="ts_config") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class ConfigEntity implements Serializable { + /** + * 主键id + */ + @TableId(value = "id", type = IdType.INPUT) + private String id; + + /** + * 配置名 + */ + @TableField(value = "config_key") + private String configKey; + + /** + * 配置信息 + */ + @TableField(value = "config_value") + private String configValue; + + @TableField(exist = false) + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/controller/ConfigController.java b/adc-da-sys/src/main/java/com/adc/da/sys/controller/ConfigController.java new file mode 100644 index 0000000..7a0a6bf --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/controller/ConfigController.java @@ -0,0 +1,86 @@ +package com.adc.da.sys.controller; + +import com.adc.da.eo.ConfigEntity; +import com.adc.da.sys.service.iservice.IConfigService; +import com.adc.da.util.http.ResponseMessage; +import com.adc.da.util.http.Result; +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; +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @author Caihaohan + */ +@Slf4j +@RestController +@RequestMapping("/${restPath}/sys/config") +@Api(tags = {"Sys-基础设置"}) +public class ConfigController { + + @Resource + private IConfigService iConfigService; + + /** + * 获取一个基本设置项 + */ + @ApiOperation(value = "获取一个基本设置项") + @GetMapping("/{key}") + public ResponseMessage findConfig(@NotNull @PathVariable String key) { + try { + return Result.success(iConfigService.query().eq("config_key", key).one()); + } catch (Exception e) { + log.error("获取一个基本设置项失败", e); + return Result.error("获取失败"); + } + } + + /** + * 获取所有基本设置项 + */ + @ApiOperation(value = "获取所有基本设置项") + @GetMapping("/all") + public ResponseMessage findAllConfig() { + try { + return Result.success(iConfigService.list()); + } catch (Exception e) { + log.error("获取所有基本设置项", e); + return Result.error("获取失败"); + } + + } + + /** + * 保存基本设置项 + */ + @ApiOperation(value = "保存/更新 基本设置项") + @PostMapping("/save") + public ResponseMessage saveConfig(@RequestBody ConfigEntity configEntity) { + try { + iConfigService.saveOrUpdate(configEntity); + return Result.success("保存成功"); + } catch (Exception e) { + log.error("保存基本设置项失败", e); + return Result.error("保存失败"); + } + } + + /** + * 保存所有基本设置项 + */ + @ApiOperation(value = "批量 保存/更新 基本设置项") + @PostMapping("/saveAll") + public ResponseMessage saveAllConfig(@RequestBody List configEntityList) { + try { + iConfigService.saveOrUpdateBatch(configEntityList); + return Result.success("保存成功"); + } catch (Exception e) { + log.error("保存所有基本设置项失败", e); + return Result.error("保存失败"); + } + } +} diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/ConfigDao.java b/adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/ConfigDao.java new file mode 100644 index 0000000..2647b63 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/dao/mysql/ConfigDao.java @@ -0,0 +1,19 @@ +package com.adc.da.sys.dao.mysql; + + +import com.adc.da.eo.ConfigEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @author ThinkBook +* @description 针对表【ts_config】的数据库操作Mapper +* @createDate 2023-05-04 09:45:30 +* @Entity generator.eo.ConfigEntity +*/ +public interface ConfigDao extends BaseMapper { + +} + + + + diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/ConfigServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/ConfigServiceImpl.java new file mode 100644 index 0000000..5ff2295 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/ConfigServiceImpl.java @@ -0,0 +1,22 @@ +package com.adc.da.sys.service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.adc.da.eo.ConfigEntity; +import com.adc.da.sys.service.iservice.IConfigService; +import com.adc.da.sys.dao.mysql.ConfigDao; +import org.springframework.stereotype.Service; + +/** +* @author ThinkBook +* @description 针对表【ts_config】的数据库操作Service实现 +* @createDate 2023-05-04 09:45:30 +*/ +@Service +public class ConfigServiceImpl extends ServiceImpl + implements IConfigService { + +} + + + + diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IConfigService.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IConfigService.java new file mode 100644 index 0000000..d6dfc0c --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IConfigService.java @@ -0,0 +1,16 @@ +package com.adc.da.sys.service.iservice; + +import com.adc.da.eo.ConfigEntity; +import com.adc.da.util.http.ResponseMessage; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** +* @author ThinkBook +* @description 针对表【ts_config】的数据库操作Service +* @createDate 2023-05-04 09:45:30 +*/ +public interface IConfigService extends IService { + +} From bd4d553030ae1978e9ad5883ba07c96d42beba23 Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Thu, 4 May 2023 16:50:07 +0800 Subject: [PATCH 2/9] =?UTF-8?q?feat:=20=E6=8A=A5=E8=A1=A8=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0-=E6=9D=83=E9=99=90=E8=AE=BE=E5=AE=9A=E9=9C=80?= =?UTF-8?q?=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整了报告上传接口,报告权限由原来的预览下载统一权限,调整为两个权限,预览功能和预览下载功能 --- .../controller/ReportManageConroller.java | 4 +- .../java/com/adc/da/report/eo/PowerApply.java | 9 ++ .../da/report/service/IPowerApplyService.java | 10 +- .../adc/da/report/service/IReportService.java | 4 +- .../service/impl/IReportServiceImpl.java | 106 +++++++++++++----- .../service/impl/IpowerApplyServiceImpl.java | 10 +- .../java/com/adc/da/report/vo/ReportVo.java | 7 +- 7 files changed, 118 insertions(+), 32 deletions(-) diff --git a/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java b/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java index 2916ee5..a5b957d 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java +++ b/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java @@ -93,7 +93,9 @@ public class ReportManageConroller { if (count>0){ return Result.error("报告名称已存在"); } - String name = reportService.insert(entity, vo.getLabelList()); + String name = reportService.insert(entity, vo.getLabelList(), + vo.getReportPreviewUserIdList(), + vo.getReportPreviewAndDownloadUserIdList()); map.put("reportName", name); return Result.success(map); } diff --git a/adc-da-report/src/main/java/com/adc/da/report/eo/PowerApply.java b/adc-da-report/src/main/java/com/adc/da/report/eo/PowerApply.java index 2784e97..9ef92b0 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/eo/PowerApply.java +++ b/adc-da-report/src/main/java/com/adc/da/report/eo/PowerApply.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import lombok.experimental.Accessors; import java.util.Date; @@ -16,6 +17,7 @@ import java.util.Date; */ @Data @TableName("power_apply") +@Accessors(chain = true) public class PowerApply { /** @@ -85,4 +87,11 @@ public class PowerApply { */ @TableField("del_flag") private Integer delFlag; + + /** + * 权限来源 1 上传报告时添加的 + * 2 单独申请的权限 + */ + @TableField("power_source") + private Integer powerSource; } diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/IPowerApplyService.java b/adc-da-report/src/main/java/com/adc/da/report/service/IPowerApplyService.java index 0e273a0..408d774 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/IPowerApplyService.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/IPowerApplyService.java @@ -5,10 +5,11 @@ import com.adc.da.report.eo.PowerApplyAct; import com.adc.da.report.vo.DeleteParamRequestVO; import com.adc.da.report.vo.PowerApplyPageVO; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; -public interface IPowerApplyService { +public interface IPowerApplyService extends IService { /** * @param powerApplyPageVO @@ -58,4 +59,11 @@ public interface IPowerApplyService { public void deleteById(DeleteParamRequestVO deleteParamVO); void saveBatch(List powerApplyActs); + + /** + * 根据报告id删除权限 + * + * @param reportId 报表id + */ + void deleteByReportId(String reportId); } diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/IReportService.java b/adc-da-report/src/main/java/com/adc/da/report/service/IReportService.java index b253118..3680738 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/IReportService.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/IReportService.java @@ -21,7 +21,9 @@ public interface IReportService { * @param labelList * @return 报告名称 */ - String insert(ReportEntity entity, List labelList) throws IOException; + String insert(ReportEntity entity, List labelList, + List reportPreviewUserIdList, + List reportPreviewAndDownloadUserIdList) throws IOException; /** * 删除报告 diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java index 1270449..b9c9c6d 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java @@ -7,24 +7,20 @@ import com.adc.da.report.dao.mysql.FileDao; import com.adc.da.report.dao.mysql.ReportDao; import com.adc.da.report.dao.mysql.ReportLabelDao; import com.adc.da.report.dao.mysql.ReportUserDao; -import com.adc.da.report.eo.FileEntity; -import com.adc.da.report.eo.ReportEntity; -import com.adc.da.report.eo.ReportLabelEntity; -import com.adc.da.report.eo.ReportUserEntity; -import com.adc.da.report.service.IReportContentService; -import com.adc.da.report.service.IReportLabelService; -import com.adc.da.report.service.IReportService; -import com.adc.da.report.service.ITreeLabelService; +import com.adc.da.report.eo.*; +import com.adc.da.report.service.*; import com.adc.da.report.util.*; import com.adc.da.report.vo.ReportQueryVo; import com.adc.da.report.vo.ReportVo; import com.adc.da.sys.dao.mysql.RoleEODao; import com.adc.da.sys.entity.RoleEO; +import com.adc.da.util.utils.CollectionUtils; import com.adc.da.util.utils.FileUtil; import com.adc.da.util.utils.StringUtils; import com.adc.da.util.utils.UUID; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -98,6 +94,10 @@ public class IReportServiceImpl extends ServiceImpl @Autowired private LocalFileUtil localFileUtil; + @Resource + private IPowerApplyService iPowerApplyService; + + /** * 新增或编辑报告 * @@ -107,9 +107,12 @@ public class IReportServiceImpl extends ServiceImpl */ @Override @Transactional(rollbackFor = Exception.class) - public String insert(ReportEntity entity, List labelList) throws IOException { + public String insert(ReportEntity entity, List labelList, + List reportPreviewUserIdList, + List reportPreviewAndDownloadUserIdList) throws IOException { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + if (StringUtils.isEmpty(entity.getId())) { entity.setId(UUID.randomUUID10()); entity.setCreateDate(format.format(new Date())); @@ -118,13 +121,36 @@ public class IReportServiceImpl extends ServiceImpl entity.setUpdateDate(format.format(new Date())); reportDao.insert(entity); - //插入用户关系表 - entity.getReportUserIdList().forEach(c -> { - ReportUserEntity reportUserEntity = new ReportUserEntity(); - reportUserEntity.setReportId(entity.getId()); - reportUserEntity.setUserId(c); - reportUserDao.insert(reportUserEntity); - }); + //插入power_apply权限表 + if (CollectionUtils.isNotEmpty(reportPreviewUserIdList)) { + reportPreviewUserIdList.forEach(userId -> { + PowerApply powerApply = new PowerApply(); + powerApply.setId(UUID.randomUUID10()) + .setPower(1) + .setReportId(entity.getId()) + .setUserId(userId) + .setCreateDate(new Date()) + .setCreateUserId(UserUtils.getUserId()) + .setDelFlag(0) + .setPowerSource(1); + iPowerApplyService.save(powerApply); + }); + } + + if (CollectionUtils.isNotEmpty(reportPreviewAndDownloadUserIdList)) { + reportPreviewAndDownloadUserIdList.forEach(userId -> { + PowerApply powerApply = new PowerApply(); + powerApply.setId(UUID.randomUUID10()) + .setPower(2) + .setReportId(entity.getId()) + .setUserId(userId) + .setCreateDate(new Date()) + .setCreateUserId(UserUtils.getUserId()) + .setDelFlag(0) + .setPowerSource(1); + iPowerApplyService.save(powerApply); + }); + } //插入报表标签关系表 labelList.forEach((label) -> { @@ -133,7 +159,7 @@ public class IReportServiceImpl extends ServiceImpl }); //插入报表内容表 - iReportContentService.insertReportContent(entity.getId() ,entity.getFileId()); + iReportContentService.insertReportContent(entity.getId(), entity.getFileId()); CommonUtils.threadPoolExecutor().execute(() -> { //生成html @@ -157,14 +183,6 @@ public class IReportServiceImpl extends ServiceImpl reportUserDao.delete(new QueryWrapper() .eq("reportId", entity.getId())); - //插入用户关系表 - entity.getReportUserIdList().forEach(c -> { - ReportUserEntity reportUserEntity = new ReportUserEntity(); - reportUserEntity.setReportId(entity.getId()); - reportUserEntity.setUserId(c); - reportUserDao.insert(reportUserEntity); - }); - //修改报表标签关系表(先删后增) iReportLabelService.deleteReportLabelByReportId(new String[]{entity.getId()}); @@ -174,6 +192,42 @@ public class IReportServiceImpl extends ServiceImpl reportLabelDao.insert(reportLabelEntity); }); + //TODO 插入报表内容表(先删后增) + + //删除power_apply表中的对应权限 + iPowerApplyService.deleteByReportId(entity.getId()); + + //插入power_apply权限表 + if (CollectionUtils.isNotEmpty(reportPreviewUserIdList)) { + reportPreviewUserIdList.forEach(userId -> { + PowerApply powerApply = new PowerApply(); + powerApply.setId(UUID.randomUUID10()) + .setPower(1) + .setReportId(entity.getId()) + .setUserId(userId) + .setUpdateDate(new Date()) + .setUpdateUserId(UserUtils.getUserId()) + .setDelFlag(0) + .setPowerSource(1); + iPowerApplyService.save(powerApply); + }); + } + + if (CollectionUtils.isNotEmpty(reportPreviewAndDownloadUserIdList)) { + reportPreviewAndDownloadUserIdList.forEach(userId -> { + PowerApply powerApply = new PowerApply(); + powerApply.setId(UUID.randomUUID10()) + .setPower(2) + .setReportId(entity.getId()) + .setUserId(userId) + .setUpdateDate(new Date()) + .setUpdateUserId(UserUtils.getUserId()) + .setDelFlag(0) + .setPowerSource(1); + iPowerApplyService.save(powerApply); + }); + } + CommonUtils.threadPoolExecutor().execute(() -> { String key = entity.getId() + "-" + entity.getFileId(); Boolean hasKey = stringRedisTemplate.hasKey(key); @@ -375,7 +429,6 @@ public class IReportServiceImpl extends ServiceImpl List userIdList = reportUserDao.selectList( new QueryWrapper().eq("reportId", c.getId())) .stream().map(ReportUserEntity::getUserId).collect(Collectors.toList()); - c.setReportUserIdList(userIdList); }); return list; } @@ -448,7 +501,6 @@ public class IReportServiceImpl extends ServiceImpl List userIdList = reportUserDao.selectList( new QueryWrapper().eq("reportId", c.getId())) .stream().map(ReportUserEntity::getUserId).collect(Collectors.toList()); - c.setReportUserIdList(userIdList); }); return list; } diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IpowerApplyServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IpowerApplyServiceImpl.java index 9f038eb..986c8d1 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IpowerApplyServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IpowerApplyServiceImpl.java @@ -10,6 +10,7 @@ import com.adc.da.report.vo.DeleteParamRequestVO; import com.adc.da.report.vo.PowerApplyPageVO; import com.adc.da.util.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; @@ -124,5 +125,12 @@ public class IpowerApplyServiceImpl extends ServiceImpl updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("report_id", reportId); + PowerApply updatePowerApply = new PowerApply(); + updatePowerApply.setDelFlag(1); + getBaseMapper().update(updatePowerApply, updateWrapper); + } } diff --git a/adc-da-report/src/main/java/com/adc/da/report/vo/ReportVo.java b/adc-da-report/src/main/java/com/adc/da/report/vo/ReportVo.java index e108dc8..e7cd7aa 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/vo/ReportVo.java +++ b/adc-da-report/src/main/java/com/adc/da/report/vo/ReportVo.java @@ -68,7 +68,12 @@ public class ReportVo { /** * 报告用户id */ - private List reportUserIdList; + private List reportPreviewUserIdList; + + /** + * 报告用户id + */ + private List reportPreviewAndDownloadUserIdList; /** * 报告涉密等级 From deb237e7f119348b14c44e89b5b2e5f6b7301139 Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Thu, 4 May 2023 17:05:57 +0800 Subject: [PATCH 3/9] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E9=BB=98=E8=AE=A4serialVersionUID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/adc/da/report/eo/ReportContentEntity.java | 2 +- .../main/java/com/adc/da/report/eo/ReportLabelEntity.java | 2 +- .../src/main/java/com/adc/da/report/eo/TreeLabelEntity.java | 2 +- adc-da-sys/src/main/java/com/adc/da/eo/ConfigEntity.java | 5 +++-- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/adc-da-report/src/main/java/com/adc/da/report/eo/ReportContentEntity.java b/adc-da-report/src/main/java/com/adc/da/report/eo/ReportContentEntity.java index 86feeb8..0fedacb 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/eo/ReportContentEntity.java +++ b/adc-da-report/src/main/java/com/adc/da/report/eo/ReportContentEntity.java @@ -42,5 +42,5 @@ public class ReportContentEntity implements Serializable { private String reportContent; @TableField(exist = false) - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1213467213486L; } \ No newline at end of file diff --git a/adc-da-report/src/main/java/com/adc/da/report/eo/ReportLabelEntity.java b/adc-da-report/src/main/java/com/adc/da/report/eo/ReportLabelEntity.java index 30ebb29..5cf91d5 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/eo/ReportLabelEntity.java +++ b/adc-da-report/src/main/java/com/adc/da/report/eo/ReportLabelEntity.java @@ -41,6 +41,6 @@ public class ReportLabelEntity implements Serializable { private String labelId; @TableField(exist = false) - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 121348721347890417L; } \ No newline at end of file diff --git a/adc-da-report/src/main/java/com/adc/da/report/eo/TreeLabelEntity.java b/adc-da-report/src/main/java/com/adc/da/report/eo/TreeLabelEntity.java index 3c96c87..ec036f2 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/eo/TreeLabelEntity.java +++ b/adc-da-report/src/main/java/com/adc/da/report/eo/TreeLabelEntity.java @@ -59,6 +59,6 @@ public class TreeLabelEntity implements Serializable { private Double orderNum; @TableField(exist = false) - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 11283747892134701L; } \ No newline at end of file diff --git a/adc-da-sys/src/main/java/com/adc/da/eo/ConfigEntity.java b/adc-da-sys/src/main/java/com/adc/da/eo/ConfigEntity.java index e85db23..c99b422 100644 --- a/adc-da-sys/src/main/java/com/adc/da/eo/ConfigEntity.java +++ b/adc-da-sys/src/main/java/com/adc/da/eo/ConfigEntity.java @@ -20,6 +20,9 @@ import lombok.NoArgsConstructor; @NoArgsConstructor @AllArgsConstructor public class ConfigEntity implements Serializable { + + private static final long serialVersionUID = 23487320957329L; + /** * 主键id */ @@ -38,6 +41,4 @@ public class ConfigEntity implements Serializable { @TableField(value = "config_value") private String configValue; - @TableField(exist = false) - private static final long serialVersionUID = 1L; } \ No newline at end of file From 99c7f1ffa985ab568e4288b902268e1f2b069154 Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Fri, 5 May 2023 09:07:22 +0800 Subject: [PATCH 4/9] =?UTF-8?q?perf:=20=E5=9F=BA=E7=A1=80=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E5=8A=9F=E8=83=BD=E5=81=A5=E5=A3=AE=E6=80=A7=E6=8F=90?= =?UTF-8?q?=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 现在所有基础设置配置项数据以后端枚举类中的配置为准 --- .../adc/da/sys/constant/TsConfigKeyEnum.java | 13 +++ .../da/sys/controller/ConfigController.java | 38 ++------ .../adc/da/sys/service/ConfigServiceImpl.java | 88 +++++++++++++++++-- .../sys/service/iservice/IConfigService.java | 23 +++++ .../main/java/com/adc/da/sys/vo/ConfigVo.java | 24 +++++ 5 files changed, 148 insertions(+), 38 deletions(-) create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/constant/TsConfigKeyEnum.java create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/vo/ConfigVo.java diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/constant/TsConfigKeyEnum.java b/adc-da-sys/src/main/java/com/adc/da/sys/constant/TsConfigKeyEnum.java new file mode 100644 index 0000000..9184911 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/constant/TsConfigKeyEnum.java @@ -0,0 +1,13 @@ +package com.adc.da.sys.constant; + +/** + * @author ThinkBook + */ + +public enum TsConfigKeyEnum { + + /** + * 水印前缀 + */ + WATERMARK_PREFIX +} diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/controller/ConfigController.java b/adc-da-sys/src/main/java/com/adc/da/sys/controller/ConfigController.java index 7a0a6bf..9ea8845 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/controller/ConfigController.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/controller/ConfigController.java @@ -1,7 +1,7 @@ package com.adc.da.sys.controller; -import com.adc.da.eo.ConfigEntity; import com.adc.da.sys.service.iservice.IConfigService; +import com.adc.da.sys.vo.ConfigVo; import com.adc.da.util.http.ResponseMessage; import com.adc.da.util.http.Result; import io.swagger.annotations.Api; @@ -11,7 +11,6 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.constraints.NotNull; -import java.util.List; /** * @author Caihaohan @@ -31,12 +30,7 @@ public class ConfigController { @ApiOperation(value = "获取一个基本设置项") @GetMapping("/{key}") public ResponseMessage findConfig(@NotNull @PathVariable String key) { - try { - return Result.success(iConfigService.query().eq("config_key", key).one()); - } catch (Exception e) { - log.error("获取一个基本设置项失败", e); - return Result.error("获取失败"); - } + return iConfigService.findConfig(key); } /** @@ -46,12 +40,11 @@ public class ConfigController { @GetMapping("/all") public ResponseMessage findAllConfig() { try { - return Result.success(iConfigService.list()); + return Result.success(iConfigService.findAllConfig()); } catch (Exception e) { log.error("获取所有基本设置项", e); return Result.error("获取失败"); } - } /** @@ -59,28 +52,7 @@ public class ConfigController { */ @ApiOperation(value = "保存/更新 基本设置项") @PostMapping("/save") - public ResponseMessage saveConfig(@RequestBody ConfigEntity configEntity) { - try { - iConfigService.saveOrUpdate(configEntity); - return Result.success("保存成功"); - } catch (Exception e) { - log.error("保存基本设置项失败", e); - return Result.error("保存失败"); - } - } - - /** - * 保存所有基本设置项 - */ - @ApiOperation(value = "批量 保存/更新 基本设置项") - @PostMapping("/saveAll") - public ResponseMessage saveAllConfig(@RequestBody List configEntityList) { - try { - iConfigService.saveOrUpdateBatch(configEntityList); - return Result.success("保存成功"); - } catch (Exception e) { - log.error("保存所有基本设置项失败", e); - return Result.error("保存失败"); - } + public ResponseMessage saveConfig(@RequestBody ConfigVo configVo) { + return iConfigService.saveOrUpdateConfig(configVo); } } diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/ConfigServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/ConfigServiceImpl.java index 5ff2295..8de66dc 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/service/ConfigServiceImpl.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/ConfigServiceImpl.java @@ -1,20 +1,98 @@ package com.adc.da.sys.service; +import cn.hutool.core.bean.BeanUtil; +import com.adc.da.sys.constant.TsConfigKeyEnum; +import com.adc.da.sys.vo.ConfigVo; +import com.adc.da.util.http.ResponseMessage; +import com.adc.da.util.http.Result; +import com.adc.da.util.utils.UUID; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.adc.da.eo.ConfigEntity; import com.adc.da.sys.service.iservice.IConfigService; import com.adc.da.sys.dao.mysql.ConfigDao; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.List; + + /** -* @author ThinkBook -* @description 针对表【ts_config】的数据库操作Service实现 -* @createDate 2023-05-04 09:45:30 -*/ + * @author ThinkBook + * @description 针对表【ts_config】的数据库操作Service实现 + * @createDate 2023-05-04 09:45:30 + */ @Service public class ConfigServiceImpl extends ServiceImpl - implements IConfigService { + implements IConfigService { + @Override + public ResponseMessage saveOrUpdateConfig(ConfigVo configVo) { + try { + // 先查询 + ConfigEntity configEntity = new ConfigEntity(); + BeanUtil.copyProperties(configVo, configEntity); + + //判断Key是否是后端预设好的 + if (isKeyValid(configEntity.getConfigKey())) { + List configEntityList = query().eq("config_key", configEntity.getConfigKey()).list(); + if (!configEntityList.isEmpty()){ + ConfigEntity existDbConfig = configEntityList.get(0); + configEntity.setId(existDbConfig.getId()); + updateById(configEntity); + } else { + configEntity.setId(UUID.randomUUID10()); + save(configEntity); + } + return Result.success("保存成功"); + } + return Result.error("配置项Key不存在"); + } catch (Exception e) { + log.error("保存基本设置项失败", e); + return Result.error("保存失败"); + } + } + + @Override + public List findAllConfig() { + List result = new ArrayList<>(); + for (TsConfigKeyEnum configKey : TsConfigKeyEnum.values()) { + List configEntityList = query().eq("config_key", configKey.toString()).list(); + if (!configEntityList.isEmpty()){ + ConfigVo configVo = new ConfigVo(); + BeanUtil.copyProperties(configEntityList.get(0), configVo); + result.add(configVo); + } + } + return result; + } + + @Override + public ResponseMessage findConfig(String key) { + if (isKeyValid(key)) { + ConfigEntity configEntity = query().eq("config_key", key).one(); + ConfigVo configVo = new ConfigVo(); + BeanUtil.copyProperties(configEntity, configVo); + return Result.success(configVo); + } + return Result.error("配置项Key不存在"); + } + + /** + * 判断传入的key是否是后端预设好的key + * + * @param key + * @return + */ + private boolean isKeyValid(String key) { + boolean isValid = false; + + for (TsConfigKeyEnum configKey : TsConfigKeyEnum.values()) { + if (configKey.toString().equals(key)) { + isValid = true; + } + } + return isValid; + } } diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IConfigService.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IConfigService.java index d6dfc0c..6d13654 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IConfigService.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/iservice/IConfigService.java @@ -1,6 +1,7 @@ package com.adc.da.sys.service.iservice; import com.adc.da.eo.ConfigEntity; +import com.adc.da.sys.vo.ConfigVo; import com.adc.da.util.http.ResponseMessage; import com.baomidou.mybatisplus.extension.service.IService; @@ -13,4 +14,26 @@ import java.util.List; */ public interface IConfigService extends IService { + /** + * 新增或更新配置项 + * + * @param configVo + * @return + */ + ResponseMessage saveOrUpdateConfig(ConfigVo configVo); + + /** + * 获取所有配置项 + * + * @return + */ + List findAllConfig(); + + /** + * 返回一个配置项 + * + * @param key + * @return + */ + ResponseMessage findConfig(String key); } diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/vo/ConfigVo.java b/adc-da-sys/src/main/java/com/adc/da/sys/vo/ConfigVo.java new file mode 100644 index 0000000..a5f21ed --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/vo/ConfigVo.java @@ -0,0 +1,24 @@ +package com.adc.da.sys.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author CaiHaohan + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class ConfigVo { + + /** + * 配置项key + */ + private String configKey; + + /** + * 配置项value + */ + private String configValue; +} From 4e2f0a52ab1503cb4999befe446369cacfa2eed0 Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Fri, 5 May 2023 09:51:26 +0800 Subject: [PATCH 5/9] =?UTF-8?q?perf:=20=E5=9F=BA=E7=A1=80=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E5=8A=9F=E8=83=BD=E5=81=A5=E5=A3=AE=E6=80=A7=E6=8F=90?= =?UTF-8?q?=E5=8D=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将基础功能设置枚举类增加多个描述字段 --- .../adc/da/sys/constant/TsConfigKeyEnum.java | 28 +++++++++++++++++-- .../adc/da/sys/service/ConfigServiceImpl.java | 10 +++---- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/constant/TsConfigKeyEnum.java b/adc-da-sys/src/main/java/com/adc/da/sys/constant/TsConfigKeyEnum.java index 9184911..5e5f952 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/constant/TsConfigKeyEnum.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/constant/TsConfigKeyEnum.java @@ -1,7 +1,7 @@ package com.adc.da.sys.constant; /** - * @author ThinkBook + * @author CaiHaohan */ public enum TsConfigKeyEnum { @@ -9,5 +9,29 @@ public enum TsConfigKeyEnum { /** * 水印前缀 */ - WATERMARK_PREFIX + WATERMARK_PREFIX("WATERMARK_PREFIX", "水印前缀"); + + + /** + * 对应Key + */ + private String value; + + /** + * 代表意义 + */ + private String label; + + TsConfigKeyEnum(String value, String label) { + this.value = value; + this.label = label; + } + + public String getValue() { + return value; + } + + public String getLabel() { + return label; + } } diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/ConfigServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/ConfigServiceImpl.java index 8de66dc..5c8328b 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/service/ConfigServiceImpl.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/ConfigServiceImpl.java @@ -56,7 +56,7 @@ public class ConfigServiceImpl extends ServiceImpl public List findAllConfig() { List result = new ArrayList<>(); for (TsConfigKeyEnum configKey : TsConfigKeyEnum.values()) { - List configEntityList = query().eq("config_key", configKey.toString()).list(); + List configEntityList = query().eq("config_key", configKey.getValue()).list(); if (!configEntityList.isEmpty()){ ConfigVo configVo = new ConfigVo(); BeanUtil.copyProperties(configEntityList.get(0), configVo); @@ -84,14 +84,12 @@ public class ConfigServiceImpl extends ServiceImpl * @return */ private boolean isKeyValid(String key) { - boolean isValid = false; - for (TsConfigKeyEnum configKey : TsConfigKeyEnum.values()) { - if (configKey.toString().equals(key)) { - isValid = true; + if (configKey.getValue().equals(key)) { + return true; } } - return isValid; + return false; } } From f4bf2a46e21f3fa18e2540f408eaae5ddf346e99 Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Fri, 5 May 2023 13:39:12 +0800 Subject: [PATCH 6/9] =?UTF-8?q?feat:=20=E6=95=B0=E6=8D=AE=E5=AD=97?= =?UTF-8?q?=E5=85=B8CRUD?= 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; + +} From 15a5a1d386ed58b08e36588b3a4b36a74cfeaea9 Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Fri, 5 May 2023 16:14:33 +0800 Subject: [PATCH 7/9] =?UTF-8?q?feat:=20=E6=95=B0=E6=8D=AE=E5=AD=97?= =?UTF-8?q?=E5=85=B8(=E4=B8=80=E7=BA=A7),=E5=8A=9F=E8=83=BD=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/adc/da/eo/DictEntity.java | 7 +++ .../adc/da/sys/controller/DictController.java | 9 +-- .../adc/da/sys/service/DictServiceImpl.java | 63 ++++++++++++++----- .../da/sys/service/iservice/IDictService.java | 9 +++ .../com/adc/da/sys/util/BeanCopyUtils.java | 36 +++++++++++ .../java/com/adc/da/sys/vo/DictQueryVo.java | 5 ++ 6 files changed, 108 insertions(+), 21 deletions(-) create mode 100644 adc-da-sys/src/main/java/com/adc/da/sys/util/BeanCopyUtils.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 index 9d3c462..c7dd7cc 100644 --- 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 @@ -6,7 +6,11 @@ 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; +import lombok.experimental.Accessors; /** * @@ -15,6 +19,9 @@ import lombok.Data; */ @TableName(value ="ts_dict") @Data +@Accessors(chain = true) +@NoArgsConstructor +@AllArgsConstructor public class DictEntity implements Serializable { /** * 主键id 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 index 88eca1a..92e2aa3 100644 --- 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 @@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.validation.Valid; /** @@ -30,7 +31,7 @@ public class DictController { */ @ApiOperation(value = "分页获取所有数据字典") @GetMapping("/page") - public ResponseMessage page(@RequestBody DictQueryVo dictQueryVo) { + public ResponseMessage page(@Valid DictQueryVo dictQueryVo) { return dictService.list(dictQueryVo); } @@ -38,7 +39,7 @@ public class DictController { * 修改一个字典 */ @ApiOperation(value = "修改数据字典") - @PostMapping("/edit") + @PutMapping("/edit") public ResponseMessage edit(@RequestBody DictVo dictVo) { return dictService.edit(dictVo); } @@ -47,7 +48,7 @@ public class DictController { * 删除一个字典 */ @ApiOperation(value = "删除数据字典") - @PostMapping("/{id}") + @DeleteMapping("/{id}") public ResponseMessage delete(@PathVariable String id) { return dictService.delete(id); } @@ -58,7 +59,7 @@ public class DictController { @ApiOperation(value = "新增数据字典") @PostMapping("/add") public ResponseMessage add(@RequestBody DictVo dictVo) { - return dictService.add(id); + return dictService.add(dictVo); } 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 index 66cbe1d..b3412e8 100644 --- 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 @@ -2,10 +2,12 @@ package com.adc.da.sys.service; import cn.hutool.core.bean.BeanUtil; import com.adc.da.eo.DictEntity; +import com.adc.da.sys.util.BeanCopyUtils; 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.adc.da.util.utils.UUID; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -17,18 +19,19 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** -* @author ThinkBook -* @description 针对表【ts_dict】的数据库操作Service实现 -* @createDate 2023-05-05 10:28:12 -*/ + * @author ThinkBook + * @description 针对表【ts_dict】的数据库操作Service实现 + * @createDate 2023-05-05 10:28:12 + */ @Service @Slf4j public class DictServiceImpl extends ServiceImpl - implements IDictService { + implements IDictService { @Resource private DictDao dictDao; @@ -37,27 +40,22 @@ public class DictServiceImpl extends ServiceImpl 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()); + IPage page = new Page<>(dictQueryVo.getPageNo(), 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()); + IPage returnPage = new Page<>(); + List dictVos = BeanCopyUtils.copyBeanList(page.getRecords(), DictVo.class); - dictVoPage.setRecords(dictVos); - return Result.success(dictVoPage); + returnPage.setRecords(dictVos); + return Result.success(returnPage); } @Override public ResponseMessage edit(DictVo dictVo) { try { DictEntity dictEntity = new DictEntity(); + //字典编码不可变 + dictVo.setDicCode(null); BeanUtil.copyProperties(dictVo, dictEntity); dictDao.updateById(dictEntity); log.info("编辑数据字典{}成功", dictEntity.getDicName()); @@ -70,7 +68,13 @@ public class DictServiceImpl extends ServiceImpl @Override public ResponseMessage delete(String id) { + DictEntity entity = getById(id); + if (entity == null) { + return Result.error("字典不存在"); + } + DictEntity dictEntity = new DictEntity(); + dictEntity.setId(id); dictEntity.setDelFlag(1); if (updateById(dictEntity)) { return Result.success("删除成功"); @@ -78,6 +82,31 @@ public class DictServiceImpl extends ServiceImpl return Result.error("删除失败"); } + @Override + public ResponseMessage add(DictVo dictVo) { + //判断字典名是否重复 + Integer dicNameCount = query().eq("dic_name", dictVo.getDicName()).count(); + if (dicNameCount > 0) { + return Result.error("字典名重复"); + } + //判断字典编码是否重复 + Integer dicCodeCount = query().eq("dic_code", dictVo.getDicCode()).count(); + if (dicCodeCount > 0) { + return Result.error("字典编码重复"); + } + try { + DictEntity dictEntity = BeanCopyUtils.copyBean(dictVo, DictEntity.class); + dictEntity.setId(UUID.randomUUID10()) + .setCreateTime(new Date()) + .setDelFlag(0); + save(dictEntity); + return Result.success("新增成功"); + } catch (Exception e) { + log.info("新增字典失败", e); + } + return Result.error("新增失败"); + } + } 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 index c5baa6c..420d422 100644 --- 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 @@ -1,9 +1,11 @@ package com.adc.da.sys.service.iservice; +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.baomidou.mybatisplus.extension.service.IService; /** @@ -35,4 +37,11 @@ public interface IDictService extends IService { * @return */ ResponseMessage delete(String id); + + /** + * 新增字典 + * @param dictVo + * @return + */ + ResponseMessage add(DictVo dictVo); } diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/util/BeanCopyUtils.java b/adc-da-sys/src/main/java/com/adc/da/sys/util/BeanCopyUtils.java new file mode 100644 index 0000000..a001852 --- /dev/null +++ b/adc-da-sys/src/main/java/com/adc/da/sys/util/BeanCopyUtils.java @@ -0,0 +1,36 @@ +package com.adc.da.sys.util; + +import org.springframework.beans.BeanUtils; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * @author Mzaxd + * @since 2022-11-22 15:36 + */ +public class BeanCopyUtils { + + private BeanCopyUtils() { + } + + public static V copyBean(Object source, Class clazz){ + V result = null; + //创建目标对象 + try { + result = clazz.newInstance(); + //实现属性copy + BeanUtils.copyProperties(source, result); + } catch (Exception e) { + e.printStackTrace(); + } + //返回结果 + return result; + } + + public static List copyBeanList(List list, Class clazz) { + return list.stream() + .map(o -> copyBean(o, clazz)) + .collect(Collectors.toList()); + } +} 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 index 989404c..d9741e6 100644 --- 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 @@ -2,6 +2,9 @@ package com.adc.da.sys.vo; import lombok.Data; +import javax.validation.constraints.Min; +import javax.validation.constraints.NotNull; + /** * @author CaiHaohan */ @@ -11,10 +14,12 @@ public class DictQueryVo { /** * 页数 */ + @Min(1) private int pageNo; /** * 每页数量 */ + @NotNull private int pageSize; } \ No newline at end of file From 2527bcfca237b704ba5aef0a61fc56efd001252f Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Fri, 5 May 2023 17:17:53 +0800 Subject: [PATCH 8/9] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=AD=97=E5=85=B8(=E4=B8=80=E7=BA=A7)Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/adc/da/sys/controller/DictController.java | 4 ++-- .../com/adc/da/sys/service/DictServiceImpl.java | 14 ++++++++++---- .../adc/da/sys/service/iservice/IDictService.java | 2 +- .../main/java/com/adc/da/sys/vo/DictQueryVo.java | 10 ++++++++++ 4 files changed, 23 insertions(+), 7 deletions(-) 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 index 92e2aa3..18d8913 100644 --- 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 @@ -20,7 +20,7 @@ import javax.validation.Valid; @Slf4j @RestController @RequestMapping("/${restPath}/sys/dict") -@Api(tags = {"Sys-数据字典设置"}) +@Api(tags = {"Sys-数据字典"}) public class DictController { @Resource @@ -32,7 +32,7 @@ public class DictController { @ApiOperation(value = "分页获取所有数据字典") @GetMapping("/page") public ResponseMessage page(@Valid DictQueryVo dictQueryVo) { - return dictService.list(dictQueryVo); + return dictService.pageByCondition(dictQueryVo); } /** 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 index b3412e8..e90eed0 100644 --- 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 @@ -1,6 +1,7 @@ package com.adc.da.sys.service; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.StrUtil; import com.adc.da.eo.DictEntity; import com.adc.da.sys.util.BeanCopyUtils; import com.adc.da.sys.vo.DictQueryVo; @@ -21,7 +22,6 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; -import java.util.stream.Collectors; /** * @author ThinkBook @@ -37,13 +37,16 @@ public class DictServiceImpl extends ServiceImpl private DictDao dictDao; @Override - public ResponseMessage list(DictQueryVo dictQueryVo) { + public ResponseMessage pageByCondition(DictQueryVo dictQueryVo) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.like(StrUtil.isNotBlank(dictQueryVo.getDicName()), DictEntity::getDicName, dictQueryVo.getDicName()); + wrapper.eq(StrUtil.isNotBlank(dictQueryVo.getDicCode()), DictEntity::getDicCode, dictQueryVo.getDicCode()); wrapper.eq(DictEntity::getDelFlag, 0); + wrapper.orderByAsc(DictEntity::getCreateTime); IPage page = new Page<>(dictQueryVo.getPageNo(), dictQueryVo.getPageSize()); page(page, wrapper); - IPage returnPage = new Page<>(); + Page returnPage = BeanCopyUtils.copyBean(page, Page.class); List dictVos = BeanCopyUtils.copyBeanList(page.getRecords(), DictVo.class); returnPage.setRecords(dictVos); @@ -55,8 +58,9 @@ public class DictServiceImpl extends ServiceImpl try { DictEntity dictEntity = new DictEntity(); //字典编码不可变 - dictVo.setDicCode(null); BeanUtil.copyProperties(dictVo, dictEntity); + dictEntity.setDicCode(null); + dictEntity.setUpdateTime(new Date()); dictDao.updateById(dictEntity); log.info("编辑数据字典{}成功", dictEntity.getDicName()); return Result.success("编辑成功"); @@ -75,6 +79,7 @@ public class DictServiceImpl extends ServiceImpl DictEntity dictEntity = new DictEntity(); dictEntity.setId(id); + dictEntity.setUpdateTime(new Date()); dictEntity.setDelFlag(1); if (updateById(dictEntity)) { return Result.success("删除成功"); @@ -98,6 +103,7 @@ public class DictServiceImpl extends ServiceImpl DictEntity dictEntity = BeanCopyUtils.copyBean(dictVo, DictEntity.class); dictEntity.setId(UUID.randomUUID10()) .setCreateTime(new Date()) + .setUpdateTime(new Date()) .setDelFlag(0); save(dictEntity); return Result.success("新增成功"); 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 index 420d422..35bbe91 100644 --- 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 @@ -21,7 +21,7 @@ public interface IDictService extends IService { * @param dictQueryVo * @return */ - ResponseMessage list(DictQueryVo dictQueryVo); + ResponseMessage pageByCondition(DictQueryVo dictQueryVo); /** * 编辑字典 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 index d9741e6..53e4c1a 100644 --- 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 @@ -11,6 +11,16 @@ import javax.validation.constraints.NotNull; @Data public class DictQueryVo { + /** + * 字典名称 + */ + private String dicName; + + /** + * 字典编码 + */ + private String dicCode; + /** * 页数 */ From 4b370a6da4edbce7885475e1af14358a36e4c223 Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Fri, 5 May 2023 17:40:48 +0800 Subject: [PATCH 9/9] =?UTF-8?q?feat:=E6=95=B0=E6=8D=AE=E5=AD=97=E5=85=B8(?= =?UTF-8?q?=E4=B8=80=E7=BA=A7)=E6=94=AF=E6=8C=81=E5=A4=9A=E9=80=89?= =?UTF-8?q?=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adc/da/sys/controller/DictController.java | 7 +++-- .../adc/da/sys/service/DictServiceImpl.java | 28 +++++++++---------- .../da/sys/service/iservice/IDictService.java | 4 ++- 3 files changed, 21 insertions(+), 18 deletions(-) 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 index 18d8913..d362bcf 100644 --- 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 @@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.List; /** @@ -48,9 +49,9 @@ public class DictController { * 删除一个字典 */ @ApiOperation(value = "删除数据字典") - @DeleteMapping("/{id}") - public ResponseMessage delete(@PathVariable String id) { - return dictService.delete(id); + @DeleteMapping("/delete") + public ResponseMessage delete(@RequestParam("ids") List ids) { + return dictService.delete(ids); } /** 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 index e90eed0..5d159ae 100644 --- 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 @@ -18,8 +18,10 @@ 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 org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -71,20 +73,18 @@ public class DictServiceImpl extends ServiceImpl } @Override - public ResponseMessage delete(String id) { - DictEntity entity = getById(id); - if (entity == null) { - return Result.error("字典不存在"); - } - - DictEntity dictEntity = new DictEntity(); - dictEntity.setId(id); - dictEntity.setUpdateTime(new Date()); - dictEntity.setDelFlag(1); - if (updateById(dictEntity)) { - return Result.success("删除成功"); - } - return Result.error("删除失败"); + @Transactional(rollbackFor = Exception.class) + public ResponseMessage delete(List ids) { + List dictEntities = new ArrayList<>(); + ids.forEach(id -> { + DictEntity dictEntity = new DictEntity(); + dictEntity.setId(id); + dictEntity.setUpdateTime(new Date()); + dictEntity.setDelFlag(1); + dictEntities.add(dictEntity); + }); + updateBatchById(dictEntities); + return Result.success("删除成功"); } @Override 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 index 35bbe91..b3970ce 100644 --- 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 @@ -7,6 +7,8 @@ import com.adc.da.sys.vo.DictVo; import com.adc.da.util.http.ResponseMessage; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * @author ThinkBook @@ -36,7 +38,7 @@ public interface IDictService extends IService { * @param id * @return */ - ResponseMessage delete(String id); + ResponseMessage delete(List id); /** * 新增字典