trick9191 7 gadi atpakaļ
vecāks
revīzija
6a68b43546
14 mainītis faili ar 564 papildinājumiem un 29 dzēšanām
  1. 26 1
      patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/controller/PrescriptionController.java
  2. 16 0
      patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/dao/consult/ConsultTeamDao.java
  3. 1 1
      patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/entity/ZyPushLog.java
  4. 328 0
      patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/entity/consult/ConsultTeam.java
  5. 36 1
      patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/LogService.java
  6. 8 5
      patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/ZysoftBaseService.java
  7. 7 5
      patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/prescription/PrescriptionCAService.java
  8. 111 13
      patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/prescription/PrescriptionService.java
  9. 6 1
      patient-co-service/wlyy_service/src/main/resources/application.yml
  10. 18 0
      patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/wechat/process/WeiXinEventProcess.java
  11. 1 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/ConsultTeamService.java
  12. 2 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/account/DoctorController.java
  13. 4 0
      patient-co/patient-co-wlyy/src/main/resources/system.properties
  14. BIN
      patient-co/patient-co-wlyy/src/main/webapp/images/patientQRCode.png

+ 26 - 1
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/controller/PrescriptionController.java

@ -1,5 +1,6 @@
package com.yihu.wlyy.service.controller;
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.service.common.model.Result;
import com.yihu.wlyy.service.service.prescription.PrescriptionCAService;
import com.yihu.wlyy.service.service.prescription.PrescriptionService;
@ -87,7 +88,11 @@ public class PrescriptionController extends BaseController{
	public String readNewsOnline(@ApiParam(name="data",value="json串",defaultValue = "{}")
								 @RequestParam(value = "data",required = true) String data){
		try {
			return write(200,"success","url","http://www.yihu.com/");
			String url = prescriptionService.getReadNewsOnline(data);
			if("-1".equals(url)){
				error(-1,"未找到对应的续方记录");
			}
			return write(200,"success","url",url);
		}catch (Exception e){
			e.printStackTrace();
			return error(-1,e.getMessage());
@ -95,6 +100,26 @@ public class PrescriptionController extends BaseController{
	}
	/***************************************获取im消息*****************************************************/
	@RequestMapping(value = "getLoglist",method = RequestMethod.GET)
	@ApiOperation("获取续方消息")
	public String getLoglist(@ApiParam(name = "consult", value = "咨询code", defaultValue = "10")
							 @RequestParam(value = "consult", required = true) String consult,
							 @ApiParam(name = "page", value = "第几页", defaultValue = "0")
							 @RequestParam(value = "page", required = true) Integer page,
							 @ApiParam(name = "pagesize", value = "页面大小", defaultValue = "1")
							 @RequestParam(value = "pagesize", required = true) Integer pagesize){
		try {
			JSONObject json = prescriptionService.getLoglist(consult,page,pagesize);
			return write(200,"success","data",json);
		}catch (Exception e){
			e.printStackTrace();
			return error(-1,"获取续方消息失败");
		}
	}
	/***************************************获取im消息*****************************************************/
	/**************************************提供智业调用的接口 end*******************************************************/

+ 16 - 0
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/dao/consult/ConsultTeamDao.java

@ -0,0 +1,16 @@
/*******************************************************************************
 * Copyright (c) 2005, 2014 springside.github.io
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 *******************************************************************************/
package com.yihu.wlyy.service.dao.consult;
import com.yihu.wlyy.service.entity.consult.ConsultTeam;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface ConsultTeamDao extends PagingAndSortingRepository<ConsultTeam, Long>, JpaSpecificationExecutor<ConsultTeam> {
	// 根據consult查詢咨询记录
	ConsultTeam findByConsult(String consult);
}

+ 1 - 1
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/entity/ZyPushLog.java

@ -14,7 +14,7 @@ import java.util.Date;
@Table(name = "wlyy_zy_push_log")
public class ZyPushLog extends IdEntity {
    private String type;//'接口类型 1(推送续方)',
    private String type;//'接口类型 1(推送续方),2续方请求',
    private String content;//'业务内容',
    private String api;//'调用接口',
    private String method;//'调用方式',

+ 328 - 0
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/entity/consult/ConsultTeam.java

@ -0,0 +1,328 @@
package com.yihu.wlyy.service.entity.consult;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.wlyy.service.common.model.IdEntity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Date;
/**
 * 三师咨询
 * @author George
 */
@Entity
@Table(name = "wlyy_consult_team")
public class ConsultTeam extends IdEntity {
	private static final long serialVersionUID = -7644448339473861513L;
	private String consult;         // 咨询标识
	private String doctor;          // 医生标识
	private String team;            // 三师团队标识
	private Integer type;           //  1、三师咨询,2、家庭医生咨询,6、患者名医咨询 7医生名医咨询 8续方咨询
	private String patient;         // 提问者标识
	private String name;            // 患者姓名
	private Integer sex;            // 患者性别
	private Date birthday;          // 患者生日
	private String photo;           // 患者头像
	private String when;            // 发病日期
	private String symptoms;        // 主要症状
	private Integer status;         // 咨询状态(0进行中,1已完成,-1患者取消,-2超时未响应自动关闭)
	private String images;          // 咨询图片URL,多图以逗号分隔
	private String voice;           // 咨询语音URL
	private String comment;         // 用户评价标识
	private String commentContent;  // 用户评价内容
	private Integer commentStar;    // 用户评价星级
	private Integer doctorRead;     // 医生未读数量
	private Integer patientRead;    // 患者未读数量
	private Date czrq;              // 咨询时间
	private String del;             // 作废标识,1正常,0作废
	private Long adminTeamId;//行政团队ID
	private Long guidance;   //关联指导
	private String doctorName;//醫生名字
	//起始消息id
	private String startMsgId;
	//结束消息id
	private String endMsgId;
	// 结束人
	private String endOperator;
	// 结束人类型
	private Integer endType;
	// 结束时间
	private Date endTime;
	//是否评价 1、已评价 0、未评价'
	private Integer evaluate;
	//评价时间
	private Date evaluateTime;
	private String relationCode;//关联业务表的code
	public Integer getEvaluate() {
		return evaluate;
	}
	public void setEvaluate(Integer evaluate) {
		this.evaluate = evaluate;
	}
	public Date getEvaluateTime() {
		return evaluateTime;
	}
	public void setEvaluateTime(Date evaluateTime) {
		this.evaluateTime = evaluateTime;
	}
	@Column(name = "admin_team_code")
	public Long getAdminTeamId() {
		return adminTeamId;
	}
	public void setAdminTeamId(Long adminTeamId) {
		this.adminTeamId = adminTeamId;
	}
	public String getConsult() {
		return consult;
	}
	public void setConsult(String consult) {
		this.consult = consult;
	}
	public ConsultTeam() {
	}
	public String getDoctor() {
		return doctor;
	}
	public void setDoctor(String doctor) {
		this.doctor = doctor;
	}
	public String getTeam() {
		return team;
	}
	public void setTeam(String team) {
		this.team = team;
	}
	public Integer getType() {
		return type;
	}
	public void setType(Integer type) {
		this.type = type;
	}
	public String getPatient() {
		return patient;
	}
	public void setPatient(String patient) {
		this.patient = patient;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+08:00")
	public Date getBirthday() {
		return birthday;
	}
	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}
	public String getPhoto() {
		return photo;
	}
	public void setPhoto(String photo) {
		this.photo = photo;
	}
	@Column(name = "fbsj")
	public String getWhen() {
		return when;
	}
	public void setWhen(String when) {
		this.when = when;
	}
	public Integer getStatus() {
		return status;
	}
	public void setStatus(Integer status) {
		this.status = status;
	}
	public String getImages() {
		return images;
	}
	public void setImages(String images) {
		this.images = images;
	}
	public String getVoice() {
		return voice;
	}
	public void setVoice(String voice) {
		this.voice = voice;
	}
	public String getComment() {
		return comment;
	}
	public void setComment(String comment) {
		this.comment = comment;
	}
	@Column(name = "comment_content")
	public String getCommentContent() {
		return commentContent;
	}
	public void setCommentContent(String commentContent) {
		this.commentContent = commentContent;
	}
	@Column(name = "comment_star")
	public Integer getCommentStar() {
		return commentStar;
	}
	public void setCommentStar(Integer commentStar) {
		this.commentStar = commentStar;
	}
	@Column(name = "doctor_read")
	public Integer getDoctorRead() {
		return doctorRead;
	}
	public void setDoctorRead(Integer doctorRead) {
		this.doctorRead = doctorRead;
	}
	@Column(name = "patient_read")
	public Integer getPatientRead() {
		return patientRead;
	}
	public void setPatientRead(Integer patientRead) {
		this.patientRead = patientRead;
	}
	// 设定JSON序列化时的日期格式
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	public Date getCzrq() {
		return czrq;
	}
	public void setCzrq(Date czrq) {
		this.czrq = czrq;
	}
	// 设定JSON序列化时的日期格式
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	public Date getEndTime() {
		return endTime;
	}
	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}
	public String getSymptoms() {
		return symptoms;
	}
	public void setSymptoms(String symptoms) {
		this.symptoms = symptoms;
	}
	public String getDel() {
		return del;
	}
	public void setDel(String del) {
		this.del = del;
	}
	public Integer getSex() {
		return sex;
	}
	public void setSex(Integer sex) {
		this.sex = sex;
	}
	@Transient
	public String getDoctorName() {
		return doctorName;
	}
	public void setDoctorName(String doctorName) {
		this.doctorName = doctorName;
	}
	public Long getGuidance() {
		return guidance;
	}
	public void setGuidance(Long guidance) {
		this.guidance = guidance;
	}
	public String getStartMsgId() {
		return startMsgId;
	}
	public void setStartMsgId(String startMsgId) {
		this.startMsgId = startMsgId;
	}
	public String getEndMsgId() {
		return endMsgId;
	}
	public void setEndMsgId(String endMsgId) {
		this.endMsgId = endMsgId;
	}
	public String getEndOperator() {
		return endOperator;
	}
	public void setEndOperator(String endOperator) {
		this.endOperator = endOperator;
	}
	public Integer getEndType() {
		return endType;
	}
	public void setEndType(Integer endType) {
		this.endType = endType;
	}
	public String getRelationCode() {
		return relationCode;
	}
	public void setRelationCode(String relationCode) {
		this.relationCode = relationCode;
	}
}

+ 36 - 1
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/LogService.java

@ -1,7 +1,12 @@
package com.yihu.wlyy.service.service;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.yihu.wlyy.service.dao.HttpLogDao;
import com.yihu.wlyy.service.dao.ZyPushLogDao;
import com.yihu.wlyy.service.entity.HttpLog;
import com.yihu.wlyy.service.entity.ZyPushLog;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -14,9 +19,12 @@ import java.util.Date;
@Service
public class LogService {
    private org.slf4j.Logger logger= LoggerFactory.getLogger(LogService.class);
    @Autowired
    private HttpLogDao httpLogDao;
    @Autowired
    private ZyPushLogDao zyPushLogDao;
    @Autowired
    private SystemDictService systemDictService;
@ -50,6 +58,33 @@ public class LogService {
        }
    }
    /**
     * 保存长处方日志
     */
    public void saveZyPushLog(String api, String content, String error, String method, String request, String re, String status, String type){
        try{
            ZyPushLog log = new ZyPushLog();
            log.setCreateTime(new Date());
            log.setApi(api);
            log.setContent(content);
            log.setError(error);
            log.setMethod(method);
            log.setRequest(request);
            if(re.length()>10652261){
                log.setResponse("超过longtext限制");
            }else {
                log.setResponse(JSONObject.toJSONString(re, SerializerFeature.WriteMapNullValue));
            }
            log.setRetryTimes(0);
            log.setStatus(status);
            log.setType(type);
            zyPushLogDao.save(log);
        }catch (Exception e){
            e.printStackTrace();
            logger.info("保存数据日志出错");
        }
    }
    /**
     * 保存http调用日志【基卫接口】

+ 8 - 5
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/ZysoftBaseService.java

@ -146,7 +146,6 @@ public class ZysoftBaseService {
                }
            }
            Map<String,String> map = objectMapper.readValue(re,Map.class);
            String code = map.get("CODE");
            String message = map.get("MESSAGE");
@ -156,7 +155,8 @@ public class ZysoftBaseService {
                throw new HttpApiException(Integer.valueOf(code),message);
            }
            //保存http日志
            logService.saveHttpLog(isSuccess,api,content,method,msgHeader,msgBody,re,error);
//            logService.saveHttpLog(isSuccess,api,content,method,msgHeader,msgBody,re,error);
            logService.saveZyPushLog(api,content,null,"POST",msgHeader+","+msgBody,re,"1","2");
        }
        catch (Exception ex)
        {
@ -167,7 +167,8 @@ public class ZysoftBaseService {
            error = sw.toString();
            isSuccess = false;
            //保存http日志
            logService.saveHttpLog(isSuccess,api,content,method,msgHeader,msgBody,re,error);
//            logService.saveHttpLog(isSuccess,api,content,method,msgHeader,msgBody,re,error);
            logService.saveZyPushLog(api,content,null,"POST",msgHeader+","+msgBody,re,"0","2");
            if(ex instanceof ApiException)
            {
@ -230,7 +231,8 @@ public class ZysoftBaseService {
//            com.alibaba.fastjson.JSONObject j = com.alibaba.fastjson.JSONObject.parseObject(re);
            //保存http日志
            logService.saveHttpLog(isSuccess,api,content,method,msgHeader,msgBody,re,error);
//            logService.saveHttpLog(isSuccess,api,content,method,msgHeader,msgBody,re,error);
            logService.saveZyPushLog(api,content,null,"POST",msgHeader+","+msgBody,re,"1","2");
        }
        catch (Exception ex)
        {
@ -240,7 +242,8 @@ public class ZysoftBaseService {
            error = sw.toString();
            //保存http日志
            logService.saveHttpLog(isSuccess,api,content,method,msgHeader,msgBody,re,error);
//            logService.saveHttpLog(isSuccess,api,content,method,msgHeader,msgBody,re,error);
            logService.saveZyPushLog(api,content,null,"POST",msgHeader+","+msgBody,re,"0","2");
            if(ex instanceof ApiException)
            {

+ 7 - 5
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/prescription/PrescriptionCAService.java

@ -18,6 +18,7 @@ import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
/**
@ -40,7 +41,7 @@ public class PrescriptionCAService extends ZysoftBaseService {
    @Autowired
    private ObjectMapper objectMapper;
    private String getHeaderXml(String api,String srcBusinessStreamNO)
    private String getHeaderXml(String api,String srcBusinessStreamNO,String srcRequestStreamNO)
    {
        return "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
            "<root>\n" +
@ -57,6 +58,7 @@ public class PrescriptionCAService extends ZysoftBaseService {
            "   <srcBusinessNodeName>审核</srcBusinessNodeName>\n" +
            "   <srcOperatorAccount>"+srcBusinessStreamNO+"</srcOperatorAccount>\n" +
            "   <srcBusinessStreamNO>"+srcBusinessStreamNO+"</srcBusinessStreamNO>\n" +
            "   <srcRequestStreamNO>"+srcRequestStreamNO+"</srcRequestStreamNO>\n" +
            "   <srcDataExtProperty></srcDataExtProperty>\n" +
            "</root>";
    }
@ -82,8 +84,8 @@ public class PrescriptionCAService extends ZysoftBaseService {
            }
        }
        msgBody += "</root>";
        String msgHeader = getHeaderXml(api,srcBusinessStreamNO);
        String srcRequestStreamNO = UUID.randomUUID().toString().replace("-", "");
        String msgHeader = getHeaderXml(api,srcBusinessStreamNO,srcRequestStreamNO);
        System.out.println("msgHerder:"+msgHeader);
        System.out.println("msgBody:"+msgBody);
@ -164,8 +166,8 @@ public class PrescriptionCAService extends ZysoftBaseService {
        }
        msgBody += "</root>";
        String msgHeader = getHeaderXml(api,srcBusinessStreamNO);
        String srcRequestStreamNO = UUID.randomUUID().toString().replace("-", "");
        String msgHeader = getHeaderXml(api,srcBusinessStreamNO,srcRequestStreamNO);
        Map<String,String> p = new HashMap<>();
        p.put("msgHeader",msgHeader);

+ 111 - 13
patient-co-service/wlyy_service/src/main/java/com/yihu/wlyy/service/service/prescription/PrescriptionService.java

@ -3,13 +3,16 @@ package com.yihu.wlyy.service.service.prescription;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONException;
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.service.common.SystemConfig;
import com.yihu.wlyy.service.common.model.Result;
import com.yihu.wlyy.service.common.util.AmoutUtils;
import com.yihu.wlyy.service.common.util.CommonUtil;
import com.yihu.wlyy.service.common.util.DateUtil;
import com.yihu.wlyy.service.dao.*;
import com.yihu.wlyy.service.dao.consult.ConsultTeamDao;
import com.yihu.wlyy.service.dao.prescription.*;
import com.yihu.wlyy.service.entity.*;
import com.yihu.wlyy.service.entity.consult.ConsultTeam;
import com.yihu.wlyy.service.entity.prescription.*;
import com.yihu.wlyy.service.entity.prescription.VO.PrescriptionExpressageVO;
import com.yihu.wlyy.service.service.ZysoftBaseService;
@ -64,11 +67,12 @@ public class PrescriptionService extends ZysoftBaseService{
    private PrescriptionReviewedDao prescriptionReviewedDao;
    @Autowired
    private MessageDao messageDao;
    @Value("${im.data_base_name}")
    private String im;
    @Value("${redisChannel.prescription}")
    private String channelTopic;
//    private String channelTopic = "redisPrescription";
    @Autowired
    private ConsultTeamDao consultTeamDao;
    @Autowired
    private AmoutUtils amoutUtils;
@ -165,6 +169,9 @@ public class PrescriptionService extends ZysoftBaseService{
                        }
                        prescriptionInfo.setIsRefrigerate(isRefrigerate);
                        //用药频率
                        prescriptionInfo.setDrugRateName(getZyCommonDictName(info.getString("drugRate")));
                        infoList.add(prescriptionInfo);
                    }
@ -192,12 +199,12 @@ public class PrescriptionService extends ZysoftBaseService{
                    messageDao.save(message);
                    // redis 的发布 {tilte:redisAddPrescription   state: 1 ,//1:成功,2.失败 mes:'开方成功' prescription : "0001" //续方CODE  }
                    JSONObject redisMessage = new JSONObject();
                    redisMessage.put("title","adjustPrescription");
                    redisMessage.put("state",1);
                    redisMessage.put("prescription",prescription.getCode());
                    redisMessage.put("mes","调整处方完成");
                    redisTemplate.convertAndSend(channelTopic,redisMessage.toString());
//                    JSONObject redisMessage = new JSONObject();
//                    redisMessage.put("title","adjustPrescription");
//                    redisMessage.put("state",1);
//                    redisMessage.put("prescription",prescription.getCode());
//                    redisMessage.put("mes","调整处方完成");
//                    redisTemplate.opsForList().leftPush(channelTopic,redisMessage.toString());
                }else {
                    //调整失败
                    prescription.setStatus(4);
@ -222,6 +229,18 @@ public class PrescriptionService extends ZysoftBaseService{
        return addZyPushLog(jsonObject,"prescriptionAdjustCompleted","接收线下处方调整完成消息",error,"POST",status,"1",errMsg);
    }
    public String getZyCommonDictName(String code){
        try{
            String sql  ="SELECT t.name FROM zy_common_dict t WHERE t.code=? AND t.dict_name='IV_RECIPE_FREQUENCY_DICT'";
            List<Map<String,Object>> list = jdbcTemplate.queryForList(sql,new Object[]{code});
            if(list!=null&&list.size()>0){
                return (String)(list.get(0).get("name"));
            }
            return "";
        }catch (Exception e){
            return "";
        }
    }
    /**
     * 接收预结算完成消息
@ -369,9 +388,88 @@ public class PrescriptionService extends ZysoftBaseService{
        return addZyPushLog(jsonObject,"pharmacistPrescriptionCompletion","接收药师审方完成及结果消息",error,"POST",status,"1",errMsg);
    }
    /**
     * 提供在线问诊消息调阅
     * @param jsonObject
     * @return
     */
    public String getReadNewsOnline(String jsonObject){
        String url = "";
        String error = null;
        String status = "1";
        String errMsg = null;
        try{
            JSONObject json = JSONObject.parseObject(jsonObject);
            String orderNo = json.getString("ORDER_NO");//挂号编号
            String recipeNo = json.getString("RECIPE_NO");//处方编号
            Prescription prescription = prescriptionDao.findByVisitNoAndRecipeNo(orderNo,recipeNo);
            if(prescription==null){
                url = "-1";
            }else{
                url = SystemConfig.sysPropertiesSets.get("readNewsOnline_url")+"?consult="+prescription.getConsult();
            }
        }catch (JSONException ex){
            ex.printStackTrace();
            error = ex.getMessage();
            errMsg = ex.getMessage();
            status = "0";
        }catch (Exception e){
            e.printStackTrace();
            error = e.getMessage();
            status = "0";
        }
        //添加日志
        addZyPushLog(jsonObject,"getReadNewsOnline","提供在线问诊消息调阅",error,"POST",status,"1",errMsg);
        return url;
    }
    /********************************************智业推送数据处理 end**************************************************/
    /*********************************************获取im消息 start**************************************************/
    /**
     * 获取续方消息
     * @return
     */
    public JSONObject getLoglist(String consult,Integer page,Integer pagesize){
        JSONObject re = new JSONObject();
        try {
            //获取咨询
            ConsultTeam consultTeam = consultTeamDao.findByConsult(consult);
            String sessionId = consultTeam.getPatient()+"_"+consult+"_8";
            //获取消息记录
            Integer start = (page - 1 < 0 ? 0 : page - 1) * pagesize;
            Integer end = start + pagesize;
            StringBuffer sql = new StringBuffer("select * from ");
            sql.append(im).append(".muc_messages ");
            sql.append(" where session_id = ? ");
            sql.append(" order by timestamp desc ");
            sql.append(" limit ").append(start).append(",").append(end);
            List<Map<String,Object>> list = jdbcTemplate.queryForList(sql.toString(),sessionId);
            re.put("list",list);
            //获取参与人的信息
            StringBuffer parts = new StringBuffer("SELECT u.code id, u.name, u.sex, u.birthday birthdate, u.photo avatar, p.participant_role role, false is_patient,p.last_fetch_time,u.level FROM ");
            parts.append(im).append(".sessions s, ").append(im).append(".participants p, wlyy_doctor u ");
            parts.append("WHERE s.id = ? AND s.id = p.session_id AND p.participant_id = u.code union ");
            parts.append("SELECT u.code id, u.name, u.sex, u.birthday birthdate, u.photo avatar, p.participant_role role, true is_patient,p.last_fetch_time,0 as level FROM ");
            parts.append(im).append(".sessions s, ").append(im).append(".participants p, wlyy_patient u ");
            parts.append("WHERE s.id = ? AND s.id = p.session_id AND p.participant_id = u.code ");
            List<Map<String,Object>> partsList = jdbcTemplate.queryForList(parts.toString(),sessionId,sessionId);
            re.put("users",partsList);
        }catch (Exception e){
            e.printStackTrace();
            logger.info("获取续方消息失败");
        }
        return re;
    }
    /*********************************************获取im消息 end******************************************************/
    /*********************************************请求智业接口数据 start**************************************************/
@ -689,8 +787,8 @@ public class PrescriptionService extends ZysoftBaseService{
        String[] hospitalMapping = getHospitalMapping(prescription.getHospital()); //获取机构映射
        String hospital = hospitalMapping[0];
//        String licence = hospitalMapping[1];
        String licence = "5YGl5bq35LmL6Lev";
        String licence = hospitalMapping[1];
//        String licence = "5YGl5bq35LmL6Lev";
        Map<String,String> header = new HashMap<>();
        header.put("ORGCODE",hospital);
@ -719,8 +817,8 @@ public class PrescriptionService extends ZysoftBaseService{
        String[] hospitalMapping = getHospitalMapping(prescription.getHospital()); //获取机构映射
        String hospital = hospitalMapping[0];
//        String licence = hospitalMapping[1];
        String licence = "5YGl5bq35LmL6Lev";
        String licence = hospitalMapping[1];
//        String licence = "5YGl5bq35LmL6Lev";
        Map<String,String> header = new HashMap<>();
        header.put("ORGCODE",hospital);

+ 6 - 1
patient-co-service/wlyy_service/src/main/resources/application.yml

@ -71,6 +71,8 @@ spring:
    port: 6379 # Redis server port.
#    password: jkzl_ehr
im:
  data_base_name: im_new
---
spring:
  profiles: test
@ -87,7 +89,8 @@ spring:
    host: 172.19.103.88 # Redis server host.
    port: 6379 # Redis server port.
#    password: jkzl_ehr
im:
  data_base_name: im_new
---
spring:
  profiles: production
@ -103,3 +106,5 @@ spring:
    host: 10.95.22.142 # Redis server host.
    port: 6380 # Redis server port.
    password: jkzlehr
im:
  data_base_name: im

+ 18 - 0
patient-co/patient-co-wlyy-job/src/main/java/com/yihu/wlyy/wechat/process/WeiXinEventProcess.java

@ -255,6 +255,24 @@ public class WeiXinEventProcess {
        articlePrescription.put("PicUrl", prescription_pic);
        articles.add(articlePrescription);
//        新增居民取药码图文消息 by wjj 2017.08.25
        Map<String, String> articlePatientQRCode = new HashMap<>();
        // 图文URL
        String patientQRCode = systemConf.getProperty("patient_QRCode_url");
        // 图文消息图片URL
        String patientQRCode_pic = systemConf.getProperty("patient_QRCode_pic");
        // URL设置服务器URL、AppId
        patientQRCode = patientQRCode.replace("{server}", wechat_base_url)
                .replace("{appId}", appId);
        //图片地址
        patientQRCode_pic = patientQRCode_pic.replace("{server}", serverUrl);
        articlePatientQRCode.put("Url", patientQRCode);
        articlePatientQRCode.put("Title", "我的取药码");
        articlePatientQRCode.put("Description", "我的取药码");
        articlePatientQRCode.put("PicUrl", patientQRCode_pic);
        articles.add(articlePatientQRCode);
        // 构建回复消息XML
        result = WeiXinMessageReplyUtils.replyNewsMessage(message.get("FromUserName"), message.get("ToUserName"), articles);

+ 1 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/ConsultTeamService.java

@ -1122,6 +1122,7 @@ public class ConsultTeamService extends ConsultService {
        prescription.setType(PrescriptionLog.PrescriptionLogType.create.getValue());
        prescription.setStatus(PrescriptionLog.PrescriptionLogStatus.revieweding.getValue());
        prescription.setConsult(ct.getConsult());
        prescription.setJwPayStatus(0);//处方结算状态,0为未结算,1为结算成功,默认为0
        //保存智业的医生信息
        Map<String,Object> map = zyDictService.findJwDoctorByDoctor(doctor.getCode());
        if(map!=null){

+ 2 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/account/DoctorController.java

@ -1853,7 +1853,7 @@ public class DoctorController extends BaseController {
        try {
//            Doctor doctor = doctorInfoService.findDoctorByCode(getRepUID());
            JSONObject data = doctorInfoService.getCAPastDue("37744fa886f211e6b394fa163e424525",new JSONObject());
            JSONObject data = doctorInfoService.getCAPastDue(getUID(),new JSONObject());
            return write(200, "获取信息成功!", "data", data);
        }catch (Exception e) {
            error(e);
@ -1870,7 +1870,7 @@ public class DoctorController extends BaseController {
    public String isAuthentication(){
        try {
            //0de6a26a62dd11e69faffa163e8aee56
            JSONObject data = doctorInfoService.isAuthentication("37744fa886f211e6b394fa163e424525");
            JSONObject data = doctorInfoService.isAuthentication(getUID());
            return write(200, "获取信息成功!", "data", data);
        }catch (Exception e) {
            error(e);

+ 4 - 0
patient-co/patient-co-wlyy/src/main/resources/system.properties

@ -26,6 +26,8 @@ patient_inspect_url =https://open.weixin.qq.com/connect/oauth2/authorize?appid={
patient_examination_url=https://open.weixin.qq.com/connect/oauth2/authorize?appid={appId}&amp;redirect_uri={server}%2fwx%2fhtml%2fjkda%2fhtml%2fjiankangtijian.html&amp;response_type=code&amp;scope=snsapi_base&amp;state=STATE#wechat_redirect
#处方记录
patient_prescription_url=https://open.weixin.qq.com/connect/oauth2/authorize?appid={appId}&amp;redirect_uri={server}%2fwx%2fhtml%2fprescription%2fhtml%2fprescription_records.html&amp;response_type=code&amp;scope=snsapi_base&amp;state=STATE#wechat_redirect
#居民取药码
patient_QRCode_url=https://open.weixin.qq.com/connect/oauth2/authorize?appid={appId}&amp;redirect_uri={server}%2fwx%2fhtml%2fprescription%2fhtml%2fmy-medicine-code.html&amp;response_type=code&amp;scope=snsapi_base&amp;state=STATE#wechat_redirect
#就诊记录
@ -36,6 +38,8 @@ patient_inspect_pic ={server}/images/inspect.png
patient_examination_pic={server}/images/examination.png
#处方记录
patient_prescription_pic={server}/images/prescriptionRecords.png
#居民取药码
patient_QRCode_pic={server}/images/patientQRCode.png
patient_operatinginstrutions_pic_url={server}/images/operatinginstructions.png
patient_booking_pic_url={server}/images/booking.png

BIN
patient-co/patient-co-wlyy/src/main/webapp/images/patientQRCode.png