From 65249fe9d42d71dd58ac14c0319c70851fd0e3e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E8=8D=A3=E6=99=9F?= <9691125+pan-rongsheng@user.noreply.gitee.com> Date: Thu, 18 Sep 2025 11:18:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E7=89=88=E6=96=B0=E5=A2=9E=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=85=B3=E8=81=94=E7=9A=84=E7=9B=B8=E5=85=B3=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../templtp/TemplateInstanceController.java | 24 +++++----- .../admin/templtp/TmplItmController.java | 46 +++++++++++++++---- .../admin/templtp/TmplTpController.java | 10 +++- .../templtp/vo/TemplateInstanceSaveReqVO.java | 2 +- .../base/dal/mysql/tmpltp/TmplTpMapper.java | 3 ++ .../tmpltp/TemplateInstanceServiceImpl.java | 4 ++ .../service/tmpltp/TmplTpServiceImpl.java | 2 +- 7 files changed, 66 insertions(+), 25 deletions(-) diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TemplateInstanceController.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TemplateInstanceController.java index 6ef4c6c..1de132f 100644 --- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TemplateInstanceController.java +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TemplateInstanceController.java @@ -60,18 +60,18 @@ public class TemplateInstanceController extends AbstractFileUploadController { @Resource private FileApi fileApi; - @PostMapping("/upload-file") - @Operation(summary = "上传模板实例文件") - public CommonResult >upload(MultipartFile file) { - Map fileMap = new HashMap<>(); - try { - String fileWhitReturn = fileApi.createFile(file.getBytes(), file.getOriginalFilename()); - fileMap.put("fileUrl", fileWhitReturn); - } catch (IOException e) { - throw new RuntimeException(e); - } - return success(fileMap); - } +// @PostMapping("/upload-file") +// @Operation(summary = "上传模板实例文件") +// public CommonResult >upload(MultipartFile file) { +// Map fileMap = new HashMap<>(); +// try { +// String fileWhitReturn = fileApi.createFile(file.getBytes(), file.getOriginalFilename()); +// fileMap.put("fileUrl", fileWhitReturn); +// } catch (IOException e) { +// throw new RuntimeException(e); +// } +// return success(fileMap); +// } @PostMapping("/create") @Operation(summary = "创建模板实例") @PreAuthorize("@ss.hasPermission('bse:template-instance:create')") diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TmplItmController.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TmplItmController.java index 4f27d84..32b65f7 100644 --- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TmplItmController.java +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TmplItmController.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.base.controller.admin.templtp; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + import cn.iocoder.yudao.framework.business.annotation.FileUploadController; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -11,14 +12,17 @@ import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TmplItmRespVO; import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TmplItmSaveReqVO; import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TmplItmDO; import cn.iocoder.yudao.module.base.service.tmpltp.TmplItmService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; +import java.util.Map; @Tag(name = "管理后台 - 模板条款") @RestController @@ -28,36 +32,60 @@ import java.util.List; @RequiredArgsConstructor public class TmplItmController { private final TmplItmService tmplItmService; + @PostMapping("/create") @Operation(summary = "创建模板条款") - public CommonResult createTmplItm(@Valid @RequestBody TmplItmSaveReqVO createReqVO){ + public CommonResult createTmplItm(@Valid @RequestBody TmplItmSaveReqVO createReqVO) { TmplItmRespVO tmplItm = tmplItmService.createTmplItm(createReqVO); return success(tmplItm); } + @PutMapping("/update") @Operation(summary = "更新模板条款") - public CommonResult updateTmplItm(@Valid @RequestBody TmplItmSaveReqVO updateReqVO){ + public CommonResult updateTmplItm(@Valid @RequestBody TmplItmSaveReqVO updateReqVO) { tmplItmService.updateTmplItm(updateReqVO); return success(true); } + @DeleteMapping("/delete") @Operation(summary = "删除模板条款", description = "") - public CommonResult deleteTmplItm(@RequestBody BatchDeleteReqVO req){ - return success( tmplItmService.deleteTmplItm(req.getIds())); + public CommonResult deleteTmplItm(@RequestBody BatchDeleteReqVO req) { + return success(tmplItmService.deleteTmplItm(req.getIds())); } + @GetMapping("/id") @Operation(summary = "根据id获得模板条款") - public CommonResult getTmplItm(@RequestBody String id){ + public CommonResult getTmplItm(@RequestBody String id) { return success(BeanUtils.toBean(tmplItmService.getById(id), TmplItmRespVO.class)); } + @GetMapping("/list") - public CommonResult> listTmplItm(){ - return success(BeanUtils.toBean(tmplItmService.list(), TmplItmRespVO.class)); + public CommonResult> listTmplItm(Map params) { + // 创建查询条件构造器 + QueryWrapper queryWrapper = new QueryWrapper<>(); + + // 遍历Map参数,动态添加查询条件 + if (params != null && !params.isEmpty()) { + for (Map.Entry entry : params.entrySet()) { + String key = entry.getKey(); + Object value = entry.getValue(); + + // 过滤掉空值和空字符串 + if (value != null && + !(value instanceof String && StringUtils.isBlank((String) value))) { + queryWrapper.eq(key, value); + } + } + } + // 执行带条件的查询 + List list = tmplItmService.list(queryWrapper); + return success(BeanUtils.toBean(list, TmplItmRespVO.class)); } + @GetMapping("/page") @Operation(summary = "分页获得模板条款") - public CommonResult> pageTmplItm(@Validated TmpItmPageReqVO pageReqVO){ + public CommonResult> pageTmplItm(@Validated TmpItmPageReqVO pageReqVO) { PageResult pageResult = tmplItmService.pageTmplItm(pageReqVO); - return success(BeanUtils.toBean(pageResult,TmplItmRespVO.class)); + return success(BeanUtils.toBean(pageResult, TmplItmRespVO.class)); } } diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TmplTpController.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TmplTpController.java index e62885b..8837b4d 100644 --- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TmplTpController.java +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TmplTpController.java @@ -129,8 +129,14 @@ public class TmplTpController extends AbstractFileUploadController implements Bu @PutMapping("/updateStatus") @Operation(summary = "更新模板字段状态") @PreAuthorize("@ss.hasPermission('bse:tmpl-tp:update')") - public CommonResult updateStatus(@RequestBody TmplTpSaveReqVO updateReqVO) { - tmplTpService.updateStatus(updateReqVO.getId(), updateReqVO.getSts()); + public CommonResult updateStatus(@RequestBody Map params) { + if (params == null){ + throw new RuntimeException("参数不能为空"); + } + if (!params.containsKey("id") || !params.containsKey("status")){ + throw new RuntimeException("参数id或者状态不能为空"); + } + tmplTpService.updateStatus(Long.valueOf(params.get("id").toString()), params.get("status").toString()); return success(true); } diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceSaveReqVO.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceSaveReqVO.java index ebe1f09..386de99 100644 --- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceSaveReqVO.java +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceSaveReqVO.java @@ -31,7 +31,7 @@ public class TemplateInstanceSaveReqVO { private String content; @Schema(description = "原始文件内容", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "原始文件内容不能为空") +// @NotEmpty(message = "原始文件内容不能为空") private String originalContent; @Schema(description = "文件类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TmplTpMapper.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TmplTpMapper.java index 3035fbe..129c356 100644 --- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TmplTpMapper.java +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TmplTpMapper.java @@ -53,4 +53,7 @@ public interface TmplTpMapper extends BaseMapperX { " and bti.deleted = 0\n" + "and btt.id = #{id}") List>getClause(@Param("id") Long id); + + @Select("select * from bse_tmpl_tp where id= #{id}") + TmplTpDO getTmplTpById(@Param("id") Long id); } diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceServiceImpl.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceServiceImpl.java index f38bc72..43ebdb1 100644 --- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceServiceImpl.java +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceServiceImpl.java @@ -43,8 +43,12 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService { public void updateTemplateInstance(TemplateInstanceSaveReqVO updateReqVO) { // 校验存在 validateTemplateInstanceExists(updateReqVO.getId()); +// TemplateInstanceDO templateInstanceDO = templateInstanceMapper.selectById(updateReqVO.getId()); +// //获取保存旧文件内容防止被更新 +// String originalContent = templateInstanceDO.getOriginalContent(); // 更新 TemplateInstanceDO updateObj = BeanUtils.toBean(updateReqVO, TemplateInstanceDO.class); + updateObj.setOriginalContent(null); //重新赋值,防止原始文件被更改 templateInstanceMapper.updateById(updateObj); } diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplTpServiceImpl.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplTpServiceImpl.java index 7a30621..f71c772 100644 --- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplTpServiceImpl.java +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplTpServiceImpl.java @@ -190,7 +190,7 @@ public class TmplTpServiceImpl extends ServiceImpl imple } private boolean validateStatusUpdate(Long id, String status) { - TmplTpDO tmplTpDO = this.getById(id); + TmplTpDO tmplTpDO = baseMapper.getTmplTpById(id); String currentSts = tmplTpDO.getSts(); // 获取当前状态对应的枚举实例