|
@@ -3,6 +3,7 @@ package com.fs.im.service.impl;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.http.HttpRequest;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
@@ -36,6 +37,7 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.json.JSONArray;
|
|
|
import org.json.JSONObject;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -67,6 +69,9 @@ public class OpenIMServiceImpl implements OpenIMService {
|
|
|
@Autowired
|
|
|
@Lazy
|
|
|
private AiHookService aiHookService;
|
|
|
+
|
|
|
+ @Value("${openIM.prefix}")
|
|
|
+ private String openImPrefix;
|
|
|
/*@Autowired
|
|
|
private IFsUserService fsUserService;*/
|
|
|
@Override
|
|
@@ -459,16 +464,21 @@ public class OpenIMServiceImpl implements OpenIMService {
|
|
|
log.info("进入发消息的方法");
|
|
|
String adminToken = getAdminToken();
|
|
|
JSONObject jsonObject = new JSONObject(openImMsgDTO);
|
|
|
+ String url = IMConfig.URL+"/msg/send_msg";
|
|
|
+ log.info("请求url: {}",url);
|
|
|
log.info("发送消息的请求体:\n{}", jsonObject.toString());
|
|
|
long time = new Date().getTime();
|
|
|
- String result = HttpRequest.post(IMConfig.URL+"/msg/send_msg")
|
|
|
+
|
|
|
+ log.info("请求header: token={},operationID={}",adminToken,time);
|
|
|
+ String result = HttpRequest.post(url)
|
|
|
.header("operationID", time + "")
|
|
|
.header("token",adminToken)
|
|
|
.body(jsonObject.toString())
|
|
|
.execute()
|
|
|
.body();
|
|
|
+
|
|
|
OpenImResponseDTO responseDTO= JSONUtil.toBean(result,OpenImResponseDTO.class);
|
|
|
- log.info("发送消息返回内容:\n{}", responseDTO);
|
|
|
+ log.info("发送消息返回内容:\n{}", result);
|
|
|
return responseDTO;
|
|
|
}
|
|
|
@Override
|
|
@@ -502,14 +512,12 @@ public class OpenIMServiceImpl implements OpenIMService {
|
|
|
openImMsgDTO.setOfflinePushInfo(offlinePushInfo);
|
|
|
openImMsgDTO.setContent(content);
|
|
|
|
|
|
-
|
|
|
-
|
|
|
openImMsgDTO.setSendID(IMConfig.PREFIX+"C"+companyUserId);
|
|
|
openImMsgDTO.setRecvID(IMConfig.PREFIX+"U"+userId);
|
|
|
openImMsgDTO.setContentType(110);
|
|
|
openImMsgDTO.setSessionType(1);
|
|
|
// 输出格式化JSON日志
|
|
|
- log.info("课程消息:\n{}", objectMapper.writeValueAsString(openImMsgDTO));
|
|
|
+ log.info("课程消息: {}", JSON.toJSONString(openImMsgDTO));
|
|
|
OpenImResponseDTO openImResponseDTO = openIMSendMsg(openImMsgDTO);
|
|
|
openImMsgDTO = null;
|
|
|
content = null;
|
|
@@ -899,7 +907,7 @@ public class OpenIMServiceImpl implements OpenIMService {
|
|
|
String s = "";
|
|
|
switch (type){
|
|
|
case "2":
|
|
|
- s = userId.replaceFirst("^scrmC", "");
|
|
|
+ s = userId.replaceFirst("^"+openImPrefix+"C", "");
|
|
|
CompanyUser companyUser = companyUserMapper.selectCompanyUserByCompanyUserId(Long.parseLong(s));
|
|
|
if (null==companyUser){
|
|
|
return R.error("用户不存在");
|
|
@@ -911,7 +919,7 @@ public class OpenIMServiceImpl implements OpenIMService {
|
|
|
map.put("faceURL",companyUser.getAvatar());
|
|
|
break;
|
|
|
case "1":
|
|
|
- s = userId.replaceFirst("^scrmU", "");
|
|
|
+ s = userId.replaceFirst("^"+openImPrefix+"U", "");
|
|
|
FsUser fsUser = fsUserMapper.selectFsUserByUserId(Long.parseLong(s));
|
|
|
if (null==fsUser){
|
|
|
return R.error("用户不存在");
|
|
@@ -921,7 +929,7 @@ public class OpenIMServiceImpl implements OpenIMService {
|
|
|
map.put("faceURL",fsUser.getAvatar());
|
|
|
break;
|
|
|
case "3":
|
|
|
- s = userId.replaceFirst("^scrmD", "");
|
|
|
+ s = userId.replaceFirst("^"+openImPrefix+"D", "");
|
|
|
FsDoctor fsDoctor = fsDoctorMapper.selectFsDoctorByDoctorId(Long.parseLong(s));
|
|
|
if (null==fsDoctor){
|
|
|
return R.error("用户不存在");
|