15376779826 1 月之前
父节点
当前提交
b478ab2586
共有 54 个文件被更改,包括 420 次插入135 次删除
  1. 7 0
      fs-common/src/main/java/com/fs/common/enums/ImTypeEnum.java
  2. 5 1
      fs-company/src/main/java/com/fs/company/controller/company/CompanyProfileController.java
  3. 16 10
      fs-doctor-app/src/main/java/com/fs/app/controller/DrugReportController.java
  4. 13 8
      fs-doctor-app/src/main/java/com/fs/app/controller/InquiryOrderController.java
  5. 32 22
      fs-service/src/main/java/com/fs/his/service/impl/FsDoctorServiceImpl.java
  6. 38 34
      fs-service/src/main/java/com/fs/his/service/impl/FsFollowServiceImpl.java
  7. 57 35
      fs-service/src/main/java/com/fs/his/service/impl/FsInquiryOrderServiceImpl.java
  8. 5 1
      fs-service/src/main/java/com/fs/his/service/impl/FsUserServiceImpl.java
  9. 22 0
      fs-service/src/main/java/com/fs/im/config/ImTypeConfig.java
  10. 1 1
      fs-service/src/main/java/com/fs/utils/FileCacheService.java
  11. 2 1
      fs-service/src/main/resources/application-config-dev.yml
  12. 3 0
      fs-service/src/main/resources/application-dev.yml
  13. 4 0
      fs-service/src/main/resources/application-druid-bjczwh.yml
  14. 4 0
      fs-service/src/main/resources/application-druid-bnkc.yml
  15. 4 0
      fs-service/src/main/resources/application-druid-drk-test.yml
  16. 4 0
      fs-service/src/main/resources/application-druid-drk.yml
  17. 6 0
      fs-service/src/main/resources/application-druid-fby-test.yml
  18. 4 0
      fs-service/src/main/resources/application-druid-fby.yml
  19. 4 0
      fs-service/src/main/resources/application-druid-hcl.yml
  20. 4 0
      fs-service/src/main/resources/application-druid-hdt.yml
  21. 4 0
      fs-service/src/main/resources/application-druid-hyt-test.yml
  22. 4 0
      fs-service/src/main/resources/application-druid-hyt.yml
  23. 4 0
      fs-service/src/main/resources/application-druid-hzyy.yml
  24. 6 0
      fs-service/src/main/resources/application-druid-jkj.yml
  25. 4 0
      fs-service/src/main/resources/application-druid-jnlzjk.yml
  26. 4 0
      fs-service/src/main/resources/application-druid-jnmy-test.yml
  27. 4 0
      fs-service/src/main/resources/application-druid-jnmy.yml
  28. 4 0
      fs-service/src/main/resources/application-druid-jzzx-test.yml
  29. 4 0
      fs-service/src/main/resources/application-druid-jzzx.yml
  30. 4 0
      fs-service/src/main/resources/application-druid-kyt.yml
  31. 6 0
      fs-service/src/main/resources/application-druid-lmjy-test.yml
  32. 6 0
      fs-service/src/main/resources/application-druid-lmjy.yml
  33. 4 0
      fs-service/src/main/resources/application-druid-myhk-test.yml
  34. 4 0
      fs-service/src/main/resources/application-druid-myhk.yml
  35. 4 0
      fs-service/src/main/resources/application-druid-nmgyt.yml
  36. 6 0
      fs-service/src/main/resources/application-druid-qdtst-test.yml
  37. 4 0
      fs-service/src/main/resources/application-druid-qdtst.yml
  38. 4 0
      fs-service/src/main/resources/application-druid-sft-test.yml
  39. 4 0
      fs-service/src/main/resources/application-druid-sft.yml
  40. 4 0
      fs-service/src/main/resources/application-druid-sxjz.yml
  41. 6 0
      fs-service/src/main/resources/application-druid-syysy-test.yml
  42. 4 0
      fs-service/src/main/resources/application-druid-syysy.yml
  43. 4 0
      fs-service/src/main/resources/application-druid-whhm.yml
  44. 4 0
      fs-service/src/main/resources/application-druid-xfk.yml
  45. 4 0
      fs-service/src/main/resources/application-druid-xzt.yml
  46. 6 0
      fs-service/src/main/resources/application-druid-yjb.yml
  47. 6 0
      fs-service/src/main/resources/application-druid-yzt.yml
  48. 4 0
      fs-service/src/main/resources/application-druid-zkzh-test.yml
  49. 4 0
      fs-service/src/main/resources/application-druid-zkzh.yml
  50. 6 0
      fs-service/src/main/resources/application-druid-zsjk.yml
  51. 2 0
      fs-service/src/main/resources/application-druid.yml
  52. 38 18
      fs-user-app/src/main/java/com/fs/app/controller/FollowController.java
  53. 3 3
      fs-user-app/src/main/java/com/fs/app/controller/UserController.java
  54. 6 1
      fs-user-app/src/main/java/com/fs/app/controller/WxUserController.java

+ 7 - 0
fs-common/src/main/java/com/fs/common/enums/ImTypeEnum.java

@@ -0,0 +1,7 @@
+package com.fs.common.enums;
+
+public enum ImTypeEnum {
+    NONE,
+    TENCENT,
+    OPENIM;
+}

+ 5 - 1
fs-company/src/main/java/com/fs/company/controller/company/CompanyProfileController.java

@@ -6,6 +6,7 @@ import com.fs.common.core.controller.BaseController;
 import com.fs.common.core.domain.AjaxResult;
 import com.fs.common.core.redis.RedisCache;
 import com.fs.common.enums.BusinessType;
+import com.fs.common.enums.ImTypeEnum;
 import com.fs.common.utils.PatternUtils;
 import com.fs.common.utils.ServletUtils;
 import com.fs.common.utils.file.FileUploadUtils;
@@ -15,6 +16,7 @@ import com.fs.company.service.ICompanyUserService;
 import com.fs.framework.security.LoginUser;
 import com.fs.framework.security.SecurityUtils;
 import com.fs.framework.service.TokenService;
+import com.fs.im.config.ImTypeConfig;
 import com.fs.im.service.OpenIMService;
 import com.fs.system.service.ISysConfigService;
 import org.springframework.beans.BeanUtils;
@@ -71,7 +73,9 @@ public class CompanyProfileController extends BaseController
         if (userService.updateUserProfile(user) > 0)
         {
             //修改im用户信息
-            openIMService.updateUserInfo(user);
+            if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+                openIMService.updateUserInfo(user);
+            }
             LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
             // 更新缓存用户信息
             loginUser.getUser().setNickName(user.getNickName());

+ 16 - 10
fs-doctor-app/src/main/java/com/fs/app/controller/DrugReportController.java

@@ -8,6 +8,7 @@ import com.fs.app.param.DrugReportAddParam;
 import com.fs.app.param.DrugReportFinishParam;
 import com.fs.common.annotation.RepeatSubmit;
 import com.fs.common.core.domain.R;
