|
@@ -9,7 +9,6 @@ import com.baomidou.mybatisplus.core.mapper.Mapper;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
import java.util.concurrent.atomic.AtomicLong;
|
|
import java.util.concurrent.atomic.AtomicLong;
|
|
|
|
|
|
|
|
-import com.nb.app.assistant.api.feign.IAssistantUserBindClient;
|
|
|
|
|
import com.nb.auth.utils.SecurityUtil;
|
|
import com.nb.auth.utils.SecurityUtil;
|
|
|
import com.nb.common.crud.BaseService;
|
|
import com.nb.common.crud.BaseService;
|
|
|
import com.nb.common.crud.controller.BaseSaveController;
|
|
import com.nb.common.crud.controller.BaseSaveController;
|
|
@@ -23,8 +22,8 @@ import com.nb.im.entity.ImRoomEntity;
|
|
|
import com.nb.im.room.ImRoomOperator;
|
|
import com.nb.im.room.ImRoomOperator;
|
|
|
import com.nb.im.room.ImRoomOperatorManager;
|
|
import com.nb.im.room.ImRoomOperatorManager;
|
|
|
import com.nb.im.service.LocalImMsgService;
|
|
import com.nb.im.service.LocalImMsgService;
|
|
|
-import com.nb.im.service.dto.ImRoomDetailDto;
|
|
|
|
|
-import com.nb.im.service.dto.ImRoomDto;
|
|
|
|
|
|
|
+import com.nb.im.service.dto.ImRoomDTO;
|
|
|
|
|
+import com.nb.im.service.dto.ImRoomDetailDTO;
|
|
|
import com.nb.im.enums.ImStatusEnum;
|
|
import com.nb.im.enums.ImStatusEnum;
|
|
|
import com.nb.im.enums.SponsorEnum;
|
|
import com.nb.im.enums.SponsorEnum;
|
|
|
import com.nb.im.service.LocalImRoomService;
|
|
import com.nb.im.service.LocalImRoomService;
|
|
@@ -62,7 +61,7 @@ public class ImRoomController implements BaseSaveController<ImRoomEntity,String>
|
|
|
|
|
|
|
|
@ApiOperation(value = "查询并自动创建与病人看护人的聊天室",notes = "若存在,则返回聊天室信息,若不存在,则返回空")
|
|
@ApiOperation(value = "查询并自动创建与病人看护人的聊天室",notes = "若存在,则返回聊天室信息,若不存在,则返回空")
|
|
|
@PostMapping("/look")
|
|
@PostMapping("/look")
|
|
|
- public R<ImRoomEntity> getChatRoom(@RequestBody@Validated ImRoomDto source){
|
|
|
|
|
|
|
+ public R<ImRoomEntity> getChatRoom(@RequestBody@Validated ImRoomDTO source){
|
|
|
log.info("查询并自动创建与病人看护人的聊天室,{}", JSONUtil.toJsonStr(source));
|
|
log.info("查询并自动创建与病人看护人的聊天室,{}", JSONUtil.toJsonStr(source));
|
|
|
if(Boolean.TRUE.equals(source.isAutoCreate())&&StrUtil.isEmpty(source.getDoctorNickname())){
|
|
if(Boolean.TRUE.equals(source.isAutoCreate())&&StrUtil.isEmpty(source.getDoctorNickname())){
|
|
|
throw new CustomException("医生昵称不可为空");
|
|
throw new CustomException("医生昵称不可为空");
|
|
@@ -98,17 +97,17 @@ public class ImRoomController implements BaseSaveController<ImRoomEntity,String>
|
|
|
public R<List<ImRoomResult>> list(@RequestBody @Validated ImRoomQuery query){
|
|
public R<List<ImRoomResult>> list(@RequestBody @Validated ImRoomQuery query){
|
|
|
List<ImRoomResult> result= imRoomService.getBaseMapper().queryPageNoneMsgBlurry(query);
|
|
List<ImRoomResult> result= imRoomService.getBaseMapper().queryPageNoneMsgBlurry(query);
|
|
|
String userId = String.valueOf(SecurityUtil.getId());
|
|
String userId = String.valueOf(SecurityUtil.getId());
|
|
|
- result.forEach(room->
|
|
|
|
|
- room.setUnreadCount( roomOperatorManager.getRoomOperator(room.getId())
|
|
|
|
|
- .unReadCount(userId))
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ result.parallelStream().forEach(room->
|
|
|
|
|
+ room.setUnreadCount( roomOperatorManager.getRoomOperator(room)
|
|
|
|
|
+ .unReadCount(userId)
|
|
|
|
|
+ ));
|
|
|
return R.success(result);
|
|
return R.success(result);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@GetMapping("/view/{id}")
|
|
@GetMapping("/view/{id}")
|
|
|
@ApiOperation(value = "根据id查询聊天室")
|
|
@ApiOperation(value = "根据id查询聊天室")
|
|
|
- public R<ImRoomDetailDto> getById(@PathVariable("id") String id){
|
|
|
|
|
- ImRoomDetailDto result= BeanUtil.toBean(imRoomService.getById(id),ImRoomDetailDto.class);
|
|
|
|
|
|
|
+ public R<ImRoomDetailDTO> getById(@PathVariable("id") String id){
|
|
|
|
|
+ ImRoomDetailDTO result= BeanUtil.toBean(imRoomService.getById(id), ImRoomDetailDTO.class);
|
|
|
if(result!=null){
|
|
if(result!=null){
|
|
|
result.setUnreadCount( roomOperatorManager.getRoomOperator(result.getId())
|
|
result.setUnreadCount( roomOperatorManager.getRoomOperator(result.getId())
|
|
|
.unReadCount( String.valueOf(SecurityUtil.getId())));
|
|
.unReadCount( String.valueOf(SecurityUtil.getId())));
|