|
|
@@ -27,6 +27,7 @@ import com.fs.course.dto.BatchUrgeCourseDTO;
|
|
|
import com.fs.course.mapper.FsCourseWatchLogMapper;
|
|
|
import com.fs.course.mapper.FsUserCompanyUserMapper;
|
|
|
import com.fs.course.mapper.FsUserCourseMapper;
|
|
|
+import com.fs.course.param.SendCourseRequestParam;
|
|
|
import com.fs.fastGpt.service.AiHookService;
|
|
|
import com.fs.his.domain.FsDoctor;
|
|
|
import com.fs.his.domain.FsFollow;
|
|
|
@@ -1173,7 +1174,7 @@ public class OpenIMServiceImpl implements OpenIMService {
|
|
|
extension.setAppRealLink(batchSendCourseDTO.getUrl());
|
|
|
extension.setCourseUrl(courseUrl);
|
|
|
extension.setSendTime(new Date(planSendTimeStamp));
|
|
|
- openImBatchMsgDTO.setSendTime(planSendTimeStamp);
|
|
|
+// openImBatchMsgDTO.setSendTime(planSendTimeStamp);
|
|
|
|
|
|
PayloadDTO payload = new PayloadDTO();
|
|
|
payload.setData("course");
|
|
|
@@ -1669,4 +1670,73 @@ public class OpenIMServiceImpl implements OpenIMService {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public OpenImResponseDTO getJoinedGroupList(String userID, int pageNumber, int showNumber) {
|
|
|
+ String adminToken = getAdminToken();
|
|
|
+ log.info("已获取到管理token:{}", adminToken);
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
+ Map<String,Object> map = new HashMap<>();
|
|
|
+ map.put("pageNumber", pageNumber);
|
|
|
+ map.put("showNumber", showNumber);
|
|
|
+ jsonObject.set("fromUserID",userID);
|
|
|
+ jsonObject.set("pagination", map);
|
|
|
+ String body = HttpRequest.post(IMConfig.URL+"/group/get_joined_group_list")
|
|
|
+ .header("operationID", String.valueOf(System.currentTimeMillis()))
|
|
|
+ .header("token", adminToken)
|
|
|
+ .body(jsonObject.toString())
|
|
|
+ .execute()
|
|
|
+ .body();
|
|
|
+ OpenImResponseDTO responseDTO= JSONUtil.toBean(body,OpenImResponseDTO.class);
|
|
|
+
|
|
|
+ return responseDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public OpenImResponseDTO sendCourseToGroup(SendCourseRequestParam sendCourseRequestParam) throws JsonProcessingException {
|
|
|
+ ObjectMapper objectMapper = new ObjectMapper();
|
|
|
+ objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
|
|
|
+ try {
|
|
|
+ // 注册销售账号,主要是防止没有自动创建销售账号的情况
|
|
|
+ accountCheck("C" + sendCourseRequestParam.getCompanyUserId(), "2");
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("异步执行IM注册/添加好友失败:", e);
|
|
|
+ }
|
|
|
+
|
|
|
+ FsUserCourse fsUserCourse = fsUserCourseMapper.selectFsUserCourseByCourseId(sendCourseRequestParam.getCourseId());
|
|
|
+ String courseUrl = fsUserCourse != null ? fsUserCourse.getImgUrl() : null;
|
|
|
+
|
|
|
+ OpenImMsgDTO.Content content = new OpenImMsgDTO.Content();
|
|
|
+ OpenImMsgDTO.ImData imData = new OpenImMsgDTO.ImData();
|
|
|
+ PayloadDTO.Extension extension = new PayloadDTO.Extension();
|
|
|
+ extension.setTitle(sendCourseRequestParam.getTitle());
|
|
|
+ extension.setAppRealLink(sendCourseRequestParam.getUrl());
|
|
|
+ extension.setSendTime(new Date());
|
|
|
+ extension.setCourseUrl(courseUrl);
|
|
|
+ PayloadDTO payload = new PayloadDTO();
|
|
|
+ payload.setData("course");
|
|
|
+ payload.setExtension(extension);
|
|
|
+ imData.setPayload(payload);
|
|
|
+ String imJson = objectMapper.writeValueAsString(imData);
|
|
|
+ content.setData(imJson);
|
|
|
+
|
|
|
+ OpenImMsgDTO.OfflinePushInfo offlinePushInfo = new OpenImMsgDTO.OfflinePushInfo();
|
|
|
+ offlinePushInfo.setDesc(sendCourseRequestParam.getTitle());
|
|
|
+ CompanyUser companyUser = companyUserMapper.selectCompanyUserById(sendCourseRequestParam.getCompanyUserId());
|
|
|
+ offlinePushInfo.setTitle(companyUser != null ? companyUser.getNickName(): null);
|
|
|
+ offlinePushInfo.setIOSBadgeCount(true);
|
|
|
+ offlinePushInfo.setIOSPushSound("");
|
|
|
+
|
|
|
+ OpenImMsgDTO openImMsgDTO = new OpenImMsgDTO();
|
|
|
+ openImMsgDTO.setOfflinePushInfo(offlinePushInfo);
|
|
|
+ openImMsgDTO.setContent(content);
|
|
|
+
|
|
|
+ openImMsgDTO.setSendID("C"+sendCourseRequestParam.getCompanyUserId());
|
|
|
+ openImMsgDTO.setGroupID(String.valueOf(sendCourseRequestParam.getGroupId()));
|
|
|
+ openImMsgDTO.setContentType(110);
|
|
|
+ openImMsgDTO.setSessionType(3); //群聊
|
|
|
+
|
|
|
+ log.info("发课程到群,参数: {}", JSON.toJSONString(openImMsgDTO));
|
|
|
+ return openIMSendMsg(openImMsgDTO);
|
|
|
+ }
|
|
|
+
|
|
|
}
|