+import com.fs.common.enums.ImTypeEnum;
 import com.fs.his.domain.FsDoctor;
 import com.fs.his.domain.FsDrugReport;
 import com.fs.his.domain.FsFollow;
@@ -22,6 +23,7 @@ import com.fs.his.vo.FsDrugReportDVO;
 import com.fs.his.vo.FsDrugReportListDVO;
 import com.fs.his.vo.FsFollowListDVO;
 import com.fs.im.config.IMConfig;
+import com.fs.im.config.ImTypeConfig;
 import com.fs.im.dto.*;
 import com.fs.im.service.IImService;
 import com.fs.im.service.OpenIMService;
@@ -109,11 +111,13 @@ public class DrugReportController extends AppBaseController {
             msg.setMsgContent(new MsgDataFormatDTO("drugReport",ext,report.getReportId().toString()));
             msgs.add(msg);
             msgDTO.setMsgBody(msgs);
-            //imService.sendMsg(msgDTO);
-            ObjectMapper objectMapper = new ObjectMapper();
-            String ex = objectMapper.writeValueAsString(customDTO);
-            openIMService.sendUtil("D"+follow.getDoctorId(),"U"+follow.getUserId(),110,"drugReport","","","",report.getReportId().toString(),ex);
-
+            if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+                ObjectMapper objectMapper = new ObjectMapper();
+                String ex = objectMapper.writeValueAsString(customDTO);
+                openIMService.sendUtil("D"+follow.getDoctorId(),"U"+follow.getUserId(),110,"drugReport","","","",report.getReportId().toString(),ex);
+            }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+                imService.sendMsg(msgDTO);
+            }
             fsDrugReportCountService.addReportCountByUserIdAndDoctorId(follow.getUserId(),follow.getDoctorId());
 
             return R.ok();
@@ -144,11 +148,13 @@ public class DrugReportController extends AppBaseController {
         msg.setMsgContent(new MsgDataFormatDTO("您的用药咨询报告已出具,本次咨询结束"));
         msgs.add(msg);
         msgDTO.setMsgBody(msgs);
-        //imService.sendMsg(msgDTO);
-        ObjectMapper objectMapper = new ObjectMapper();
-        String ex = objectMapper.writeValueAsString(customDTO);
-        openIMService.sendUtil("D"+follow.getDoctorId(),"U"+follow.getUserId(),110,"finishDrugReport","","您的用药咨询报告已出具,本次咨询结束","","",ex);
-
+        if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+            ObjectMapper objectMapper = new ObjectMapper();
+            String ex = objectMapper.writeValueAsString(customDTO);
+            openIMService.sendUtil("D"+follow.getDoctorId(),"U"+follow.getUserId(),110,"finishDrugReport","","您的用药咨询报告已出具,本次咨询结束","","",ex);
+        }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+            imService.sendMsg(msgDTO);
+        }
         redisTemplate.delete("DrugReport:doctorId:" + follow.getDoctorId() + ":userId:" + follow.getUserId());
         return R.ok();
 

+ 13 - 8
fs-doctor-app/src/main/java/com/fs/app/controller/InquiryOrderController.java

@@ -15,6 +15,7 @@ import com.fs.common.core.domain.AjaxResult;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.page.TableDataInfo;
 import com.fs.common.enums.BusinessType;
+import com.fs.common.enums.ImTypeEnum;
 import com.fs.common.utils.SecurityUtils;
 import com.fs.common.utils.StringUtils;
 import com.fs.common.utils.ip.IpUtils;
@@ -27,6 +28,7 @@ import com.fs.his.enums.FsInquiryOrderStatusEnum;
 import com.fs.his.param.*;
 import com.fs.his.service.*;
 import com.fs.his.vo.*;
+import com.fs.im.config.ImTypeConfig;
 import com.fs.im.dto.MsgCustomDTO;
 import com.fs.im.dto.MsgDTO;
 import com.fs.im.dto.MsgDataDTO;
@@ -295,15 +297,15 @@ public class InquiryOrderController extends  AppBaseController {
 
         }
         FsInquiryOrder inquiryOrder=inquiryOrderService.selectFsInquiryOrderByOrderId(report.getOrderId());
-        /*MsgDTO msgDTO=new MsgDTO();
+        MsgDTO msgDTO=new MsgDTO();
         msgDTO.setFrom_Account("D-"+report.getDoctorId().toString());
-        msgDTO.setTo_Account("U-"+report.getUserId().toString());*/
+        msgDTO.setTo_Account("U-"+report.getUserId().toString());
         MsgCustomDTO customDTO=new MsgCustomDTO();
         customDTO.setType("startInquiry");
         customDTO.setImType(1);
         customDTO.setOrderType(inquiryOrder.getOrderType());
         customDTO.setOrderId(report.getOrderId().toString());
