|
|
|
|
@@ -17,16 +17,17 @@ import com.njcn.cssystem.service.CsFeedbackService;
|
|
|
|
|
import com.njcn.cssystem.service.CsFilePathService;
|
|
|
|
|
import com.njcn.oss.constant.OssPath;
|
|
|
|
|
import com.njcn.oss.utils.FileStorageUtil;
|
|
|
|
|
import com.njcn.user.api.UserFeignClient;
|
|
|
|
|
import com.njcn.user.pojo.po.User;
|
|
|
|
|
import com.njcn.web.utils.RequestUtil;
|
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Objects;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@@ -45,6 +46,8 @@ public class CsFeedbackServiceImpl extends ServiceImpl<CsFeedbackMapper, CsFeedb
|
|
|
|
|
private final FileStorageUtil fileStorageUtil;
|
|
|
|
|
private final CsFilePathService csFilePathService;
|
|
|
|
|
private final CsFeedbackChatService csFeedbackChatService;
|
|
|
|
|
private final UserFeignClient userFeignClient;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public Boolean addFeedBack(CsFeedbackAddParm csFeedbackAddParm) {
|
|
|
|
|
@@ -81,7 +84,7 @@ public class CsFeedbackServiceImpl extends ServiceImpl<CsFeedbackMapper, CsFeedb
|
|
|
|
|
QueryWrapper<CsFeedbackPO> queryWrapper = new QueryWrapper<> ();
|
|
|
|
|
queryWrapper.eq ("user_id",RequestUtil.getUserIndex()).
|
|
|
|
|
eq (StringUtils.isNotBlank (csFeedbackQueryParm.getType ()),"type",csFeedbackQueryParm.getType ()).
|
|
|
|
|
eq (StringUtils.isNotBlank (csFeedbackQueryParm.getStatus ()),"status",csFeedbackQueryParm.getStatus ());
|
|
|
|
|
eq (StringUtils.isNotBlank (csFeedbackQueryParm.getStatus ()),"status",csFeedbackQueryParm.getStatus ()).orderByDesc("create_time");
|
|
|
|
|
Page<CsFeedbackPO> csFeedbackPOPage = this.getBaseMapper ( ).selectPage (page, queryWrapper);
|
|
|
|
|
QueryWrapper<CsFeedbackChatPO> csFeedbackChatPOQueryWrapper = new QueryWrapper<> ();
|
|
|
|
|
List<CsFeedbackVO> collect = csFeedbackPOPage.getRecords ( ).stream ( ).map (temp -> {
|
|
|
|
|
@@ -113,9 +116,23 @@ public class CsFeedbackServiceImpl extends ServiceImpl<CsFeedbackMapper, CsFeedb
|
|
|
|
|
}).collect (Collectors.toList ( ));
|
|
|
|
|
csFeedbackDetailVO.setImageUrls (collect);
|
|
|
|
|
QueryWrapper<CsFeedbackChatPO> csFeedbackChatPOQueryWrapper = new QueryWrapper();
|
|
|
|
|
csFeedbackChatPOQueryWrapper.eq ("id", id).eq ("status", "1").orderByAsc ("create_time");
|
|
|
|
|
csFeedbackChatPOQueryWrapper.eq ("id", id).eq ("status", "1").orderByDesc ("create_time");
|
|
|
|
|
List<CsFeedbackChatPO> list1 = csFeedbackChatService.list (csFeedbackChatPOQueryWrapper);
|
|
|
|
|
csFeedbackDetailVO.setCsFeedbackChatPOList (list1);
|
|
|
|
|
|
|
|
|
|
List<String> collect1 = list1.stream().map(CsFeedbackChatPO::getUserId).distinct().collect(Collectors.toList());
|
|
|
|
|
Map<String, String> collect2;
|
|
|
|
|
if(!CollectionUtils.isEmpty(collect1)){
|
|
|
|
|
List<User> userTem = userFeignClient.getUserByIdList(collect1).getData();
|
|
|
|
|
collect2 = userTem.stream().collect(Collectors.toMap(User::getId, User::getName, (e1, e2) -> e1 + "," + e2));
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
collect2 = new HashMap<>();
|
|
|
|
|
}
|
|
|
|
|
list1.stream().forEach(temp ->{
|
|
|
|
|
temp.setUserName(collect2.get(temp.getUserId()));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
csFeedbackDetailVO.setCsFeedbackChatPOList (list1);
|
|
|
|
|
return csFeedbackDetailVO;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|