From 6441ad9f4dc3c1b2af1b9dad505c62ff75d69c4e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 08 十月 2026 15:52:17 +0800
Subject: [PATCH] 项目重构

---
 basic-server/src/main/java/com/ruoyi/basic/service/impl/SealConfigServiceImpl.java |  115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 115 insertions(+), 0 deletions(-)

diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/SealConfigServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/SealConfigServiceImpl.java
new file mode 100644
index 0000000..8c75b50
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/SealConfigServiceImpl.java
@@ -0,0 +1,115 @@
+package com.ruoyi.basic.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.SealConfigExport;
+import com.ruoyi.basic.mapper.SealConfigMapper;
+import com.ruoyi.basic.pojo.SealConfig;
+import com.ruoyi.basic.service.SealConfigService;
+import com.ruoyi.common.exception.base.BaseException;
+import com.ruoyi.common.utils.QueryWrappers;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import org.springframework.stereotype.Service;
+
+import jakarta.annotation.Resource;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 鍗扮珷绠$悊(鎶ュ憡鐢ㄥ嵃) 鏈嶅姟瀹炵幇
+ */
+@Service
+public class SealConfigServiceImpl extends ServiceImpl<SealConfigMapper, SealConfig> implements SealConfigService {
+
+    @Resource
+    private SealConfigMapper sealConfigMapper;
+
+    private static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+
+    @Override
+    public IPage<SealConfig> pageSeal(Page page, SealConfig query) {
+        QueryWrapper<SealConfig> wrapper = QueryWrappers.queryWrappers(query);
+        if (wrapper == null) {
+            wrapper = Wrappers.query();
+        }
+        wrapper.orderByDesc("create_time").orderByAsc("code");
+        return this.page(page, wrapper);
+    }
+
+    @Override
+    public int addSeal(SealConfig seal) {
+        validate(seal);
+        seal.setCode(generateCode());
+        return sealConfigMapper.insert(seal);
+    }
+
+    @Override
+    public int updateSeal(SealConfig seal) {
+        if (seal.getId() == null) {
+            throw new BaseException("鍗扮珷id涓嶈兘涓虹┖");
+        }
+        validate(seal);
+        // 缂栧彿涓嶅厑璁稿墠绔慨鏀癸紝淇濇寔鑷姩鐢熸垚鍊间笉鍙�
+        SealConfig db = sealConfigMapper.selectById(seal.getId());
+        if (db != null) {
+            seal.setCode(db.getCode());
+        }
+        return sealConfigMapper.updateById(seal);
+    }
+
+    @Override
+    public int delSeal(Integer id) {
+        return sealConfigMapper.deleteById(id);
+    }
+
+    @Override
+    public List<SealConfig> selectEnabled() {
+        return this.list(Wrappers.<SealConfig>lambdaQuery()
+                .eq(SealConfig::getStatus, 1)
+                .orderByAsc(SealConfig::getCode));
+    }
+
+    @Override
+    public List<SealConfigExport> listForExport(SealConfig query) {
+        QueryWrapper<SealConfig> wrapper = QueryWrappers.queryWrappers(query);
+        if (wrapper == null) {
+            wrapper = Wrappers.query();
+        }
+        wrapper.orderByAsc("code");
+        List<SealConfig> list = this.list(wrapper);
+        List<SealConfigExport> exports = new ArrayList<>();
+        for (SealConfig seal : list) {
+            SealConfigExport export = new SealConfigExport();
+            export.setCode(seal.getCode());
+            export.setName(seal.getName());
+            export.setUseScope(seal.getUseScope());
+            export.setStatusName(seal.getStatus() != null && seal.getStatus() == 1 ? "鍚敤" : "鍋滅敤");
+            export.setRemark(seal.getRemark());
+            export.setCreateTime(seal.getCreateTime() == null ? "" : seal.getCreateTime().format(DATE_FORMAT));
+            exports.add(export);
+        }
+        return exports;
+    }
+
+    private void validate(SealConfig seal) {
+        if (StringUtils.isBlank(seal.getName())) {
+            throw new BaseException("鍗扮珷鍚嶇О涓嶈兘涓虹┖");
+        }
+        if (StringUtils.isBlank(seal.getAddress())) {
+            throw new BaseException("鍗扮珷鍥剧墖涓嶈兘涓虹┖");
+        }
+    }
+
+    /**
+     * 鑷姩鐢熸垚鍗扮珷缂栧彿锛歒Z-001銆乊Z-002 ...
+     */
+    private String generateCode() {
+        Integer max = sealConfigMapper.selectMaxCodeSuffix();
+        int next = (max == null ? 0 : max) + 1;
+        return String.format("YZ-%03d", next);
+    }
+}

--
Gitblit v1.9.3