-        /*msgDTO.setCloudCustomData(JSONUtil.toJsonStr(customDTO));
+        msgDTO.setCloudCustomData(JSONUtil.toJsonStr(customDTO));
         List<MsgDataDTO> msgs=new ArrayList<>();
         MsgDataDTO msg=new MsgDataDTO();
         String ext= JSONUtil.toJsonStr(report);
@@ -311,11 +313,14 @@ public class InquiryOrderController extends  AppBaseController {
         msg.setMsgContent(new MsgDataFormatDTO("report",ext,orderId));
         msg.setMsgType("TIMCustomElem");//TIMCustomElem
         msgs.add(msg);
-        msgDTO.setMsgBody(msgs);*/
-        //imService.sendMsg(msgDTO);
-        ObjectMapper objectMapper = new ObjectMapper();
-        String ex = objectMapper.writeValueAsString(customDTO);
-        openIMService.sendUtil("D"+report.getDoctorId(),"U"+report.getUserId(),110,"report","","","",report.getOrderId().toString(),ex);
+        msgDTO.setMsgBody(msgs);
+        if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+            ObjectMapper objectMapper = new ObjectMapper();
+            String ex = objectMapper.writeValueAsString(customDTO);
+            openIMService.sendUtil("D"+report.getDoctorId(),"U"+report.getUserId(),110,"report","","","",report.getOrderId().toString(),ex);
+        }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+            imService.sendMsg(msgDTO);
+        }
         /*JSONObject jsonObject = new JSONObject();
         OpenImMsgDTO openImMsgDTO = new OpenImMsgDTO();
         openImMsgDTO.setSendID("D"+report.getDoctorId().toString());

+ 32 - 22
fs-service/src/main/java/com/fs/his/service/impl/FsDoctorServiceImpl.java

@@ -3,6 +3,7 @@ package com.fs.his.service.impl;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fs.common.enums.ImTypeEnum;
 import com.fs.common.exception.CustomException;
 import com.fs.common.utils.DateUtils;
 import com.fs.common.utils.SecurityUtils;
@@ -23,6 +24,7 @@ import com.fs.his.utils.HttpUtil;
 import com.fs.his.utils.qrcode.QRCodeUtils;
 import com.fs.his.vo.*;
 import com.fs.im.config.IMConfig;
+import com.fs.im.config.ImTypeConfig;
 import com.fs.im.dto.*;
 import com.fs.im.service.IImService;
 import com.fs.im.service.OpenIMService;
@@ -416,10 +418,14 @@ public class FsDoctorServiceImpl implements IFsDoctorService
                         msg.setMsgType("TIMCustomElem");//TIMCustomElem
                         msgs.add(msg);
                         msgDTO.setMsgBody(msgs);
+                        if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+                            ObjectMapper objectMapper = new ObjectMapper();
+                            String ex = objectMapper.writeValueAsString(customDTO3);
+                            openIMService.sendUtil("D"+fsFollow.getDoctorId(),"U"+fsFollow.getUserId(),110,"follow","","",followId,"",ex);
+                        }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+                            imService.sendMsg(msgDTO);
+                        }
                         //imService.sendMsg(msgDTO);
-                        ObjectMapper objectMapper = new ObjectMapper();
-                        String ex = objectMapper.writeValueAsString(customDTO3);
-                        openIMService.sendUtil("D"+fsFollow.getDoctorId(),"U"+fsFollow.getUserId(),110,"follow","","",followId,"",ex);
                         /*OpenImMsgDTO openImMsgDTO = new OpenImMsgDTO();
                         openImMsgDTO.setSendID("D"+fsFollow.getDoctorId().toString());
                         openImMsgDTO.setRecvID("U"+fsFollow.getUserId().toString());
@@ -449,25 +455,29 @@ public class FsDoctorServiceImpl implements IFsDoctorService
                         msg2.setMsgType("TIMTextElem");//TIMCustomElem
                         msgs2.add(msg2);
                         msgDTO2.setMsgBody(msgs2);
-                        //imService.sendMsg(msgDTO2);
-                        OpenImMsgDTO openImMsgDTO1 = new OpenImMsgDTO();
-                        openImMsgDTO1.setSendID("D"+fsFollow.getDoctorId().toString());
-                        openImMsgDTO1.setRecvID("U"+fsFollow.getUserId().toString());
-                        openImMsgDTO1.setContentType(101);
-                        openImMsgDTO1.setSenderPlatformID(5);
-                        openImMsgDTO1.setSessionType(1);
-                        OpenImMsgDTO.Content content1 = new OpenImMsgDTO.Content();
-                        content1.setContent("尊敬的用户,为了您的健康,请认真填写随访单,以便医生随时了解您的用药情况,评估治疗效果。如果在用药中出现任何不适,可直接在对话框中描述您目前的情况,我将及时为您解答!");
-                        openImMsgDTO1.setContent(content1);
-                        //openImMsgDTO.setEx(customDTO);
-                        OpenImMsgDTO.OfflinePushInfo offlinePushInfo = new OpenImMsgDTO.OfflinePushInfo();
-                        offlinePushInfo.setDesc(content1.getContent());
-                        String doctorNameByIds = fsDoctorMapper.selectDoctorNameByIds(fsFollow.getDoctorId().toString());
-                        offlinePushInfo.setTitle(doctorNameByIds);
-                        offlinePushInfo.setIOSBadgeCount(true);
-                        offlinePushInfo.setIOSPushSound("");
-                        openImMsgDTO1.setOfflinePushInfo(offlinePushInfo);
-                        openIMService.openIMSendMsg(openImMsgDTO1);
+                        if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+                            OpenImMsgDTO openImMsgDTO1 = new OpenImMsgDTO();
+                            openImMsgDTO1.setSendID("D"+fsFollow.getDoctorId().toString());
+                            openImMsgDTO1.setRecvID("U"+fsFollow.getUserId().toString());
+                            openImMsgDTO1.setContentType(101);
+                            openImMsgDTO1.setSenderPlatformID(5);
+                            openImMsgDTO1.setSessionType(1);
+                            OpenImMsgDTO.Content content1 = new OpenImMsgDTO.Content();
+                            content1.setContent("尊敬的用户,为了您的健康,请认真填写随访单,以便医生随时了解您的用药情况,评估治疗效果。如果在用药中出现任何不适,可直接在对话框中描述您目前的情况,我将及时为您解答!");
+                            openImMsgDTO1.setContent(content1);
+                            //openImMsgDTO.setEx(customDTO);
+                            OpenImMsgDTO.OfflinePushInfo offlinePushInfo = new OpenImMsgDTO.OfflinePushInfo();
+                            offlinePushInfo.setDesc(content1.getContent());
+                            String doctorNameByIds = fsDoctorMapper.selectDoctorNameByIds(fsFollow.getDoctorId().toString());
+                            offlinePushInfo.setTitle(doctorNameByIds);
+                            offlinePushInfo.setIOSBadgeCount(true);
+                            offlinePushInfo.setIOSPushSound("");
+                            openImMsgDTO1.setOfflinePushInfo(offlinePushInfo);
+                            openIMService.openIMSendMsg(openImMsgDTO1);
+                        }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+                            imService.sendMsg(msgDTO2);
+                        }
+
                     }
                 }catch (Exception e){
                     log.error("随访失败!订单编号: {}",order.getOrderId(),e);

+ 38 - 34
fs-service/src/main/java/com/fs/his/service/impl/FsFollowServiceImpl.java

@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSON;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fs.common.annotation.Log;
+import com.fs.common.enums.ImTypeEnum;
 import com.fs.common.utils.DateUtils;
 import com.fs.his.domain.FsFollowTemp;
 import com.fs.his.domain.FsPackageOrder;
@@ -20,6 +21,7 @@ import com.fs.his.param.FsFollowParam;
 import com.fs.his.param.FsStoreOrderParam;
 import com.fs.his.vo.*;
 import com.fs.im.config.IMConfig;
+import com.fs.im.config.ImTypeConfig;
 import com.fs.im.dto.*;
 import com.fs.im.service.IImService;
 import com.fs.im.service.OpenIMService;
@@ -169,17 +171,17 @@ public class FsFollowServiceImpl implements IFsFollowService
             fsFollow.setFormJson(fsFollowTemp.getFormJson());
             fsFollow.setCreateTime(DateUtils.getNowDate());
             int i = fsFollowMapper.insertFsFollow(fsFollow);
-            //MsgDTO msgDTO=new MsgDTO();
+            MsgDTO msgDTO=new MsgDTO();
             MsgCustomDTO customDTO=new MsgCustomDTO();
             customDTO.setType("follow");
             customDTO.setOrderType(2);
             customDTO.setFollowId(fsFollow.getFollowId().toString());
             customDTO.setOrderId(fsFollow.getPackageOrderId().toString());
             customDTO.setImType(2);
-            //msgDTO.setCloudCustomData(JSONUtil.toJsonStr(customDTO));
+            msgDTO.setCloudCustomData(JSONUtil.toJsonStr(customDTO));
 
-            //msgDTO.setFrom_Account("D-"+fsFollow.getDoctorId());
-            //msgDTO.setTo_Account("U-"+fsFollow.getUserId());
+            msgDTO.setFrom_Account("D-"+fsFollow.getDoctorId());
+            msgDTO.setTo_Account("U-"+fsFollow.getUserId());
             List<MsgDataDTO> msgs=new ArrayList<>();
             MsgDataDTO msg=new MsgDataDTO();
             String ext= JSONUtil.toJsonStr(fsFollow);
@@ -187,11 +189,15 @@ public class FsFollowServiceImpl implements IFsFollowService
             msg.setMsgContent(new MsgDataFormatDTO("follow",ext,followId));
             msg.setMsgType("TIMCustomElem");//TIMCustomElem
             msgs.add(msg);
-            //msgDTO.setMsgBody(msgs);
-            //MsgResponseDTO msgResponseDTO = imService.sendMsg(msgDTO);
-            ObjectMapper objectMapper = new ObjectMapper();
-            String ex = objectMapper.writeValueAsString(customDTO);
-            OpenImResponseDTO follow = openIMService.sendUtil("D"+fsFollow.getDoctorId(), "U"+fsFollow.getUserId(), 110, "follow", "", "", followId, "",ex);
+            msgDTO.setMsgBody(msgs);
+            if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+                ObjectMapper objectMapper = new ObjectMapper();
+                String ex = objectMapper.writeValueAsString(customDTO);
+                OpenImResponseDTO follow = openIMService.sendUtil("D"+fsFollow.getDoctorId(), "U"+fsFollow.getUserId(), 110, "follow", "", "", followId, "",ex);
+                logger.info("发送随访"+follow);
+            }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+                MsgResponseDTO msgResponseDTO = imService.sendMsg(msgDTO);
+            }
             /*OpenImMsgDTO openImMsgDTO = new OpenImMsgDTO();
             openImMsgDTO.setSendID("D"+fsFollow.getDoctorId().toString());
             openImMsgDTO.setRecvID("U"+fsFollow.getUserId().toString());
@@ -203,9 +209,6 @@ public class FsFollowServiceImpl implements IFsFollowService
             openImMsgDTO.setContent(content);
             //openImMsgDTO.setEx(customDTO);
             OpenImResponseDTO openImResponseDTO = openIMService.openIMSendMsg(openImMsgDTO);*/
