浏览代码

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

liubing 2 年之前
父节点
当前提交
e8e824eff6
共有 18 个文件被更改,包括 436 次插入59 次删除
  1. 0 3
      business/base-service/src/main/java/com/yihu/jw/healthUpload/service/BaseDoctorHealthUploadService.java
  2. 1 1
      business/base-service/src/main/java/com/yihu/jw/order/BusinessOrderService.java
  3. 12 0
      business/push-service/src/main/java/com/yihu/jw/push/dao/GetuiRecordDao.java
  4. 12 0
      business/push-service/src/main/java/com/yihu/jw/push/service/GetuiService.java
  5. 57 0
      common/common-entity/src/main/java/com/yihu/jw/entity/care/common/GetuiRecordDO.java
  6. 8 0
      common/common-entity/src/main/java/com/yihu/jw/entity/healthUpload/BaseDoctorHealthUploadDO.java
  7. 37 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/consult/PatientConsultEndpoint.java
  8. 44 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/dingding/DingDingMessageEndpoint.java
  9. 20 2
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/statistics/OpenStatisticsEndpoint.java
  10. 2 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/assistance/EmergencyAssistanceService.java
  11. 72 0
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/dingding/DingDingMessageService.java
  12. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/message/BaseServiceNewsService.java
  13. 38 7
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/patient/CarePatientService.java
  14. 2 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/security/SecurityMonitoringOrderService.java
  15. 113 33
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/StatisticsService.java
  16. 12 3
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/util/DingdingUtil.java
  17. 1 1
      svr/svr-cloud-device/src/main/java/com/yihu/jw/care/endpoint/NetdevTestController.java
  18. 4 4
      svr/svr-cloud-device/src/main/java/com/yihu/jw/care/netdevsdk/NetDevSdkService.java

+ 0 - 3
business/base-service/src/main/java/com/yihu/jw/healthUpload/service/BaseDoctorHealthUploadService.java

