From 5882ba8863d77fdcc168b176c3ffb30e8a20556a Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期一, 13 七月 2026 17:54:25 +0800
Subject: [PATCH] 缩短二维码原始参数
---
backend/src/main/java/com/sinata/appointment/controller/ConfigController.java | 75 +++++++++++++++++++++++++++++++++++++
1 files changed, 75 insertions(+), 0 deletions(-)
diff --git a/backend/src/main/java/com/sinata/appointment/controller/ConfigController.java b/backend/src/main/java/com/sinata/appointment/controller/ConfigController.java
index 2922acb..30f7b8b 100644
--- a/backend/src/main/java/com/sinata/appointment/controller/ConfigController.java
+++ b/backend/src/main/java/com/sinata/appointment/controller/ConfigController.java
@@ -12,6 +12,11 @@
import com.sinata.appointment.dto.ContentSettingsSaveRequest;
import com.sinata.appointment.dto.ContentSettingsVo;
import com.sinata.appointment.dto.FieldConfigPatchRequest;
+import com.sinata.appointment.dto.SensitiveWordCreateRequest;
+import com.sinata.appointment.dto.SensitiveWordEnabledPatchRequest;
+import com.sinata.appointment.dto.SensitiveWordImportResultVo;
+import com.sinata.appointment.dto.SensitiveWordListVo;
+import com.sinata.appointment.dto.SensitiveWordUpdateRequest;
import com.sinata.appointment.dto.VisitReasonCreateRequest;
import com.sinata.appointment.dto.VisitReasonListVo;
import com.sinata.appointment.dto.VisitReasonUpdateRequest;
@@ -27,6 +32,9 @@
import jakarta.validation.constraints.NotBlank;
import java.util.List;
import lombok.RequiredArgsConstructor;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PatchMapping;
@@ -37,6 +45,7 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
@Tag(name = "系统配置")
@RestController
@@ -95,6 +104,72 @@
return ResultUtil.success();
}
+ @Operation(summary = "敏感词库-分页")
+ @GetMapping("/sensitive-words/manage")
+ @SaCheckPermission("config:sensitive-words:page")
+ public Result<List<SensitiveWordListVo>> pageSensitiveWords(
+ @RequestParam(defaultValue = "1") long page,
+ @RequestParam(defaultValue = "10") long size,
+ @RequestParam(required = false) String keyword) {
+ return ResultUtil.page(configApplicationService.pageSensitiveWords(page, size, keyword));
+ }
+
+ @Operation(summary = "敏感词库-新增")
+ @PostMapping("/sensitive-words/manage")
+ @SaCheckPermission("config:sensitive-words:create")
+ public Result<Void> createSensitiveWord(@Valid @RequestBody SensitiveWordCreateRequest request) {
+ configApplicationService.createSensitiveWord(request);
+ return ResultUtil.success();
+ }
+
+ @Operation(summary = "敏感词库-编辑")
+ @PutMapping("/sensitive-words/manage/{id}")
+ @SaCheckPermission("config:sensitive-words:update")
+ public Result<Void> updateSensitiveWord(
+ @PathVariable Long id, @Valid @RequestBody SensitiveWordUpdateRequest request) {
+ configApplicationService.updateSensitiveWord(id, request);
+ return ResultUtil.success();
+ }
+
+ @Operation(summary = "敏感词库-启停")
+ @PatchMapping("/sensitive-words/manage/{id}/enabled")
+ @SaCheckPermission("config:sensitive-words:status")
+ public Result<Void> updateSensitiveWordEnabled(
+ @PathVariable Long id, @Valid @RequestBody SensitiveWordEnabledPatchRequest request) {
+ configApplicationService.updateSensitiveWordEnabled(id, request);
+ return ResultUtil.success();
+ }
+
+ @Operation(summary = "敏感词库-删除")
+ @DeleteMapping("/sensitive-words/manage/{id}")
+ @SaCheckPermission("config:sensitive-words:delete")
+ public Result<Void> deleteSensitiveWord(
+ @PathVariable Long id, @RequestParam @NotBlank(message = "uuid 不能为空") String uuid) {
+ configApplicationService.deleteSensitiveWord(id, uuid);
+ return ResultUtil.success();
+ }
+
+ @Operation(summary = "敏感词库-导入")
+ @PostMapping("/sensitive-words/manage/import")
+ @SaCheckPermission("config:sensitive-words:import")
+ public Result<SensitiveWordImportResultVo> importSensitiveWords(@RequestParam("file") MultipartFile file) {
+ return ResultUtil.data(configApplicationService.importSensitiveWords(file));
+ }
+
+ @Operation(summary = "敏感词库-导入模板")
+ @GetMapping("/sensitive-words/manage/import-template")
+ @SaCheckPermission("config:sensitive-words:import")
+ public ResponseEntity<byte[]> sensitiveWordImportTemplate() {
+ return ResponseEntity.ok()
+ .contentType(
+ MediaType.parseMediaType(
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"))
+ .header(
+ HttpHeaders.CONTENT_DISPOSITION,
+ "attachment; filename=\"sensitive-word-import-template.xlsx\"")
+ .body(configApplicationService.sensitiveWordImportTemplateExcel());
+ }
+
@GetMapping("/fields")
@SaCheckPermission("config:booking-settings:page")
public Result<List<BizFieldConfig>> listFields() {
--
Gitblit v1.7.1