-
-            logger.info("发送随访"+follow);
-
             MsgDTO msgDTO2=new MsgDTO();
             msgDTO2.setCloudCustomData(JSONUtil.toJsonStr(customDTO));
 
@@ -218,28 +221,29 @@ public class FsFollowServiceImpl implements IFsFollowService
             msg2.setMsgType("TIMTextElem");//TIMCustomElem
             msgs2.add(msg2);
             msgDTO2.setMsgBody(msgs2);
-
-            //MsgResponseDTO msgResponseDTO2 = imService.sendMsg(msgDTO2);
-            OpenImMsgDTO openImMsgDTO1 = new OpenImMsgDTO();
-            openImMsgDTO1.setSendID("D"+fsFollow.getDoctorId().toString());
-            openImMsgDTO1.setRecvID("U"+fsFollow.getUserId().toString());
-            openImMsgDTO1.setContentType(101);
-            openImMsgDTO1.setSenderPlatformID(5);
-            openImMsgDTO1.setSessionType(1);
-            OpenImMsgDTO.Content content1 = new OpenImMsgDTO.Content();
-            content1.setContent("尊敬的用户,为了您的健康,请认真填写随访单,以便医生随时了解您的用药情况,评估治疗效果。如果在用药中出现任何不适,可直接在对话框中描述您目前的情况,我将及时为您解答!");
-            openImMsgDTO1.setContent(content1);
-            //openImMsgDTO.setEx(customDTO);
-            OpenImMsgDTO.OfflinePushInfo offlinePushInfo = new OpenImMsgDTO.OfflinePushInfo();
-            offlinePushInfo.setDesc(content1.getContent());
-            String doctorNameByIds = fsDoctorMapper.selectDoctorNameByIds(fsFollow.getDoctorId().toString());
-            offlinePushInfo.setTitle(doctorNameByIds);
-            offlinePushInfo.setIOSBadgeCount(true);
-            offlinePushInfo.setIOSPushSound("");
-            openImMsgDTO1.setOfflinePushInfo(offlinePushInfo);
-            OpenImResponseDTO openImResponseDTO1 = openIMService.openIMSendMsg(openImMsgDTO1);
-
-            logger.info("发送随访"+openImResponseDTO1);
+            if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+                OpenImMsgDTO openImMsgDTO1 = new OpenImMsgDTO();
+                openImMsgDTO1.setSendID("D"+fsFollow.getDoctorId().toString());
+                openImMsgDTO1.setRecvID("U"+fsFollow.getUserId().toString());
+                openImMsgDTO1.setContentType(101);
+                openImMsgDTO1.setSenderPlatformID(5);
+                openImMsgDTO1.setSessionType(1);
+                OpenImMsgDTO.Content content1 = new OpenImMsgDTO.Content();
+                content1.setContent("尊敬的用户,为了您的健康,请认真填写随访单,以便医生随时了解您的用药情况,评估治疗效果。如果在用药中出现任何不适,可直接在对话框中描述您目前的情况,我将及时为您解答!");
+                openImMsgDTO1.setContent(content1);
+                //openImMsgDTO.setEx(customDTO);
+                OpenImMsgDTO.OfflinePushInfo offlinePushInfo = new OpenImMsgDTO.OfflinePushInfo();
+                offlinePushInfo.setDesc(content1.getContent());
+                String doctorNameByIds = fsDoctorMapper.selectDoctorNameByIds(fsFollow.getDoctorId().toString());
+                offlinePushInfo.setTitle(doctorNameByIds);
+                offlinePushInfo.setIOSBadgeCount(true);
+                offlinePushInfo.setIOSPushSound("");
+                openImMsgDTO1.setOfflinePushInfo(offlinePushInfo);
+                OpenImResponseDTO openImResponseDTO1 = openIMService.openIMSendMsg(openImMsgDTO1);
+                logger.info("发送随访"+openImResponseDTO1);
+            }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+                MsgResponseDTO msgResponseDTO2 = imService.sendMsg(msgDTO2);
+            }
             if (i>0){
                 FsPackageOrder fsPackageOrder = new FsPackageOrder();
                 fsPackageOrder.setOrderId(order.getOrderId());

+ 57 - 35
fs-service/src/main/java/com/fs/his/service/impl/FsInquiryOrderServiceImpl.java

@@ -13,6 +13,7 @@ import com.fs.common.constant.FsConstants;
 import com.fs.common.core.domain.AjaxResult;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
+import com.fs.common.enums.ImTypeEnum;
 import com.fs.common.exception.CustomException;
 import com.fs.common.service.impl.SmsServiceImpl;
 import com.fs.common.utils.DateUtils;
@@ -45,6 +46,7 @@ import com.fs.huifuPay.domain.HuiFuRefundResult;
 import com.fs.huifuPay.sdk.opps.core.request.V2TradePaymentScanpayRefundRequest;
 import com.fs.huifuPay.service.HuiFuService;
 import com.fs.im.config.IMConfig;
+import com.fs.im.config.ImTypeConfig;
 import com.fs.im.dto.*;
 import com.fs.im.service.IImService;
 import com.fs.im.service.OpenIMService;
@@ -912,34 +914,37 @@ public class FsInquiryOrderServiceImpl implements IFsInquiryOrderService
 
             }
         }
