Browse Source

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

Conflicts:
	patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultController.java
yeshijie 8 years ago
parent
commit
788fd59e5b
35 changed files with 464 additions and 168 deletions
  1. 5 0
      patient-co/patient-co-wlyy/pom.xml
  2. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/aop/ObserverRequiredAOP.java
  3. 2 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/MvcConfig.java
  4. 14 4
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/DoctorInterceptor.java
  5. 9 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/PatientInterceptor.java
  6. 11 9
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/account/DoctorInfoService.java
  7. 7 5
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/consult/ConsultTeamService.java
  8. 5 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/family/FamilyMemberService.java
  9. 3 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/followup/FollowUpService.java
  10. 5 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/health/PatientHealthGuidanceService.java
  11. 4 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/health/PatientHealthIndexService.java
  12. 30 17
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionDiagnosisService.java
  13. 50 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionInfoService.java
  14. 26 23
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/FamilyContractService.java
  15. 4 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/PatientRemindService.java
  16. 23 21
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/SignWebService.java
  17. 4 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/survey/ManagerQuestionnaireService.java
  18. 4 29
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/task/PushMsgTask.java
  19. 5 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/task/RemindExpensesTask.java
  20. 26 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/util/ImUtill.java
  21. 4 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/account/WechatController.java
  22. 8 5
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/im/imController.java
  23. 63 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/consult/DoctorConsultController.java
  24. 7 4
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/consult/DoctorConsultPublicController.java
  25. 6 4
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/health/DoctorHealthEduArticleController.java
  26. 4 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/intervene/DoctorInterveneController.java
  27. 3 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/medical/DoctorMedicalRecordController.java
  28. 15 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/prescription/PrescriptionInfoController.java
  29. 4 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/survey/ManagerQuestionnaireController.java
  30. 4 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/booking/PatientBookingController.java
  31. 3 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultCommunicationController.java
  32. 37 9
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultController.java
  33. 1 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/prescription/PatientPrescriptionInfoController.java
  34. 64 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/sign/PatientSignController.java
  35. 3 3
      patient-co/patient-co-wlyy/src/main/resources/application.yml

+ 5 - 0
patient-co/patient-co-wlyy/pom.xml

@ -213,6 +213,11 @@
        </dependency>
        <!-- aspectjrt end -->
        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
        </dependency>
        <!-- jdbc driver -->
        <dependency>

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/aop/ObserverRequiredAOP.java

