From 97fba61dc925a68ebaa24f245ec35a9be3080166 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Tue, 30 Sep 2025 22:42:08 +0800 Subject: [PATCH] =?UTF-8?q?feat(cms):=20=E5=A2=9E=E5=BC=BA=E7=BD=91?= =?UTF-8?q?=E7=AB=99=E5=AD=97=E6=AE=B5=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= =?UTF-8?q?-=20=E6=B7=BB=E5=8A=A0=E6=9D=83=E9=99=90=E6=8E=A7=E5=88=B6?= =?UTF-8?q?=E6=B3=A8=E8=A7=A3=EF=BC=8C=E7=BB=86=E5=8C=96=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=AE=BF=E9=97=AE=E6=9D=83=E9=99=90=20-=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=AF=BC=E5=85=A5=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E5=85=88=E5=88=A0=E9=99=A4=E6=97=A7=E6=95=B0=E6=8D=AE=E5=86=8D?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=96=B0=E6=95=B0=E6=8D=AE=20-=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=AD=97=E6=AE=B5=E9=BB=98=E8=AE=A4=E5=80=BC=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=EF=BC=8C=E6=8E=92=E5=BA=8F=E9=BB=98=E8=AE=A4=E5=80=BC?= =?UTF-8?q?=E6=94=B9=E4=B8=BA100-=20=E6=9B=B4=E6=96=B0Excel=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E6=A8=A1=E6=9D=BF=E5=AD=97=E6=AE=B5=E6=8F=8F=E8=BF=B0?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=20-=20=E7=A7=BB=E9=99=A4=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E7=B1=BB=E6=9C=AB=E5=B0=BE=E5=A4=9A=E4=BD=99=E7=A9=BA=E8=A1=8C?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CmsWebsiteFieldController.java | 23 +++++++++++++++++-- .../cms/param/CmsWebsiteFieldImportParam.java | 8 +++---- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gxwebsoft/cms/controller/CmsWebsiteFieldController.java b/src/main/java/com/gxwebsoft/cms/controller/CmsWebsiteFieldController.java index dc1c4a4..cfdde82 100644 --- a/src/main/java/com/gxwebsoft/cms/controller/CmsWebsiteFieldController.java +++ b/src/main/java/com/gxwebsoft/cms/controller/CmsWebsiteFieldController.java @@ -3,6 +3,8 @@ package com.gxwebsoft.cms.controller; import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.gxwebsoft.common.core.web.BaseController; import com.gxwebsoft.cms.service.CmsWebsiteFieldService; import com.gxwebsoft.cms.entity.CmsWebsiteField; @@ -57,6 +59,7 @@ public class CmsWebsiteFieldController extends BaseController { return success(cmsWebsiteFieldService.getByIdRel(id)); } + @PreAuthorize("hasAuthority('cms:cmsWebsiteField:save')") @Operation(summary = "添加应用参数") @PostMapping() public ApiResult save(@RequestBody CmsWebsiteField cmsWebsiteField) { @@ -66,6 +69,7 @@ public class CmsWebsiteFieldController extends BaseController { return fail("添加失败"); } + @PreAuthorize("hasAuthority('cms:cmsWebsiteField:update')") @Operation(summary = "修改应用参数") @PutMapping() public ApiResult update(@RequestBody CmsWebsiteField cmsWebsiteField) { @@ -75,6 +79,7 @@ public class CmsWebsiteFieldController extends BaseController { return fail("修改失败"); } + @PreAuthorize("hasAuthority('cms:cmsWebsiteField:remove')") @Operation(summary = "删除应用参数") @DeleteMapping("/{id}") public ApiResult remove(@PathVariable("id") Integer id) { @@ -84,6 +89,7 @@ public class CmsWebsiteFieldController extends BaseController { return fail("删除失败"); } + @PreAuthorize("hasAuthority('cms:cmsWebsiteField:save')") @Operation(summary = "批量添加应用参数") @PostMapping("/batch") public ApiResult saveBatch(@RequestBody List list) { @@ -93,6 +99,7 @@ public class CmsWebsiteFieldController extends BaseController { return fail("添加失败"); } + @PreAuthorize("hasAuthority('cms:cmsWebsiteField:update')") @Operation(summary = "批量修改应用参数") @PutMapping("/batch") public ApiResult removeBatch(@RequestBody BatchParam batchParam) { @@ -102,6 +109,7 @@ public class CmsWebsiteFieldController extends BaseController { return fail("修改失败"); } + @PreAuthorize("hasAuthority('cms:cmsWebsiteField:remove')") @Operation(summary = "批量删除应用参数") @DeleteMapping("/batch") public ApiResult removeBatch(@RequestBody List ids) { @@ -134,17 +142,28 @@ public class CmsWebsiteFieldController extends BaseController { public ApiResult> importBatch(MultipartFile file) { ImportParams importParams = new ImportParams(); try { + // 第一步:永久删除已标记为 deleted=1 的记录 + cmsWebsiteFieldService.remove(new LambdaQueryWrapper().eq(CmsWebsiteField::getDeleted, 1)); + + // 第二步:将现有未删除的记录(deleted=0)标记为 deleted=1 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(CmsWebsiteField::getDeleted, 0); + updateWrapper.set(CmsWebsiteField::getDeleted, 1); + cmsWebsiteFieldService.update(updateWrapper); + + // 第三步:导入XLS文件的内容 List list = ExcelImportUtil.importExcel(file.getInputStream(), CmsWebsiteFieldImportParam.class, importParams); list.forEach(d -> { CmsWebsiteField item = JSONUtil.parseObject(JSONUtil.toJSONString(d), CmsWebsiteField.class); assert item != null; if (ObjectUtil.isNotEmpty(item)) { + System.out.println("item = " + item); // 设置默认值 if (item.getDeleted() == null) { - item.setDeleted(0); + item.setDeleted(0); // 新导入的数据deleted设为0 } if (item.getSortNumber() == null) { - item.setSortNumber(0); + item.setSortNumber(100); } if (item.getEncrypted() == null) { item.setEncrypted(false); diff --git a/src/main/java/com/gxwebsoft/cms/param/CmsWebsiteFieldImportParam.java b/src/main/java/com/gxwebsoft/cms/param/CmsWebsiteFieldImportParam.java index b24632c..5bf56d3 100644 --- a/src/main/java/com/gxwebsoft/cms/param/CmsWebsiteFieldImportParam.java +++ b/src/main/java/com/gxwebsoft/cms/param/CmsWebsiteFieldImportParam.java @@ -18,7 +18,7 @@ public class CmsWebsiteFieldImportParam implements Serializable { @Excel(name = "自增ID") private Integer id; - @Excel(name = "类型,0文本 1图片 2其他") + @Excel(name = "类型") private Integer type; @Excel(name = "名称") @@ -27,7 +27,7 @@ public class CmsWebsiteFieldImportParam implements Serializable { @Excel(name = "默认值") private String defaultValue; - @Excel(name = "可修改的值 [on|off]") + @Excel(name = "可修改的值") private String modifyRange; @Excel(name = "备注") @@ -42,7 +42,7 @@ public class CmsWebsiteFieldImportParam implements Serializable { @Excel(name = "国际化语言") private String lang; - @Excel(name = "是否加密") + @Excel(name = "加密") private Boolean encrypted; @Excel(name = "商户ID") @@ -53,4 +53,4 @@ public class CmsWebsiteFieldImportParam implements Serializable { @Excel(name = "租户ID") private Integer tenantId; -} \ No newline at end of file +}