-        //MsgDTO msgDTO=new MsgDTO();
+        MsgDTO msgDTO=new MsgDTO();
         MsgCustomDTO customDTO=new MsgCustomDTO();
         customDTO.setType("startInquiry");
         customDTO.setOrderType(order.getOrderType());
         customDTO.setOrderId(order.getOrderId().toString());
         customDTO.setImType(1);
-        /*msgDTO.setCloudCustomData(JSONUtil.toJsonStr(customDTO));
+        msgDTO.setCloudCustomData(JSONUtil.toJsonStr(customDTO));
         msgDTO.setFrom_Account("D-"+param.getDoctorId());
-        msgDTO.setTo_Account("U-"+order.getUserId());*/
-        /*List<MsgDataDTO> msgs=new ArrayList<>();
+        msgDTO.setTo_Account("U-"+order.getUserId());
+        List<MsgDataDTO> msgs=new ArrayList<>();
         MsgDataDTO msg=new MsgDataDTO();
-        msg.setMsgType("TIMCustomElem");*/
+        msg.setMsgType("TIMCustomElem");
         FsDoctor doctor=doctorMapper.selectFsDoctorByDoctorId(param.getDoctorId());
         String doc="医生";
         if (doctor.getDeptId()!=null&&doctor.getDeptId().compareTo(39L)==0){
             doc="药师";
         }
-        /*InquiryOrderMsgDTO inquiryOrderMsgDTO=new InquiryOrderMsgDTO();
+        InquiryOrderMsgDTO inquiryOrderMsgDTO=new InquiryOrderMsgDTO();
         inquiryOrderMsgDTO.setTitle(doctor.getDoctorName()+doc+"为您服务");
         String ext= JSONUtil.toJsonStr(inquiryOrderMsgDTO);
         msg.setMsgContent(new MsgDataFormatDTO("startInquiry",ext,order.getOrderId().toString()));
         msgs.add(msg);
-        msgDTO.setMsgBody(msgs);*/
-        //imService.sendMsg(msgDTO);
+        msgDTO.setMsgBody(msgs);
         ObjectMapper objectMapper = new ObjectMapper();