@ -21,7 +21,7 @@ import java.io.PrintWriter;
@Aspect
@Component
public class ObserverRequiredAOP {
    //Controller层切点
    //Controller层切点路径
    @Pointcut("execution(* com.yihu.wlyy.web..*.*(..))")
    public void controllerAspect() {
    }

+ 2 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/MvcConfig.java

@ -31,8 +31,8 @@ public class MvcConfig extends WebMvcConfigurerAdapter {
        // 多个拦截器组成一个拦截器链
        // addPathPatterns 用于添加拦截规则
        // excludePathPatterns 用户排除拦截
        registry.addInterceptor(doctorInterceptor).addPathPatterns("/doctor/**","/statistics/province/**","/statistics/**");
        registry.addInterceptor(patientInterceptor).addPathPatterns("/patient/**");
//        registry.addInterceptor(doctorInterceptor).addPathPatterns("/doctor/**","/statistics/province/**","/statistics/**");
//        registry.addInterceptor(patientInterceptor).addPathPatterns("/patient/**");
        registry.addInterceptor(userInterceptor).addPathPatterns("/user/**");
        super.addInterceptors(registry);

+ 14 - 4
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/DoctorInterceptor.java

@ -8,6 +8,8 @@ import com.yihu.wlyy.util.SystemConf;
import com.yihu.wlyy.util.SystemData;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.method.HandlerMethod;
@ -27,6 +29,8 @@ import java.util.Map;
@Component
public class DoctorInterceptor extends BaseInterceptor {
    private Logger logger = LoggerFactory.getLogger(DoctorInterceptor.class);
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        boolean flag = true;
@ -54,7 +58,13 @@ public class DoctorInterceptor extends BaseInterceptor {
            String uid = json.has("uid") ? json.getString("uid") : "";
            String imei = json.has("imei") ? json.getString("imei") : "";
            String observer = json.has("observer") ? json.getString("observer") : "";
            Integer platform  = json.has("platform") ? json.getInt("platform") : 2;
            Integer platform = json.has("platform") ? json.getInt("platform") : 2;
            logger.info("tokenStr:"+tokenStr);
            logger.info("uid:"+uid);
            logger.info("imei:"+imei);
            logger.info("observer:"+observer);
            logger.info("platform:"+platform);
            //如果是观察者直接返回true
            if (!org.springframework.util.StringUtils.isEmpty(observer) && observer.equals("1")) {
                Class cls = ((HandlerMethod) handler).getBeanType();
@ -103,9 +113,9 @@ public class DoctorInterceptor extends BaseInterceptor {
            Token token = null;
            Map<String, Token> tempMap = null;
            if(platform==2){
            if (platform == 2) {
                tempMap = SystemData.doctorTokens;
            }else {
            } else {
                tempMap = SystemData.doctorPCTokens;
            }
            token = tempMap.get(uid);
@ -149,7 +159,7 @@ public class DoctorInterceptor extends BaseInterceptor {
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        if(null==request.getAttribute("log-start")){
        if (null == request.getAttribute("log-start")) {
            return;
        }
        long start = (long) request.getAttribute("log-start");

+ 9 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/interceptors/PatientInterceptor.java

@ -7,6 +7,8 @@ import com.yihu.wlyy.util.SystemConf;
import com.yihu.wlyy.util.SystemData;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.method.HandlerMethod;
@ -25,6 +27,7 @@ import java.util.Date;
@Component
public class PatientInterceptor extends BaseInterceptor {
	private Logger logger = LoggerFactory.getLogger(PatientInterceptor.class);
	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
		boolean flag = true;
@ -36,6 +39,7 @@ public class PatientInterceptor extends BaseInterceptor {
			}
			response.setCharacterEncoding("UTF-8");
			JSONObject json = getAgent(request);
			logger.info("userAgent:"+json);
			if (json == null) {
				// 未登录
				response.getOutputStream().write(error(SystemConf.NOT_LOGIN, "请登录后再操作!").getBytes());
@ -46,6 +50,11 @@ public class PatientInterceptor extends BaseInterceptor {
			String imei = json.has("imei") ? json.getString("imei") : "";
			String openid = json.has("openid") ? json.getString("openid") : "";
			int platform = json.has("platform") ? json.getInt("platform") : 1;
			logger.info("tokenStr:"+tokenStr);
			logger.info("uid:"+user);
			logger.info("imei:"+imei);
			logger.info("openid:"+openid);
			logger.info("platform:"+platform);
			if (StringUtils.isEmpty(imei)) {
				imei = openid;
			}

+ 11 - 9
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/account/DoctorInfoService.java

@ -107,6 +107,8 @@ public class DoctorInfoService extends BaseService {
    @Autowired
    private ImUtill ImUtill;
    @Autowired
    private PushMsgTask pushMsgTask;
    /**
     * 获取医生的签约病人
@ -876,7 +878,7 @@ public class DoctorInfoService extends BaseService {
        //判断是否判定openId,有没有发则查找家人发送
        if (StringUtils.isNotBlank(p.getOpenid())) {
            PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, p.getOpenid(), p.getName(), data);
            pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 10, p.getOpenid(), p.getName(), data);
        }
//        else {
//            JSONObject json = weiXinOpenIdUtils.getFamilyOpenId(p.getCode());
@ -885,7 +887,7 @@ public class DoctorInfoService extends BaseService {
//                String first = (String) data.get("first");
//                data.remove("first");
//                data.put("first", weiXinOpenIdUtils.getTitleMes(p, json.getInt("relation"), member.getName()) + first);
//                PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), member.getName(), data);
//                pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), member.getName(), data);
//
//            }
//        }
@ -901,7 +903,7 @@ public class DoctorInfoService extends BaseService {
                json.put("toUser",member.getCode());
                json.remove("first");
                json.put("first",weiXinOpenIdUtils.getTitleMes(p,j.getInt("relation"),p.getName())+first);
                PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), p.getName(), json);
                pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), p.getName(), json);
            }
        }
    }
@ -1013,7 +1015,7 @@ public class DoctorInfoService extends BaseService {
        }
        if (StringUtils.isNotBlank(p.getOpenid())) {
            PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, p.getOpenid(), p.getName(), data);
            pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 10, p.getOpenid(), p.getName(), data);
        }
//        else {
//            JSONObject json = weiXinOpenIdUtils.getFamilyOpenId(p.getCode());
@ -1023,7 +1025,7 @@ public class DoctorInfoService extends BaseService {
//                String first = (String) data.get("first");
//                data.remove("first");
//                data.put("first", weiXinOpenIdUtils.getTitleMes(p, json.getInt("relation"), member.getName()) + first);
//                PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), member.getName(), data);
//                pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), member.getName(), data);
//            }
//        }
@ -1039,7 +1041,7 @@ public class DoctorInfoService extends BaseService {
                json.put("toUser",member.getCode());
                json.remove("first");
                json.put("first",weiXinOpenIdUtils.getTitleMes(p,j.getInt("relation"),p.getName())+first);
                PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), p.getName(), json);
                pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), p.getName(), json);
            }
        }
        return 1;
@ -1234,7 +1236,7 @@ public class DoctorInfoService extends BaseService {
        if (StringUtils.isNotBlank(p.getOpenid())) {
            data.put("first", p.getName() + ",您签约团队的全科医生已变更,您的新全科医生信息如下:");
            PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, p.getOpenid(), p.getName(), data);
            pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 10, p.getOpenid(), p.getName(), data);
        }
//        else {
//            //如果自己没有绑定,则发给家人
@ -1243,7 +1245,7 @@ public class DoctorInfoService extends BaseService {
//            if (StringUtils.isNotBlank(member.getOpenid())) {
//                data.put("first", weiXinOpenIdUtils.getTitleMes(p, (int) json.get("relation"), member.getName()) + p.getName() + ",您好!因签约团队内分工调整,您的责任医生有变动," + oldDoctorName +
//                        "医生无法继续为您服务,具体变动如下:");
//                PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), member.getName(), data);
//                pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), member.getName(), data);
//            }
//        }
@ -1258,7 +1260,7 @@ public class DoctorInfoService extends BaseService {
                json.put("toUser",member.getCode());
                json.remove("first");
                json.put("first", weiXinOpenIdUtils.getTitleMes(p, (int) json.get("relation"), p.getName()) + p.getName() + ",您好!您签约团队的全科医生已变更,您的新全科医生信息如下:");
                PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), p.getName(), json);
                pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), p.getName(), json);
            }
        }
    }

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

@ -128,6 +128,8 @@ public class ConsultTeamService extends ConsultService {
    @Value("${im.im_list_get}")
    private String im_list_get;
    @Autowired
    private PushMsgTask pushMsgTask;
    @PostConstruct
    public void init() {
@ -691,7 +693,7 @@ public class ConsultTeamService extends ConsultService {
                            continue;
                        }
                        // 推送消息给医生
                        PushMsgTask.getInstance().put(ctd.getTo(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM_REPLY.D_CT_02.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM_REPLY.指定咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM_REPLY.您有新的消息.name(), temp.getConsult());
                        pushMsgTask.put(ctd.getTo(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM_REPLY.D_CT_02.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM_REPLY.指定咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM_REPLY.您有新的消息.name(), temp.getConsult());
                    }
                }
                // 医生未读数量+1
@ -2024,7 +2026,7 @@ public class ConsultTeamService extends ConsultService {
                String first = endName + ",您好!您有1条咨询已结束,请及时对咨询医生进行评价。";
                json.put("first", first);
                if(StringUtils.isNotBlank(p.getOpenid())){
                    PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 17, openId, p.getName(), json);
                    pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 17, openId, p.getName(), json);
                }
                //发送代理人
@ -2038,7 +2040,7 @@ public class ConsultTeamService extends ConsultService {
                        data.put("toUser",member.getCode());
                        data.remove("first");
                        data.put("first",weiXinOpenIdUtils.getTitleMes(p,j.getInt("relation"),p.getName())+first);
                        PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 17, member.getOpenid(), p.getName(), data);
                        pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 17, member.getOpenid(), p.getName(), data);
                    }
                }
            }
@ -2066,7 +2068,7 @@ public class ConsultTeamService extends ConsultService {
                String first = name + ",您好!您有1条咨询已结束,请及时对咨询医生进行评价。";
                json.put("first", first);
                if(StringUtils.isNotBlank(p.getOpenid())){
                    PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 17, openId, p.getName(), json);
                    pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 17, openId, p.getName(), json);
                }
                //发送代理人
@ -2080,7 +2082,7 @@ public class ConsultTeamService extends ConsultService {
                        data.put("toUser",member.getCode());
                        data.remove("first");
                        data.put("first",weiXinOpenIdUtils.getTitleMes(p,j.getInt("relation"),p.getName())+first);
                        PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 17, member.getOpenid(), p.getName(), data);
                        pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 17, member.getOpenid(), p.getName(), data);
                    }
                }

+ 5 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/family/FamilyMemberService.java

@ -57,6 +57,8 @@ public class FamilyMemberService extends BaseService {
    Map<Integer, String> relations = new HashMap<>();
    @Autowired
    private PushMsgTask pushMsgTask;
    @Autowired
    private CommonUtil CommonUtil;
    @Autowired
@ -1019,7 +1021,7 @@ public class FamilyMemberService extends BaseService {
                                "点击查看家人。");
                        System.out.println("-----sendMes----:openId "+p.getOpenid()+"-----access_token-----:"+access_token+"--json--");
                        //此消息为定向推送,无需家人代收
                        PushMsgTask.getInstance().putWxMsg(access_token, 13, p.getOpenid(), p.getName(), json);
                        pushMsgTask.putWxMsg(access_token, 13, p.getOpenid(), p.getName(), json);
                    }
                }
                return st;
@ -1040,7 +1042,7 @@ public class FamilyMemberService extends BaseService {
                json.put("remark"," ");
                System.out.println("-----sendMes----:openId "+p.getOpenid()+"-----access_token-----:"+access_token+"--json--");
                //此消息为定向推送,无需家人代收
                PushMsgTask.getInstance().putWxMsg(access_token, 14, p.getOpenid(), p.getName(), json);
                pushMsgTask.putWxMsg(access_token, 14, p.getOpenid(), p.getName(), json);
                return 2;
            }
        }
@ -1190,7 +1192,7 @@ public class FamilyMemberService extends BaseService {
                "点击立即处理。");
        json.put("member", member);
        //此消息为定向推送,无需家人代收
        PushMsgTask.getInstance().putWxMsg(access_token, 12, m.getOpenid(), m.getName(), json);
        pushMsgTask.putWxMsg(access_token, 12, m.getOpenid(), m.getName(), json);
        return 1;
    }

+ 3 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/followup/FollowUpService.java

@ -80,6 +80,8 @@ public class FollowUpService extends BaseService {
    @Autowired
    private PatientService patientService;
    @Autowired
    private PushMsgTask pushMsgTask;
    /**
@ -677,7 +679,7 @@ public class FollowUpService extends BaseService {
                    message.setReadonly(1);//是否只读消息
                    list.add(message);
                    // 推送消息给医生
                    PushMsgTask.getInstance().put(doctor, "4", title, content, "");
                    pushMsgTask.put(doctor, "4", title, content, "");
                }
                messageDao.save(list);

+ 5 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/health/PatientHealthGuidanceService.java

@ -53,6 +53,9 @@ public class PatientHealthGuidanceService extends BaseService {
	@Autowired
	private WeiXinAccessTokenUtils weiXinAccessTokenUtils;
	@Autowired
	private PushMsgTask pushMsgTask;
	public JSONObject findById(Long id){
		PatientHealthGuidance guidance = patientHealthGuidanceDao.findOne(id);
@ -151,7 +154,7 @@ public class PatientHealthGuidanceService extends BaseService {
			json.put("remark", "请点击查看");
			if(StringUtils.isNotEmpty(openId)){
				// 推送消息到微信端
				PushMsgTask.getInstance().putWxMsg(accessToken, 4, openId, patient.getName(), json);
				pushMsgTask.putWxMsg(accessToken, 4, openId, patient.getName(), json);
			}
			//发送代理人
			JSONArray jsonArray = weiXinOpenIdUtils.getAgentOpenId(patient.getCode(),patient.getOpenid());
@ -165,7 +168,7 @@ public class PatientHealthGuidanceService extends BaseService {
					//String first = (String) json.get("first");
					data.remove("first");
					data.put("first", weiXinOpenIdUtils.getTitleMes(patient, j.getInt("relation"), patient.getName()) + "健康指导提醒");
					PushMsgTask.getInstance().putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 4, member.getOpenid(), patient.getName(), data);
					pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 4, member.getOpenid(), patient.getName(), data);
				}
			}

+ 4 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/health/PatientHealthIndexService.java

@ -73,6 +73,8 @@ public class PatientHealthIndexService extends BaseService {
    @Autowired
    private CommonUtil CommonUtil;
    @Autowired
    private PushMsgTask pushMsgTask;
@ -311,7 +313,7 @@ public class PatientHealthIndexService extends BaseService {
            // 批量保存消息
            messageDao.save(messages);
            // 推送消息给医生
            PushMsgTask.getInstance().put(array);
            pushMsgTask.put(array);
        }
        return model;
    }
@ -396,7 +398,7 @@ public class PatientHealthIndexService extends BaseService {
        // 批量保存消息
        messageDao.save(messages);
        // 推送消息给医生
        PushMsgTask.getInstance().put(array);
        pushMsgTask.put(array);
    }
    /**

+ 30 - 17
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionDiagnosisService.java

@ -5,8 +5,9 @@ import com.yihu.wlyy.entity.patient.prescription.PrescriptionInfo;
import com.yihu.wlyy.repository.prescription.PrescriptionDiagnosisDao;
import com.yihu.wlyy.repository.prescription.PrescriptionInfoDao;
import com.yihu.wlyy.service.BaseService;
import net.sf.json.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
import net.sf.json.JSONArray;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
@ -34,8 +35,9 @@ public class PrescriptionDiagnosisService extends BaseService{
     * @param prescriptionCode
     * @return
     */
    public String getPrescriptionDiagnosis(String prescriptionCode){
    public JSONArray getPrescriptionDiagnosis(String prescriptionCode){
        String re = "";
        JSONArray jsonArray = new JSONArray();
        try {
            if(!StringUtils.isEmpty(prescriptionCode))
            {
@ -46,21 +48,25 @@ public class PrescriptionDiagnosisService extends BaseService{
                {
                    List<PrescriptionDiagnosis> list = prescriptionDiagnosisDao.findByPrescriptionCode(prescriptionCode);
                    if(list!=null&&list.size()>0){
                        re = new JSONArray(list).toString();
                        for (PrescriptionDiagnosis diagnosis:list){
                            JSONObject json = new JSONObject();
                            json.put("code",diagnosis.getCode());//疾病代码
                            json.put("name",diagnosis.getName());//疾病名称
                            jsonArray.add(json);
                        }
                        re = jsonArray.toString();
                        redisTemplate.opsForValue().set(key,re,2, TimeUnit.HOURS);
                    }
                }else {
                    jsonArray = JSONArray.fromObject(re);
                }
            }
        }
        catch (Exception ex) {
            ex.printStackTrace();
            return new JSONArray().toString();
        }
        if(StringUtils.isEmpty(re)){
           re = new JSONArray().toString();
        }
        return re;
        return jsonArray;
    }
    /**
@ -68,8 +74,9 @@ public class PrescriptionDiagnosisService extends BaseService{
     * @param prescriptionCode
     * @return
     */
    public String getPrescriptionInfo(String prescriptionCode){
    public JSONArray getPrescriptionInfo(String prescriptionCode){
        String re = "";
        JSONArray jsonArray = new JSONArray();
        try {
            if(!StringUtils.isEmpty(prescriptionCode))
            {
@ -80,21 +87,20 @@ public class PrescriptionDiagnosisService extends BaseService{
                {
                    List<PrescriptionInfo> list = prescriptionInfoDao.findByPrescriptionCode(prescriptionCode);
                    if(list!=null&&list.size()>0){
                        re = new JSONArray(list).toString();
                        jsonArray = JSONArray.fromObject(list);
                        re = jsonArray.toString();
                        redisTemplate.opsForValue().set(key,re,2, TimeUnit.HOURS);
                    }
                }else {
                    jsonArray = JSONArray.fromObject(re);
                }
            }
        }
        catch (Exception ex) {
            ex.printStackTrace();
            return new JSONArray().toString();
        }
        if(StringUtils.isEmpty(re)){
            re = new JSONArray().toString();
        }
        return re;
        return jsonArray;
    }
    /**
@ -110,7 +116,14 @@ public class PrescriptionDiagnosisService extends BaseService{
                String key = "prescription:"+prescriptionCode+":diseaseTypes";
                List<PrescriptionDiagnosis> list = prescriptionDiagnosisDao.findByPrescriptionCode(prescriptionCode);
                if(list!=null&&list.size()>0){
                    String re = new JSONArray(list).toString();
                    JSONArray jsonArray = new JSONArray();
                    for (PrescriptionDiagnosis diagnosis:list){
                        JSONObject json = new JSONObject();
                        json.put("code",diagnosis.getCode());//疾病代码
                        json.put("name",diagnosis.getName());//疾病名称
                        jsonArray.add(json);
                    }
                    String re = jsonArray.toString();
                    redisTemplate.opsForValue().set(key,re,2, TimeUnit.HOURS);
                }
            }
@ -135,7 +148,7 @@ public class PrescriptionDiagnosisService extends BaseService{
                String key = "prescription:"+prescriptionCode+":drugInfo";
                List<PrescriptionInfo> list = prescriptionInfoDao.findByPrescriptionCode(prescriptionCode);
                if(list!=null&&list.size()>0){
                    String re = new JSONArray(list).toString();
                    String re = JSONArray.fromObject(list).toString();
                    redisTemplate.opsForValue().set(key,re,2, TimeUnit.HOURS);
                }
            }

+ 50 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionInfoService.java

@ -72,7 +72,7 @@ public class PrescriptionInfoService extends BaseService {
     * @param type
     * @return
     */
    public JSONArray getPrescriptionInfos(String type,String state,String startDate,String endDate,String diagnosisCode,String patient){
    public JSONArray getPrescriptionInfos(String type,String state,String startDate,String endDate,String patient){
        if(StringUtils.isNotBlank(type)){
            if("1".equals(type)){
@ -166,4 +166,53 @@ public class PrescriptionInfoService extends BaseService {
    public void upLoadPrescriotionState(){
    }
    public JSONArray getDoctorPrescription(String doctor,String state,String diseases,String startDate,String endDate ){
        StringBuffer pre_sql = new StringBuffer("SELECT " +
                " p.`name`, " +
                " TIMESTAMPDIFF(YEAR,p.birthday,SYSDATE()) age, " +
                " p.sex, " +
                " pr.`status`, " +
                " pr.`code`, " +
                " pr.create_time AS createTime, " +
                " pr.doctor " +
                " FROM " +
                " wlyy_prescription pr " +
                " LEFT JOIN wlyy_patient p ON pr.patient = p.`code` " );
        List<Object> params = new ArrayList<>();
        //先判断疾病类型是否为空
        if(StringUtils.isNotBlank(diseases)){
            //疾病类型不为空,关联查询疾病类型表
            pre_sql.append(" ,wlyy_prescription_diagnosis s " +
                    " WHERE s.prescription_code = pr.code " +
                    " AND pr.doctor =? AND s.code = ?");
            params.add(doctor);
            params.add(diseases);
            setSQL(pre_sql,params,state,startDate,endDate);
        }else{
            //查询所有疾病类型表
            pre_sql.append(" WHERE pr.doctor =?");
            params.add(doctor);
            setSQL(pre_sql,params,state,startDate,endDate);
        }
        List<Map<String,Object>> rs = jdbcTemplate.queryForList(pre_sql.toString(),params.toArray());
        return new JSONArray(rs);
    }
    public void setSQL(StringBuffer pre_sql,List<Object> params,String state,String startDate,String endDate){
        if(StringUtils.isNotBlank(state)){
            pre_sql.append(" AND pr.status = ?");
            params.add(state);
        }
        if(StringUtils.isNotBlank(startDate)){
            pre_sql.append(" AND pr.create_time >= ?");
            params.add(startDate);
        }
        if(StringUtils.isNotBlank(endDate)){
            pre_sql.append(" AND pr.create_time <= ?");
            params.add(endDate);
        }
        pre_sql.append(" ORDER BY pr.create_time DESC");
    }
}

+ 26 - 23
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/FamilyContractService.java

@ -137,6 +137,9 @@ public class FamilyContractService extends BaseService {
    @Value("${im.data_base_name}")
    private String im_dataBase_name;
    @Autowired
    private PushMsgTask pushMsgTask;
    public SignFamily findSignFamilyByCode(String code) {
        return signFamilyDao.findByCodeAndType(code, 2);
    }
@ -543,7 +546,7 @@ public class FamilyContractService extends BaseService {
            JSONObject jsonObject = doctorWorkTimeService.isDoctorWorking(doctor);
            if (jsonObject.getString("status").equals("1")) {
                //如果在工作时间内就推送
                PushMsgTask.getInstance().put(doctor, MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.D_SW_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.家庭签约.name(), "您有一条新的家庭签约申请!", patient);
                pushMsgTask.put(doctor, MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.D_SW_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.家庭签约.name(), "您有一条新的家庭签约申请!", patient);
            }
        }
        json.put("id", p.getId());
@ -640,7 +643,7 @@ public class FamilyContractService extends BaseService {
            JSONObject jsonObject = doctorWorkTimeService.isDoctorWorking(doctor);
            if (jsonObject.getString("status").equals("1")) {
                //如果在工作时间内就推送
                PushMsgTask.getInstance().put(doctor, MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.D_SW_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.家庭签约.name(), "您有一条新的家庭签约申请!", patient);
                pushMsgTask.put(doctor, MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.D_SW_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.家庭签约.name(), "您有一条新的家庭签约申请!", patient);
            }
        }
@ -780,7 +783,7 @@ public class FamilyContractService extends BaseService {
        JSONObject jsonObject = doctorWorkTimeService.isDoctorWorking(doctor);
        if (jsonObject.getString("status").equals("1")) {
            //如果在工作时间内就推送
            PushMsgTask.getInstance().put(doctor, MessageType.MESSAGE_TYPE_DOCTOR_SIGN_WEB_RELIEVE.D_SW_02.name(), MessageType.MESSAGE_TYPE_DOCTOR_SIGN_WEB_RELIEVE.家庭签约.name(), patientName + " 申请解除与您的家庭签约!", patient);
            pushMsgTask.put(doctor, MessageType.MESSAGE_TYPE_DOCTOR_SIGN_WEB_RELIEVE.D_SW_02.name(), MessageType.MESSAGE_TYPE_DOCTOR_SIGN_WEB_RELIEVE.家庭签约.name(), patientName + " 申请解除与您的家庭签约!", patient);
        }
        return 1;
    }
@ -1120,7 +1123,7 @@ public class FamilyContractService extends BaseService {
            json.put("agent", "0");
            if (StringUtils.isNotBlank(sf.getOpenid())) {
                // 添加到发送队列
                PushMsgTask.getInstance().putWxMsg(access_token, 1, sf.getOpenid(), sf.getName(), json);
                pushMsgTask.putWxMsg(access_token, 1, sf.getOpenid(), sf.getName(), json);
            }
//            else {
//                JSONObject j = weiXinOpenIdUtils.getFamilyOpenId(patient.getCode());
@ -1130,7 +1133,7 @@ public class FamilyContractService extends BaseService {
//                        //String first = (String) json.get("first");
//                        json.remove("first");
//                        json.put("first", weiXinOpenIdUtils.getTitleMes(patient, j.getInt("relation"), sf.getName()));
//                        PushMsgTask.getInstance().putWxMsg(access_token, 1, member.getOpenid(), sf.getName(), json);
//                        pushMsgTask.putWxMsg(access_token, 1, member.getOpenid(), sf.getName(), json);
//                    }
//                }
//            }
@ -1148,7 +1151,7 @@ public class FamilyContractService extends BaseService {
                    //String first = (String) json.get("first");
                    data.remove("first");
                    data.put("first", weiXinOpenIdUtils.getTitleMes(patient, j.getInt("relation"), patient.getName()));
                    PushMsgTask.getInstance().putWxMsg(access_token, 1, member.getOpenid(), patient.getName(), data);
                    pushMsgTask.putWxMsg(access_token, 1, member.getOpenid(), patient.getName(), data);
                }
            }
@ -1400,7 +1403,7 @@ public class FamilyContractService extends BaseService {
            if (StringUtils.isNotBlank(sf.getOpenid())) {
                // 添加到发送队列
                PushMsgTask.getInstance().putWxMsg(access_token, 2, sf.getOpenid(), sf.getName(), json);
                pushMsgTask.putWxMsg(access_token, 2, sf.getOpenid(), sf.getName(), json);
            }
//            else {
//                JSONObject j = weiXinOpenIdUtils.getFamilyOpenId(p.getCode());
@ -1409,7 +1412,7 @@ public class FamilyContractService extends BaseService {
//                    //String first = (String) json.get("first");
//                    json.remove("first");
//                    json.put("first", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), p.getName()));
//                    PushMsgTask.getInstance().putWxMsg(access_token, 2, member.getOpenid(), p.getName(), json);
//                    pushMsgTask.putWxMsg(access_token, 2, member.getOpenid(), p.getName(), json);
//                }
//            }
            //发送代理人
@ -1424,7 +1427,7 @@ public class FamilyContractService extends BaseService {
                    //String first = (String) json.get("first");
                    data.remove("first");
                    data.put("first", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), p.getName()));
                    PushMsgTask.getInstance().putWxMsg(access_token, 2, member.getOpenid(), p.getName(), data);
                    pushMsgTask.putWxMsg(access_token, 2, member.getOpenid(), p.getName(), data);
                }
            }
@ -1462,7 +1465,7 @@ public class FamilyContractService extends BaseService {
            json.put("agent", "0"); //是否是代理 否
            // 添加到发送队列
            if (StringUtils.isNotBlank(sf.getOpenid())) {
                PushMsgTask.getInstance().putWxMsg(access_token, 1, sf.getOpenid(), sf.getName(), json);
                pushMsgTask.putWxMsg(access_token, 1, sf.getOpenid(), sf.getName(), json);
            }
//            else {
//                JSONObject j = weiXinOpenIdUtils.getFamilyOpenId(p.getCode());
@ -1471,7 +1474,7 @@ public class FamilyContractService extends BaseService {
//                    //String first = (String) json.get("first");
//                    json.remove("first");
//                    json.put("first", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), p.getName()));
//                    PushMsgTask.getInstance().putWxMsg(access_token, 1, member.getOpenid(), p.getName(), json);
//                    pushMsgTask.putWxMsg(access_token, 1, member.getOpenid(), p.getName(), json);
//                }
//            }
            //发送代理人
@ -1488,7 +1491,7 @@ public class FamilyContractService extends BaseService {
                    //String first = (String) json.get("first");
                    data.remove("first");
                    data.put("first", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), p.getName()));
                    PushMsgTask.getInstance().putWxMsg(access_token, 1, member.getOpenid(), p.getName(), data);
                    pushMsgTask.putWxMsg(access_token, 1, member.getOpenid(), p.getName(), data);
                }
            }
@ -1568,7 +1571,7 @@ public class FamilyContractService extends BaseService {
            if (StringUtils.isNotBlank(sf.getOpenid())) {
                // 添加到发送队列
                PushMsgTask.getInstance().putWxMsg(access_token, 5, sf.getOpenid(), sf.getName(), json);
                pushMsgTask.putWxMsg(access_token, 5, sf.getOpenid(), sf.getName(), json);
            }
//            else {
//                JSONObject j = weiXinOpenIdUtils.getFamilyOpenId(patient);
@ -1578,7 +1581,7 @@ public class FamilyContractService extends BaseService {
//                    json.remove("first");
//                    Patient p = patientDao.findByCode(patient);
//                    json.put("first", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), p.getName()));
//                    PushMsgTask.getInstance().putWxMsg(access_token, 5, member.getOpenid(), member.getName(), json);
//                    pushMsgTask.putWxMsg(access_token, 5, member.getOpenid(), member.getName(), json);
//                }
//            }
            //发送代理人
@ -1594,7 +1597,7 @@ public class FamilyContractService extends BaseService {
                    //String first = (String) json.get("first");
                    data.remove("first");
                    data.put("first", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), p.getName()));
                    PushMsgTask.getInstance().putWxMsg(access_token, 5, member.getOpenid(), p.getName(), data);
                    pushMsgTask.putWxMsg(access_token, 5, member.getOpenid(), p.getName(), data);
                }
            }
        } else {
@ -1613,7 +1616,7 @@ public class FamilyContractService extends BaseService {
            if (StringUtils.isNotBlank(sf.getOpenid())) {
                // 添加到发送队列
                PushMsgTask.getInstance().putWxMsg(access_token, 5, sf.getOpenid(), sf.getName(), json);
                pushMsgTask.putWxMsg(access_token, 5, sf.getOpenid(), sf.getName(), json);
            }
//            else {
//                JSONObject j = weiXinOpenIdUtils.getFamilyOpenId(patient);
@ -1623,7 +1626,7 @@ public class FamilyContractService extends BaseService {
//                    json.remove("first");
//                    Patient p = patientDao.findByCode(patient);
//                    json.put("first", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), member.getName()));
//                    PushMsgTask.getInstance().putWxMsg(access_token, 5, member.getOpenid(), member.getName(), json);
//                    pushMsgTask.putWxMsg(access_token, 5, member.getOpenid(), member.getName(), json);
//                }
//            }
            //发送代理人
@ -1639,7 +1642,7 @@ public class FamilyContractService extends BaseService {
                    //String first = (String) json.get("first");
                    data.remove("first");
                    data.put("first", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), p.getName()));
                    PushMsgTask.getInstance().putWxMsg(access_token, 5, member.getOpenid(), p.getName(), data);
                    pushMsgTask.putWxMsg(access_token, 5, member.getOpenid(), p.getName(), data);
                }
            }
@ -2246,7 +2249,7 @@ public class FamilyContractService extends BaseService {
        for (JSONObject msg : wxMessages) {
            if (StringUtils.isNotBlank(p.getOpenid())) {
                PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, p.getOpenid(), p.getName(), msg);
                pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 10, p.getOpenid(), p.getName(), msg);
            }
//            else {
//                //如果自己没有绑定,则发给家人
@ -2261,7 +2264,7 @@ public class FamilyContractService extends BaseService {
//                    } catch (Exception e) {
//                        e.printStackTrace();
//                    }
//                    PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), member.getName(), msg);
//                    pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), member.getName(), msg);
//                }
//            }
            //发送代理人
@ -2276,7 +2279,7 @@ public class FamilyContractService extends BaseService {
                    String first = (String) data.get("first");
                    data.remove("first");
                    data.put("first", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), p.getName()));
                    PushMsgTask.getInstance().putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), p.getName(), data);
                    pushMsgTask.putWxMsg(accessTokenUtils.getAccessToken(), 10, member.getOpenid(), p.getName(), data);
                }
            }
@ -3339,7 +3342,7 @@ public class FamilyContractService extends BaseService {
            JSONObject jsonObject = doctorWorkTimeService.isDoctorWorking(doctor);
            if (jsonObject.getString("status").equals("1")) {
                //如果在工作时间内就推送
                PushMsgTask.getInstance().put(doctor, MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.D_SW_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.家庭签约.name(), p.getName() + "申请与您续签家庭医生", patient);
                pushMsgTask.put(doctor, MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.D_SW_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.家庭签约.name(), p.getName() + "申请与您续签家庭医生", patient);
            }
        }
@ -3534,7 +3537,7 @@ public class FamilyContractService extends BaseService {
            JSONObject jsonObject = doctorWorkTimeService.isDoctorWorking(doctor);
            if (jsonObject.getString("status").equals("1")) {
                //如果在工作时间内就推送
                PushMsgTask.getInstance().put(doctor, MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.D_SW_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.家庭签约.name(), p.getName() + "申请与您续签家庭医生", patient);
                pushMsgTask.put(doctor, MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.D_SW_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_SIGN_WEB.家庭签约.name(), p.getName() + "申请与您续签家庭医生", patient);
            }
        }

+ 4 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/PatientRemindService.java

@ -59,6 +59,8 @@ public class PatientRemindService extends BaseService {
    @Autowired
    SMSService sMSService;
    @Autowired
    private PushMsgTask pushMsgTask;
    /**
     * 缴费提醒
     *
@ -229,7 +231,7 @@ public class PatientRemindService extends BaseService {
            if(StringUtils.isNotBlank(p.getOpenid())){
                isOpenIdExist = true;
                // 添加到发送队列
                PushMsgTask.getInstance().putWxMsg(tokenUtils.getAccessToken(), 8, p.getOpenid(), p.getName(), json);
                pushMsgTask.putWxMsg(tokenUtils.getAccessToken(), 8, p.getOpenid(), p.getName(), json);
                wFlag = true;
            }
//                else{
@ -256,7 +258,7 @@ public class PatientRemindService extends BaseService {
                    data.put("toUser",member.getCode());
                    data.remove("doctorName");
                    data.put("doctorName", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), p.getName()) +"\n"+first);
                    PushMsgTask.getInstance().putWxMsg(tokenUtils.getAccessToken(), 8, member.getOpenid(), p.getName(), data);
                    pushMsgTask.putWxMsg(tokenUtils.getAccessToken(), 8, member.getOpenid(), p.getName(), data);
                    wFlag = true;
                }
            }

+ 23 - 21
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/SignWebService.java

@ -111,6 +111,8 @@ public class SignWebService extends BaseService {
    private CountryDao countryDao;
    @Autowired
    private SMSService smsService;
    @Autowired
    private PushMsgTask pushMsgTask;
    /**
     * 厦门市
     */
@ -1275,7 +1277,7 @@ public class SignWebService extends BaseService {
                    flag = false;
                    json.put("first", name + ",您好!\n" +
                            "您的家庭医生签约将于6月30日到期,为了能继续给您提供健康服务,诚邀您续签家庭医生。");
                    PushMsgTask.getInstance().putWxMsg(access_token, 16, openid, name, json);
                    pushMsgTask.putWxMsg(access_token, 16, openid, name, json);
                }
                //发送代理人
                JSONArray jsonArray = weiXinOpenIdUtils.getAgentOpenId(patient, openid);
@ -1291,7 +1293,7 @@ public class SignWebService extends BaseService {
                        json.put("first", weiXinOpenIdUtils.getTitleMes(p, (int) j.get("relation"), p.getName()) + "\n" +
                                name + ",您好!\n" +
                                "您的家庭医生签约将于6月30日到期,为了能继续给您提供健康服务,诚邀您续签家庭医生。");
                        PushMsgTask.getInstance().putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 8, member.getOpenid(), p.getName(), data);
                        pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 8, member.getOpenid(), p.getName(), data);
                    }
                }
@ -1313,7 +1315,7 @@ public class SignWebService extends BaseService {
//                        json.put("first", weiXinOpenIdUtils.getTitleMes(p, (int) j.get("relation"), p.getName()) + "\n" +
//                                name + ",您好!\n" +
//                                "您的家庭医生签约将于6月30日到期,为了能继续给您提供健康服务,诚邀您续签家庭医生。");
//                        PushMsgTask.getInstance().putWxMsg(access_token, 16, member.getOpenid(), p.getName(), json);
//                        pushMsgTask.putWxMsg(access_token, 16, member.getOpenid(), p.getName(), json);
//                    } else {
//                        //发送短信
//                        String mobile = (String) signFamily.get("mobile");
@ -1384,7 +1386,7 @@ public class SignWebService extends BaseService {
                if (StringUtils.isNotBlank(openid)) {
                    json.put("first", name + ",您好!\n" +
                            "您的家庭医生签约将于6月30日到期,为了能继续给您提供健康服务,诚邀您续签家庭医生。");
                    PushMsgTask.getInstance().putWxMsg(access_token, 16, openid, name, json);
                    pushMsgTask.putWxMsg(access_token, 16, openid, name, json);
                }
                //发送代理人
                JSONArray jsonArray = weiXinOpenIdUtils.getAgentOpenId(patient, openid);
@ -1400,7 +1402,7 @@ public class SignWebService extends BaseService {
                        json.put("first", weiXinOpenIdUtils.getTitleMes(p, (int) j.get("relation"), p.getName()) + "\n" +
                                name + ",您好!\n" +
                                "您的家庭医生签约将于6月30日到期,为了能继续给您提供健康服务,诚邀您续签家庭医生。");
                        PushMsgTask.getInstance().putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 16, member.getOpenid(), p.getName(), data);
                        pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 16, member.getOpenid(), p.getName(), data);
                    }
                }
                if (flag) {
@ -1421,7 +1423,7 @@ public class SignWebService extends BaseService {
//                        json.put("first", weiXinOpenIdUtils.getTitleMes(p, (int) j.get("relation"), p.getName()) + "\n" +
//                                name + ",您好!\n" +
//                                "您的家庭医生签约将于6月30日到期,为了能继续给您提供健康服务,诚邀您续签家庭医生。");
//                        PushMsgTask.getInstance().putWxMsg(access_token, 16, member.getOpenid(), p.getName(), json);
//                        pushMsgTask.putWxMsg(access_token, 16, member.getOpenid(), p.getName(), json);
//                    } else {
//                        //发送短信
//                        String mobile = (String) signFamily.get("mobile");
@ -1523,12 +1525,12 @@ public class SignWebService extends BaseService {
                        data.put("first", renew.getName() + ",您好!\n" +
                                "您的家庭医生续签申请已被拒绝");
                        data.put("remark", "您可选择其他医生进行签约。");
                        PushMsgTask.getInstance().putWxMsg(access_token, 2, patient.getOpenid(), patient.getName(), data);
                        pushMsgTask.putWxMsg(access_token, 2, patient.getOpenid(), patient.getName(), data);
                    } else if ("1".equals(state)) {
                        data.put("first", renew.getName() + ",您好!\n" +
                                "您的家庭医生续签申请已通过");
                        data.put("remark", "待自动扣费成功后,家庭医生将续签成功。");
                        PushMsgTask.getInstance().putWxMsg(access_token, 1, patient.getOpenid(), patient.getName(), data);
                        pushMsgTask.putWxMsg(access_token, 1, patient.getOpenid(), patient.getName(), data);
                    }
                }
                //发送代理人
@ -1545,13 +1547,13 @@ public class SignWebService extends BaseService {
                                    patient.getName() + ",您好!\n" +
                                    "您的家庭医生续签申请已被拒绝");
                            data.put("remark", "您可选择其他医生进行签约。");
                            PushMsgTask.getInstance().putWxMsg(access_token, 2, member.getOpenid(), patient.getName(), data);
                            pushMsgTask.putWxMsg(access_token, 2, member.getOpenid(), patient.getName(), data);
                        } else if ("1".equals(state)) {
                            data.put("first", weiXinOpenIdUtils.getTitleMes(patient, (int) j.get("relation"), patient.getName()) + "\n" +
                                    patient.getName() + ",您好!\n" +
                                    "您的家庭医生续签申请已通过");
                            data.put("remark", "待自动扣费成功后,家庭医生将续签成功。");
                            PushMsgTask.getInstance().putWxMsg(access_token, 1, member.getOpenid(), patient.getName(), data);
                            pushMsgTask.putWxMsg(access_token, 1, member.getOpenid(), patient.getName(), data);
                        }
                    }
                }
@ -1567,13 +1569,13 @@ public class SignWebService extends BaseService {
//                                    patient.getName() + ",您好!\n" +
//                                    "您的家庭医生续签申请已被拒绝");
//                            data.put("remark", "您可选择其他医生进行签约。");
//                            PushMsgTask.getInstance().putWxMsg(access_token, 2, member.getOpenid(), patient.getName(), data);
//                            pushMsgTask.putWxMsg(access_token, 2, member.getOpenid(), patient.getName(), data);
//                        } else if ("1".equals(state)) {
//                            data.put("first", weiXinOpenIdUtils.getTitleMes(patient, (int) j.get("relation"), patient.getName()) + "\n" +
//                                    patient.getName() + ",您好!\n" +
//                                    "您的家庭医生续签申请已通过");
//                            data.put("remark", "待自动扣费成功后,家庭医生将续签成功。");
//                            PushMsgTask.getInstance().putWxMsg(access_token, 1, member.getOpenid(), patient.getName(), data);
//                            pushMsgTask.putWxMsg(access_token, 1, member.getOpenid(), patient.getName(), data);
//                        }
//                    }
//                }
@ -1687,12 +1689,12 @@ public class SignWebService extends BaseService {
                        data.put("first", renew.getName() + ",您好!\n" +
                                "您的家庭医生续签申请已被拒绝");
                        data.put("remark", "您可在到期后选择其他医生进行签约。");
                        PushMsgTask.getInstance().putWxMsg(access_token, 2, patient.getOpenid(), patient.getName(), data);
                        pushMsgTask.putWxMsg(access_token, 2, patient.getOpenid(), patient.getName(), data);
                    } else if ("1".equals(state)) {
                        data.put("first", renew.getName() + ",您好!\n" +
                                "您的家庭医生续签申请已通过");
                        data.put("remark", "待自动扣费成功后,家庭医生将续签成功。");
                        PushMsgTask.getInstance().putWxMsg(access_token, 1, patient.getOpenid(), patient.getName(), data);
                        pushMsgTask.putWxMsg(access_token, 1, patient.getOpenid(), patient.getName(), data);
                    }
                }
                //发送代理人
@ -1709,13 +1711,13 @@ public class SignWebService extends BaseService {
                                    patient.getName() + ",您好!\n" +
                                    "您的家庭医生续签申请已被拒绝");
                            data.put("remark", "您可在到期后选择其他医生进行签约。");
                            PushMsgTask.getInstance().putWxMsg(access_token, 2, member.getOpenid(), patient.getName(), data);
                            pushMsgTask.putWxMsg(access_token, 2, member.getOpenid(), patient.getName(), data);
                        } else if ("1".equals(state)) {
                            data.put("first", weiXinOpenIdUtils.getTitleMes(patient, (int) j.get("relation"), patient.getName()) + "\n" +
                                    patient.getName() + ",您好!\n" +
                                    "您的家庭医生续签申请已通过");
                            data.put("remark", "待自动扣费成功后,家庭医生将续签成功。");
                            PushMsgTask.getInstance().putWxMsg(access_token, 1, member.getOpenid(), patient.getName(), data);
                            pushMsgTask.putWxMsg(access_token, 1, member.getOpenid(), patient.getName(), data);
                        }
                    }
                }
@ -1731,13 +1733,13 @@ public class SignWebService extends BaseService {
//                                    patient.getName() + ",您好!\n" +
//                                    "您的家庭医生续签申请已被拒绝");
//                            data.put("remark", "您可在到期后选择其他医生进行签约。");
//                            PushMsgTask.getInstance().putWxMsg(access_token, 2, member.getOpenid(), patient.getName(), data);
//                            pushMsgTask.putWxMsg(access_token, 2, member.getOpenid(), patient.getName(), data);
//                        } else if ("1".equals(state)) {
//                            data.put("first", weiXinOpenIdUtils.getTitleMes(patient, (int) j.get("relation"), patient.getName()) + "\n" +
//                                    patient.getName() + ",您好!\n" +
//                                    "您的家庭医生续签申请已通过");
//                            data.put("remark", "待自动扣费成功后,家庭医生将续签成功。");
//                            PushMsgTask.getInstance().putWxMsg(access_token, 1, member.getOpenid(), patient.getName(), data);
//                            pushMsgTask.putWxMsg(access_token, 1, member.getOpenid(), patient.getName(), data);
//                        }
//                    }
//                }
@ -1939,7 +1941,7 @@ public class SignWebService extends BaseService {
        if (StringUtils.isNotBlank(openid)) {
            json.put("first", name + ",您好!\n" +
                    "您的家庭医生签约将于6月30日到期,为了能继续给您提供健康服务,诚邀您续签家庭医生。");
            PushMsgTask.getInstance().putWxMsg(access_token, 16, openid, name, json);
            pushMsgTask.putWxMsg(access_token, 16, openid, name, json);
            patientSetReminFlag(patientCode);
            return 1;
        }
@ -1958,7 +1960,7 @@ public class SignWebService extends BaseService {
                json.put("first", weiXinOpenIdUtils.getTitleMes(p, (int) j.get("relation"), p.getName()) + "\n" +
                        name + ",您好!\n" +
                        "您的家庭医生签约将于6月30日到期,为了能继续给您提供健康服务,诚邀您续签家庭医生。");
                PushMsgTask.getInstance().putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 16, member.getOpenid(), p.getName(), data);
                pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 16, member.getOpenid(), p.getName(), data);
            }
        }
        if (flag) {
@ -1981,7 +1983,7 @@ public class SignWebService extends BaseService {
//                json.put("first", weiXinOpenIdUtils.getTitleMes(p, (int) j.get("relation"), name) + "\n" +
//                        name + ",您好!\n" +
//                        "您的家庭医生签约将于6月30日到期,为了能继续给您提供健康服务,诚邀您续签家庭医生。");
//                PushMsgTask.getInstance().putWxMsg(access_token, 16, member.getOpenid(), name, json);
//                pushMsgTask.putWxMsg(access_token, 16, member.getOpenid(), name, json);
//                patientSetReminFlag(patientCode);
//                return 1;
//            } else {

+ 4 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/survey/ManagerQuestionnaireService.java

@ -80,6 +80,8 @@ public class ManagerQuestionnaireService extends BaseService {
    private WeiXinAccessTokenUtils weiXinAccessTokenUtils;
    @Autowired
    WeiXinOpenIdUtils weiXinOpenIdUtils;
    @Autowired
    private PushMsgTask pushMsgTask;
    private Logger logger = LoggerFactory.getLogger(this.getClass());
@ -297,7 +299,7 @@ public class ManagerQuestionnaireService extends BaseService {
                            // 添加到发送队列
                            logger.error("json =======>" + json);
//                            PushMsgTask.getInstance().putWxMsg(accessToken, 11, openId, name, json);
                            PushMsgTask.getInstance().sendWeixinMessage(accessToken, 11, openId, name, json);
                            pushMsgTask.sendWeixinMessage(accessToken, 11, openId, name, json);
                        }
//                        else {
//                            JSONObject j = weiXinOpenIdUtils.getFamilyOpenId(p.getOpenid());
@ -330,7 +332,7 @@ public class ManagerQuestionnaireService extends BaseService {
                                    } catch (Exception e) {
                                        e.printStackTrace();
                                    }
                                    PushMsgTask.getInstance().sendWeixinMessage(weiXinAccessTokenUtils.getAccessToken(), 11, member.getOpenid(), p.getName(), json);
                                    pushMsgTask.sendWeixinMessage(weiXinAccessTokenUtils.getAccessToken(), 11, member.getOpenid(), p.getName(), json);
                                }
                            }
                        }

+ 4 - 29
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/task/PushMsgTask.java

@ -4,7 +4,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.wlyy.entity.wechat.WechatTemplate;
import com.yihu.wlyy.entity.wechat.WechatTemplateData;
import com.yihu.wlyy.util.HttpUtil;
import io.swagger.annotations.Api;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
import org.json.JSONObject;
@ -12,44 +11,20 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.LinkedBlockingQueue;
@Controller
@RequestMapping(value = "/pushMsgTask", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@Api(description = "消息推送")
@Component
public class PushMsgTask {
    private static Logger logger = LoggerFactory.getLogger(PushMsgTask.class);
    // 最大容量为50的数组堵塞队列
    private static LinkedBlockingQueue<JSONObject> queue = new LinkedBlockingQueue<JSONObject>();
    private static PushMsgTask instance;
    private static Object lock = new Object();
    public static PushMsgTask getInstance() {
        synchronized (lock) {
            if (instance == null) {
                instance = new PushMsgTask();
                instance.run();
            }
        }
        return instance;
    }
    @RequestMapping(value = "aa")
    @ResponseBody
    public String test() {
        return "1111";
    }
    @Autowired
    private HttpUtil httpUtil;
    @Value("${server.server_url}")
@ -140,7 +115,7 @@ public class PushMsgTask {
            }
        }
    }
    @PostConstruct
    private void run() {
        new Thread(new ConsumerTask(httpUtil)).start();
    }

+ 5 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/task/RemindExpensesTask.java

@ -34,9 +34,12 @@ public class RemindExpensesTask implements Runnable {
    WeiXinOpenIdUtils weiXinOpenIdUtils;
    @Autowired
    ConsultService consultService;
    @Autowired
    private PushMsgTask pushMsgTask;
    private SMSService smsService;
    public RemindExpensesTask(List<Patient> patients, Doctor doctor, Hospital hospital,SMSService smsService) {
        this.patients = patients;
        this.doctor = doctor;
@ -70,7 +73,7 @@ public class RemindExpensesTask implements Runnable {
                json.put("remark", "");
                if (StringUtils.isNotEmpty(p.getOpenid())) {
                    // 添加到发送队列
                    PushMsgTask.getInstance().putWxMsg(tokenUtils.getAccessToken(), 8, p.getOpenid(), p.getName(), json);
                    pushMsgTask.putWxMsg(tokenUtils.getAccessToken(), 8, p.getOpenid(), p.getName(), json);
                }
                //发送代理人
                JSONArray jsonArray = weiXinOpenIdUtils.getAgentOpenId(p.getCode(),p.getOpenid());
@ -84,7 +87,7 @@ public class RemindExpensesTask implements Runnable {
                        data.put("toUser",member.getCode());
                        data.remove("doctorName");
                        data.put("doctorName", weiXinOpenIdUtils.getTitleMes(p, j.getInt("relation"), p.getName()) +"\n"+first);
                        PushMsgTask.getInstance().putWxMsg(tokenUtils.getAccessToken(), 8, member.getOpenid(), p.getName(), data);
                        pushMsgTask.putWxMsg(tokenUtils.getAccessToken(), 8, member.getOpenid(), p.getName(), data);
                    }
                }

+ 26 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/util/ImUtill.java

@ -105,6 +105,32 @@ public class ImUtill {
        return response;
    }
    /**
     * 咨询列表
     * @param user
     * @param status status = 10 已结束的咨询,status=0,reply = 1 已回复 ,status=0,reply=0未回复
     * @param reply
     * @param type 1、三师咨询,2、家庭医生咨询,6、患者名医咨询 7医生名医咨询 8续方咨询 10医生发起的求助
     * @param page
     * @param pagesize
     * @return
     */
    public String getConsultByStatusAndType(String user,Integer status,Integer reply,Integer type,int page,int pagesize){
        String imAddr = im_host + "api/v2/sessions/topicListByType";
        imAddr = imAddr + "?user="+user + "&page=" + page + "&pagesize=" + pagesize;
        if (status != null) {
            imAddr += ("&status=" + status);
        }
        if (reply != null) {
            imAddr += ("&reply=" + reply);
        }
        if (type != null) {
            imAddr += ("&type=" + type);
        }
        String response = HttpClientUtil.get(imAddr, "UTF-8");
        return response;
    }
    /**
     * 发送消息给IM
     *

+ 4 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/account/WechatController.java

@ -64,7 +64,8 @@ public class WechatController extends WeixinBaseController {
    AccessTokenService accessTokenService;
    @Autowired
    HttpUtil HttpUtil;
    @Autowired
    private PushMsgTask pushMsgTask;
    /**
     * 患者注册-验证手机号
@ -609,7 +610,7 @@ public class WechatController extends WeixinBaseController {
            //判断是否判定openId,有没有发则查找家人发送
            if (StringUtils.isNotBlank(patient.getOpenid())) {
                // 添加到发送队列
                PushMsgTask.getInstance().putWxMsg(getAccessToken(), 5, patient.getOpenid(), patient.getName(), json);
                pushMsgTask.putWxMsg(getAccessToken(), 5, patient.getOpenid(), patient.getName(), json);
            } else {
                JSONObject j = weiXinOpenIdUtils.getFamilyOpenId(patient.getCode());
                Patient member = (Patient) j.get("member");
@ -617,7 +618,7 @@ public class WechatController extends WeixinBaseController {
                    String first = (String) json.get("first");
                    json.remove("first");
                    json.put("first", weiXinOpenIdUtils.getTitleMes(patient, j.getInt("relation"), patient.getName()) + first);
                    PushMsgTask.getInstance().putWxMsg(getAccessToken(), 5, member.getOpenid(), patient.getName(), json);
                    pushMsgTask.putWxMsg(getAccessToken(), 5, member.getOpenid(), patient.getName(), json);
                }
            }

+ 8 - 5
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/im/imController.java

@ -7,8 +7,8 @@ import com.yihu.wlyy.repository.consult.ConsultDao;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.patient.SignFamilyDao;
import com.yihu.wlyy.util.ImUtill;
import com.yihu.wlyy.web.BaseController;
import io.swagger.annotations.Api;
import io.swagger.models.auth.In;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
import org.json.JSONObject;
@ -17,9 +17,6 @@ import org.springframework.http.MediaType;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.*;
import com.yihu.wlyy.util.HttpUtil;
import com.yihu.wlyy.web.BaseController;
import java.text.SimpleDateFormat;
import java.util.*;
@ -135,13 +132,19 @@ public class imController extends BaseController {
            @RequestParam(required = false) String doctor,
            @RequestParam Integer status,
            @RequestParam(required = false) Integer reply,
            @RequestParam(required = false) Integer type,
            @RequestParam int page,
            @RequestParam int pagesize) {
        try {
            if (StringUtils.isEmpty(doctor)) {
                doctor = getUID();
            }
            String consult = ImUtill.getConsultByStatus(doctor, status, reply, page, pagesize);
            String consult = null;
            if(type==null){
                consult = ImUtill.getConsultByStatus(doctor, status, reply, page, pagesize);
            }else {
                consult = ImUtill.getConsultByStatusAndType(doctor, status, reply,type, page, pagesize);
            }
            JSONArray jsonArray = new JSONArray(consult);
            Iterator<Object> it = jsonArray.iterator();
            List list = new ArrayList();

+ 63 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/consult/DoctorConsultController.java

@ -1,17 +1,24 @@
package com.yihu.wlyy.web.doctor.consult;
import com.yihu.wlyy.aop.ObserverRequired;
import com.yihu.wlyy.entity.consult.Consult;
import com.yihu.wlyy.entity.consult.ConsultTeam;
import com.yihu.wlyy.entity.consult.ConsultTeamLog;
import com.yihu.wlyy.entity.discussion.WlyyTalkGroup;
import com.yihu.wlyy.entity.discussion.WlyyTalkGroupMember;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.patient.SignFamilyServer;
import com.yihu.wlyy.entity.patient.prescription.Prescription;
import com.yihu.wlyy.repository.consult.ConsultDao;
import com.yihu.wlyy.repository.patient.SignFamilyServerDao;
import com.yihu.wlyy.repository.prescription.PrescriptionDao;
import com.yihu.wlyy.service.app.account.DoctorInfoService;
import com.yihu.wlyy.service.app.account.PatientInfoService;
import com.yihu.wlyy.service.app.consult.ConsultService;
import com.yihu.wlyy.service.app.consult.ConsultTeamService;
import com.yihu.wlyy.service.app.health.PatientHealthGuidanceService;
import com.yihu.wlyy.service.app.prescription.PrescriptionDiagnosisService;
import com.yihu.wlyy.service.app.scheduling.DoctorWorkTimeService;
import com.yihu.wlyy.service.app.talk.TalkGroupService;
import com.yihu.wlyy.service.common.account.DoctorService;
@ -66,6 +73,17 @@ public class DoctorConsultController extends WeixinBaseController {
    private CommonUtil CommonUtil;
    @Autowired
    private ImUtill ImUtill;
    @Autowired
    private PushMsgTask pushMsgTask;
    @Autowired
    private PrescriptionDao prescriptionDao;
    @Autowired
    private SignFamilyServerDao signFamilyServerDao;
    @Autowired
    private ConsultDao consultDao;
    @Autowired
    private PrescriptionDiagnosisService prescriptionDiagnosisService;
    /**
     * 三师咨询列表查询
     *
@ -688,11 +706,11 @@ public class DoctorConsultController extends WeixinBaseController {
            // 保存到数据库
            JSONObject result = consultTeamService.famousConsult(consult, getUID(), "2",null);
            // 推送消息给医生
            PushMsgTask.getInstance().put(consult.getDoctor(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM_DOCTOR.D_CT_04.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM_DOCTOR.名医咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM_DOCTOR.您有新的名医咨询.name(), consult.getConsult());
            pushMsgTask.put(consult.getDoctor(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM_DOCTOR.D_CT_04.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM_DOCTOR.名医咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM_DOCTOR.您有新的名医咨询.name(), consult.getConsult());
            if (StringUtils.isNotEmpty(images)) {
                String[] arr = images.split(",");
                for (String img : arr) {
                    PushMsgTask.getInstance().put(consult.getDoctor(), "2", MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM_DOCTOR.名医咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM_DOCTOR.您有新的名医咨询.name(), img);
                    pushMsgTask.put(consult.getDoctor(), "2", MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM_DOCTOR.名医咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM_DOCTOR.您有新的名医咨询.name(), img);
                }
            }
            return write(200,"创建成功!","data",result);
@ -1012,7 +1030,9 @@ public class DoctorConsultController extends WeixinBaseController {
                return success("咨询已关闭");
            } else if(flag == -1) {
                return error(-1, "该咨询已经关闭,不需重复关闭!");
            } else {
            } else if(flag == -2) {
                return error(-1, "续方未审核,不能结束续方咨询!");
            }  else {
                return error(-1, "关闭失败!");
            }
        } catch (Exception e) {
@ -1044,4 +1064,44 @@ public class DoctorConsultController extends WeixinBaseController {
            return invalidUserException(e, -1, "查询失败!");
        }
    }
    /*********************************************续方咨询**************************************************************/
    @RequestMapping(value = "prescriptionDetail",method = RequestMethod.GET)
    @ResponseBody
    @ApiOperation("获取续方信息")
    public String prescriptionDetail(@RequestParam(required = true) String consult){
        try {
            JSONObject json = new JSONObject();
            Consult consult1 = consultDao.findByCode(consult);
            String prescriptionCode = consult1.getRelationCode();
            Prescription prescription = prescriptionDao.findByCode(prescriptionCode);
            json.put("status",prescription.getStatus());//状态 (-1 审核不通过 , 0 审核中, 10 审核通过/待支付 ,21支付失败  20 配药中/支付成功, 21 等待领药 ,30 配送中 ,100配送成功/已完成)
            json.put("prescriptionDt",prescriptionDiagnosisService.getPrescriptionDiagnosis(prescriptionCode));//续方疾病类型
            json.put("prescriptionInfo",prescriptionDiagnosisService.getPrescriptionInfo(prescriptionCode));//续方药品信息
            //服务类型
            List<SignFamilyServer> list = signFamilyServerDao.findBySignCodeAndType(consult1.getSignCode());
            JSONArray jsonArray = new JSONArray();
            if(list!=null&&list.size()>0){
                for(SignFamilyServer server:list){
                    JSONObject jsonObject = new JSONObject();
                    jsonObject.put("serverType",server.getServerType());
                    jsonObject.put("serverTypeName",server.getServerTypeName());
                    jsonArray.put(jsonObject);
                }
            }
            json.put("signFamilyServer",jsonArray);
            return write(200, "查询成功!", "list", json);
        }catch (Exception e){
            error(e);
            return error(-1, "查询失败!");
        }
    }
}

+ 7 - 4
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/consult/DoctorConsultPublicController.java

@ -53,6 +53,9 @@ public class DoctorConsultPublicController extends BaseController {
	WeiXinAccessTokenUtils weiXinAccessTokenUtils;
	@Autowired
	WeiXinOpenIdUtils weiXinOpenIdUtils;
	@Autowired
	private PushMsgTask pushMsgTask;
	/**
	 * 查询公共咨询记录
	 * @param type 查询类型:0全部,1我的回答
@ -251,7 +254,7 @@ public class DoctorConsultPublicController extends BaseController {
				//判断是否判定openId,有没有发则查找家人发送
				if(StringUtils.isNotBlank(p.getOpenid())){
					// 添加到发送队列
					PushMsgTask.getInstance().putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 3, p.getOpenid(), p.getName(), json);
					pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 3, p.getOpenid(), p.getName(), json);
				}
//				else{
//					JSONObject j  = weiXinOpenIdUtils.getFamilyOpenId(p.getCode());
@ -260,7 +263,7 @@ public class DoctorConsultPublicController extends BaseController {
//						String first = (String) json.get("first");
//						json.remove("first");
//						json.put("first",weiXinOpenIdUtils.getTitleMes(p,j.getInt("relation"),member.getName())+first);
//						PushMsgTask.getInstance().putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 3, member.getOpenid(), member.getName(), json);
//						pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 3, member.getOpenid(), member.getName(), json);
//					}
//				}
				//发送代理人
@ -274,13 +277,13 @@ public class DoctorConsultPublicController extends BaseController {
						data.put("toUser",member.getCode());
						data.remove("first");
						data.put("first",weiXinOpenIdUtils.getTitleMes(p,j.getInt("relation"),p.getName())+first);
						PushMsgTask.getInstance().putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 3, member.getOpenid(), p.getName(), data);
						pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 3, member.getOpenid(), p.getName(), data);
					}
				}
				// 推送消息给患者
				//PushMsgTask.getInstance().put(cp.getPatient(), MessageType.MESSAGE_TYPE_PATIENT_CONSULT_PUBLIC_REPLY.P_CP_01.name(), MessageType.MESSAGE_TYPE_PATIENT_CONSULT_PUBLIC_REPLY.公共咨询.name(), MessageType.MESSAGE_TYPE_PATIENT_CONSULT_PUBLIC_REPLY.医生回复了您.name(), consult);
				//pushMsgTask.put(cp.getPatient(), MessageType.MESSAGE_TYPE_PATIENT_CONSULT_PUBLIC_REPLY.P_CP_01.name(), MessageType.MESSAGE_TYPE_PATIENT_CONSULT_PUBLIC_REPLY.公共咨询.name(), MessageType.MESSAGE_TYPE_PATIENT_CONSULT_PUBLIC_REPLY.医生回复了您.name(), consult);
				return success("回复成功!");
			} else {
				return error(-1, "回复失败!");

+ 6 - 4
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/health/DoctorHealthEduArticleController.java

@ -78,6 +78,8 @@ public class DoctorHealthEduArticleController extends WeixinBaseController {
    ConsultService consultService;
    @Autowired
    WeiXinOpenIdUtils weiXinOpenIdUtils;
    @Autowired
    private PushMsgTask pushMsgTask;
    /**
     * 查询
@ -451,7 +453,7 @@ public class DoctorHealthEduArticleController extends WeixinBaseController {
                    Map<String, Object> map = msgs.get(key);
                    String openid = (String)map.get("openid");
                    if(StringUtils.isNotBlank(openid)){
                        PushMsgTask.getInstance().putWxMsg(getAccessToken(), 9,
                        pushMsgTask.putWxMsg(getAccessToken(), 9,
                                map.get("openid") == null ? "" : map.get("openid").toString(),
                                map.get("name") == null ? "" : map.get("name").toString(),
                                (JSONObject) map.get("json"));
@ -465,7 +467,7 @@ public class DoctorHealthEduArticleController extends WeixinBaseController {
//                        data.remove("first");
//                        data.put("first",weiXinOpenIdUtils.getTitleMes(p,j.isNull("relation")?1:j.getInt("relation"),p.getName()));
//                        if(StringUtils.isNotBlank(member.getOpenid())){
//                            PushMsgTask.getInstance().putWxMsg(getAccessToken(), 9, member.getOpenid(), member.getName(), data);
//                            pushMsgTask.putWxMsg(getAccessToken(), 9, member.getOpenid(), member.getName(), data);
//                        }
//                    }
                    //发送代理人
@ -482,7 +484,7 @@ public class DoctorHealthEduArticleController extends WeixinBaseController {
                            data.remove("first");
                            data.put("first",weiXinOpenIdUtils.getTitleMes(p,j.isNull("relation")?1:j.getInt("relation"),p.getName()));
                            if(StringUtils.isNotBlank(member.getOpenid())){
                                PushMsgTask.getInstance().putWxMsg(getAccessToken(), 9, member.getOpenid(), p.getName(), data);
                                pushMsgTask.putWxMsg(getAccessToken(), 9, member.getOpenid(), p.getName(), data);
                            }
                        }
                    }
@ -493,7 +495,7 @@ public class DoctorHealthEduArticleController extends WeixinBaseController {
                    BusinessLogs.info(BusinessLogs.BusinessType.article, getUID(), heap.getPatient(), new JSONObject(heap));
                }
                // 推送消息给患者
                PushMsgTask.getInstance().put(messages);
                pushMsgTask.put(messages);
                return success("发送成功!");
            }
        } catch (Exception e) {

+ 4 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/intervene/DoctorInterveneController.java

@ -47,6 +47,8 @@ public class DoctorInterveneController extends BaseController {
	private PatientDeviceService patientDeviceService;
	@Autowired
	private PatientInspectionService patientInspectionService;
	@Autowired
	private PushMsgTask pushMsgTask;
	/**
	 * 患者可用设备查询接口
@ -145,7 +147,7 @@ public class DoctorInterveneController extends BaseController {
			// 保存到数据库
			patientInspectionService.save(inspection, items);
			// 推送消息给患者
			PushMsgTask.getInstance().put(patient, MessageType.MESSAGE_TYPE_PATIENT_SELF_INSPECTION.P_SI_01.name(), MessageType.MESSAGE_TYPE_PATIENT_SELF_INSPECTION.体测提醒.name(), MessageType.MESSAGE_TYPE_PATIENT_SELF_INSPECTION.您有新的体测提醒.name(), inspection.getCode());
			pushMsgTask.put(patient, MessageType.MESSAGE_TYPE_PATIENT_SELF_INSPECTION.P_SI_01.name(), MessageType.MESSAGE_TYPE_PATIENT_SELF_INSPECTION.体测提醒.name(), MessageType.MESSAGE_TYPE_PATIENT_SELF_INSPECTION.您有新的体测提醒.name(), inspection.getCode());
			return success("保存成功");
		} catch (Exception e) {
			error(e);
@ -186,7 +188,7 @@ public class DoctorInterveneController extends BaseController {
			// 保存到数据库
			PatientInspectionSuggest temp = patientInspectionService.save(pis);
			// 推送消息给患者
			PushMsgTask.getInstance().put(patient, MessageType.MESSAGE_TYPE_PATIENT_INSPECTION_SUGGEST.P_IS_01.name(), MessageType.MESSAGE_TYPE_PATIENT_INSPECTION_SUGGEST.检查检验.name(), MessageType.MESSAGE_TYPE_PATIENT_INSPECTION_SUGGEST.您有新的检查检验建议.name(), String.valueOf(temp.getId()));
			pushMsgTask.put(patient, MessageType.MESSAGE_TYPE_PATIENT_INSPECTION_SUGGEST.P_IS_01.name(), MessageType.MESSAGE_TYPE_PATIENT_INSPECTION_SUGGEST.检查检验.name(), MessageType.MESSAGE_TYPE_PATIENT_INSPECTION_SUGGEST.您有新的检查检验建议.name(), String.valueOf(temp.getId()));
			return success("保存成功");
		} catch (Exception e) {
			error(e);

+ 3 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/medical/DoctorMedicalRecordController.java

@ -42,6 +42,8 @@ public class DoctorMedicalRecordController extends BaseController {
	private MedicalRecordsService medicalRecordsService;
	@Autowired
	private ConsultTeamService consultTeamService;
	@Autowired
	private PushMsgTask pushMsgTask;
	/**
	 * 查询患者片段记录列表
@ -286,7 +288,6 @@ public class DoctorMedicalRecordController extends BaseController {
	/**
	 * 患者片段记录修改接口
	 * @param record 记录标识
	 * @param part 
	 * @param content
	 * @return
	 */
@ -355,7 +356,7 @@ public class DoctorMedicalRecordController extends BaseController {
		try {
			PatientMedicalRecords temp = medicalRecordsService.addRecord(getUID(), patient, consult, title, parts);
			//推送消息给患者
			PushMsgTask.getInstance().put(patient, MessageType.MESSAGE_TYPE_PATIENT_MEDICAL_RECORD.P_MR_01.name(), MessageType.MESSAGE_TYPE_PATIENT_MEDICAL_RECORD.病历夹.name(), MessageType.MESSAGE_TYPE_PATIENT_MEDICAL_RECORD.您有新的病历记录.name(), temp.getCode());
			pushMsgTask.put(patient, MessageType.MESSAGE_TYPE_PATIENT_MEDICAL_RECORD.P_MR_01.name(), MessageType.MESSAGE_TYPE_PATIENT_MEDICAL_RECORD.病历夹.name(), MessageType.MESSAGE_TYPE_PATIENT_MEDICAL_RECORD.您有新的病历记录.name(), temp.getCode());
			return success("保存成功!");
		} catch (Exception e) {
			error(e);

+ 15 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/prescription/PrescriptionInfoController.java

@ -57,5 +57,20 @@ public class PrescriptionInfoController extends BaseController{
        }
    }
    @RequestMapping(value = "/getDoctorPrescription", method = RequestMethod.GET)
    @ResponseBody
    @ApiOperation(value = "获取全科医生续方列表")
    public String getDoctorPrescription(@RequestParam(required = true) @ApiParam(value = "续方状态", name = "state") String state,
                                        @RequestParam(required = true) @ApiParam(value = "所有诊断:1 糖尿病 2高血压", name = "dispensary") String diseases,
                                        @RequestParam(required = true)@ApiParam(name="startDate",value="开始时间")String startDate,
                                        @RequestParam(required = true)@ApiParam(name="endDate",value="结束时间")String endDate){
        try {
            return write(200, "查询成功!", "data",prescriptionInfoService.getDoctorPrescription(getUID(),state,diseases,startDate,endDate));
        } catch (Exception e) {
            error(e);
            return error(-1, "查询失败!");
        }
    }
}

+ 4 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/survey/ManagerQuestionnaireController.java

@ -51,6 +51,8 @@ public class ManagerQuestionnaireController extends WeixinBaseController {
    private WeiXinAccessTokenUtils weiXinAccessTokenUtils;
    private Logger logger = LoggerFactory.getLogger(this.getClass());
    @Autowired
    private PushMsgTask pushMsgTask;
    /**
     * 获取问卷列表
     *
@ -480,7 +482,7 @@ public class ManagerQuestionnaireController extends WeixinBaseController {
                            // 添加到发送队列
                            logger.error("json =======>" + json);
//                            PushMsgTask.getInstance().putWxMsg(accessToken, 11, openId, name, json);
                            PushMsgTask.getInstance().sendWeixinMessage(accessToken, 11, openId, name, json);
                            pushMsgTask.sendWeixinMessage(accessToken, 11, openId, name, json);
                        }
//                        else {
//                            JSONObject j = weiXinOpenIdUtils.getFamilyOpenId(p.getOpenid());
@ -513,7 +515,7 @@ public class ManagerQuestionnaireController extends WeixinBaseController {
                                    } catch (Exception e) {
                                        e.printStackTrace();
                                    }
                                    PushMsgTask.getInstance().sendWeixinMessage(weiXinAccessTokenUtils.getAccessToken(), 11, member.getOpenid(), p.getName(), json);
                                    pushMsgTask.sendWeixinMessage(weiXinAccessTokenUtils.getAccessToken(), 11, member.getOpenid(), p.getName(), json);
                                }
                            }
                        }

+ 4 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/booking/PatientBookingController.java

@ -43,6 +43,8 @@ public class PatientBookingController extends WeixinBaseController{
    WeiXinOpenIdUtils weiXinOpenIdUtils;
    @Autowired
    private JwSmjkService jwSmjkService;
    @Autowired
    private PushMsgTask pushMsgTask;
    @RequestMapping(value = "CancelOrder", method = RequestMethod.POST)
@ -91,7 +93,7 @@ public class PatientBookingController extends WeixinBaseController{
                    //判断是否判定openId,有没有发则查找家人发送
                    if(StringUtils.isNotBlank(p.getOpenid())){
                        // 添加到发送队列
                        PushMsgTask.getInstance().putWxMsg(getAccessToken(), 7, p.getOpenid(), obj.getName(), json);
                        pushMsgTask.putWxMsg(getAccessToken(), 7, p.getOpenid(), obj.getName(), json);
                    }
//                    else{
//                        JSONObject j  = weiXinOpenIdUtils.getFamilyOpenId(p.getCode());
@ -115,7 +117,7 @@ public class PatientBookingController extends WeixinBaseController{
                            data.put("toUser",member.getCode());
                            data.remove("first");
                            data.put("first",weiXinOpenIdUtils.getTitleMes(p,j.getInt("relation"),p.getName())+first);
                            PushMsgTask.getInstance().putWxMsg(getAccessToken(), 7, member.getOpenid(), p.getName(), data);
                            pushMsgTask.putWxMsg(getAccessToken(), 7, member.getOpenid(), p.getName(), data);
                        }
                    }
                }

+ 3 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultCommunicationController.java

@ -36,6 +36,8 @@ public class ConsultCommunicationController extends WeixinBaseController {
	@Autowired
	private CommonUtil CommonUtil;
	@Autowired
	private PushMsgTask pushMsgTask;
	/**
	 * 添加病友圈帖子
	 * @param question 问题
@ -162,7 +164,7 @@ public class ConsultCommunicationController extends WeixinBaseController {
			String patient = consultCommunicationService.addReply(reply);
			if (!StringUtils.equals(patient, getUID())) {
				// 推送消息给患者
				PushMsgTask.getInstance().put(patient, MessageType.MESSAGE_TYPE_PATIENT_CONSULT_COMMUNICATION_REPLY.P_CC_01.name(), MessageType.MESSAGE_TYPE_PATIENT_CONSULT_COMMUNICATION_REPLY.病友圈.name(), MessageType.MESSAGE_TYPE_PATIENT_CONSULT_COMMUNICATION_REPLY.您有新的回复内容.name(), consult);
				pushMsgTask.put(patient, MessageType.MESSAGE_TYPE_PATIENT_CONSULT_COMMUNICATION_REPLY.P_CC_01.name(), MessageType.MESSAGE_TYPE_PATIENT_CONSULT_COMMUNICATION_REPLY.病友圈.name(), MessageType.MESSAGE_TYPE_PATIENT_CONSULT_COMMUNICATION_REPLY.您有新的回复内容.name(), consult);
			}
			return success("回复成功!");
		} catch (Exception e) {

+ 37 - 9
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/consult/ConsultController.java

@ -1,16 +1,20 @@
package com.yihu.wlyy.web.patient.consult;
import com.yihu.wlyy.aop.ObserverRequired;
import com.yihu.wlyy.entity.consult.Consult;
import com.yihu.wlyy.entity.consult.ConsultTeam;
import com.yihu.wlyy.entity.consult.ConsultTeamLog;
import com.yihu.wlyy.entity.doctor.profile.Doctor;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.entity.patient.SignFamily;
import com.yihu.wlyy.entity.patient.prescription.Prescription;
import com.yihu.wlyy.logs.BusinessLogs;
import com.yihu.wlyy.repository.consult.ConsultDao;
import com.yihu.wlyy.repository.consult.ConsultTeamDao;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.patient.PatientDao;
import com.yihu.wlyy.repository.patient.SignFamilyDao;
import com.yihu.wlyy.repository.patient.SignFamilyServerDao;
import com.yihu.wlyy.repository.prescription.PrescriptionDao;
import com.yihu.wlyy.service.app.consult.ConsultTeamService;
import com.yihu.wlyy.service.app.consult.DoctorCommentService;
import com.yihu.wlyy.service.app.prescription.PrescriptionDiagnosisService;
@ -78,7 +82,13 @@ public class ConsultController extends WeixinBaseController {
    @Autowired
    private HttpUtil httpUtil;
    @Autowired
    private PushMsgTask pushMsgTask;
    @Autowired
    private ConsultTeamDao consultTeamDao;
    @Autowired
    private PrescriptionDao prescriptionDao;
    @Autowired
    private ConsultDao consultDao;
    /**
     * 患者咨询记录查询
@ -360,7 +370,7 @@ public class ConsultController extends WeixinBaseController {
            }
            // 推送消息给医生
            PushMsgTask.getInstance().put(consult.getDoctor(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM.D_CT_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM.指定咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM.您有新的指定咨询.name(), consult.getConsult());
            pushMsgTask.put(consult.getDoctor(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM.D_CT_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM.指定咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM.您有新的指定咨询.name(), consult.getConsult());
            BusinessLogs.info(BusinessLogs.BusinessType.consult, getRepUID(), getUID(), new JSONObject(consult));
            return write(200, "提交成功", "data", consult);
        } catch (Exception ex) {
@ -454,7 +464,7 @@ public class ConsultController extends WeixinBaseController {
            //名医咨询次数减一
            doctorWorkTimeService.setDoctorCurrentConsultTimesRemain(doctorCode);
            // 推送消息给医生
            PushMsgTask.getInstance().put(consult.getDoctor(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.D_CT_03.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.名医咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.您有新的名医咨询.name(), consult.getConsult());
            pushMsgTask.put(consult.getDoctor(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.D_CT_03.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.名医咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM.您有新的名医咨询.name(), consult.getConsult());
            BusinessLogs.info(BusinessLogs.BusinessType.consult, getRepUID(), getUID(), new JSONObject(consult));
            return write(200, "提交成功", "data", resultConsult);
        } catch (Exception ex) {
@ -602,7 +612,6 @@ public class ConsultController extends WeixinBaseController {
     */
    @RequestMapping(value = "cancel")
    @ResponseBody
    @ObserverRequired
    public String cancel(String consult) {
        try {
            int row = consultTeamService.cancel(consult);
@ -625,15 +634,14 @@ public class ConsultController extends WeixinBaseController {
     */
    @RequestMapping(value = "finish")
    @ResponseBody
    @ObserverRequired
    public String finish(@RequestParam(required = true) String code) {
        try {
            int row = consultTeamService.finishConsult(code, getRepUID(), 1);
            if (row > 0) {
                return success("操作成功!");
            }else if(row==-2){
            }else if(row == -2) {
                return error(-1, "续方未审核,不能结束续方咨询!");
            } else {
            }  else {
                return error(-1, "操作失败!");
            }
        } catch (Exception e) {
@ -653,7 +661,6 @@ public class ConsultController extends WeixinBaseController {
     */
    @RequestMapping(value = "append")
    @ResponseBody
    @ObserverRequired
    public String append(@RequestParam String consult, @RequestParam String content, @RequestParam int type, @RequestParam(required = false, defaultValue = "0") Integer times) {
        try {
            List<ConsultTeamLog> logs = new ArrayList<ConsultTeamLog>();
@ -988,7 +995,7 @@ public class ConsultController extends WeixinBaseController {
//            }
            // 推送消息给医生
            PushMsgTask.getInstance().put(doctor, MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM.D_CT_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM_PRESCRIPTION.续方咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM_PRESCRIPTION.您有新的续方咨询.name(), consult.getConsult());
            pushMsgTask.put(doctor, MessageType.MESSAGE_TYPE_DOCTOR_NEW_CONSULT_TEAM.D_CT_01.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM_PRESCRIPTION.续方咨询.name(), MessageType.MESSAGE_TYPE_DOCTOR_NEW_FAMOUS_CONSULT_TEAM_PRESCRIPTION.您有新的续方咨询.name(), consult.getConsult());
            BusinessLogs.info(BusinessLogs.BusinessType.consult, getRepUID(), getUID(), new JSONObject(consult));
            return write(200, "提交成功", "data", consult);
@ -1045,5 +1052,26 @@ public class ConsultController extends WeixinBaseController {
        }
    }
    @RequestMapping(value = "prescriptionDetail",method = RequestMethod.GET)
    @ResponseBody
    @ApiOperation("获取续方信息")
    public String prescriptionDetail(@RequestParam(required = true) String consult){
        try {
            JSONObject json = new JSONObject();
            Consult consult1 = consultDao.findByCode(consult);
            String prescriptionCode = consult1.getRelationCode();
            Prescription prescription = prescriptionDao.findByCode(prescriptionCode);
            json.put("status",prescription.getStatus());//状态 (-1 审核不通过 , 0 审核中, 10 审核通过/待支付 ,21支付失败  20 配药中/支付成功, 21 等待领药 ,30 配送中 ,100配送成功/已完成)
            json.put("prescriptionDt",prescriptionDiagnosisService.getPrescriptionDiagnosis(prescriptionCode));//续方疾病类型
            json.put("prescriptionInfo",prescriptionDiagnosisService.getPrescriptionInfo(prescriptionCode));//续方药品信息
            return write(200, "查询成功!", "list", json);
        }catch (Exception e){
            error(e);
            return error(-1, "查询失败!");
        }
    }
}

+ 1 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/prescription/PatientPrescriptionInfoController.java

@ -34,11 +34,10 @@ public class PatientPrescriptionInfoController extends BaseController {
    @ApiOperation(value = "获取长处方信息列表")
    public String getPrescriptionInfos(@RequestParam(required = true)@ApiParam(name="type",value="1:查询处方;2我的续方;3:续方记录")String type,
                                       @RequestParam(required = true)@ApiParam(name="state",value="状态")String state,
                                       @RequestParam(required = true)@ApiParam(name="diagnosisCode",value="诊断结果")String diagnosisCode,
                                       @RequestParam(required = true)@ApiParam(name="startDate",value="开始时间")String startDate,
                                       @RequestParam(required = true)@ApiParam(name="endDate",value="结束时间")String endDate){
        try {
            return write(200, "查询成功!", "data", prescriptionInfoService.getPrescriptionInfos(type,state,startDate,endDate,diagnosisCode,getRepUID()));
            return write(200, "查询成功!", "data", prescriptionInfoService.getPrescriptionInfos(type,state,startDate,endDate,getRepUID()));
        } catch (Exception e) {
            error(e);
            return error(-1, "查询失败!");

+ 64 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/sign/PatientSignController.java

@ -339,4 +339,68 @@ public class PatientSignController extends BaseController {
            return error(-1, "查询失败");
        }
    }
    /**
     * 获取厦门市区
     * @return
     */
    @RequestMapping(value = "/getTownList", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getTownList(){
        try {
            return write(200, "查询成功", "data", signWebService.getTownList());
        } catch (Exception e) {
            error(e);
            return error(-1, "查询失败");
        }
    }
    /**
     * 获取街道下居委会
     * @param street
     * @return
     */
    @RequestMapping(value = "/getCountryListByStreet", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getCountryListByStreet(@RequestParam(required = true)String street){
        try {
            return write(200, "查询成功", "data", signWebService.getCountryListByStreet(street));
        } catch (Exception e) {
            error(e);
            return error(-1, "查询失败");
        }
    }
    /**
     * 获取居委会字段
     * @param countryCode
     * @return
     */
    @RequestMapping(value = "/updatePatientCountry", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String setPatientCountry(@RequestParam(required = true)String countryCode){
        try {
            return write(200, "保存成功", "data", signWebService.setPatientCountry(countryCode,getRepUID()));
        } catch (Exception e) {
            error(e);
            return error(-1, "查询失败");
        }
    }
    /**
     * 获取区域下街道
     * @param town
     * @return
     */
    @RequestMapping(value = "/getStreetListByTown", method = {RequestMethod.GET, RequestMethod.POST})
    @ResponseBody
    public String getStreetListByTown(@RequestParam(required = true)String town){
        try {
            return write(200, "查询成功", "data", signWebService.getStreetListByTown(town));
        } catch (Exception e) {
            error(e);
            return error(-1, "查询失败");
        }
    }
}

+ 3 - 3
patient-co/patient-co-wlyy/src/main/resources/application.yml

@ -40,7 +40,7 @@ spring:
    # REDIS
  redis:
    database: 10 # Database index used by the connection factory.
    database: 0 # Database index used by the connection factory.
    password: # Login password of the redis server.
    timeout: 0 # Connection timeout in milliseconds.
@ -100,7 +100,7 @@ server:
im:
  im_list_get: http://172.19.103.88:3000/
  im_list_get: http://192.168.131.24:3000/
  group_server: http://172.19.103.88:3000/api/v1/chats/gm
  msg_push_server: http://172.19.103.88:3000/api/v1/chats/sm
  data_base_name: im_new
@ -268,7 +268,7 @@ server:
im:
  im_list_get: http://172.19.103.88:3000/
  im_list_get: http://192.168.131.24:3000/
  group_server: http://172.19.103.29:3000/api/v1/chats/gm
  msg_push_server: http://172.19.103.29:3000/api/v1/chats/sm
  data_base_name: ichat