| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package com.nb.im.service;
- import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
- import com.nb.common.crud.BaseService;
- import com.nb.im.entity.ChatRoomEntity;
- import com.nb.im.enums.ImStatusEnum;
- import com.nb.im.enums.SponsorEnum;
- import com.nb.im.mapper.ChatRoomMapper;
- import com.nb.im.service.dto.ChatRoomDto;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Lazy;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- /**
- * @author lifang
- * @version 1.0.0
- * @ClassName LocalChatRoomSerice.java
- * @Description TODO
- * @createTime 2022年08月16日 09:30:00
- */
- @Service
- public class LocalChatRoomService extends BaseService<ChatRoomMapper, ChatRoomEntity,String> {
- @Autowired
- @Lazy
- private LocalChatRoomUserService chatRoomUserService;
- @Override
- public void validateBeforeSave(ChatRoomEntity entity) {
- }
- @Override
- public void validateBeforeUpdate(ChatRoomEntity entity) {
- }
- @Override
- public void validateBeforeDelete(String id) {
- }
- /**
- * 描述: 创建聊天室
- * @author lifang
- * @date 2022/8/16 16:46
- * @param source
- * @return void
- */
- @Transactional(rollbackFor = Exception.class)
- public ChatRoomEntity createChatRoom(ChatRoomDto source) {
- ChatRoomEntity result = new ChatRoomEntity();
- result.setAssistId(source.getAssistId());
- result.setPatientId(source.getPatientId());
- result.setPatientAge(source.getPatientAge());
- result.setPatientCode(source.getPatientCode());
- result.setPatientName(source.getPatientName());
- result.setPatientSex(source.getPatientSex());
- result.setDoctorId(source.getDoctorId());
- result.setSponsorType(source.getSponsorType());
- result.setTotalCount(0);
- //等待医生确认
- result.setStatus(source.getStatus());
- this.save(result);
- chatRoomUserService.createRoomUser(result.getId(),source.getAssistId(),SponsorEnum.assist);
- chatRoomUserService.createRoomUser(result.getId(),source.getDoctorId(),SponsorEnum.doctor);
- return result;
- }
- /**
- * 描述: 与看护人成功建立联系
- * @author lifang
- * @date 2022/8/16 16:48
- * @param chatRoomId
- * @param doctorId
- * @return void
- */
- @Transactional(rollbackFor = Exception.class)
- public void successChatRoom(String chatRoomId,String doctorId) {
- chatRoomUserService.createRoomUser(chatRoomId,doctorId,SponsorEnum.doctor);
- this.update(new UpdateWrapper<ChatRoomEntity>()
- .lambda()
- .eq(ChatRoomEntity::getId,chatRoomId)
- .set(ChatRoomEntity::getStatus,ImStatusEnum.SUCCESS)
- );
- }
- }
|