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