Kaynağa Gözat

代码修改

LAPTOP-KB9HII50\70708 3 yıl önce
ebeveyn
işleme
0af0078bff

+ 3 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/consult/PatientConsultEndpoint.java

@ -117,7 +117,7 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint {
	@PostMapping(value = "sendGetuiMessage")
	@ApiOperation(value = "im推送个推消息")
	public Envelop sendGetuiMessage(String sessionId,String type,String senderName,String senderId,String targetId){
	public Envelop sendGetuiMessage(String sessionId,String type,String contentType,String senderName,String senderId,String targetId){
		try {
			logger.info("im推送1个推消息"+sessionId+","+senderName+","+targetId);
			String body = "收到来自"+senderName+"的一条消息,请关注并及时处理。";
@ -129,6 +129,8 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint {
			}
			String url = "/chatroom/index?type="+type+"&peerId=&peerName="+peerName+"&sessionId="+sessionId;
			messageUtil.sendDoctorGetuiMessage(targetId,"4",url,"im消息",body);
			messageUtil.sendDoctorDingdingMessage(null,targetId,"text","4",body,null,null);
			return Envelop.getSuccess("请求成功");
		}catch (Exception e){
			e.printStackTrace();

+ 1 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/assistance/EmergencyAssistanceService.java

@ -303,6 +303,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
                }catch (Exception e){}
                String body = "您好,"+assistanceDO.getPatientName()+"居民发起紧急呼叫,请关注并及时处理。";
                messageUtil.sendDoctorGetuiMessage(doctorDO.getId(),"2","/sos/index?tabActive=1","紧急呼叫",body);
                messageUtil.sendDoctorDingdingMessage(doctorDO,null,"text","2",body,null,null);
                imUtill.sendMDTSocketMessageToDoctor(doctorDO.getId(),message.toString());
            }
            //pc管理端端推送消息

+ 1 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/security/SecurityMonitoringOrderService.java

@ -306,6 +306,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
            }
            String body = "您好," + orderDO.getPatientName() + "居民" + orderDO.getServeDesc() + ",请关注并及时处理。";
            messageUtil.sendDoctorGetuiMessage(doctorDO.getId(), "1", "/securityMonitoring/index", "安防紧急预警", body);
            messageUtil.sendDoctorDingdingMessage(doctorDO,null,"text","1",body,null,null);
            imUtil.sendMDTSocketMessageToDoctor(doctorDO.getId(), message.toString());
        }
        //pc管理端端推送消息

+ 22 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/util/DingdingUtil.java

@ -42,6 +42,11 @@ public class DingdingUtil {
    private static final String dingtalk_app_user = "/rpc/oauth2/dingtalk_app_user.json";
    private static final String get_by_mobiles = "/mozi/employee/get_by_mobiles";
    private static final String getuserinfo_bycode = "/rpc/oauth2/getuserinfo_bycode.json";
    private static final String sendMsg = "/chat/sendMsg";
    //单聊默认发送者id
    private static final String p2pSenderId = "821606";
    public static final String picMediaId = "$iwHSAADGgQoAC9EkWgKsb2N0ZXQtc3RyZWFtAwAEAAUABrzrLoqjhIdIKXPi5GCsroJXXzE3ZmI0OGFiNWJhBwAIAAmhMA";
    //executableClient要单例,并且使用前要初始化,只需要初始化一次
    private static ExecutableClient executableClient = null;
@ -193,4 +198,21 @@ public class DingdingUtil {
        return null;
    }
    /**
     * 发送单聊消息
     */
    public void sendP2pMsg(String msg,String receiverId){
        PostClient postClient = executableClient.newPostClient(sendMsg);
        //Set the parameters
        postClient.addParameter("msg", msg);
        postClient.addParameter("senderId", p2pSenderId);
        postClient.addParameter("receiverId", receiverId);
        postClient.addParameter("chatId", "");
        postClient.addParameter("tenantId", tenantId);
        postClient.addParameter("chatType", "1");
        //Call API
        String apiResult = postClient.post();
        logger.info(apiResult);
    }
}

+ 36 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/util/MessageUtil.java

@ -72,6 +72,8 @@ public class MessageUtil {
    private GetuiService getuiService;
    @Autowired
    private GetuiClientDao getuiClientDao;
    @Autowired
    private DingdingUtil dingdingUtil;
    /**
     * 您好{1}有一条新的在线报名申请,请及时前往APP消息应用进行处理。
@ -113,6 +115,40 @@ public class MessageUtil {
        }
    }
    /**
     * 发送钉钉消息
     * type 1 安防紧急预警 2紧急呼叫 4im 5生日祝福
     * msgtype 消息类型 text
     */
    public void sendDoctorDingdingMessage(BaseDoctorDO doctorDO,String doctorCode,String msgtype,String type,String content,String title,String url){
        try {
            if(doctorDO == null){
                doctorDO = baseDoctorDao.findById(doctorCode);
            }
            if(StringUtils.isBlank(doctorDO.getYktDoctorId())){
                //没有钉钉id不推送
                return;
            }
            JSONObject msg = new JSONObject();
            msg.put("msgtype",msgtype);
            if("text".equals(msgtype)){
                JSONObject text = new JSONObject();
                text.put("content",content);
                msg.put("text",text);
            }else if("link".equals(msgtype)){
                JSONObject link = new JSONObject();
                link.put("messageUrl",url);
                link.put("title",title);
                link.put("text",content);
                link.put("picMediaId",DingdingUtil.picMediaId);
                msg.put("link",link);
            }
            dingdingUtil.sendP2pMsg(msg.toString(), doctorDO.getYktDoctorId());
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    /**
     *
     * @param wechatId