From e0ea1f4a21321f145be79556896181f23f22b708 Mon Sep 17 00:00:00 2001
From: gongzuming <gongzuming>
Date: 星期四, 29 八月 2024 09:33:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master-v2

---
 src/main/java/com/mzl/flower/service/content/FeedbackService.java |   74 +++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/content/FeedbackService.java b/src/main/java/com/mzl/flower/service/content/FeedbackService.java
new file mode 100644
index 0000000..d74e3a3
--- /dev/null
+++ b/src/main/java/com/mzl/flower/service/content/FeedbackService.java
@@ -0,0 +1,74 @@
+package com.mzl.flower.service.content;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.config.exception.ValidationException;
+import com.mzl.flower.config.security.SecurityUtils;
+import com.mzl.flower.dto.request.content.AddFeedbackDTO;
+import com.mzl.flower.dto.request.content.QueryFeedBackDTO;
+import com.mzl.flower.dto.request.content.ReplyFeedbackDTO;
+import com.mzl.flower.dto.response.content.FeedbackDTO;
+import com.mzl.flower.entity.content.Feedback;
+import com.mzl.flower.mapper.content.FeedbackMapper;
+import com.mzl.flower.utils.DateUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Service
+@Transactional
+public class FeedbackService {
+
+    private final FeedbackMapper feedbackMapper;
+
+
+    public FeedbackService(FeedbackMapper feedbackMapper) {
+        this.feedbackMapper = feedbackMapper;
+    }
+
+    public void add(AddFeedbackDTO dto) {
+        Feedback feedback = new Feedback();
+        feedback.setFeedBack(dto.getFeedBack());
+        feedback.setType(dto.getType());
+        feedback.setPictures(dto.getPictures());
+        feedback.setUserId(SecurityUtils.getUserId());
+        feedback.setHandled(false);
+        feedback.create(SecurityUtils.getUserId());
+        feedbackMapper.insert(feedback);
+    }
+
+    public Page<FeedbackDTO> queryPage(QueryFeedBackDTO dto, Page page) {
+        if(StringUtils.isNotBlank(dto.getCreateDateBeginStr())){
+            dto.setCreateDateBegin(DateUtils.dateToLocalDateTime(dto.getCreateDateBeginStr(),true));
+        }
+        if(StringUtils.isNotBlank(dto.getCreateDateEndStr())){
+            dto.setCreateDateEnd(DateUtils.dateToLocalDateTime(dto.getCreateDateEndStr(),false));
+        }
+        List<FeedbackDTO> list = feedbackMapper.queryPage(dto, page);
+        page.setRecords(list);
+        return page;
+    }
+
+    public FeedbackDTO detail(Long id) {
+        QueryFeedBackDTO dto = new QueryFeedBackDTO();
+        dto.setId(id);
+        List<FeedbackDTO> list = feedbackMapper.queryPage(dto, new Page(1,1));
+        if(list != null && list.size() > 0){
+            return list.get(0);
+        }
+        return null;
+    }
+
+    public void reply(ReplyFeedbackDTO dto) {
+        Feedback feedback = feedbackMapper.selectById(dto.getId());
+        if(feedback == null){
+            throw new ValidationException("投诉反馈不存在");
+        }
+        feedback.setReply(dto.getReply());
+        feedback.setHandled(true);
+        feedback.setReplyTime(LocalDateTime.now());
+        feedbackMapper.updateById(feedback);
+    }
+}

--
Gitblit v1.9.3