feat(warning): 新增按语言环境查询键盘警告消息接口

This commit is contained in:
2026-02-28 15:25:25 +08:00
parent e2fdd1637f
commit 506e1e0192
4 changed files with 86 additions and 3 deletions

View File

@@ -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<KeyboardWarningMessageRespVO> getByLocale(
@Parameter(description = "地区/语言标识例如zh-CN、en-US", required = true)
@RequestParam("locale") String locale
) {
return ResultUtils.success(keyboardWarningMessageService.getByLocale(locale));
}
}

View File

@@ -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;
}

View File

@@ -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<KeyboardWarningMessage>{
KeyboardWarningMessageRespVO getByLocale(String locale);
}

View File

@@ -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<KeyboardWarningMessageMapper, KeyboardWarningMessage> 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<KeyboardWarningMessage> queryWrapper = new LambdaQueryWrapper<KeyboardWarningMessage>()
.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;
}
}