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