Prechádzať zdrojové kódy

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into baseCopy1

wangjun 3 rokov pred
rodič
commit
6f22adb4f0

+ 10 - 1
business/im-service/src/main/java/com/yihu/jw/im/util/ImUtil.java

@ -80,7 +80,16 @@ public class ImUtil {
		String response = HttpClientUtil.postBody(imAddr,params);
		return response;
	}
	
	public String sendPcManageMessageToPc(String clientType, String message) {
		String imAddr = im_host + "api/v2/message/cloudCarePcManageMessage";
		JSONObject params = new JSONObject();
		params.put("clientType", clientType);
		params.put("message", message);
		String response = HttpClientUtil.postBody(imAddr,params);
		return response;
	}
	/**
	 * 发送消息
	 * @param senderId 发送者的code

+ 0 - 51
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/third/platForm/PcManageWebSocketServer.java

@ -1,51 +0,0 @@
package com.yihu.jw.care.endpoint.third.platForm;
import com.yihu.jw.care.service.third.PcManageWebSocketService;
import org.springframework.web.bind.annotation.RestController;
import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
/**
 * Created by Bing on 2021/6/17.
 *
 * @ServerEndpoint 注解是一个类层次的注解,它的功能主要是将目前的类定义成一个websocket服务器端,
 */
@RestController
@ServerEndpoint("/cloudCare/noLogin/pcManage/websocket")
public class PcManageWebSocketServer {
    //与某个客户端的连接会话,需要通过它来给客户端发送数据
    private Session session;
    @OnOpen
    public void onOpen(Session session){
        this.session = session;
        PcManageWebSocketService.add(this);
    }
    public void sendMessage(String message) throws IOException {
        this.session.getBasicRemote().sendText(message);
    }
    @OnClose
    public void onClose(){
        PcManageWebSocketService.remove(this);
    }
    @OnMessage
    public void onMessage(String message, Session session) {
        System.out.println("来自客户端的消息:" + message);
    }
    @OnError
    public void onError(Session session, Throwable error){
        System.out.println("发生错误");
        error.printStackTrace();
    }
}

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

@ -8,16 +8,12 @@ import com.yihu.jw.care.dao.assistance.EmergencyAssistanceDao;
import com.yihu.jw.care.dao.device.PatientDeviceDao;
import com.yihu.jw.care.dao.security.EmergencyWarnConclusionDao;
import com.yihu.jw.care.dao.security.EmergencyWarnDoctorResponseDao;
import com.yihu.jw.care.dao.sign.ServicePackageItemDao;
import com.yihu.jw.care.dao.sign.ServicePackageSignRecordDao;
import com.yihu.jw.care.dao.team.BaseTeamMemberDao;
import com.yihu.jw.care.endpoint.third.platForm.PcManageWebSocketServer;
import com.yihu.jw.care.service.common.DictService;
import com.yihu.jw.care.service.consult.ConsultTeamService;
import com.yihu.jw.care.service.device.PatientDeviceService;
import com.yihu.jw.care.service.family.PatientFamilyMemberService;
import com.yihu.jw.care.service.security.SecurityMonitoringOrderService;
import com.yihu.jw.care.service.third.PcManageWebSocketService;
import com.yihu.jw.care.util.ConstantUtil;
import com.yihu.jw.care.util.CountDistance;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
@ -29,7 +25,6 @@ import com.yihu.jw.entity.care.assistance.EmergencyAssistanceDO;
import com.yihu.jw.entity.care.device.DevicePatientDevice;
import com.yihu.jw.entity.care.securitymonitoring.EmergencyWarnConclusionDO;
import com.yihu.jw.entity.care.securitymonitoring.EmergencyWarnDoctorResponseDO;
import com.yihu.jw.entity.care.securitymonitoring.SecurityMonitoringOrderDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
import com.yihu.jw.im.dao.ConsultDao;
@ -215,6 +210,7 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        message.put("OrderStatus","new");
        message.put("order_id",assistanceDO.getId());
        message.put("content_type",40);
        for (BaseDoctorDO doctorDO:doctorDOS){
            try {
                imUtill.sendMDTSocketMessageToDoctor(doctorDO.getId(),message.toString());
@ -223,7 +219,8 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
            }
        }
        //pc管理端端推送消息
        PcManageWebSocketService.broadCast(message.toString());
        imUtill.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
        emergencyAssistanceDao.save(assistanceDO);
        return getOrderDetail(assistanceDO.getId(),null);
