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