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/controller/SealConfigController.java | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 120 insertions(+), 0 deletions(-)
diff --git a/basic-server/src/main/java/com/ruoyi/basic/controller/SealConfigController.java b/basic-server/src/main/java/com/ruoyi/basic/controller/SealConfigController.java
new file mode 100644
index 0000000..51f7ae8
--- /dev/null
+++ b/basic-server/src/main/java/com/ruoyi/basic/controller/SealConfigController.java
@@ -0,0 +1,120 @@
+package com.ruoyi.basic.controller;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelWriter;
+import com.alibaba.excel.write.metadata.WriteSheet;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.dto.SealConfigExport;
+import com.ruoyi.basic.pojo.SealConfig;
+import com.ruoyi.basic.service.SealConfigService;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.exception.base.BaseException;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.net.URLEncoder;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+
+/**
+ * 鍗扮珷绠$悊(鎶ュ憡鐢ㄥ嵃) 鎺у埗灞�
+ */
+@Tag(name = "鍗扮珷绠$悊")
+@RestController
+@RequestMapping("/sealConfig")
+public class SealConfigController {
+
+ @Resource
+ private SealConfigService sealConfigService;
+
+ @Value("${file.path}")
+ private String filePath;
+
+ @Operation(summary = "鏌ヨ鍗扮珷鍒楄〃")
+ @GetMapping("/pageSeal")
+ public Result<IPage<SealConfig>> pageSeal(Page page, SealConfig query) {
+ return Result.success(sealConfigService.pageSeal(page, query));
+ }
+
+ @Operation(summary = "鏂板鍗扮珷")
+ @PostMapping("/addSeal")
+ public Result addSeal(@RequestBody SealConfig seal) {
+ return Result.success(sealConfigService.addSeal(seal));
+ }
+
+ @Operation(summary = "淇敼鍗扮珷")
+ @PostMapping("/updateSeal")
+ public Result updateSeal(@RequestBody SealConfig seal) {
+ return Result.success(sealConfigService.updateSeal(seal));
+ }
+
+ @Operation(summary = "鍒犻櫎鍗扮珷")
+ @DeleteMapping("/delSeal")
+ public Result delSeal(Integer id) {
+ return Result.success(sealConfigService.delSeal(id));
+ }
+
+ @Operation(summary = "鍚敤鍗扮珷涓嬫媺鍒楄〃锛堜緵鎶ュ憡鎵瑰噯閫夋嫨鍗扮珷锛�")
+ @GetMapping("/selectEnabled")
+ public Result selectEnabled() {
+ return Result.success(sealConfigService.selectEnabled());
+ }
+
+ @Operation(summary = "涓婁紶鍗扮珷鍥剧墖")
+ @PostMapping("/upload")
+ public Result upload(MultipartFile file) {
+ if (file == null || file.isEmpty()) {
+ throw new BaseException("璇烽�夋嫨鍗扮珷鍥剧墖");
+ }
+ String originalName = file.getOriginalFilename() == null ? "" : file.getOriginalFilename();
+ String suffix = originalName.substring(originalName.lastIndexOf(".") + 1).toLowerCase();
+ if (!"jpg".equals(suffix) && !"jpeg".equals(suffix) && !"png".equals(suffix)) {
+ throw new BaseException("浠呮敮鎸� jpg / png 鍥剧墖");
+ }
+ String fileName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmssSSS")) + "." + suffix;
+ try {
+ File dir = new File(filePath);
+ if (!dir.exists()) {
+ dir.mkdirs();
+ }
+ file.transferTo(new File(dir.getPath() + File.separator + fileName));
+ } catch (IOException e) {
+ throw new BaseException("鍗扮珷鍥剧墖涓婁紶澶辫触");
+ }
+ return Result.success(fileName);
+ }
+
+ @Operation(summary = "瀵煎嚭鍗扮珷")
+ @GetMapping("/exportSeal")
+ public void exportSeal(SealConfig query, HttpServletResponse response) {
+ List<SealConfigExport> list = sealConfigService.listForExport(query);
+ response.setContentType("application/vnd.ms-excel");
+ response.setCharacterEncoding("UTF-8");
+ String fileName;
+ try {
+ fileName = URLEncoder.encode("鍗扮珷绠$悊", "UTF-8");
+ } catch (Exception e) {
+ throw new BaseException("瀵煎嚭澶辫触");
+ }
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
+ try {
+ ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream())
+ .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+ WriteSheet mainSheet = EasyExcel.writerSheet(0, "鍗扮珷绠$悊").head(SealConfigExport.class).build();
+ excelWriter.write(list, mainSheet);
+ excelWriter.finish();
+ } catch (IOException e) {
+ throw new BaseException("瀵煎嚭澶辫触");
+ }
+ }
+}
--
Gitblit v1.9.3