-        String ex = objectMapper.writeValueAsString(customDTO);
-        openIMService.sendUtil("D"+param.getDoctorId(),"U"+order.getUserId(),110,"startInquiry","",doctor.getDoctorName()+doc+"为您服务","","","");
-        /*OpenImMsgDTO openImMsgDTO = new OpenImMsgDTO();
+        if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+            String ex = objectMapper.writeValueAsString(customDTO);
+            openIMService.sendUtil("D"+param.getDoctorId(),"U"+order.getUserId(),110,"startInquiry","",doctor.getDoctorName()+doc+"为您服务","","","");
+        }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+            imService.sendMsg(msgDTO);
+        }
+                /*OpenImMsgDTO openImMsgDTO = new OpenImMsgDTO();
         openImMsgDTO.setSendID("D"+param.getDoctorId().toString());
         openImMsgDTO.setRecvID("U"+order.getUserId().toString());
         openImMsgDTO.setContentType(110);
@@ -967,11 +972,13 @@ public class FsInquiryOrderServiceImpl implements IFsInquiryOrderService
             msg1.setMsgContent(dto1);
             msgs1.add(msg1);
             msgDTO1.setMsgBody(msgs1);
-            //imService.sendMsg(msgDTO1);
 
-            ObjectMapper objectMapper1 = new ObjectMapper();
-            String ex1 = objectMapper.writeValueAsString(customDTO1);
-            openIMService.sendUtil("D"+param.getDoctorId(),"U"+order.getUserId(),110,"startInquiry","","您好,我是芸医汇互联网医院执业药师,请问您有什么问题想咨询?","","",ex1);
+            if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+                String ex1 = objectMapper.writeValueAsString(customDTO1);
+                openIMService.sendUtil("D"+param.getDoctorId(),"U"+order.getUserId(),110,"startInquiry","","您好,我是芸医汇互联网医院执业药师,请问您有什么问题想咨询?","","",ex1);
+            }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+                imService.sendMsg(msgDTO1);
+            }
             /*OpenImMsgDTO openImMsgDTO1 = new OpenImMsgDTO();
             openImMsgDTO1.setSendID("D"+param.getDoctorId().toString());
             openImMsgDTO1.setRecvID("U"+order.getUserId().toString());
@@ -1099,10 +1106,15 @@ public class FsInquiryOrderServiceImpl implements IFsInquiryOrderService
         msg.setMsgContent(new MsgDataFormatDTO("startInquiry",ext,order.getOrderId().toString()));
         msgs.add(msg);
         msgDTO.setMsgBody(msgs);
-        //imService.sendMsg(msgDTO);
         ObjectMapper objectMapper = new ObjectMapper();
-        String ex = objectMapper.writeValueAsString(customDTO);
-        openIMService.sendUtil("D"+order.getDoctorId(),"U"+order.getUserId(),110,"startInquiry","",doctor.getDoctorName()+doc+"为您服务","","",ex);
+
+        if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+            String ex = objectMapper.writeValueAsString(customDTO);
+            openIMService.sendUtil("D"+order.getDoctorId(),"U"+order.getUserId(),110,"startInquiry","",doctor.getDoctorName()+doc+"为您服务","","",ex);
+        }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+            imService.sendMsg(msgDTO);
+        }
+        //imService.sendMsg(msgDTO);
         /*OpenImMsgDTO openImMsgDTO = new OpenImMsgDTO();
         openImMsgDTO.setSendID("D"+order.getDoctorId().toString());
         openImMsgDTO.setRecvID("U"+order.getUserId().toString());
@@ -1132,11 +1144,13 @@ public class FsInquiryOrderServiceImpl implements IFsInquiryOrderService
             msgs1.add(msg1);
             msgDTO1.setMsgBody(msgs1);
             //imService.sendMsg(msgDTO1);
-
-            ObjectMapper objectMapper1 = new ObjectMapper();
-            String ex1 = objectMapper.writeValueAsString(customDTO1);
-            openIMService.sendUtil("D"+param.getDoctorId(),"U"+order.getUserId(),110,"startInquiry","","您好,我是芸医汇互联网医院执业药师,请问您有什么问题想咨询?","","",ex1);
-           /* OpenImMsgDTO openImMsgDTO1 = new OpenImMsgDTO();
+            if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+                String ex1 = objectMapper.writeValueAsString(customDTO1);
+                openIMService.sendUtil("D"+param.getDoctorId(),"U"+order.getUserId(),110,"startInquiry","","您好,我是芸医汇互联网医院执业药师,请问您有什么问题想咨询?","","",ex1);
+            }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+                imService.sendMsg(msgDTO1);
+            }
+            /* OpenImMsgDTO openImMsgDTO1 = new OpenImMsgDTO();
             openImMsgDTO1.setSendID("D"+order.getDoctorId().toString());
             openImMsgDTO1.setRecvID("U"+order.getUserId().toString());
             openImMsgDTO1.setContentType(110);
@@ -1285,9 +1299,12 @@ public class FsInquiryOrderServiceImpl implements IFsInquiryOrderService
         msgDTO.setMsgBody(msgs);
         //imService.sendMsg(msgDTO);
         ObjectMapper objectMapper = new ObjectMapper();
-        String ex = objectMapper.writeValueAsString(customDTO);
-        openIMService.sendUtil("D"+order.getDoctorId(),"U"+order.getUserId(),110,"finishInquiry","","医生完成订单","","",ex);
-
+        if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+            String ex = objectMapper.writeValueAsString(customDTO);
+            openIMService.sendUtil("D"+order.getDoctorId(),"U"+order.getUserId(),110,"finishInquiry","","医生完成订单","","",ex);
+        }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+            imService.sendMsg(msgDTO);
+        }
         //发送给医生
 //        MsgDTO msgDTO1=new MsgDTO();
 //        MsgCustomDTO customDTO1=new MsgCustomDTO();
@@ -1356,11 +1373,13 @@ public class FsInquiryOrderServiceImpl implements IFsInquiryOrderService
         msg.setMsgContent(new MsgDataFormatDTO("finishInquiry",ext,order.getOrderId().toString()));
         msgs.add(msg);
         msgDTO.setMsgBody(msgs);
-        //imService.sendMsg(msgDTO);
-        ObjectMapper objectMapper = new ObjectMapper();
-        String ex = objectMapper.writeValueAsString(customDTO);
-        openIMService.sendUtil("D"+order.getDoctorId(),"U"+order.getUserId(),110,"finishInquiry","","医生完成订单","","",ex);
-
+        if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+            ObjectMapper objectMapper = new ObjectMapper();
+            String ex = objectMapper.writeValueAsString(customDTO);
+            openIMService.sendUtil("D"+order.getDoctorId(),"U"+order.getUserId(),110,"finishInquiry","","医生完成订单","","",ex);
+        }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+            imService.sendMsg(msgDTO);
+        }
         redisTemplate.delete("DrugReport:doctorId:" + order.getDoctorId() + ":userId:" + order.getUserId());
         return R.ok();
     }
@@ -1665,10 +1684,13 @@ public class FsInquiryOrderServiceImpl implements IFsInquiryOrderService
         msgs.add(msg);
         msgDTO.setMsgBody(msgs);
         //imService.sendMsg(msgDTO);
-
-        ObjectMapper objectMapper = new ObjectMapper();
-        String ex = objectMapper.writeValueAsString(customDTO);
-        openIMService.sendUtil("D"+order.getDoctorId(),"U"+order.getUserId(),110,"startInquiry","1","为您服务","","",ex);
+        if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+            ObjectMapper objectMapper = new ObjectMapper();
+            String ex = objectMapper.writeValueAsString(customDTO);
+            openIMService.sendUtil("D"+order.getDoctorId(),"U"+order.getUserId(),110,"startInquiry","1","为您服务","","",ex);
+        }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+            imService.sendMsg(msgDTO);
+        }
 
         return "OK";
     }

+ 5 - 1
fs-service/src/main/java/com/fs/his/service/impl/FsUserServiceImpl.java

@@ -19,6 +19,7 @@ import com.fs.common.core.domain.R;
 import com.fs.common.core.domain.ResponseResult;
 import com.fs.common.core.domain.entity.SysDictData;
 import com.fs.common.core.page.TableDataInfo;
+import com.fs.common.enums.ImTypeEnum;
 import com.fs.common.param.LoginMaWxParam;
 import com.fs.common.utils.DateUtils;
 import com.fs.common.utils.DictUtils;
@@ -55,6 +56,7 @@ import com.fs.his.vo.FsUserVO;
 import com.fs.his.vo.FsUserExportListVO;
 import com.fs.his.vo.FsUserFollowDoctorVO;
 import com.fs.his.vo.UserVo;
+import com.fs.im.config.ImTypeConfig;
 import com.fs.im.service.OpenIMService;
 import com.fs.hisStore.domain.FsStoreOrderScrm;
 import com.fs.hisStore.domain.FsUserBillScrm;
@@ -1094,7 +1096,9 @@ public class FsUserServiceImpl implements IFsUserService
 //        }
 
         // 与im账号绑定
-        openIMService.checkAndImportFriend(param.getCompanyUserId(), String.valueOf(param.getUserId()));
+        if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+            openIMService.checkAndImportFriend(param.getCompanyUserId(), String.valueOf(param.getUserId()));
+        }
 
         //如果是设置了需要进入小黑屋,则需要返回提示,否则正常返回
         if(isDefaultBlack == 1){

+ 22 - 0
fs-service/src/main/java/com/fs/im/config/ImTypeConfig.java

@@ -0,0 +1,22 @@
+package com.fs.im.config;
+
+import com.fs.common.enums.ImTypeEnum;
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+
+@Component
+@ConfigurationProperties(prefix = "im")
+@Data
+public class ImTypeConfig
+{
+    private ImTypeEnum type;
+    public static ImTypeEnum IMTYPE;
+    @PostConstruct
+    public void init() {
+//        PREFIX = this.prefix;
+        IMTYPE = this.type;
+    }
+}

+ 1 - 1
fs-service/src/main/java/com/fs/utils/FileCacheService.java

@@ -1,6 +1,6 @@
 package com.fs.utils;
 
-import org.apache.commons.lang.StringUtils;
+import com.fs.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 

+ 2 - 1
fs-service/src/main/resources/application-config-dev.yml

@@ -86,7 +86,8 @@ tencent_cloud_config:
   region: chongqing
   proxy: hzyy
 cloud_host:
-  company_name: 润天
+  company_name: 木易华康
+  projectCode: MYHK
 headerImg:
   imgUrl: https://jz-cos-1356808054.cos.ap-chengdu.myqcloud.com/fs/20250515/0877754b59814ea8a428fa3697b20e68.png
 ipad:

+ 3 - 0
fs-service/src/main/resources/application-dev.yml

@@ -165,3 +165,6 @@ openIM:
     url: web.im.ysya.top
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM

+ 4 - 0
fs-service/src/main/resources/application-druid-bjczwh.yml

@@ -151,3 +151,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-bnkc.yml

@@ -151,3 +151,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-drk-test.yml

@@ -143,3 +143,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-drk.yml

@@ -143,3 +143,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 6 - 0
fs-service/src/main/resources/application-druid-fby-test.yml

@@ -151,3 +151,9 @@ rocketmq:
 openIM:
     secret: openIM123
     userID: imAdmin
+#是否为新商户,新商户不走mpOpenId
+isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-fby.yml

@@ -170,3 +170,7 @@ openIM:
 #    prefix: fby
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-hcl.yml

@@ -153,3 +153,7 @@ openIM:
     userID: im
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-hdt.yml

@@ -155,3 +155,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-hyt-test.yml

@@ -155,3 +155,7 @@ openIM:
     userID:
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-hyt.yml

@@ -155,3 +155,7 @@ openIM:
     userID:
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-hzyy.yml

@@ -168,3 +168,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 6 - 0
fs-service/src/main/resources/application-druid-jkj.yml

@@ -138,3 +138,9 @@ rocketmq:
         group: test-group
         access-key: ak1243b25nj17d4b2dc1a03 # 替换为实际的 accessKey
         secret-key: sk08a7ea1f9f4b0237 # 替换为实际的 secretKey
+#是否为新商户,新商户不走mpOpenId
+isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-jnlzjk.yml

@@ -151,3 +151,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-jnmy-test.yml

@@ -152,3 +152,7 @@ openIM:
     secret: openIM123
     userID: imAdmin
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-jnmy.yml

@@ -153,3 +153,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-jzzx-test.yml

@@ -172,3 +172,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-jzzx.yml

@@ -172,3 +172,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-kyt.yml

@@ -147,3 +147,7 @@ openIM:
   userID: im
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 6 - 0
fs-service/src/main/resources/application-druid-lmjy-test.yml

@@ -154,3 +154,9 @@ ipad:
 openIM:
     secret:
     userID:
+#是否为新商户,新商户不走mpOpenId
+isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 6 - 0
fs-service/src/main/resources/application-druid-lmjy.yml

@@ -154,3 +154,9 @@ ipad:
 openIM:
     secret:
     userID:
+#是否为新商户,新商户不走mpOpenId
+isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-myhk-test.yml

@@ -155,3 +155,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-myhk.yml

@@ -155,3 +155,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-nmgyt.yml

@@ -153,3 +153,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 6 - 0
fs-service/src/main/resources/application-druid-qdtst-test.yml

@@ -166,3 +166,9 @@ token:
 openIM:
     secret:
     userID:
+#是否为新商户,新商户不走mpOpenId
+isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-qdtst.yml

@@ -168,3 +168,7 @@ openIM:
     userID:
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-sft-test.yml

@@ -142,3 +142,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-sft.yml

@@ -146,3 +146,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-sxjz.yml

@@ -166,3 +166,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 6 - 0
fs-service/src/main/resources/application-druid-syysy-test.yml

@@ -164,3 +164,9 @@ openIM:
     secret: openIM123
     userID: imAdmin
     url: https://web.im.ysya.top/api
+#是否为新商户,新商户不走mpOpenId
+isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-syysy.yml

@@ -166,3 +166,7 @@ openIM:
     url: https://web.im.ysya.top/api
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-whhm.yml

@@ -143,3 +143,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-xfk.yml

@@ -153,3 +153,7 @@ openIM:
     userID: i
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-xzt.yml

@@ -148,3 +148,7 @@ isNewWxMerchant: true
 tuiImgCache: '1'
 getTuiImg: 'C:\Tools\ylrm_his_scrm\images\36f5863ffbbbdfc31620ea177c75284c.jpg'
 getTuiFont: 'C:\Tools\ylrm_his_scrm\images\simsunb.ttf'
+#是否使用新im
+im:
+    type: OPENIM
+

+ 6 - 0
fs-service/src/main/resources/application-druid-yjb.yml

@@ -138,3 +138,9 @@ rocketmq:
         group: test-group
         access-key: ak1243b25nj17d4b2dc1a03 # 替换为实际的 accessKey
         secret-key: sk08a7ea1f9f4b0237 # 替换为实际的 secretKey
+#是否为新商户,新商户不走mpOpenId
+isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 6 - 0
fs-service/src/main/resources/application-druid-yzt.yml

@@ -146,3 +146,9 @@ rocketmq:
         group: voice-group
         access-key: ak1243b25nj17d4b2dc1a03 # 替换为实际的 accessKey
         secret-key: sk08a7ea1f9f4b0237 # 替换为实际的 secretKey
+#是否为新商户,新商户不走mpOpenId
+isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-zkzh-test.yml

@@ -144,3 +144,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: false
+#是否使用新im
+im:
+    type: OPENIM
+

+ 4 - 0
fs-service/src/main/resources/application-druid-zkzh.yml

@@ -144,3 +144,7 @@ openIM:
     userID: imAdmin
 #是否为新商户,新商户不走mpOpenId
 isNewWxMerchant: false
+#是否使用新im
+im:
+    type: OPENIM
+

+ 6 - 0
fs-service/src/main/resources/application-druid-zsjk.yml

@@ -148,3 +148,9 @@ rocketmq:
         group: test-group
         access-key: ak1243b25nj17d4b2dc1a03 # 替换为实际的 accessKey
         secret-key: sk08a7ea1f9f4b0237 # 替换为实际的 secretKey
+#是否为新商户,新商户不走mpOpenId
+isNewWxMerchant: true
+#是否使用新im
+im:
+    type: OPENIM
+

+ 2 - 0
fs-service/src/main/resources/application-druid.yml

@@ -148,3 +148,5 @@ rocketmq:
         group: test-group
         access-key: ak1243b25nj17d4b2dc1a03 # 替换为实际的 accessKey
         secret-key: sk08a7ea1f9f4b0237 # 替换为实际的 secretKey
+#是否为新商户,新商户不走mpOpenId
+isNewWxMerchant: true

+ 38 - 18
fs-user-app/src/main/java/com/fs/app/controller/FollowController.java

@@ -7,6 +7,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fs.app.annotation.Login;
 import com.fs.app.controller.AppBaseController;
 import com.fs.common.core.domain.R;
+import com.fs.common.enums.ImTypeEnum;
 import com.fs.his.domain.FsDisease;
 import com.fs.his.domain.FsDoctor;
 import com.fs.his.domain.FsFollow;
@@ -17,6 +18,7 @@ import com.fs.his.param.FsFollowListUParam;
 import com.fs.his.service.*;
 import com.fs.his.vo.FsDiseaseListUVO;
 import com.fs.his.vo.FsFollowListUVO;
+import com.fs.im.config.ImTypeConfig;
 import com.fs.im.dto.*;
 import com.fs.im.service.IImService;
 import com.fs.im.service.OpenIMService;
@@ -90,24 +92,44 @@ public class FollowController extends AppBaseController {
         param.setWriteStatus(1);
         param.setUpdateTime(new Date());
         if(followService.updateFsFollow(param)>0){
+            MsgDTO msgDTO=new MsgDTO();
+            msgDTO.setTo_Account("D-"+follow.getDoctorId());
+            msgDTO.setFrom_Account("U-"+follow.getUserId());
             MsgCustomDTO customDTO1=new MsgCustomDTO();
             customDTO1.setType("follow");
             customDTO1.setImType(2);
             customDTO1.setOrderId(follow.getStoreOrderId().toString());
             customDTO1.setFollowId(follow.getFollowId().toString());
-            ObjectMapper objectMapper = new ObjectMapper();
+            msgDTO.setCloudCustomData(JSONUtil.toJsonStr(customDTO1));
+
+            List<MsgDataDTO> msgs=new ArrayList<>();
+            MsgDataDTO msg=new MsgDataDTO();
+            String ext=JSONUtil.toJsonStr(follow);
             String followId=follow.getFollowId().toString();
+            msg.setMsgContent(new MsgDataFormatDTO("follow",ext,followId));
+            msg.setMsgType("TIMCustomElem");//TIMCustomElem
+            msgs.add(msg);
+            msgDTO.setMsgBody(msgs);
+            ObjectMapper objectMapper = new ObjectMapper();
             String ex = objectMapper.writeValueAsString(customDTO1);
-            OpenImResponseDTO openImResponseDTO = openIMService.sendUtilUserToDoctor("U" + follow.getUserId(), "D" + follow.getDoctorId(), 110, "follow", "", "", followId, "", ex);
 
+            if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+                openIMService.sendUtilUserToDoctor("U" + follow.getUserId(), "D" + follow.getDoctorId(), 110, "follow", "", "", followId, "", ex);
+            }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+                imService.sendMsg(msgDTO);
+            }
             //MsgResponseDTO msgResponseDTO = imService.sendMsg(msgDTO);
             //logger.info("用户发送随访:"+msgResponseDTO);
             userService.followAddIntegral(follow.getUserId(),follow.getFollowId());
 
             //发送给用户
-            //MsgDTO msgDTO2=new MsgDTO();
-
-            /*msgDTO2.setCloudCustomData(JSONUtil.toJsonStr(customDTO2));
+            MsgDTO msgDTO2=new MsgDTO();
+            MsgCustomDTO customDTO2=new MsgCustomDTO();
+            customDTO2.setType("startDrugReport");
+            customDTO2.setImType(2);
+            customDTO2.setOrderId(follow.getStoreOrderId().toString());
+            customDTO2.setFollowId(follow.getFollowId().toString());
+            msgDTO2.setCloudCustomData(JSONUtil.toJsonStr(customDTO2));
             msgDTO2.setFrom_Account("D-"+follow.getDoctorId());
             msgDTO2.setTo_Account("U-"+follow.getUserId());
             List<MsgDataDTO> msgs2=new ArrayList<>();
@@ -115,27 +137,25 @@ public class FollowController extends AppBaseController {
             msg2.setMsgType("TIMTextElem");
             msg2.setMsgContent(new MsgDataFormatDTO("您好,我是您的专属药师,您有任何问题都可以先留言给我,请耐心等待一下,用户咨询量较多,我会按咨询顺序一一回复哒~"));
             msgs2.add(msg2);
-            msgDTO2.setMsgBody(msgs2);*/
+            msgDTO2.setMsgBody(msgs2);
             //imService.sendMsg(msgDTO2);
