Forráskód Böngészése

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

trick9191 7 éve
szülő
commit
fc94060857

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

@ -34,7 +34,7 @@ public class DoctorInterceptor extends BaseInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        boolean flag = true;
        try {
        /*try {
            request.setCharacterEncoding("UTF-8");
            request.setAttribute("log-start", new Date().getTime());
            response.setCharacterEncoding("UTF-8");
@ -153,7 +153,7 @@ public class DoctorInterceptor extends BaseInterceptor {
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        }*/
        return flag;
    }

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

@ -31,7 +31,7 @@ public class PatientInterceptor extends BaseInterceptor {
	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
		boolean flag = true;
		try {
		/*try {
			request.setCharacterEncoding("UTF-8");
			request.setAttribute("log-start", new Date().getTime());
			if(request.getRequestURI().contains("/patient/hosptail/getHositalByTownCode")||request.getRequestURI().contains("/patient/feedback/saveAppeal")){
@ -101,7 +101,7 @@ public class PatientInterceptor extends BaseInterceptor {
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		}*/
		return flag;
	}

+ 10 - 6
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PatientPrescriptionPayService.java

@ -118,6 +118,7 @@ public class PatientPrescriptionPayService extends BaseService {
    public JSONObject dispatch(String prescriptionCode, String orgCode) throws Exception {
        JSONObject result = new JSONObject();
        List manage = new ArrayList();
        List types = new ArrayList();
        Hospital hospital = hospitalDao.findByCode(orgCode);
        String hostpitalName = hospital.getName();
@ -148,8 +149,9 @@ public class PatientPrescriptionPayService extends BaseService {
                self.put("townName", townName);
                self.put("streeCode", streeCode);
                self.put("address", address);
                self.put("type", 1);
                types.add(1);
                result.put("self", self);
                result.put("types", types);
                return result;
            }
        }
@ -197,12 +199,13 @@ public class PatientPrescriptionPayService extends BaseService {
            self.put("townName", townName);
            self.put("streeCode", streeCode);
            self.put("address", address);
            self.put("type", 1);
            types.add(1);
            Map express = new HashMap();
            express.put("type", 2);
            types.add(2);
            result.put("self", self);
            result.put("express", express);
            result.put("types", types);
            return result;
        }
        Map self = new HashMap();
@ -216,16 +219,17 @@ public class PatientPrescriptionPayService extends BaseService {
        self.put("townName", townName);
        self.put("streeCode", streeCode);
        self.put("address", address);
        self.put("type", 1);
        types.add(1);
        Map express = new HashMap();
        express.put("type", 2);
        types.add(2);
        Map manager = new HashMap();
        manager.put("codes", manage);
        manager.put("type", 3);
        types.add(3);
        result.put("self", self);
        result.put("express", express);
        result.put("manager", manager);
        result.put("types", types);
        return result;
    }

+ 6 - 6
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionExpressageService.java

@ -203,11 +203,11 @@ public class PrescriptionExpressageService {
        prescriptionDispensaryCode.setIsUse(1);
        //发送模板消息通知患者药品开始配送
        String url = wechat_base_url + "/wx/html/prescription/html/order_tracking.html?openid=" + patient.getOpenid() + "" +
                "&code=" + prescriptionDispensaryCode.getPrescriptionCode() + "&toUser=" + patient.getCode() + "&toName=" + patient.getName();
        String url="prescription/html/order_tracking.html?openid=" + patient.getOpenid() + "" +
                "&code=" + prescriptionDispensaryCode.getPrescriptionCode() + "&toUser=" + patient.getCode() + "&toName=" + patient.getName() ;
        prescriptionNoticesService.sendMessages(patient.getOpenid(), patient.getName(), doctor.getName(), DateUtil.dateToStrLong(expressageing), 3, 0, url);
        prescriptionNoticesService.sendMessages(userCode,doctor.getName(), DateUtil.dateToStrLong(expressageing),3, 0,url );
        return prescriptionDispensaryCode.getType();
    }
@ -251,11 +251,11 @@ public class PrescriptionExpressageService {
        //发送模板消息通知患者取药
        //发送模板消息通知患者药品开始配送
        String url = wechat_base_url + "/wx/html/prescription/html/order_tracking.html?openid=" + patient.getOpenid() + "" +
                "&code=" + prescriptionDispensaryCode.getPrescriptionCode() + "&toUser=" + patient.getCode() + "&toName=" + patient.getName();
        String url="prescription/html/order_tracking.html?openid=" + patient.getOpenid() + "" +
                "&code=" + prescriptionDispensaryCode.getPrescriptionCode() + "&toUser=" + patient.getCode() + "&toName=" + patient.getName() ;
        prescriptionNoticesService.sendMessages(patient.getOpenid(), patient.getName(), doctor.getName(), DateUtil.dateToStrLong(expressage2hospitalDate), 4, 0, url);
        prescriptionNoticesService.sendMessages(prescription.getPatient(),doctor.getName(), DateUtil.dateToStrLong(expressage2hospitalDate),4, 0, url);
        return prescriptionDispensaryCode.getType();

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

@ -700,9 +700,9 @@ public class PrescriptionInfoService extends BaseService {
            Prescription prescription = prescriptionDao.findByCode(code);
            Patient p = patientDao.findByCode(prescription.getPatient());
            if(state!=null&&state==1){
                prescriptionNoticesService.sendMessages(p.getOpenid(),p.getName(),prescription.getDoctorName(),null,1,1,"/html/prescription/html/re-prescription_info.html?openid=" + p.getOpenid() + "&toUser=" + p.getCode()+ "&toName=" + p.getName() +"&code="+prescription.getCode());
                prescriptionNoticesService.sendMessages(prescription.getPatient(),prescription.getDoctorName(),null,1,1,"prescription/html/re-prescription_info.html?openid=" + p.getOpenid() + "&toUser=" + p.getCode()+ "&toName=" + p.getName() +"&code="+prescription.getCode());
            }else{
                prescriptionNoticesService.sendMessages(p.getOpenid(),p.getName(),prescription.getDoctorName(),null,1,2,"/html/prescription/html/re-prescription_info.html?openid=" + p.getOpenid() + "&toUser=" + p.getCode()+ "&toName=" + p.getName() +"&code="+prescription.getCode());
                prescriptionNoticesService.sendMessages(prescription.getPatient(),prescription.getDoctorName(),null,1,2,"prescription/html/re-prescription_info.html?openid=" + p.getOpenid() + "&toUser=" + p.getCode()+ "&toName=" + p.getName() +"&code="+prescription.getCode());
            }
            return 1;
        }catch (Exception e){

+ 114 - 11
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionNoticesService.java

@ -10,7 +10,9 @@ import com.yihu.wlyy.repository.prescription.PrescriptionDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.task.PushMsgTask;
import com.yihu.wlyy.wechat.util.WeiXinAccessTokenUtils;
import com.yihu.wlyy.wechat.util.WeiXinOpenIdUtils;
import com.ylzinfo.onepay.sdk.utils.StringUtil;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -26,26 +28,31 @@ public class PrescriptionNoticesService extends BaseService {
    @Autowired
    private PushMsgTask pushMsgTask;
    @Autowired
    private DoctorDao doctorDao;
    @Autowired
    private PatientDao patientDao;
    @Autowired
    private WeiXinAccessTokenUtils weiXinAccessTokenUtils;
    @Autowired
    private WeiXinOpenIdUtils weiXinOpenIdUtils;
    /**
     * 发送续方相关模板消息
     * 发送续方相关模板消息(增加代理模式)
     *
     * @param openId      要发送对象居民的微信openID
     * @param name        要发送对象居民姓名
     * @param doctName    相关医生姓名(type=1审核医生、type=2 null、type=3配送健管师、type=4审核医生)
     * @param ordenTime   订单完成时间(type=1 null、type=2 null、type=3 null、type=4 订单完成时间)
     * @param type        1:续方审核通知 2:取药代办通知 3:配送中信息变更 4:已完成服务结果
     * @param status      续方通知状态 0不通过 1通过 2调整处方  其余状态均为0
     * @param url         带参数的模板跳转链接
     * @param patient   要发送对象居民code
     * @param doctName  相关医生姓名(type=1审核医生、type=2 null、type=3配送健管师、type=4审核医生)
     * @param ordenTime 订单完成时间(type=1 null、type=2 null、type=3 null、type=4 订单完成时间)
     * @param type      1:续方审核通知 2:取药代办通知 3:配送中信息变更 4:已完成服务结果
     * @param status    续方通知状态 0不通过 1通过 2调整处方  其余状态均为0
     * @param url       带参数的模板跳转链接
     */
    public void sendMessages( String openId, String name, String doctName, String ordenTime, int type, int status, String url) throws Exception {
    public void sendMessages(String patient, String doctName, String ordenTime, int type, int status, String url) throws Exception {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        JSONArray jsonArray = null;
        Patient people = patientDao.findByCode(patient);
        String openId = people.getOpenid();
        String name = people.getName();
        JSONObject sendJson = new JSONObject();
        String first = "";
@ -62,6 +69,22 @@ public class PrescriptionNoticesService extends BaseService {
                    sendJson.put("remark", remark);
                    sendJson.put("url", url);//带参数的模板跳转链接
                    pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 19, openId, name, sendJson);
                    //发送代理人
                    jsonArray = weiXinOpenIdUtils.getAgentOpenId(patient, openId);
                    if (jsonArray != null && jsonArray.length() > 0) {
                        for (int i = 0; i < jsonArray.length(); i++) {
                            JSONObject j = jsonArray.getJSONObject(i);
                            Patient member = (Patient) j.get("member");
                            int start = url.indexOf("&toUser=");
                            int end = url.indexOf("&", start + 1);
                            String touser = url.substring(start, end);
                            url = url.replace(touser, "&toUser=" + member.getCode());
                            //name患者姓名
                            sendJson.put("first", weiXinOpenIdUtils.getTitleMes(people, (int) j.get("relation"), name) + first);
                            sendJson.put("url", url);
                            pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 19, member.getOpenid(), name, sendJson);
                        }
                    }
                    break;
                case 1:
                    first = name + "您好,你的续方申请医生已审核。";
@ -72,6 +95,22 @@ public class PrescriptionNoticesService extends BaseService {
                    sendJson.put("remark", remark);
                    sendJson.put("url", url);//带参数的模板跳转链接
                    pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 19, openId, name, sendJson);
                    //发送代理人
                    jsonArray = weiXinOpenIdUtils.getAgentOpenId(patient, openId);
                    if (jsonArray != null && jsonArray.length() > 0) {
                        for (int i = 0; i < jsonArray.length(); i++) {
                            JSONObject j = jsonArray.getJSONObject(i);
                            Patient member = (Patient) j.get("member");
                            int start = url.indexOf("&toUser=");
                            int end = url.indexOf("&", start + 1);
                            String touser = url.substring(start, end);
                            url = url.replace(touser, "&toUser=" + member.getCode());
                            //name患者姓名
                            sendJson.put("first", weiXinOpenIdUtils.getTitleMes(people, (int) j.get("relation"), name) + first);
                            sendJson.put("url", url);
                            pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 19, member.getOpenid(), name, sendJson);
                        }
                    }
                    break;
                case 2:
                    first = name + "您好,您的续方申请医生已修改处方清单并审核。";
@ -82,6 +121,22 @@ public class PrescriptionNoticesService extends BaseService {
                    sendJson.put("remark", remark);
                    sendJson.put("url", url);//带参数的模板跳转链接
                    pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 19, openId, name, sendJson);
                    //发送代理人
                    jsonArray = weiXinOpenIdUtils.getAgentOpenId(patient, openId);
                    if (jsonArray != null && jsonArray.length() > 0) {
                        for (int i = 0; i < jsonArray.length(); i++) {
                            JSONObject j = jsonArray.getJSONObject(i);
                            Patient member = (Patient) j.get("member");
                            int start = url.indexOf("&toUser=");
                            int end = url.indexOf("&", start + 1);
                            String touser = url.substring(start, end);
                            url = url.replace(touser, "&toUser=" + member.getCode());
                            //name患者姓名
                            sendJson.put("first", weiXinOpenIdUtils.getTitleMes(people, (int) j.get("relation"), name) + first);
                            sendJson.put("url", url);
                            pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 19, member.getOpenid(), name, sendJson);
                        }
                    }
                    break;
            }
        } else if (type == 2) {
@ -93,6 +148,22 @@ public class PrescriptionNoticesService extends BaseService {
            sendJson.put("remark", remark);
            sendJson.put("url", url);//带参数的模板跳转链接
            pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 11, openId, name, sendJson);
            //发送代理人
            jsonArray = weiXinOpenIdUtils.getAgentOpenId(patient, openId);
            if (jsonArray != null && jsonArray.length() > 0) {
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject j = jsonArray.getJSONObject(i);
                    Patient member = (Patient) j.get("member");
                    int start = url.indexOf("&toUser=");
                    int end = url.indexOf("&", start + 1);
                    String touser = url.substring(start, end);
                    url = url.replace(touser, "&toUser=" + member.getCode());
                    //name患者姓名
                    sendJson.put("first", weiXinOpenIdUtils.getTitleMes(people, (int) j.get("relation"), name) + first);
                    sendJson.put("url", url);
                    pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 11, member.getOpenid(), name, sendJson);
                }
            }
        }
        if (type == 3) {
            first = name + "您好,您的续方订单配送员" + doctName + "已顺利取药,续方状态变更为配送中。";
@ -104,6 +175,22 @@ public class PrescriptionNoticesService extends BaseService {
            sendJson.put("remark", remark);
            sendJson.put("url", url);//带参数的模板跳转链接
            pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 10, openId, name, sendJson);
            //发送代理人
            jsonArray = weiXinOpenIdUtils.getAgentOpenId(patient, openId);
            if (jsonArray != null && jsonArray.length() > 0) {
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject j = jsonArray.getJSONObject(i);
                    Patient member = (Patient) j.get("member");
                    int start = url.indexOf("&toUser=");
                    int end = url.indexOf("&", start + 1);
                    String touser = url.substring(start, end);
                    url = url.replace(touser, "&toUser=" + member.getCode());
                    //name患者姓名
                    sendJson.put("first", weiXinOpenIdUtils.getTitleMes(people, (int) j.get("relation"), name) + first);
                    sendJson.put("url", url);
                    pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 10, member.getOpenid(), name, sendJson);
                }
            }
        }
        if (type == 4) {
            first = name + ",您好!您的续方订单已成功配送。";
@ -115,6 +202,22 @@ public class PrescriptionNoticesService extends BaseService {
            sendJson.put("remark", remark);
            sendJson.put("url", url);//带参数的模板跳转链接
            pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 20, openId, name, sendJson);
            //发送代理人
            jsonArray = weiXinOpenIdUtils.getAgentOpenId(patient, openId);
            if (jsonArray != null && jsonArray.length() > 0) {
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject j = jsonArray.getJSONObject(i);
                    Patient member = (Patient) j.get("member");
                    int start = url.indexOf("&toUser=");
                    int end = url.indexOf("&", start + 1);
                    String touser = url.substring(start, end);
                    url = url.replace(touser, "&toUser=" + member.getCode());
                    //name患者姓名
                    sendJson.put("first", weiXinOpenIdUtils.getTitleMes(people, (int) j.get("relation"), name) + first);
                    sendJson.put("url", url);
                    pushMsgTask.putWxMsg(weiXinAccessTokenUtils.getAccessToken(), 20, member.getOpenid(), name, sendJson);
                }
            }
        }

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

