From 506e1e019267a729bc47c7cdfc7c1eee4f837d2e Mon Sep 17 00:00:00 2001 From: ziin Date: Sat, 28 Feb 2026 15:25:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(warning):=20=E6=96=B0=E5=A2=9E=E6=8C=89?= =?UTF-8?q?=E8=AF=AD=E8=A8=80=E7=8E=AF=E5=A2=83=E6=9F=A5=E8=AF=A2=E9=94=AE?= =?UTF-8?q?=E7=9B=98=E8=AD=A6=E5=91=8A=E6=B6=88=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KeyboardWarningMessageController.java | 38 +++++++++++++++++++ .../warning/KeyboardWarningMessageRespVO.java | 20 ++++++++++ .../KeyboardWarningMessageService.java | 2 + .../KeyboardWarningMessageServiceImpl.java | 29 ++++++++++++-- 4 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/yolo/keyborad/controller/KeyboardWarningMessageController.java create mode 100644 src/main/java/com/yolo/keyborad/model/vo/warning/KeyboardWarningMessageRespVO.java diff --git a/src/main/java/com/yolo/keyborad/controller/KeyboardWarningMessageController.java b/src/main/java/com/yolo/keyborad/controller/KeyboardWarningMessageController.java new file mode 100644 index 0000000..76886e4 --- /dev/null +++ b/src/main/java/com/yolo/keyborad/controller/KeyboardWarningMessageController.java @@ -0,0 +1,38 @@ +package com.yolo.keyborad.controller; + +import com.yolo.keyborad.common.BaseResponse; +import com.yolo.keyborad.common.ResultUtils; +import com.yolo.keyborad.model.vo.warning.KeyboardWarningMessageRespVO; +import com.yolo.keyborad.service.KeyboardWarningMessageService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +/* + * @author: ziin + * @date: 2026/2/28 + */ +@RestController +@RequestMapping("/keyboardWarningMessage") +@Tag(name = "注销提示信息") +public class KeyboardWarningMessageController { + + private final KeyboardWarningMessageService keyboardWarningMessageService; + + public KeyboardWarningMessageController(KeyboardWarningMessageService keyboardWarningMessageService) { + this.keyboardWarningMessageService = keyboardWarningMessageService; + } + + @GetMapping("/byLocale") + @Operation(summary = "按 locale 查询提示信息", description = "根据 locale 查询用户注销提示信息") + public BaseResponse getByLocale( + @Parameter(description = "地区/语言标识,例如:zh-CN、en-US", required = true) + @RequestParam("locale") String locale + ) { + return ResultUtils.success(keyboardWarningMessageService.getByLocale(locale)); + } +} diff --git a/src/main/java/com/yolo/keyborad/model/vo/warning/KeyboardWarningMessageRespVO.java b/src/main/java/com/yolo/keyborad/model/vo/warning/KeyboardWarningMessageRespVO.java new file mode 100644 index 0000000..f7442f2 --- /dev/null +++ b/src/main/java/com/yolo/keyborad/model/vo/warning/KeyboardWarningMessageRespVO.java @@ -0,0 +1,20 @@ +package com.yolo.keyborad.model.vo.warning; + +import io.swagger.v3.oas.annotations.media.Schema; +import java.util.Date; +import lombok.Data; + +@Schema(description = "用户注销提示信息返回") +@Data +public class KeyboardWarningMessageRespVO { + + @Schema(description = "地区") + private String locale; + + @Schema(description = "正文") + private String content; + + @Schema(description = "更新时间") + private Date updatedAt; +} + diff --git a/src/main/java/com/yolo/keyborad/service/KeyboardWarningMessageService.java b/src/main/java/com/yolo/keyborad/service/KeyboardWarningMessageService.java index acb49eb..d02925c 100644 --- a/src/main/java/com/yolo/keyborad/service/KeyboardWarningMessageService.java +++ b/src/main/java/com/yolo/keyborad/service/KeyboardWarningMessageService.java @@ -2,6 +2,7 @@ package com.yolo.keyborad.service; import com.yolo.keyborad.model.entity.KeyboardWarningMessage; import com.baomidou.mybatisplus.extension.service.IService; +import com.yolo.keyborad.model.vo.warning.KeyboardWarningMessageRespVO; /* * @author: ziin * @date: 2026/2/28 13:39 @@ -9,5 +10,6 @@ import com.baomidou.mybatisplus.extension.service.IService; public interface KeyboardWarningMessageService extends IService{ + KeyboardWarningMessageRespVO getByLocale(String locale); } diff --git a/src/main/java/com/yolo/keyborad/service/impl/KeyboardWarningMessageServiceImpl.java b/src/main/java/com/yolo/keyborad/service/impl/KeyboardWarningMessageServiceImpl.java index e0be6e9..a5827c9 100644 --- a/src/main/java/com/yolo/keyborad/service/impl/KeyboardWarningMessageServiceImpl.java +++ b/src/main/java/com/yolo/keyborad/service/impl/KeyboardWarningMessageServiceImpl.java @@ -1,12 +1,15 @@ package com.yolo.keyborad.service.impl; -import org.springframework.stereotype.Service; -import org.springframework.beans.factory.annotation.Autowired; -import java.util.List; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yolo.keyborad.common.ErrorCode; +import com.yolo.keyborad.exception.BusinessException; import com.yolo.keyborad.mapper.KeyboardWarningMessageMapper; import com.yolo.keyborad.model.entity.KeyboardWarningMessage; +import com.yolo.keyborad.model.vo.warning.KeyboardWarningMessageRespVO; import com.yolo.keyborad.service.KeyboardWarningMessageService; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; /* * @author: ziin * @date: 2026/2/28 13:39 @@ -15,4 +18,24 @@ import com.yolo.keyborad.service.KeyboardWarningMessageService; @Service public class KeyboardWarningMessageServiceImpl extends ServiceImpl implements KeyboardWarningMessageService{ + @Override + public KeyboardWarningMessageRespVO getByLocale(String locale) { + final String normalizedLocale = locale == null ? null : locale.trim(); + if (!StringUtils.hasText(normalizedLocale)) { + throw new BusinessException(ErrorCode.PARAMS_ERROR); + } + + final LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(KeyboardWarningMessage::getLocale, normalizedLocale); + final KeyboardWarningMessage warningMessage = this.getOne(queryWrapper); + if (warningMessage == null) { + throw new BusinessException(ErrorCode.NOT_FOUND_ERROR); + } + + final KeyboardWarningMessageRespVO respVO = new KeyboardWarningMessageRespVO(); + respVO.setLocale(warningMessage.getLocale()); + respVO.setContent(warningMessage.getContent()); + respVO.setUpdatedAt(warningMessage.getUpdatedAt()); + return respVO; + } }