-            /*OpenImMsgDTO openImMsgDTO1 = new OpenImMsgDTO();
+            OpenImMsgDTO openImMsgDTO1 = new OpenImMsgDTO();
             openImMsgDTO1.setSendID("D"+follow.getDoctorId().toString());
             openImMsgDTO1.setRecvID("U"+follow.getUserId().toString());
             openImMsgDTO1.setContentType(101);
             openImMsgDTO1.setSenderPlatformID(5);
             openImMsgDTO1.setSessionType(1);
-            openImMsgDTO1.setEx(ex1);
+            //openImMsgDTO1.setEx(ex1);
             OpenImMsgDTO.Content content1 = new OpenImMsgDTO.Content();
-            openImMsgDTO1.setContent(content1);*/
-            //content1.setContent("您好,我是您的专属药师,您有任何问题都可以先留言给我,请耐心等待一下,用户咨询量较多,我会按咨询顺序一一回复哒~");
-            MsgCustomDTO customDTO2=new MsgCustomDTO();
-            customDTO2.setType("startDrugReport");
-            customDTO2.setImType(2);
-            customDTO2.setOrderId(follow.getStoreOrderId().toString());
-            customDTO2.setFollowId(follow.getFollowId().toString());
+            openImMsgDTO1.setContent(content1);
+            content1.setContent("您好,我是您的专属药师,您有任何问题都可以先留言给我,请耐心等待一下,用户咨询量较多,我会按咨询顺序一一回复哒~");
             String ex1 = objectMapper.writeValueAsString(customDTO2);
