反馈修改

This commit is contained in:
huangzj
2023-08-22 13:34:13 +08:00
parent c77ab6ee3e
commit 4477c2e8c8
4 changed files with 33 additions and 8 deletions

View File

@@ -202,8 +202,8 @@ public class CsDeviceUserPOServiceImpl extends ServiceImpl<CsDeviceUserPOMapper,
@Override @Override
public String isPrimaryUser(String deviceId) { public String isPrimaryUser(String deviceId) {
String userIndex = RequestUtil.getUserIndex(); String userIndex = RequestUtil.getUserIndex();
CsDeviceUserPO one = this.lambdaQuery().eq(CsDeviceUserPO::getDeviceId, deviceId).eq(CsDeviceUserPO::getStatus,"1" ).eq(CsDeviceUserPO::getPrimaryUserId, userIndex).one(); List<CsDeviceUserPO> list = this.lambdaQuery().eq(CsDeviceUserPO::getDeviceId, deviceId).eq(CsDeviceUserPO::getStatus, "1").eq(CsDeviceUserPO::getPrimaryUserId, userIndex).list();
String number = Objects.isNull(one) ? "0" : "1"; String number = CollectionUtils.isEmpty(list) ? "0" : "1";
return number; return number;
} }

View File

@@ -24,6 +24,8 @@ public class CsFeedbackChatPO extends BaseEntity {
@TableField(value = "user_id") @TableField(value = "user_id")
private String userId; private String userId;
@TableField(exist = false)
private String userName;
/** /**
* 消息内容 * 消息内容
*/ */

View File

@@ -60,6 +60,12 @@
<artifactId>dynamic-datasource-spring-boot-starter</artifactId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.1</version> <version>3.5.1</version>
</dependency> </dependency>
<dependency>
<groupId>com.njcn</groupId>
<artifactId>user-api</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>

View File

@@ -17,16 +17,17 @@ import com.njcn.cssystem.service.CsFeedbackService;
import com.njcn.cssystem.service.CsFilePathService; import com.njcn.cssystem.service.CsFilePathService;
import com.njcn.oss.constant.OssPath; import com.njcn.oss.constant.OssPath;
import com.njcn.oss.utils.FileStorageUtil; 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 com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@@ -45,6 +46,8 @@ public class CsFeedbackServiceImpl extends ServiceImpl<CsFeedbackMapper, CsFeedb
private final FileStorageUtil fileStorageUtil; private final FileStorageUtil fileStorageUtil;
private final CsFilePathService csFilePathService; private final CsFilePathService csFilePathService;
private final CsFeedbackChatService csFeedbackChatService; private final CsFeedbackChatService csFeedbackChatService;
private final UserFeignClient userFeignClient;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean addFeedBack(CsFeedbackAddParm csFeedbackAddParm) { public Boolean addFeedBack(CsFeedbackAddParm csFeedbackAddParm) {
@@ -81,7 +84,7 @@ public class CsFeedbackServiceImpl extends ServiceImpl<CsFeedbackMapper, CsFeedb
QueryWrapper<CsFeedbackPO> queryWrapper = new QueryWrapper<> (); QueryWrapper<CsFeedbackPO> queryWrapper = new QueryWrapper<> ();
queryWrapper.eq ("user_id",RequestUtil.getUserIndex()). queryWrapper.eq ("user_id",RequestUtil.getUserIndex()).
eq (StringUtils.isNotBlank (csFeedbackQueryParm.getType ()),"type",csFeedbackQueryParm.getType ()). 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); Page<CsFeedbackPO> csFeedbackPOPage = this.getBaseMapper ( ).selectPage (page, queryWrapper);
QueryWrapper<CsFeedbackChatPO> csFeedbackChatPOQueryWrapper = new QueryWrapper<> (); QueryWrapper<CsFeedbackChatPO> csFeedbackChatPOQueryWrapper = new QueryWrapper<> ();
List<CsFeedbackVO> collect = csFeedbackPOPage.getRecords ( ).stream ( ).map (temp -> { List<CsFeedbackVO> collect = csFeedbackPOPage.getRecords ( ).stream ( ).map (temp -> {
@@ -113,9 +116,23 @@ public class CsFeedbackServiceImpl extends ServiceImpl<CsFeedbackMapper, CsFeedb
}).collect (Collectors.toList ( )); }).collect (Collectors.toList ( ));
csFeedbackDetailVO.setImageUrls (collect); csFeedbackDetailVO.setImageUrls (collect);
QueryWrapper<CsFeedbackChatPO> csFeedbackChatPOQueryWrapper = new QueryWrapper(); 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); 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; return csFeedbackDetailVO;
} }
} }