@ -649,9 +649,6 @@ public class BaseDoctorHealthUploadService extends BaseJpaService<BaseDoctorHeal
        }
        if (StringUtils.isNoneBlank(dept)) {
            deptSql += " and hd.code = '" + dept + "' ";
        }
        if (StringUtils.isNoneBlank(status)){
        }
        List<Map<String, Object>> mapList = jdbcTemplate.queryForList(deptSql);
        for (Map<String, Object> deptmap : mapList) {

+ 1 - 1
business/base-service/src/main/java/com/yihu/jw/order/BusinessOrderService.java

@ -1976,7 +1976,7 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
            businessOrderDO.setOrderNo("HLWYY"+System.currentTimeMillis()+(int)(Math.random()*900)+100);
            businessOrderDO.setDepositType(depositType);
            businessOrderDao.save(businessOrderDO);
            List<BasePatientWechatDo> patientWechatDos = patientWechatDao.findByWechatIdAndPatientId(wechatId,businessOrderDO.getPatient());
            List<BasePatientWechatDo> patientWechatDos = patientWechatDao.findByWechatIdAndPatientId(wechatId,wlyyOutpatientDO.getConsumer());
            if (patientWechatDos!=null&&patientWechatDos.size()!=0){
                BasePatientWechatDo patientWechatDo = patientWechatDos.get(0);
                openId = patientWechatDo.getOpenid();

+ 12 - 0
business/push-service/src/main/java/com/yihu/jw/push/dao/GetuiRecordDao.java

@ -0,0 +1,12 @@
package com.yihu.jw.push.dao;
import com.yihu.jw.entity.care.common.GetuiRecordDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface GetuiRecordDao extends PagingAndSortingRepository<GetuiRecordDO, String>, JpaSpecificationExecutor<GetuiRecordDO> {
}

+ 12 - 0
business/push-service/src/main/java/com/yihu/jw/push/service/GetuiService.java

@ -18,8 +18,11 @@ import com.getui.push.v2.sdk.dto.req.message.android.Ups;
import com.getui.push.v2.sdk.dto.req.message.ios.Alert;
import com.getui.push.v2.sdk.dto.req.message.ios.Aps;
import com.getui.push.v2.sdk.dto.req.message.ios.IosDTO;
import com.yihu.jw.entity.care.common.GetuiRecordDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.httplog.WlyyHttpLogDO;
import com.yihu.jw.push.dao.PushHospitalSysDictDao;
import com.yihu.jw.push.dao.GetuiRecordDao;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -44,6 +47,8 @@ public class GetuiService {
    private StringRedisTemplate redisTemplate;
    @Autowired
    private PushHospitalSysDictDao sysDictDao;
    @Autowired
    private GetuiRecordDao getuiRecordDao;
    private static final Logger logger = LoggerFactory.getLogger(GetuiService.class);
@ -209,13 +214,20 @@ public class GetuiService {
        // 进行cid单推
        ApiResult<Map<String, Map<String, String>>> apiResult = pushApi.pushToSingleByCid(pushDTO);
        GetuiRecordDO getuiRecordDO = new GetuiRecordDO();//报错发送日志
        getuiRecordDO.setCid(cid);
        getuiRecordDO.setRequest(json.toJSONString());
        getuiRecordDO.setResponse(JSONObject.toJSONString(apiResult));
        if (apiResult.isSuccess()) {
            // success
            logger.info("发送成功:"+apiResult.getData());
            getuiRecordDO.setStatus(1);
        } else {
            // failed
            logger.info("code:" + apiResult.getCode() + ", msg: " + apiResult.getMsg());
            getuiRecordDO.setStatus(0);
        }
        getuiRecordDao.save(getuiRecordDO);
    }
    /**

+ 57 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/care/common/GetuiRecordDO.java

@ -0,0 +1,57 @@
package com.yihu.jw.entity.care.common;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * 个推推送记录
 * Created by yeshijie on 2022/6/6.
 */
@Entity
@Table(name="base_getui_record")
public class GetuiRecordDO extends UuidIdentityEntityWithCreateTime {
    private Integer status;//状态1成功 0失败
    private String cid;
    private String request;
    private String response;
    @Column(name = "status")
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    @Column(name = "cid")
    public String getCid() {
        return cid;
    }
    public void setCid(String cid) {
        this.cid = cid;
    }
    @Column(name = "request")
    public String getRequest() {
        return request;
    }
    public void setRequest(String request) {
        this.request = request;
    }
    @Column(name = "response")
    public String getResponse() {
        return response;
    }
    public void setResponse(String response) {
        this.response = response;
    }
}

+ 8 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/healthUpload/BaseDoctorHealthUploadDO.java

@ -79,6 +79,14 @@ public class BaseDoctorHealthUploadDO extends UuidIdentityEntityWithOperator {
    public String number;//座位
    public Integer isHigh;//1是2否
    public Integer getScheduleStatus() {
        return scheduleStatus;
    }
    public void setScheduleStatus(Integer scheduleStatus) {
        this.scheduleStatus = scheduleStatus;
    }
    public String getStartProvinceName() {
        return startProvinceName;
    }

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

@ -1,5 +1,6 @@
package com.yihu.jw.care.endpoint.consult;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.aop.ObserverRequired;
@ -145,6 +146,39 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint {
	@ApiOperation(value = "im推送个推消息")
	public Envelop sendGetuiMessage(String sessionId,String type,String contentType,String senderName,String senderId,String targetId,String content){
		try {
			String zzdMessage = "";
			switch (contentType){
				case "1":
					zzdMessage = senderName+":"+content;
					break;
				case "2":
					zzdMessage = senderName+"发来了一条图片消息";
					break;
				case "3":
					zzdMessage = senderName+"发来了一条语音消息";
					break;
				case "6":
					try {
						JSONObject jsonObject = JSON.parseObject(content);
						zzdMessage = jsonObject.getString("title");
					}catch (Exception e){
						zzdMessage = content;
					}
					break;
				case "7":
					JSONObject jsonObject = JSON.parseObject(content);
					zzdMessage = jsonObject.getString("msg");
					break;
				case "12":
					zzdMessage = senderName+"发来了一条视频消息";
					break;
				case "29":
					zzdMessage = senderName+"邀请您进行语音/视频通话";
					break;
				default:
					logger.info(senderName+":"+content);
					break;
			}
			String body = "收到来自"+senderName+"的一条消息,请关注并及时处理。";
			String peerName = null;
			String sql = "SELECT name from im_internet_hospital.sessions WHERE id = '"+sessionId+"'";
@ -158,8 +192,9 @@ public class PatientConsultEndpoint extends EnvelopRestEndpoint {
			String url = "/chatroom/index?type="+type+"&peerId="+senderId+"&action=callVideo&peerName="+peerName+"&sessionId="+sessionId+"&content="+content;
			logger.info("url="+url);
			messageUtil.sendDoctorGetuiMessage(targetId,"4",url,"im消息",body);
//			messageUtil.sendDoctorDingdingMessage(null,targetId,"text","4",body,null,null);
			if(StringUtils.isNotBlank(zzdMessage)){
				messageUtil.sendDoctorDingdingMessage(null,targetId,"text","4",zzdMessage,null,null);
			}
			return Envelop.getSuccess("请求成功");
		}catch (Exception e){
			e.printStackTrace();

+ 44 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/dingding/DingDingMessageEndpoint.java

@ -0,0 +1,44 @@
package com.yihu.jw.care.endpoint.dingding;

import com.yihu.jw.care.service.dingding.DingDingMessageService;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author xyq
 * @create 2022-06-02 10:54
 * @slogan 他化自在,我自逍遥
 */
@RestController
@RequestMapping(value = "/open/dingDingMessage")
@Api(description = "钉钉消息")
public class DingDingMessageEndpoint extends EnvelopRestEndpoint {

    @Autowired
    private DingDingMessageService dingDingMessageService;

    @PostMapping(value = "sendDingDingMessageToOne")
    @ApiOperation(value = "发送钉钉消息")
    public ObjEnvelop sendDingDingMessage(@ApiParam @RequestParam(required = false)String sendId,
                                          @ApiParam @RequestParam(required = true)String receiverId,
                                          @ApiParam @RequestParam(required = true)String content,
                                          @ApiParam @RequestParam(required = false,defaultValue = "text")String msgtype,
                                          @ApiParam @RequestParam(required = false)String url,
                                          @ApiParam @RequestParam(required = false)String title){

        try {
            return dingDingMessageService.sendMessageToOne(sendId, receiverId, content, msgtype, url, title);
        }catch (Exception e){
            return failedObjEnvelopException2(e);
        }

    }
}

+ 20 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/statistics/OpenStatisticsEndpoint.java

@ -256,9 +256,11 @@ public class OpenStatisticsEndpoint extends EnvelopRestEndpoint {
                                  @ApiParam(name = "page", value = "第几页")
                                  @RequestParam(value = "page", required = false) Integer page,
                                  @ApiParam(name = "size", value = "页面大小")
                                  @RequestParam(value = "size", required = false) Integer size) {
                                  @RequestParam(value = "size", required = false) Integer size,
                                  @ApiParam(name = "isShow", value = "用于搜索类型区分判断")
                                  @RequestParam(value = "isShow", required = false,defaultValue = "false") Boolean isShow) {
        try {
            return success("修改成功", patientService.findUserByType(type, name, residentialArea,area,level, page, size));
            return success("修改成功", patientService.findUserByType(type, name, residentialArea,area,level, page, size,isShow));
        } catch (Exception e) {
            return failedException2(e);
        }
@ -409,6 +411,22 @@ public class OpenStatisticsEndpoint extends EnvelopRestEndpoint {
        }
    }
    @GetMapping(value = "getCareServerList")
    @ApiOperation("获取照护服务列表")
    public PageEnvelop getCareServerList(@ApiParam @RequestParam(required = false) String name,
                                         @ApiParam @RequestParam(required = false) String idCard,
                                         @ApiParam @RequestParam(required = false) String area,
                                         @ApiParam @RequestParam(required = false) Integer status,
                                         @ApiParam @RequestParam(required = false,defaultValue = "1") Integer page,
                                         @ApiParam @RequestParam(required = false,defaultValue = "10") Integer pageSize){
        try{
            return statisticsService.getCareServerList(name, idCard, area, status, page, pageSize);
        }catch (Exception e){
            return failedPageEnvelopException2(e);
        }
    }
    @GetMapping(value = "getServerSituationItem")
    @ApiOperation("获取老人服务项目数量情况(助老服务、紧急救助、医生服务)")
    public ObjEnvelop getServerSituationItem(@RequestParam(required = true) String endDate,

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

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

+ 72 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/dingding/DingDingMessageService.java

@ -0,0 +1,72 @@
package com.yihu.jw.care.service.dingding;

import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.util.DingdingUtil;
import com.yihu.jw.care.util.MessageUtil;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @author xyq
 * @create 2022-06-02 16:21
 * @slogan 他化自在,我自逍遥
 */
@Service
public class DingDingMessageService {

    @Autowired
    private DingdingUtil dingdingUtil;
    @Autowired
    private BaseDoctorDao doctorDao;
    @Autowired
    private MessageUtil messageUtil;

    /**
     *
     * @param sendId 发送者的钉钉id
     * @param receiverId 接收者的医生id
     * @param content 消息内容
     * @param msgtype 消息类型,text,link
     * @param url
     * @param title
     * @return
     */
    public ObjEnvelop sendMessageToOne(String sendId, String receiverId, String content, String msgtype, String url, String title){
        //messageUtil.sendDoctorDingdingMessage(null,receiverId,"text",null,content,null,null);
        if(StringUtils.isBlank(receiverId)){
            return ObjEnvelop.getError("医生id不能为空");
        }
        BaseDoctorDO doctorById = doctorDao.findById(receiverId);
        if(doctorById == null || StringUtils.isBlank(doctorById.getYktDoctorId())){
            return ObjEnvelop.getError("接收者id不能为空");
        }
        receiverId = doctorById.getYktDoctorId();
        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);
        }
        String s = dingdingUtil.sendP2pMsg(msg.toString(), receiverId,sendId);
        //String s = "{\\\"_RequestId\\\":\\\"da6c6a8716541404813972617d0011\\\",\\\"Message\\\":\\\"User not authorized to operate on the specified resource.\\\",\\\"success\\\":false,\\\"errorCode\\\":\\\"100\\\",\\\"HostId\\\":\\\"openplatform-pro.ding.zj.gov.cn\\\",\\\"Code\\\":\\\"Forbidden\\\",\\\"bizErrorCode\\\":\\\"OPF-B001-05-16-0002\\\",\\\"errorMsg\\\":\\\"User not authorized to operate on the specified resource.\\\",\\\"errorLevel\\\":\\\"error\\\"}";
        s = s.replace("\\","");
        JSONObject jsonObject = JSONObject.parseObject(s);
        if(jsonObject.getBooleanValue("success")){
            return ObjEnvelop.getSuccess("发送成功",jsonObject);
        }else {
            return ObjEnvelop.getSuccess("发送失败",jsonObject,-1);
        }
    }
}

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/message/BaseServiceNewsService.java

@ -66,7 +66,7 @@ public class BaseServiceNewsService {
            orgCodes = orgCodes.replaceAll(",","','");
            filter = " and code not in ('"+orgCodes+"')";
        }
        String sql = "SELECT code,name,brief,address,photo,mobile,longitude,latitude,type from base_org WHERE type in ('3','4','6') and del =1 " +
        String sql = "SELECT code,name,brief,address,photo,mobile,longitude,latitude,type from base_org WHERE type in ('1','2','3','4','6') and del =1 " +
                " and code not in ('zdjsylfwyxgszhfgs') ";
        sql += filter;
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);

+ 38 - 7
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/patient/CarePatientService.java

@ -781,7 +781,7 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
     * @param residentialArea 居住小区
     * @return
     */
    public JSONObject findUserByType(String type,String name,String residentialArea,String area,Integer level,Integer page,Integer size){
    public JSONObject findUserByType(String type,String name,String residentialArea,String area,Integer level,Integer page,Integer size,boolean isShow){
        JSONObject re = new JSONObject();
        if(page == null){
            page = 1;
@ -792,7 +792,7 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
        String limit = " limit "+(page-1)*size+","+size;
        String filter ="";
        if("1".equals(type)||StringUtil.isBlank(type)){//新生儿
        if("1".equals(type)||StringUtil.isBlank(type)||isShow){//新生儿
            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_child' ";
            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
            if(listtmp.size()>0){
@ -805,7 +805,7 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
            re.put("child",list);
            re.put("childTotal",findChildTotal(name,residentialArea,filter));
        }
        if("2".equals(type)||"8".equals(type)||StringUtil.isBlank(type)){//老人  //1.7.7增加  需照护老人(孤/独/空)800 + 老人名单
        if(("2".equals(type)||StringUtil.isBlank(type))||(isShow&&"2".equals(type))){//老人  //1.7.7增加  需照护老人(孤/独/空)800 + 老人名单
            filter = "";
            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_older' ";
            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
@ -819,7 +819,7 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
            re.put("old",list);
            re.put("oldTotal",findOldTotal(type,name,residentialArea,area,level,filter));
        }
        if("3".equals(type)||StringUtil.isBlank(type)){//社工
        if("3".equals(type)||StringUtil.isBlank(type)||isShow){//社工
            filter = "";
            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' ";
            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
@ -833,7 +833,24 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
            re.put("helperTotal",findHelperTotal(name,area,level,filter));
        }
        if("5".equals(type)||StringUtils.isBlank(type)){//老人家属
        if("4".equals(type)||StringUtils.isBlank(type)||isShow){
            String nameDoctorSql = "";
            if (StringUtils.isNotBlank(name))nameDoctorSql = " and d.name like '%"+name+"%' ";
            String testDoctorSql= " SELECT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_doctor'";
            String doctorSql = "SELECT d.id,d.photo,d.`name`,d.openid,h.org_name FROM " +
                    "base_doctor d,base_doctor_hospital h WHERE d.id=h.doctor_code" +
                    " AND h.del = 1 AND d.del = 1 AND d.doctor_level = 1 "+nameDoctorSql+" AND d.id NOT IN ("+testDoctorSql+")";
            String doctorTotalSql = "SELECT count(d.id) total FROM " +
                    "base_doctor d,base_doctor_hospital h WHERE d.id=h.doctor_code" +
                    " AND h.del = 1 AND d.del = 1 AND d.doctor_level = 1 "+nameDoctorSql+" AND d.id NOT IN ("+testDoctorSql+")";
            List<Map<String, Object>> list = jdbcTemplate.queryForList(doctorSql);
            Integer integer = jdbcTemplate.queryForObject(doctorTotalSql, Integer.class);
            re.put("doctor",list);
            re.put("doctorTotal",integer);
        }
        if("5".equals(type)||StringUtils.isBlank(type)||isShow){//老人家属
            filter = "";
            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_olderRelative' ";
            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
@ -846,7 +863,7 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
            re.put("oldFamily",list);
            re.put("oldFamilyCount",findOlderFamilyTotal(name,area,level,filter));
        }
        if("6".equals(type)||StringUtils.isBlank(type)){//助老员
        if("6".equals(type)||StringUtils.isBlank(type)||isShow){//助老员
            filter = "";
            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' ";
            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
@ -860,7 +877,7 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
            re.put("helper4",list);
            re.put("helper4Total",findHelper4Total(name,area,level,filter));
        }
        if("7".equals(type)||StringUtils.isBlank(type)){//街道老人 第三方同步过来的朝晖街道老人数据
        if(("7".equals(type)||StringUtils.isBlank(type))||(isShow&&"7".equals(type))){//街道老人 第三方同步过来的朝晖街道老人数据
            filter = "";
            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_older' ";
            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
@ -874,6 +891,20 @@ public class CarePatientService extends BaseJpaService<BasePatientDO, BasePatien
            re.put("unSignOld",list);
            re.put("unSignOldCount",findUnSignOldTotal(name,residentialArea,area,level,filter));
        }
        if(("8".equals(type)||StringUtil.isBlank(type))||(isShow&&"7".equals(type))){//1.7.7增加  需照护老人(孤/独/空)800 + 老人名单
            filter = "";
            String sqltmp = "SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_older' ";
            List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
            if(listtmp.size()>0){
                String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
                orgCodes = orgCodes.replaceAll(",","','");
                filter = " and a.id not in ('"+orgCodes+"')";
            }
            List<Map<String,Object>> list = findOld(type,name,residentialArea,area,level,limit,filter);
            re.put("old",list);
            re.put("oldTotal",findOldTotal(type,name,residentialArea,area,level,filter));
        }
        return re;
    }

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

@ -310,8 +310,9 @@ public class SecurityMonitoringOrderService extends BaseJpaService<SecurityMonit
            } catch (Exception e) {
            }
            String body = "您好," + orderDO.getPatientName() + "居民" + orderDO.getServeDesc() + ",请关注并及时处理。";
            String dingDingBody = orderDO.getPatientName()+"居民存在异常情况,请及时处理,异常内容:"+orderDO.getServeDesc()+"。";
            messageUtil.sendDoctorGetuiMessage(doctorDO.getId(), "1", "/securityMonitoring/index", "安防紧急预警", body);
            messageUtil.sendDoctorDingdingMessage(doctorDO,null,"text","1",body,null,null);
            messageUtil.sendDoctorDingdingMessage(doctorDO,null,"text","1",dingDingBody,null,null);
            imUtil.sendMDTSocketMessageToDoctor(doctorDO.getId(), message.toString());
        }
        //pc管理端端推送消息

+ 113 - 33
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/StatisticsService.java

@ -540,7 +540,7 @@ public class StatisticsService {
        //离线的设备数 超过6小时未受理的预警数  超6小时未响应服务(审核照料发起6小时未接单)
        sqltmp = " select count(distinct pd.device_sn) total ,pd.device_type from wlyy_patient_device pd INNER JOIN wlyy_devices dev on pd.device_sn = dev.device_code " +
                " INNER JOIN base_patient p on pd.user = p.id and pd.del=0 and p.del=1 " +
                "where (dev.contact_status=0 or dev.contact_status is null ) and pd.user "+userfilter;
                "where dev.contact_status=0  and pd.user "+userfilter;
        sqltmp += " group by pd.device_type ";
        List<Map<String,Object>> offlineDevices = jdbcTemplate.queryForList(sqltmp);//离线设备
        Long count = 0l;
@ -826,6 +826,9 @@ public class StatisticsService {
        Integer streetOldTotal = 0;
        Integer streetOldOff = 0;
        Integer streetOldOn = 0;
        Integer doctorON = 0; //医生
        Integer doctorOff = 0;
        Integer doctorTotal = 0;
        //儿童注册人数
@ -1011,8 +1014,24 @@ public class StatisticsService {
        olderFamilyBinding = jdbcTemplate.queryForObject(sql2,Integer.class);
        //医生
        String doctorSqlTotal = "SELECT count(d.id) AS count, if(d.openid is null,0,1) online FROM base_doctor d WHERE  d.del = 1 AND d.doctor_level = 1 AND d.id NOT IN " +
                "(SELECT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_doctor') GROUP BY openid ";
        List<Map<String, Object>> doctorCountList = jdbcTemplate.queryForList(doctorSqlTotal);
        for (Map<String, Object> dcm : doctorCountList) {
            Integer num = Integer.valueOf(dcm.get("count").toString());
            Integer online = Integer.valueOf(dcm.get("online").toString());
            if (0==online){
                doctorOff+=num;
            }
            if (1==online){
                doctorON+=num;
            }
        }
        doctorTotal = doctorOff + doctorON;
        //helper 社工,teacher 教师,child 幼儿,olderWx 老人公众号,olderPad 老人平板 olderFamily老人家属  street 街道老人二次导入朝辉街道
        //helper4助老员 unSignOlder社区老人
        //helper4助老员 unSignOlder社区老人 doctor 医生
        result.put("olderTotal", olderTotal);
        result.put("olderOn", olderOn);
        result.put("olderOff", olderOff);
@ -1026,6 +1045,10 @@ public class StatisticsService {
        result.put("unSignOlderOff", unSignOlderOff);
        result.put("unSignOlderOn", unSignOlderOn);
        result.put("doctorTotal",doctorTotal);
        result.put("doctorOn",doctorON);
        result.put("doctorOff",doctorOff);
        result.put("helperTotal", helperTotal);
        result.put("helperOff", helperOff);
        result.put("helperOn", helperOn);
@ -2461,6 +2484,37 @@ public class StatisticsService {
    }
    public PageEnvelop getCareServerList(String name,String idCard,String area,Integer status,Integer page,Integer pageSize){
        page = page>0?page-1:0;
        String olderFilter = " and EXISTS ( select 1 from  " +
                " base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i,base_service_package pack " +
                " where sr.id = r.sign_id and sr.status=1 and r.service_package_id = i.service_package_id and r.service_package_id = pack.id  and i.del = 1 " +
                " and sr.`status`=1 and CONVERT(sr.patient USING utf8)  = life.patient " +
                " and CONVERT(sr.patient USING utf8) not in (SELECT dict_code FROM `base`.`wlyy_hospital_sys_dict` WHERE `dict_name` = 'jkzl_older' or dict_name='jkzl_child')  ) ";
        String pageSql = " order by life.create_time desc limit "+page*pageSize+","+pageSize;
        String headSql = "SELECT life.id,life.number,life.patient,life.patient_name patientName,life.patient_phone patientPhone,life.hospital,life.hospital_name hospitalName,CAST(DATE_FORMAT(life.create_time,'%Y-%m-%d %H:%i:%S') as char) createTime,de.name serviceName,p.idcard,p.residential_area residentialArea,o.mobile hospitalMobile,life.status,p.photo ";
        String countSql = "SELECT count(*) ";
        String tableSql = " FROM base_life_care_order life left join base_life_care_fee_detail de on life.id = de.order_id left join base_patient p on life.patient = p.id left join base_org o on life.hospital = o.code where 1=1 ";
        if(StringUtils.isNotBlank(name)){
            tableSql += " and p.name like '%"+name+"%' ";
        }
        if(StringUtils.isNotBlank(idCard)){
            tableSql += " and p.idcard like '%"+idCard+"%' ";
        }
        if(StringUtils.isNotBlank(area)){
            tableSql += " and p.residential_area like '%"+area+"%' ";
        }
        if(status == null){
            //tableSql += " and life.status in (1,2,3) ";
        }else {
            tableSql += " and life.status = "+status + " ";
        }
        List<Map<String, Object>> list = jdbcTemplate.queryForList(headSql + tableSql + olderFilter+pageSql);
        Long count = jdbcTemplate.queryForObject(countSql + tableSql + olderFilter, Long.class);
        return PageEnvelop.getSuccessListWithPage("获取成功",list,page,pageSize,count);
    }
    /**
     *获取老人服务情况(助老服务、紧急救助、医生服务 项目数量)
     */
@ -3166,14 +3220,21 @@ public class StatisticsService {
                        "  YEAR ( now()) - YEAR (substring( p.idcard, 7, 8 )) WHEN LENGTH( p.idcard )= 15 THEN " +
                        "  YEAR ( now()) - YEAR (STR_TO_DATE( CONCAT( '19', substring( p.idcard, 7, 2 )), '%Y' )) ELSE NULL  " +
                        " END AS age, p.mobile AS mobile, p.address AS address, t.`name` AS orgName, " +
                        " GROUP_CONCAT( DISTINCT d.NAME SEPARATOR ',' ) AS doctorName  FROM " +
                        " base_patient p,base_service_package_sign_record sr,base_service_package_record r,base_service_package_item i,base_service_package pack,base_team t,base_team_member tm,base_doctor d  " +
                        " GROUP_CONCAT( DISTINCT d.NAME SEPARATOR ',' ) AS socialWorkerName" +
                        ",GROUP_CONCAT( DISTINCT h.doctor_name SEPARATOR ',' ) AS helperName" +
                        ",GROUP_CONCAT( DISTINCT pd.doctor_name SEPARATOR ',' ) AS doctorName  " +
                        " FROM base_patient p " +
                        " left join base_patient_helper h on h.patient = p.id and h.del = '1' " +
                        " left join base_patient_doctor pd on pd.patient = p.id " +
                        ",base_service_package_sign_record sr,base_service_package_record r," +
                        " base_service_package_item i,base_service_package pack,base_team t,base_team_member tm,base_doctor d  " +
                        " WHERE " +
                        " sr.id = r.sign_id  " +
                        " AND sr.STATUS = 1  " +
                        " AND r.service_package_id = i.service_package_id  " +
                        " AND r.service_package_id = pack.id  " +
                        " AND i.del = 1  " +
                        " AND i.del = 1 " +
                        " AND p.del = 1  " +
                        " AND sr.`status` = 1  " +
                        " AND CONVERT ( sr.patient USING utf8 ) = p.id  " +
                        " AND r.team_code = t.id  " +
@ -3189,9 +3250,13 @@ public class StatisticsService {
                        "  WHEN LENGTH( p.idcard )= 15 THEN " +
                        "  YEAR (now()) - YEAR (STR_TO_DATE( CONCAT( '19', substring( p.idcard, 7, 2 )), '%Y' )) ELSE NULL  " +
                        " END AS age, " +
                        " p.mobile AS mobile,p.address AS address, p.residential_area AS orgName,'' AS doctorName  " +
                        " p.mobile AS mobile,p.address AS address, p.residential_area AS orgName,'' AS socialWorkerName" +
                        " ,GROUP_CONCAT( DISTINCT h.doctor_name SEPARATOR ',' ) AS helperName  " +
                        " ,GROUP_CONCAT( DISTINCT pd.doctor_name SEPARATOR ',' ) AS doctorName  " +
                        " FROM " +
                        " base_patient p INNER JOIN wlyy_patient_device d ON p.id = d.`user`  " +
                        " base_patient p INNER JOIN wlyy_patient_device d ON p.id = d.`user`" +
                        " left join base_patient_helper h on h.patient = p.id and h.del = '1' " +
                        " left join base_patient_doctor pd on pd.patient = p.id " +
                        " WHERE p.sign_status = 0 AND p.del = 1 AND d.del = 0 AND p.archive_type = 1 " + nameSql+idcardSql+orgNameSql2+
                        " <testUserSql>  " +
                        " GROUP BY p.idcard  ";
@ -3213,7 +3278,7 @@ public class StatisticsService {
        page = (page - 1) * size;
        String testUserSql = "AND p.id NOT IN (SELECT DISTINCT dict_code FROM wlyy_hospital_sys_dict" +
                " WHERE( dict_name = 'jkzl_child' OR dict_name = 'jkzl_older' OR dict_name = 'jkzl_user') AND dict_code IS NOT NULL ) ";
        sql += "  ORDER BY id limit " + page + "," + size + "";
        sql += "  ORDER BY id DESC limit " + page + "," + size + "";
        sql = sql.replace("<testUserSql>",testUserSql);
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
@ -3648,8 +3713,8 @@ public class StatisticsService {
        if (StringUtils.isNotBlank(name)) nameSql = " AND p.name LIKE '%" + name + "%'";
        if (StringUtils.isNotBlank(deviceSn)) deviceSnSql = " AND pd.device_sn = '" + deviceSn + "'";
        String filter="";
        String sqltmp = " SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE (dict_name = 'jkzl_child' or dict_name = 'jkzl_older' OR dict_name ='jkzl_helper' OR dict_name= 'jkzl_olderRelative' OR dict_name ='jkzl_user') ";
        String filter="AND pd.USER NOT IN ( SELECT DISTINCT dict_code FROM wlyy_hospital_sys_dict WHERE ( dict_name = 'jkzl_user' OR dict_name = 'jkzl_older' ) AND dict_code IS NOT NULL ) ";
        /*String sqltmp = " SELECT GROUP_CONCAT(dict_code) orgCodes from wlyy_hospital_sys_dict WHERE (dict_name = 'jkzl_child' or dict_name = 'jkzl_older' OR dict_name ='jkzl_helper' OR dict_name= 'jkzl_olderRelative' OR dict_name ='jkzl_user') ";
        List<Map<String,Object>> listtmp =  jdbcTemplate.queryForList(sqltmp);
        if(listtmp.size()>0){
            String orgCodes = String.valueOf(listtmp.get(0).get("orgCodes"));
@ -3657,46 +3722,58 @@ public class StatisticsService {
                orgCodes = orgCodes.replaceAll(",","','");
                filter = " and p.id not in ('"+orgCodes+"') ";
            }
        }
        }*/
        page = page>0?page-1:0;
        String deviceSql = "";
        if ("jk".equals(type)) {
            categoryCodeSql = " AND ( pd.category_code = 1 OR pd.category_code = 2 )";
            categoryCodeSql = " AND pd.device_type = 0 ";
            if (StringUtils.isNotBlank(categoryCode))
                categoryCodeSql = " AND pd.category_code = '" + categoryCode + "'";
            deviceSql = "SELECT DISTINCT  p.id AS patient, pd.id as id,pd.device_name AS deviceName,pd.device_sn AS deviceSn,'健康设备' AS deviceType,p.`name`," +
                    " p.mobile,p.phone,dd.photo,wd.contact_status * 1 AS contactStatus,pd.category_code as categoryCode" +
            deviceSql = "SELECT p.id AS patient,pd.id AS id,pd.device_name AS deviceName,pd.device_sn AS deviceSn,dd.photo,'健康设备' AS deviceType,p.`name`,p.mobile,p.phone,wd.contact_status * 1 AS contactStatus,pd.category_code as categoryCode " +
                    " FROM " +
                    " wlyy_patient_device pd LEFT JOIN base_patient p ON pd.`user` = p.id LEFT JOIN dm_device dd ON pd.category_code = dd.category_code " +
                    " LEFT JOIN wlyy_devices wd ON wd.device_code = pd.device_sn WHERE " +
                    " pd.del = 0 "+filter + nameSql + deviceSnSql + categoryCodeSql + contactStatusSql;
            totalSql = "SELECT count(DISTINCT pd.id) FROM " +
                    " wlyy_patient_device pd LEFT JOIN base_patient p ON pd.`user` = p.id LEFT JOIN dm_device dd ON pd.category_code = dd.category_code " +
                    " LEFT JOIN wlyy_devices wd ON wd.device_code = pd.device_sn WHERE " +
                    " pd.del = 0 " +filter+ nameSql + deviceSnSql + categoryCodeSql + contactStatusSql;
                    " wlyy_patient_device pd " +
                    " INNER JOIN wlyy_devices wd ON pd.device_sn = wd.device_code " +
                    " INNER JOIN base_patient p ON pd.USER = p.id AND pd.del = 0 AND p.del = 1    " +
                    " LEFT JOIN dm_device dd ON pd.category_code = dd.category_code " +
                    "WHERE " +
                    " 1=1 "+filter + nameSql + deviceSnSql + categoryCodeSql + contactStatusSql;
            totalSql = "SELECT count(pd.id) FROM " +
                    " wlyy_patient_device pd " +
                    " INNER JOIN wlyy_devices wd ON pd.device_sn = wd.device_code " +
                    " INNER JOIN base_patient p ON pd.USER = p.id  AND pd.del = 0  AND p.del = 1  " +
                    " LEFT JOIN dm_device dd ON pd.category_code = dd.category_code " +
                    " WHERE " +
                    " 1=1 "+filter + nameSql + deviceSnSql + categoryCodeSql + contactStatusSql;
        }
        if ("af".equals(type) || StringUtils.isBlank(type)) {
            categoryCodeSql = " AND pd.category_code > 2 ";
            categoryCodeSql = " AND pd.device_type = 1 ";
            if (StringUtils.isNotBlank(categoryCode))
                categoryCodeSql = " AND pd.category_code = '" + categoryCode + "'";
            deviceSql = " SELECT DISTINCT  p.id AS patient,pd.id AS id ,pd.device_name AS deviceName,pd.device_sn AS deviceSn,'安防设备' AS deviceType,p.`name`,p.mobile,p.phone,dd.photo,wd.contact_status * 1 AS contactStatus,pd.category_code as categoryCode " +
            deviceSql = "SELECT p.id AS patient,pd.id AS id,pd.device_name AS deviceName,pd.device_sn AS deviceSn,dd.photo,'安防设备' AS deviceType,p.`name`,p.mobile,p.phone,wd.contact_status * 1 AS contactStatus,pd.category_code as categoryCode " +
                    " FROM " +
                    " wlyy_patient_device pd LEFT JOIN base_patient p ON pd.`user` = p.id LEFT JOIN dm_device dd ON pd.category_code = dd.category_code " +
                    " LEFT JOIN wlyy_devices wd ON wd.device_code = pd.device_sn WHERE " +
                    " pd.del = 0 " +filter+nameSql + deviceSnSql + categoryCodeSql + contactStatusSql;
                    " wlyy_patient_device pd " +
                    " INNER JOIN wlyy_devices wd ON pd.device_sn = wd.device_code " +
                    " INNER JOIN base_patient p ON pd.USER = p.id AND pd.del = 0 AND p.del = 1    " +
                    " LEFT JOIN dm_device dd ON pd.category_code = dd.category_code " +
                    "WHERE " +
                    " 1=1 "+filter + nameSql + deviceSnSql + categoryCodeSql + contactStatusSql;
            totalSql = "SELECT count(pd.id) FROM " +
                    " wlyy_patient_device pd " +
                    " INNER JOIN wlyy_devices wd ON pd.device_sn = wd.device_code " +
                    " INNER JOIN base_patient p ON pd.USER = p.id  AND pd.del = 0  AND p.del = 1  " +
                    " LEFT JOIN dm_device dd ON pd.category_code = dd.category_code " +
                    " WHERE " +
                    " 1=1 "+filter + nameSql + deviceSnSql + categoryCodeSql + contactStatusSql;
            totalSql = " SELECT count(DISTINCT pd.id) FROM " +
                    " wlyy_patient_device pd LEFT JOIN base_patient p ON pd.`user` = p.id LEFT JOIN dm_device dd ON pd.category_code = dd.category_code " +
                    " LEFT JOIN wlyy_devices wd ON wd.device_code = pd.device_sn WHERE " +
                    " pd.del = 0 " +filter+nameSql + deviceSnSql + categoryCodeSql + contactStatusSql;
        }
        deviceSql += " GROUP BY id LIMIT " + page*size + "," + size + " ";
        deviceSql += " GROUP BY pd.id LIMIT " + page*size + "," + size + " ";
        List<Map<String, Object>> deviceList = jdbcTemplate.queryForList(deviceSql);
        List<String> list = jdbcTemplate.queryForList(totalSql, String.class);
@ -3756,7 +3833,7 @@ public class StatisticsService {
        //离线设备数量
        String offLineDeviceSql="select count(distinct pd.device_sn) total from wlyy_patient_device pd INNER JOIN wlyy_devices dev on pd.device_sn = dev.device_code " +
                "                 INNER JOIN base_patient p on pd.user = p.id and pd.del=0 and p.del=1 " +
                "                where (dev.contact_status=0 or dev.contact_status is null ) and pd.device_type = "+type+"  AND pd.user NOT IN ("+testUsqlSql+") group by pd.device_type";
                "                where dev.contact_status=0  and pd.device_type = "+type+"  AND pd.user NOT IN ("+testUsqlSql+") group by pd.device_type";
        //设备总数
        String deviceTotalSql = "SELECT count(DISTINCT device_code) FROM wlyy_devices WHERE (device_code IS NOT NULL OR device_code <> '') AND device_type = "+type+"";
@ -3776,6 +3853,8 @@ public class StatisticsService {
                "                INNER JOIN base_patient p on pd.user = p.id and pd.del=0 and p.del=1 " +
                "                where pd.device_type = "+type+"  AND EXISTS(SELECT 1 FROM device_data_push_log pl WHERE pl.device_sn = pd.device_sn "+deviceCategorySql+" AND DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= pl.create_time ) AND pd.user NOT IN ("+testUsqlSql+") group by pd.device_type";
        //设备类型总数
        String deviceCodeTotalSql ="SELECT count(DISTINCT device_code) FROM wlyy_devices WHERE (device_code IS NOT NULL OR device_code <> '') AND category_code = '"+deviceCategory+"'";
        List<Integer> total = jdbcTemplate.queryForList(typeTotalSql, Integer.class);
        jsonObject.put("typeTotal",total.get(0));
@ -3786,9 +3865,10 @@ public class StatisticsService {
        total = jdbcTemplate.queryForList(lineDeviceSql,Integer.class);
        jsonObject.put("lineDevice",total.get(0));
        total = jdbcTemplate.queryForList(sevenDayUseSql,Integer.class);
        Integer deviceCodeTotal = jdbcTemplate.queryForObject(deviceCodeTotalSql,Integer.class);
        Float num = 0F;
        if (total.size()>0) {
            num= (float)total.get(0)/(float)Integer.parseInt(jsonObject.get("deviceTotal").toString());
            num= (float)total.get(0)/(float)deviceCodeTotal;
        }
        jsonObject.put("sevenDayUse",num*100);
        return jsonObject;

+ 12 - 3
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/util/DingdingUtil.java

@ -8,6 +8,7 @@ import com.alibaba.xxpt.gateway.shared.client.http.GetClient;
import com.alibaba.xxpt.gateway.shared.client.http.PostClient;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@ -232,18 +233,26 @@ public class DingdingUtil {
    /**
     * 发送单聊消息
     */
    public void sendP2pMsg(String msg,String receiverId){
    public String sendP2pMsg(String msg,String receiverId){
        return this.sendP2pMsg(msg, receiverId,null);
    }
    /**
     * 发送单聊消息
     */
    public String sendP2pMsg(String msg,String receiverId,String sendId){
        PostClient postClient = executableClient.newPostClient(sendMsg);
        //Set the parameters
        postClient.addParameter("msg", msg);
        postClient.addParameter("senderId", p2pSenderId);
        postClient.addParameter("senderId", StringUtils.isBlank(sendId)?p2pSenderId:sendId);
        postClient.addParameter("receiverId", receiverId);
        postClient.addParameter("chatId", "");
        postClient.addParameter("tenantId", tenantId);
        postClient.addParameter("chatType", "1");
        //Call API
        String apiResult = postClient.post();
        logger.info(apiResult);
        logger.info("响应结果"+apiResult);
        return apiResult;
    }
}

+ 1 - 1
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/endpoint/NetdevTestController.java

@ -193,7 +193,7 @@ public class NetdevTestController extends BaseController {
    @ApiOperation("同步人脸数据")
    public String synPatientFaceRecords(){
        try {
//            netDevSdkService.synPatientFaceRecords();
            netDevSdkService.synPatientFaceRecords();
            return success();
        }catch (Exception e){
            e.printStackTrace();

+ 4 - 4
svr/svr-cloud-device/src/main/java/com/yihu/jw/care/netdevsdk/NetDevSdkService.java

@ -80,12 +80,12 @@ public class NetDevSdkService {
    // http://zhyzh.gongshu.gov.cn:3001/ 开vpn后可以本地调试
    //IP:10.18.50.18   账号admin  密码Admin12345@    HTTP端口80  HTTPS端口  443  RTSP端口 554
//    private static final int dwPort = 80;//端口号 443
    private static final int dwPort = 3001;//端口号 443
    private static final int dwPort = 80;//端口号 443
//    private static final int dwPort = 3001;//端口号 443
    private static final String strUserName = "admin";//用户名
    private static final String strPassword = "Admin12345@";//密码
    private static final String strIPAddr = "zhyzh.gongshu.gov.cn";//ip地址
//    private static final String strIPAddr = "10.18.50.18";//ip地址
//    private static final String strIPAddr = "zhyzh.gongshu.gov.cn";//ip地址
    private static final String strIPAddr = "10.18.50.18";//ip地址
    private static final Integer dwLoginProto = 1; /* 登录协议 0:onvif 1:私有*/
    private static final Integer dwDeviceType = 1; /* 设备类型 IPC/NVR */
    private static final String baseFaceImg = "https://zhyzh.gongshu.gov.cn/face/";