From f6738b08d0a02f3fcc033a06001b0acb5201a8cc Mon Sep 17 00:00:00 2001 From: yangsb Date: Thu, 18 Apr 2024 16:56:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=AE=BE=E8=AE=A1=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E6=9C=BA=E5=8F=B0=E6=A8=A1=E6=9D=BF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/enums/ErrorCodeConstants.java | 1 + .../LabelTemplateController.java | 8 +++++ .../labeltemplate/LabelTemplateService.java | 2 ++ .../LabelTemplateServiceImpl.java | 30 +++++++++++++++++++ 4 files changed, 41 insertions(+) diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java index 3ad2a80a1..fd6ee3d4c 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java @@ -193,6 +193,7 @@ public interface ErrorCodeConstants { ErrorCode LABEL_NOT_EXISTS = new ErrorCode(1_002_300_001, "标签不存在"); ErrorCode DEFAULT_LABEL_NOT_EXISTS = new ErrorCode(1_002_300_002, "该类型标签默认模板不存在"); ErrorCode MACHINE_USE_LABEL = new ErrorCode(1_002_300_003, "无法删除已有机台使用标签"); + ErrorCode DEFAULT_NOT_DELETED = new ErrorCode(1_002_300_004, "默认标签模板无法删除"); // ========== 系统数据源 1_002_301_000 ========== ErrorCode DATA_SOURCE_NOT_EXISTS = new ErrorCode(1_002_301_000, "系统数据源不存在"); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/labeltemplate/LabelTemplateController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/labeltemplate/LabelTemplateController.java index 2b55d7faa..ce993f06a 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/labeltemplate/LabelTemplateController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/labeltemplate/LabelTemplateController.java @@ -93,6 +93,14 @@ public class LabelTemplateController { return success(labelTemplateService.getDefaultLabelTemplate(type)); } + @GetMapping("/setDefaultTemplate") + @Operation(summary = "设置默认标签模板") + @PreAuthorize("@ss.hasPermission('system:label-template:query')") + public CommonResult setDefaultTemplate(@RequestParam Long id) { + return success(labelTemplateService.setDefaultTemplate(id)); + } + + @GetMapping("/export-excel") @Operation(summary = "导出标签模板 Excel") @PreAuthorize("@ss.hasPermission('system:label-template:export')") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateService.java index 1459f6fb2..8c8ed0e11 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateService.java @@ -63,4 +63,6 @@ public interface LabelTemplateService { * @return */ LabelTemplateRespVO getDefaultLabelTemplate(String type); + + Boolean setDefaultTemplate(Long id); } \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateServiceImpl.java index 623ac8be7..b9e986dbd 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import java.util.*; import java.util.stream.Collectors; @@ -54,6 +55,10 @@ public class LabelTemplateServiceImpl implements LabelTemplateService { if (labelTemplateDO == null) { throw exception(LABEL_TEMPLATE_NOT_EXISTS); } + Boolean isDefault = labelTemplateDO.getIsDefault(); + if(isDefault) { + throw exception(DEFAULT_NOT_DELETED); + } labelTemplateMapper.deleteById(id); } @@ -100,4 +105,29 @@ public class LabelTemplateServiceImpl implements LabelTemplateService { throw exception(DEFAULT_LABEL_NOT_EXISTS); } + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean setDefaultTemplate(Long id) { + LabelTemplateDO labelTemplateDO = labelTemplateMapper.selectById(id); + if(Objects.isNull(labelTemplateDO)) { + throw exception(LABEL_TEMPLATE_NOT_EXISTS); + } + List labelTemplateDOS = labelTemplateMapper.selectList(new LambdaQueryWrapperX() + .eq(LabelTemplateDO::getIsDefault, Boolean.TRUE) + .eq(LabelTemplateDO::getType, labelTemplateDO.getType()) + ); + if(CollectionUtil.isEmpty(labelTemplateDOS) || labelTemplateDOS.size()>1) { + throw exception(DEFAULT_TEMPLATE_COUNT); + } + LabelTemplateDO templateDO = new LabelTemplateDO(); + templateDO.setId(labelTemplateDOS.get(0).getId()); + templateDO.setIsDefault(Boolean.FALSE); + labelTemplateMapper.updateById(templateDO); + + labelTemplateDO.setIsDefault(Boolean.TRUE); + labelTemplateMapper.updateById(labelTemplateDO); + + return Boolean.TRUE; + } + } \ No newline at end of file