|
@@ -24,6 +24,7 @@ import org.dromara.main.mapper.CsSessionMapper;
|
|
|
import org.dromara.main.mapper.MainCompanyApplyMapper;
|
|
import org.dromara.main.mapper.MainCompanyApplyMapper;
|
|
|
import org.dromara.main.service.ICsMessageService;
|
|
import org.dromara.main.service.ICsMessageService;
|
|
|
import org.dromara.main.service.ICsSessionService;
|
|
import org.dromara.main.service.ICsSessionService;
|
|
|
|
|
+import org.springframework.messaging.simp.SimpMessagingTemplate;
|
|
|
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.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
@@ -53,6 +54,7 @@ public class CsMessageServiceImpl implements ICsMessageService {
|
|
|
private final SysUserMapper sysUserMapper;
|
|
private final SysUserMapper sysUserMapper;
|
|
|
private final ICsSessionService sessionService;
|
|
private final ICsSessionService sessionService;
|
|
|
private final Converter converter;
|
|
private final Converter converter;
|
|
|
|
|
+ private final SimpMessagingTemplate messagingTemplate;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public TableDataInfo<CsMessageVo> queryHistoryMessages(Long sessionId, Long beforeMsgId, PageQuery pageQuery) {
|
|
public TableDataInfo<CsMessageVo> queryHistoryMessages(Long sessionId, Long beforeMsgId, PageQuery pageQuery) {
|
|
@@ -90,7 +92,9 @@ public class CsMessageServiceImpl implements ICsMessageService {
|
|
|
sessionService.updateLastMessage(bo.getSessionId(),
|
|
sessionService.updateLastMessage(bo.getSessionId(),
|
|
|
StrUtil.sub(bo.getContent(), 0, 100));
|
|
StrUtil.sub(bo.getContent(), 0, 100));
|
|
|
|
|
|
|
|
- return converter.convert(message, CsMessageVo.class);
|
|
|
|
|
|
|
+ CsMessageVo vo = converter.convert(message, CsMessageVo.class);
|
|
|
|
|
+ messagingTemplate.convertAndSend("/topic/session/" + bo.getSessionId(), vo);
|
|
|
|
|
+ return vo;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -127,7 +131,9 @@ public class CsMessageServiceImpl implements ICsMessageService {
|
|
|
baseMapper.insert(message);
|
|
baseMapper.insert(message);
|
|
|
sessionService.updateLastMessage(sessionId, "[图片]");
|
|
sessionService.updateLastMessage(sessionId, "[图片]");
|
|
|
|
|
|
|
|
- return converter.convert(message, CsMessageVo.class);
|
|
|
|
|
|
|
+ CsMessageVo vo = converter.convert(message, CsMessageVo.class);
|
|
|
|
|
+ messagingTemplate.convertAndSend("/topic/session/" + sessionId, vo);
|
|
|
|
|
+ return vo;
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
throw new RuntimeException("上传图片失败: " + e.getMessage(), e);
|
|
throw new RuntimeException("上传图片失败: " + e.getMessage(), e);
|
|
|
}
|
|
}
|
|
@@ -167,7 +173,9 @@ public class CsMessageServiceImpl implements ICsMessageService {
|
|
|
baseMapper.insert(message);
|
|
baseMapper.insert(message);
|
|
|
sessionService.updateLastMessage(sessionId, "[文件]" + fileName);
|
|
sessionService.updateLastMessage(sessionId, "[文件]" + fileName);
|
|
|
|
|
|
|
|
- return converter.convert(message, CsMessageVo.class);
|
|
|
|
|
|
|
+ CsMessageVo vo = converter.convert(message, CsMessageVo.class);
|
|
|
|
|
+ messagingTemplate.convertAndSend("/topic/session/" + sessionId, vo);
|
|
|
|
|
+ return vo;
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
throw new RuntimeException("上传文件失败: " + e.getMessage(), e);
|
|
throw new RuntimeException("上传文件失败: " + e.getMessage(), e);
|
|
|
}
|
|
}
|
|
@@ -191,7 +199,9 @@ public class CsMessageServiceImpl implements ICsMessageService {
|
|
|
baseMapper.insert(message);
|
|
baseMapper.insert(message);
|
|
|
sessionService.updateLastMessage(bo.getSessionId(), "[岗位推荐]");
|
|
sessionService.updateLastMessage(bo.getSessionId(), "[岗位推荐]");
|
|
|
|
|
|
|
|
- return converter.convert(message, CsMessageVo.class);
|
|
|
|
|
|
|
+ CsMessageVo vo = converter.convert(message, CsMessageVo.class);
|
|
|
|
|
+ messagingTemplate.convertAndSend("/topic/session/" + bo.getSessionId(), vo);
|
|
|
|
|
+ return vo;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|