|
|
@@ -70,7 +70,37 @@ public class FeedbackServiceImpl extends MPJBaseServiceImpl<FeedbackMapper, Feed
|
|
|
.eq(StringUtils.isNotEmpty(dto.getTerminalType()), Feedback::getTerminalType, dto.getTerminalType())
|
|
|
.orderByDesc(Feedback::getCreateDate)
|
|
|
;
|
|
|
- return this.selectJoinListPage(ConventPage.getPage(dto), FeedbackPageVo.class, feedbackMPJLambdaWrapper);
|
|
|
+ IPage<FeedbackPageVo> page = this.selectJoinListPage(ConventPage.getPage(dto), FeedbackPageVo.class, feedbackMPJLambdaWrapper);
|
|
|
+
|
|
|
+ // 处理最后一条反馈内容
|
|
|
+ List<FeedbackPageVo> dataList = page.getRecords();
|
|
|
+ if(CollectionUtils.isNotEmpty(dataList)){
|
|
|
+ List<String> ids = dataList.stream()
|
|
|
+ .map(FeedbackPageVo::getId)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ if(CollectionUtils.isNotEmpty(ids)){
|
|
|
+ List<FeedbackItem> feedbackItems = feedbackItemMapper.selectList(
|
|
|
+ Wrappers.lambdaQuery(FeedbackItem.class)
|
|
|
+ .in(FeedbackItem::getFeedbackId, ids)
|
|
|
+ );
|
|
|
+
|
|
|
+ Map<Long, List<FeedbackItem>> groupByFeedbackId = feedbackItems.stream()
|
|
|
+ .collect(Collectors.groupingBy(FeedbackItem::getFeedbackId));
|
|
|
+
|
|
|
+ for (FeedbackPageVo vo : page.getRecords()){
|
|
|
+ List<FeedbackItem> feedbackItemList = groupByFeedbackId.get(Long.parseLong(vo.getId()));
|
|
|
+ if(CollectionUtils.isNotEmpty(feedbackItemList)){
|
|
|
+ feedbackItemList.sort(Comparator.comparing(FeedbackItem::getCreateDate).reversed());
|
|
|
+ FeedbackItem lastOne = feedbackItemList.get(0);
|
|
|
+ if(ObjectUtils.isNotEmpty(lastOne)){
|
|
|
+ vo.setFeedbackTime(lastOne.getCreateDate());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return page;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -112,6 +142,7 @@ public class FeedbackServiceImpl extends MPJBaseServiceImpl<FeedbackMapper, Feed
|
|
|
feedbackItemList.sort(Comparator.comparing(FeedbackItem::getCreateDate).reversed());
|
|
|
FeedbackItem lastOne = feedbackItemList.get(0);
|
|
|
if(ObjectUtils.isNotEmpty(lastOne)){
|
|
|
+ vo.setFeedbackTime(lastOne.getCreateDate());
|
|
|
vo.setFeedback(lastOne.getFeedback());
|
|
|
vo.setReply(lastOne.getReply());
|
|
|
}
|
|
|
@@ -171,7 +202,7 @@ public class FeedbackServiceImpl extends MPJBaseServiceImpl<FeedbackMapper, Feed
|
|
|
LocalDateTime nowLocalDateTime = LocalDateTime.now();
|
|
|
Long loginId = StpUtil.getLoginIdAsLong();
|
|
|
|
|
|
- // 如果没有传入了意见反馈主键id表示为新增反馈,应该添加主表记录
|
|
|
+ // 如果没有传入意见反馈主键id表示为新增反馈,应该添加主表记录
|
|
|
if(ObjectUtils.isEmpty(dto.getFeedbackId())){
|
|
|
Feedback feedback = new Feedback();
|
|
|
feedback.setCreateDate(nowLocalDateTime);
|
|
|
@@ -226,6 +257,7 @@ public class FeedbackServiceImpl extends MPJBaseServiceImpl<FeedbackMapper, Feed
|
|
|
Long loginId = StpUtil.getLoginIdAsLong();
|
|
|
|
|
|
FeedbackItem feedbackItem = BeanUtil.toBean(dto, FeedbackItem.class);
|
|
|
+ feedbackItem.setId(dto.getId());
|
|
|
feedbackItem.setModifyDate(nowLocalDateTime);
|
|
|
feedbackItem.setModifyUserId(loginId);
|
|
|
|
|
|
@@ -234,7 +266,7 @@ public class FeedbackServiceImpl extends MPJBaseServiceImpl<FeedbackMapper, Feed
|
|
|
feedbackItem.setReplyTime(nowLocalDateTime);
|
|
|
feedbackItem.setReplyReadStatus(0);
|
|
|
|
|
|
- feedbackItemMapper.insert(feedbackItem);
|
|
|
+ feedbackItemMapper.updateById(feedbackItem);
|
|
|
|
|
|
// 处理主反馈的状态
|
|
|
Feedback updateFeedback = new Feedback();
|
|
|
@@ -250,11 +282,11 @@ public class FeedbackServiceImpl extends MPJBaseServiceImpl<FeedbackMapper, Feed
|
|
|
;
|
|
|
List<FeedbackItem> replyLFeedbackItems = feedbackItemMapper.selectList(replyLambdaQueryWrapper);
|
|
|
if(CollectionUtils.isEmpty(replyLFeedbackItems)){
|
|
|
- updateFeedback.setHandleReadStatus(1);
|
|
|
+ updateFeedback.setHandleStatus(1);
|
|
|
updateFeedback.setHandleTime(nowLocalDateTime);
|
|
|
}
|
|
|
|
|
|
- updateFeedback.setHandleReadStatus(0);
|
|
|
+ updateFeedback.setHandleReadStatus(1);
|
|
|
|
|
|
this.updateById(updateFeedback);
|
|
|
return true;
|
|
|
@@ -269,7 +301,7 @@ public class FeedbackServiceImpl extends MPJBaseServiceImpl<FeedbackMapper, Feed
|
|
|
throw new MyException("当前反馈已被修改,请刷新重试");
|
|
|
}
|
|
|
|
|
|
- // 将所有已经处理反馈项阅读
|
|
|
+ // 将所有已经处理的反馈项阅读
|
|
|
LambdaUpdateWrapper<FeedbackItem> feedbackItemLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
|
|
|
feedbackItemLambdaUpdateWrapper
|
|
|
.set(FeedbackItem::getReplyReadStatus, 1)
|
|
|
@@ -280,7 +312,7 @@ public class FeedbackServiceImpl extends MPJBaseServiceImpl<FeedbackMapper, Feed
|
|
|
|
|
|
this.updateById(new Feedback(){{
|
|
|
setId(dto.getId());
|
|
|
- setHandleReadStatus(1);
|
|
|
+ setHandleReadStatus(0);
|
|
|
}});
|
|
|
return true;
|
|
|
}
|