From abfac871fd9d3042a7d91fb3e2c126ad28cb5240 Mon Sep 17 00:00:00 2001 From: ziin Date: Wed, 17 Dec 2025 18:20:05 +0800 Subject: [PATCH] =?UTF-8?q?feat(user):=20=E6=96=B0=E5=A2=9E=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=8F=8D=E9=A6=88=E6=8F=90=E4=BA=A4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../keyborad/controller/UserController.java | 14 ++++++ .../mapper/KeyboardFeedbackMapper.java | 12 ++++++ .../model/dto/user/FeedbackSubmitReq.java | 18 ++++++++ .../model/entity/KeyboardFeedback.java | 43 +++++++++++++++++++ .../service/KeyboardFeedbackService.java | 13 ++++++ .../impl/KeyboardFeedbackServiceImpl.java | 18 ++++++++ .../mapper/KeyboardFeedbackMapper.xml | 15 +++++++ 7 files changed, 133 insertions(+) create mode 100644 src/main/java/com/yolo/keyborad/mapper/KeyboardFeedbackMapper.java create mode 100644 src/main/java/com/yolo/keyborad/model/dto/user/FeedbackSubmitReq.java create mode 100644 src/main/java/com/yolo/keyborad/model/entity/KeyboardFeedback.java create mode 100644 src/main/java/com/yolo/keyborad/service/KeyboardFeedbackService.java create mode 100644 src/main/java/com/yolo/keyborad/service/impl/KeyboardFeedbackServiceImpl.java create mode 100644 src/main/resources/mapper/KeyboardFeedbackMapper.xml diff --git a/src/main/java/com/yolo/keyborad/controller/UserController.java b/src/main/java/com/yolo/keyborad/controller/UserController.java index dc3a196..cb747fb 100644 --- a/src/main/java/com/yolo/keyborad/controller/UserController.java +++ b/src/main/java/com/yolo/keyborad/controller/UserController.java @@ -6,6 +6,7 @@ import com.yolo.keyborad.common.BaseResponse; import com.yolo.keyborad.common.ResultUtils; import com.yolo.keyborad.model.dto.AppleLoginReq; import com.yolo.keyborad.model.dto.user.*; +import com.yolo.keyborad.model.entity.KeyboardFeedback; import com.yolo.keyborad.model.entity.KeyboardUser; import com.yolo.keyborad.model.vo.user.KeyboardUserInfoRespVO; import com.yolo.keyborad.model.vo.user.KeyboardUserRespVO; @@ -42,6 +43,9 @@ public class UserController { @Resource private UserService userService; + @Resource + private com.yolo.keyborad.service.KeyboardFeedbackService feedbackService; + /** * 苹果登录 * @@ -117,4 +121,14 @@ public class UserController { return ResultUtils.success(userService.resetPassWord(resetPassWordDTO)); } + @PostMapping("/feedback") + @Operation(summary = "提交反馈", description = "用户提交反馈接口") + public BaseResponse submitFeedback(@RequestBody FeedbackSubmitReq req) { + KeyboardFeedback feedback = new KeyboardFeedback(); + feedback.setContent(req.getContent()); + feedback.setCreatedAt(new java.util.Date()); + return ResultUtils.success(feedbackService.save(feedback)); + } + + } \ No newline at end of file diff --git a/src/main/java/com/yolo/keyborad/mapper/KeyboardFeedbackMapper.java b/src/main/java/com/yolo/keyborad/mapper/KeyboardFeedbackMapper.java new file mode 100644 index 0000000..0447171 --- /dev/null +++ b/src/main/java/com/yolo/keyborad/mapper/KeyboardFeedbackMapper.java @@ -0,0 +1,12 @@ +package com.yolo.keyborad.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yolo.keyborad.model.entity.KeyboardFeedback; + +/* +* @author: ziin +* @date: 2025/12/17 17:06 +*/ + +public interface KeyboardFeedbackMapper extends BaseMapper { +} \ No newline at end of file diff --git a/src/main/java/com/yolo/keyborad/model/dto/user/FeedbackSubmitReq.java b/src/main/java/com/yolo/keyborad/model/dto/user/FeedbackSubmitReq.java new file mode 100644 index 0000000..4366cfa --- /dev/null +++ b/src/main/java/com/yolo/keyborad/model/dto/user/FeedbackSubmitReq.java @@ -0,0 +1,18 @@ +package com.yolo.keyborad.model.dto.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * 用户反馈提交请求 + */ +@Data +@Schema(description = "用户反馈提交请求") +public class FeedbackSubmitReq { + + /** + * 反馈内容 + */ + @Schema(description = "反馈内容", required = true) + private String content; +} diff --git a/src/main/java/com/yolo/keyborad/model/entity/KeyboardFeedback.java b/src/main/java/com/yolo/keyborad/model/entity/KeyboardFeedback.java new file mode 100644 index 0000000..c4fb700 --- /dev/null +++ b/src/main/java/com/yolo/keyborad/model/entity/KeyboardFeedback.java @@ -0,0 +1,43 @@ +package com.yolo.keyborad.model.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import java.util.Date; +import lombok.Data; + +/* +* @author: ziin +* @date: 2025/12/17 17:06 +*/ + +/** + * 用户反馈表 + */ +@Schema(description="用户反馈表") +@Data +@TableName(value = "keyboard_feedback") +public class KeyboardFeedback { + /** + * 主键ID + */ + @TableId(value = "id", type = IdType.AUTO) + @Schema(description="主键ID") + private Long id; + + /** + * 用户反馈内容 + */ + @TableField(value = "content") + @Schema(description="用户反馈内容") + private String content; + + /** + * 反馈创建时间 + */ + @TableField(value = "created_at") + @Schema(description="反馈创建时间") + private Date createdAt; +} \ No newline at end of file diff --git a/src/main/java/com/yolo/keyborad/service/KeyboardFeedbackService.java b/src/main/java/com/yolo/keyborad/service/KeyboardFeedbackService.java new file mode 100644 index 0000000..b9154a5 --- /dev/null +++ b/src/main/java/com/yolo/keyborad/service/KeyboardFeedbackService.java @@ -0,0 +1,13 @@ +package com.yolo.keyborad.service; + +import com.yolo.keyborad.model.entity.KeyboardFeedback; +import com.baomidou.mybatisplus.extension.service.IService; + /* +* @author: ziin +* @date: 2025/12/17 17:06 +*/ + +public interface KeyboardFeedbackService extends IService{ + + +} diff --git a/src/main/java/com/yolo/keyborad/service/impl/KeyboardFeedbackServiceImpl.java b/src/main/java/com/yolo/keyborad/service/impl/KeyboardFeedbackServiceImpl.java new file mode 100644 index 0000000..78cefae --- /dev/null +++ b/src/main/java/com/yolo/keyborad/service/impl/KeyboardFeedbackServiceImpl.java @@ -0,0 +1,18 @@ +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.extension.service.impl.ServiceImpl; +import com.yolo.keyborad.mapper.KeyboardFeedbackMapper; +import com.yolo.keyborad.model.entity.KeyboardFeedback; +import com.yolo.keyborad.service.KeyboardFeedbackService; +/* +* @author: ziin +* @date: 2025/12/17 17:06 +*/ + +@Service +public class KeyboardFeedbackServiceImpl extends ServiceImpl implements KeyboardFeedbackService{ + +} diff --git a/src/main/resources/mapper/KeyboardFeedbackMapper.xml b/src/main/resources/mapper/KeyboardFeedbackMapper.xml new file mode 100644 index 0000000..849c1df --- /dev/null +++ b/src/main/resources/mapper/KeyboardFeedbackMapper.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + id, content, created_at + + \ No newline at end of file