@ -92,7 +92,7 @@ public class PrescriptionService extends BaseService {
                    url.append("&toUser=").append(patient.getCode());
                    url.append("&toName=").append(patient.getName());
                    url.append("&represented=").append(patient.getCode());
                    prescriptionNoticesService.sendMessages(patient.getCode(), patient.getName(), null, null, 2, 0, url.toString());
                    prescriptionNoticesService.sendMessages(prescription.getPatient(), null, null, 2, 0, url.toString());
                }catch (Exception e){
                    logger.info("微信模板发送失败,续方code"+code);
                }

+ 9 - 9
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/prescription/PatientPrescriptionPayController.java

@ -43,9 +43,9 @@ public class PatientPrescriptionPayController extends WeixinBaseController {
            @RequestParam(required = true) @ApiParam(value = "居民签约社区code", name = "orgCode") String orgCode) throws Exception {
        try {
            com.alibaba.fastjson.JSONObject result = payService.dispatch(prescriptionCode,orgCode);
            return write(200, "获取成功","data",result);
            return write(200, "获取成功!","data",result);
        } catch (Exception e) {
            return error(-1, "获取失败");
            return error(-1, "获取失败!");
        }
    }
@ -75,9 +75,9 @@ public class PatientPrescriptionPayController extends WeixinBaseController {
            String accessToken = getAccessToken();
            String patient = getUID();
            payService.charge(type,addressJson,orgCode, prescriptionCode, totalAmount, patient, accessToken);
            return error(-1, "获取失败");
            return write(200, "支付成功!");
        } catch (Exception e) {
            return error(-1, "获取失败");
            return error(-1, "支付失败!");
        }
    }
@ -93,9 +93,9 @@ public class PatientPrescriptionPayController extends WeixinBaseController {
        try {
            String accessToken = getAccessToken();
            payService.chargeQuery(outChargeNo, accessToken);
            return error(-1, "获取失败");
            return write(200, "获取成功!");
        } catch (Exception e) {
            return error(-1, "获取失败");
            return error(-1, "获取失败!");
        }
    }
@ -112,9 +112,9 @@ public class PatientPrescriptionPayController extends WeixinBaseController {
        try {
            String accessToken = getAccessToken();
            payService.recipeReturnUrl(request, response, accessToken);
            return error(-1, "获取失败");
            return write(200, "页面回调成功!");
        } catch (Exception e) {
            return error(-1, "获取失败");
            return error(-1, "页面回调失败!");
        }
    }
@ -128,7 +128,7 @@ public class PatientPrescriptionPayController extends WeixinBaseController {
    public String receiveRecipeNotify(HttpServletRequest request, HttpServletResponse response) throws Exception {
        try {
            payService.receiveRecipeNotify(request, response);
            return error(200, "回调成功!");
            return write(200, "回调成功!");
        } catch (Exception e) {
            return error(-1, "回调失败!");
        }