From 4c2cb4f0e5c3b6f0e7e611371df53a16f7f8e85e Mon Sep 17 00:00:00 2001 From: MichaelWin Date: Mon, 1 Dec 2025 16:46:54 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/corewing/app/entity/FeedbackLog.java | 62 +++++++++++++++++++ .../app/mapper/FeedbackLogMapper.java | 10 +++ .../modules/app/AppFeedbackLogController.java | 33 ++++++++++ .../app/service/FeedbackLogService.java | 10 +++ .../service/impl/FeedbackLogServiceImpl.java | 30 +++++++++ 5 files changed, 145 insertions(+) create mode 100644 src/main/java/com/corewing/app/entity/FeedbackLog.java create mode 100644 src/main/java/com/corewing/app/mapper/FeedbackLogMapper.java create mode 100644 src/main/java/com/corewing/app/modules/app/AppFeedbackLogController.java create mode 100644 src/main/java/com/corewing/app/service/FeedbackLogService.java create mode 100644 src/main/java/com/corewing/app/service/impl/FeedbackLogServiceImpl.java diff --git a/src/main/java/com/corewing/app/entity/FeedbackLog.java b/src/main/java/com/corewing/app/entity/FeedbackLog.java new file mode 100644 index 0000000..ce90dab --- /dev/null +++ b/src/main/java/com/corewing/app/entity/FeedbackLog.java @@ -0,0 +1,62 @@ +package com.corewing.app.entity; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Date; + +/** + * 反馈日志 + */ +@Data +@TableName("app_feedback_log") +public class FeedbackLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(value = "id", type = IdType.AUTO) + private Long id; + + /** + * 反馈用户id + */ + private Long userId; + + /** + * oss地址 + */ + private String ossPath; + + /** + * 日志文件大小 + */ + private Long logSize; + + /** + * 反馈日志内容 + */ + private String logContent; + + /** + * 日志文件名称 + */ + private String logName; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updateTime; + +} diff --git a/src/main/java/com/corewing/app/mapper/FeedbackLogMapper.java b/src/main/java/com/corewing/app/mapper/FeedbackLogMapper.java new file mode 100644 index 0000000..18e71ff --- /dev/null +++ b/src/main/java/com/corewing/app/mapper/FeedbackLogMapper.java @@ -0,0 +1,10 @@ +package com.corewing.app.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.corewing.app.entity.FeedbackLog; +import lombok.Data; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface FeedbackLogMapper extends BaseMapper { +} diff --git a/src/main/java/com/corewing/app/modules/app/AppFeedbackLogController.java b/src/main/java/com/corewing/app/modules/app/AppFeedbackLogController.java new file mode 100644 index 0000000..0abe930 --- /dev/null +++ b/src/main/java/com/corewing/app/modules/app/AppFeedbackLogController.java @@ -0,0 +1,33 @@ +package com.corewing.app.modules.app; + +import com.corewing.app.common.Result; +import com.corewing.app.entity.FeedbackLog; +import com.corewing.app.service.FeedbackLogService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; + +/** + * 上传日志接口控制器 + */ +@RestController +@RequestMapping("/feedback_log") +public class AppFeedbackLogController { + + @Resource + private FeedbackLogService feedbackLogService; + + /** + * 上传日志 + * @param feedbackLog + * @return + */ + @PostMapping("/uploadFeedbackLog") + public Result uploadFeedbackLog(MultipartFile file, FeedbackLog feedbackLog) { + return Result.isBool(feedbackLogService.uploadFeedbackLog(file, feedbackLog)); + } + +} diff --git a/src/main/java/com/corewing/app/service/FeedbackLogService.java b/src/main/java/com/corewing/app/service/FeedbackLogService.java new file mode 100644 index 0000000..7ca4b4b --- /dev/null +++ b/src/main/java/com/corewing/app/service/FeedbackLogService.java @@ -0,0 +1,10 @@ +package com.corewing.app.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.corewing.app.entity.FeedbackLog; +import org.springframework.web.multipart.MultipartFile; + +public interface FeedbackLogService extends IService { + + boolean uploadFeedbackLog(MultipartFile file, FeedbackLog feedbackLog); +} diff --git a/src/main/java/com/corewing/app/service/impl/FeedbackLogServiceImpl.java b/src/main/java/com/corewing/app/service/impl/FeedbackLogServiceImpl.java new file mode 100644 index 0000000..ea9cf67 --- /dev/null +++ b/src/main/java/com/corewing/app/service/impl/FeedbackLogServiceImpl.java @@ -0,0 +1,30 @@ +package com.corewing.app.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.corewing.app.entity.FeedbackLog; +import com.corewing.app.mapper.FeedbackLogMapper; +import com.corewing.app.service.FeedbackLogService; +import com.corewing.app.util.OSSUploadUtil; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; + +@Service +public class FeedbackLogServiceImpl extends ServiceImpl implements FeedbackLogService { + + @Override + public boolean uploadFeedbackLog(MultipartFile file, FeedbackLog feedbackLog) { + + feedbackLog.setLogSize(file.getSize()); + feedbackLog.setLogName(feedbackLog.getUserId() + "_" + file.getOriginalFilename()); + + try { + String ossPath = OSSUploadUtil.uploadFile(file.getInputStream(), "feedback_log/" + feedbackLog.getLogName()); + feedbackLog.setOssPath(ossPath); + return save(feedbackLog); + } catch (IOException e) { + return false; + } + } +}