@ -692,8 +689,8 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        message.put("OrderStatus","finish");
        message.put("order_id",assistanceDO.getId());
        message.put("content_type",40);
        PcManageWebSocketService.broadCast(message.toString());
        imUtill.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
        emergencyAssistanceDao.save(assistanceDO);
        String failMsg = "当前救助工单已取消";
        result.put(ResponseContant.resultFlag, ResponseContant.success);
@ -760,8 +757,8 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        message.put("OrderStatus","finish");
        message.put("order_id",assistanceDO.getId());
        message.put("content_type",40);
        PcManageWebSocketService.broadCast(message.toString());
        imUtill.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
        emergencyAssistanceDao.save(assistanceDO);
        return getOrderDetail(orderId,null);
    }
@ -883,8 +880,8 @@ public class EmergencyAssistanceService extends BaseJpaService<EmergencyAssistan
        message.put("OrderStatus","finish");
        message.put("order_id",assistanceDO.getId());
        message.put("content_type",40);
        PcManageWebSocketService.broadCast(message.toString());
        imUtill.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
        result = getOrderDetail(orderId,null);
        return result;
    }

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

@ -8,19 +8,16 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.care.dao.device.PatientDeviceDao;
import com.yihu.jw.care.dao.security.*;
import com.yihu.jw.care.dao.team.BaseTeamMemberDao;
import com.yihu.jw.care.endpoint.third.platForm.PcManageWebSocketServer;
import com.yihu.jw.care.service.common.DictService;
import com.yihu.jw.care.service.consult.ConsultTeamService;
import com.yihu.jw.care.service.device.PatientDeviceService;
import com.yihu.jw.care.service.device.YsDeviceService;
import com.yihu.jw.care.service.family.PatientFamilyMemberService;
import com.yihu.jw.care.service.sign.ServicePackageService;
import com.yihu.jw.care.service.third.PcManageWebSocketService;
import com.yihu.jw.care.util.ConstantUtil;
import com.yihu.jw.care.util.CountDistance;
import com.yihu.jw.entity.base.im.ConsultDo;
import com.yihu.jw.entity.base.im.ConsultTeamDo;
import com.yihu.jw.entity.care.assistance.EmergencyAssistanceDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.im.dao.ConsultDao;
import com.yihu.jw.im.dao.ConsultTeamDao;
@ -227,8 +224,7 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
            }
        }
        //pc管理端端推送消息
        PcManageWebSocketService.broadCast(message.toString());
        imUtil.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
        result.put("resultFlag", 1);
        result.put("resultMsg",orderDO);
@ -469,8 +465,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        message.put("OrderStatus","finish");
        message.put("order_id",orderDO.getId());
        message.put("content_type",40);
        PcManageWebSocketService.broadCast(message.toString());
        imUtil.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
        result = getSecurityOrderDetail(orderId,null);
        return result;
    }
@ -807,8 +803,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        message.put("OrderStatus","finish");
        message.put("order_id",orderDO.getId());
        message.put("content_type",40);
        PcManageWebSocketService.broadCast(message.toString());
        imUtil.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
//        Consult consult = consultDao.queryByRelationCode(orderId);
//        // 发送微信模板消息,通知居民工单已取消(smyyyqx-上门预约已取消)
//
@ -952,8 +948,8 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
        message.put("OrderStatus","finish");
        message.put("order_id",one.getId());
        message.put("content_type",40);
        PcManageWebSocketService.broadCast(message.toString());
        imUtil.sendPcManageMessageToPc("cloudCare_pcManage",message.toString());
        return getSecurityOrderDetail(orderId,null);
    }

+ 0 - 40
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/third/PcManageWebSocketService.java

@ -1,40 +0,0 @@
package com.yihu.jw.care.service.third;
import com.yihu.jw.care.endpoint.third.platForm.PcManageWebSocketServer;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
/**
 * Created by Bing on 2021/6/17.
 */
@Service
public class PcManageWebSocketService {
    private static Collection<PcManageWebSocketServer> servers = Collections.synchronizedCollection(new ArrayList<PcManageWebSocketServer>());
    public static void broadCast(String msg){
        for (PcManageWebSocketServer serverTmp : servers) {
            try {
                serverTmp.sendMessage(msg);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    public static int getTotal(){
        return servers.size();
    }
    public static void add(PcManageWebSocketServer server){
        System.out.println("有新连接加入! 当前总连接数是:"+ servers.size());
        servers.add(server);
    }
    public static void remove(PcManageWebSocketServer server){
        System.out.println("有连接退出! 当前总连接数是:"+ servers.size());
        servers.remove(server);
    }
}