-            openIMService.sendUtil("D"+follow.getDoctorId(),"U"+follow.getUserId(),101,
-                    "","","您好,我是您的专属药师,您有任何问题都可以先留言给我,请耐心等待一下,用户咨询量较多,我会按咨询顺序一一回复哒~","","",ex1);
-            //openIMService.openIMSendMsg(openImMsgDTO1);
+            if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+                openIMService.sendUtil("D"+follow.getDoctorId(),"U"+follow.getUserId(),101,
+                        "","","您好,我是您的专属药师,您有任何问题都可以先留言给我,请耐心等待一下,用户咨询量较多,我会按咨询顺序一一回复哒~","","",ex1);
+            }else if (ImTypeConfig.IMTYPE== ImTypeEnum.TENCENT){
+                imService.sendMsg(msgDTO2);
+            }
             return R.ok("操作成功");
 
         }

+ 3 - 3
fs-user-app/src/main/java/com/fs/app/controller/UserController.java

@@ -350,8 +350,8 @@ public class UserController extends  AppBaseController {
 
     @Login
     @ApiOperation("注销用户")
-    @PostMapping("/removeUser/{id}")
-    public R removeUser(@PathVariable("id") Long id ){
-        return userService.removeUser(id);
+    @PostMapping("/removeUser")
+    public R removeUser(){
+        return userService.removeUser(Long.parseLong(getUserId()));
     }
 }

+ 6 - 1
fs-user-app/src/main/java/com/fs/app/controller/WxUserController.java

@@ -10,6 +10,7 @@ import com.fs.app.annotation.Login;
 import com.fs.app.utils.JwtUtils;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
+import com.fs.common.enums.ImTypeEnum;
 import com.fs.common.param.LoginMaWxParam;
 import com.fs.common.param.LoginParam;
 import com.fs.common.utils.DateUtils;
@@ -24,6 +25,7 @@ import com.fs.his.mapper.FsUserLoginLogMapper;
 import com.fs.his.service.IFsUserService;
 import com.fs.his.service.IFsUserWxService;
 import com.fs.his.utils.ConfigUtil;
+import com.fs.im.config.ImTypeConfig;
 import com.fs.im.service.OpenIMService;
 import com.fs.system.domain.SysConfig;
 import com.fs.system.mapper.SysConfigMapper;
@@ -402,7 +404,10 @@ public class WxUserController extends AppBaseController{
     @ApiOperation("注册IM账号和添加好友关系")
     @PostMapping("/bindingImFriend")
     public void createAndBindingImFriend(@RequestParam Long companyUserId) {
-        openIMService.checkAndImportFriend(companyUserId, getUserId());
+        if (ImTypeConfig.IMTYPE== ImTypeEnum.OPENIM){
+            openIMService.checkAndImportFriend(companyUserId, getUserId());
+        }
+
     }
 
 }