对比新文件 |
| | |
| | | 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); |
| | | } |
| | | } |