LAPTOP-KB9HII50\70708 1 anno fa
parent
commit
0292336147

+ 0 - 3
business/im-service/src/main/java/com/yihu/jw/im/service/ImService.java

@ -357,7 +357,6 @@ public class ImService {
        if (rstotal != null && rstotal.size() > 0) {
            consultCode = rstotal.get(0).get("consultCode").toString();
        }
        logger.info("未结束判断语句" + totalSql + "======consultCode" + consultCode);
        return consultCode;
    }
@ -378,7 +377,6 @@ public class ImService {
        if (rstotal != null && rstotal.size() > 0) {
            consultCode = rstotal.get(0).get("consultCode").toString();
        }
        logger.info("未结束判断语句" + totalSql + "======consultCode" + consultCode);
        return consultCode;
    }
@ -406,7 +404,6 @@ public class ImService {
        if (rstotal != null && rstotal.size() > 0) {
            consultCode = rstotal.get(0).get("consultCode").toString();
        }
        logger.info("未结束判断语句" + totalSql + "======consultCode" + consultCode);
        return consultCode;
    }

+ 29 - 6
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/consult/controller/ConsultController.java

@ -20,6 +20,7 @@ import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.entity.ServiceException;
import com.yihu.jw.util.http.HttpClientUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -28,12 +29,8 @@ import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
@ -50,7 +47,7 @@ import java.util.*;
 * @author George
 */
@RestController
@RequestMapping(value = "/patient/consult", produces = MediaType.APPLICATION_JSON_UTF8_VALUE, method = {RequestMethod.GET, RequestMethod.POST})
@RequestMapping(value = "/patient/consult")
@Api(description = "患者端-患者咨询")
public class ConsultController extends EnvelopRestEndpoint {
@ -98,6 +95,32 @@ public class ConsultController extends EnvelopRestEndpoint {
    @Value("${im.data_base_name}")
    private String im;
    /**
     * 修改状态为1的咨询记录为结束
     *
     * @param code 咨询标识
     * @return
     */
    @PostMapping(value = "finish")
    @ApiOperation("修改状态为1的咨询记录为结束")
    public Envelop finish(@RequestParam(required = true) String code) {
        try {
            int row = consultTeamService.finishConsult(code, getRepUID(), 1);
            if (row > 0) {
                return Envelop.getSuccess("操作成功!");
            }else if(row == -2) {
                return Envelop.getError( "续方未审核,不能结束续方咨询!",-1);
            }  else {
                return Envelop.getError("操作失败!",-1);
            }
        } catch (ServiceException se) {
            return Envelop.getError(se.getMessage(),-1);
        } catch (Exception e) {
            error(e);
            return Envelop.getError("操作失败!",-1);
        }
    }
    /**
     * 获取未完成咨询
     *

+ 45 - 0
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/consult/service/ConsultTeamService.java

@ -1,6 +1,7 @@
package com.yihu.jw.hospital.module.consult.service;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.im.ConsultDo;
import com.yihu.jw.entity.base.im.ConsultTeamDo;
import com.yihu.jw.entity.base.im.ConsultTeamLogDo;
@ -18,6 +19,7 @@ import com.yihu.jw.order.dao.ConsultTeamOrderDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.patient.service.BasePatientService;
import com.yihu.jw.restmodel.ResponseContant;
import com.yihu.jw.util.entity.ServiceException;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -72,6 +74,49 @@ public class ConsultTeamService extends ConsultService {
    @Autowired
    private ImUtil imUtill;
    public int finishConsult(String consult, String endOperator, int endType) throws Exception {
        ConsultTeamDo consultTeam = consultTeamDao.findByConsult(consult);
        ConsultDo cons = consultDao.findById(consult).orElse(null);
        if (consultTeam.getStatus() == 1) {
            return -1;
        }
        String endName = "";
        String endId = "";
        //结束咨询才发送推送给IM文字消息
        if (endType == 1) {
            BasePatientDO p = patientDao.findById(endOperator).orElse(null);
            endName = p.getName();
            endId = p.getId();
        } else {
            if (endOperator.equals("admin")) {
                endId = "system";
                endName = "咨询超时未回复,系统自动";
            } else {
                BaseDoctorDO d = doctorDao.findByIdAndDel(endOperator);
                endId = d.getId();
                endName = d.getName();
            }
        }
        JSONObject obj = imUtill.endTopics(consultTeam.getPatient(), endId, endName, consultTeam.getConsult());
        if (obj == null) {
            throw new ServiceException("IM消息结束异常!");
        }
        if (obj.getInteger("status") == -1) {
            throw new ServiceException(String.valueOf(obj.get("message")));
        }
        consultTeam.setEndMsgId(obj.getString("id"));
        cons.setEndTime(new Date());
        consultTeam.setEndTime(new Date());
        consultTeam.setStatus(1);
        consultDao.save(cons);
        consultTeamDao.save(consultTeam);
        return 1;
    }
    /**
     * 添加上门服务咨询

+ 17 - 13
svr/svr-visit-behind/src/main/java/com/yihu/jw/hospital/module/health/service/DeviceDetailService.java

@ -192,21 +192,25 @@ public class DeviceDetailService {
	 * @return
	 */
	public void registerToWlyy(DevicePatientDevice device){
		//判断设备类型
		Device deviceDO = deviceDao.findById(device.getDeviceId()).orElse(null);
		if (StringUtils.isNotBlank(deviceDO.getNeedRegister())){
			// 设备注册至iot后 通过iot将设备数据转发
		try {
			//判断设备类型
			Device deviceDO = deviceDao.findById(device.getDeviceId()).orElse(null);
			if (StringUtils.isNotBlank(deviceDO.getNeedRegister())){
				// 设备注册至iot后 通过iot将设备数据转发
//			String url = "http://www.cityihealth.com:43210/deviceManage/register";
			WlyyHospitalSysDictDO dictDO1 = hospitalSysDictDao.findOneByDictNameAndDictCode("registerToWlyy","pushAddress");
			WlyyHospitalSysDictDO dictDO2 = hospitalSysDictDao.findOneByDictNameAndDictCode("registerToWlyy","url");
			String pushAddress = dictDO1.getDictValue();
			String url = dictDO2.getDictValue();
			List<NameValuePair> params = new ArrayList<>();
			params.add(new BasicNameValuePair("deviceSN", device.getDeviceSn()));
			params.add(new BasicNameValuePair("pushAddress", pushAddress));
			String response = httpClientUtil.post(url, params,"UTF-8");
			System.out.println("注册结果:"+response);
				WlyyHospitalSysDictDO dictDO1 = hospitalSysDictDao.findOneByDictNameAndDictCode("registerToWlyy","pushAddress");
				WlyyHospitalSysDictDO dictDO2 = hospitalSysDictDao.findOneByDictNameAndDictCode("registerToWlyy","url");
				String pushAddress = dictDO1.getDictValue();
				String url = dictDO2.getDictValue();
				List<NameValuePair> params = new ArrayList<>();
				params.add(new BasicNameValuePair("deviceSN", device.getDeviceSn()));
				params.add(new BasicNameValuePair("pushAddress", pushAddress));
				String response = httpClientUtil.post(url, params,"UTF-8");
				System.out.println("注册结果:"+response);
			}
		}catch (Exception e){
			e.printStackTrace();
		}
	}
}