Selaa lähdekoodia

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

yeshijie 4 vuotta sitten
vanhempi
commit
2e5b891056

+ 8 - 2
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/TnPrescriptionService.java

@ -493,7 +493,12 @@ public class TnPrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pr
            object.put("charge_code",map.get("YPXH"));
            object.put("drugname",map.get("YPMC"));
            object.put("specification",map.get("YPGG"));
            object.put("pack_unit_name",map.get("JLDW"));
            object.put("pack_unit_name",map.get("YPDW"));
            object.put("mini_unit",map.get("UNITCODE"));
            object.put("mini_unit_name",map.get("UNITCODENAME"));
            object.put("weigh_unit_name",map.get("ZXDW"));
            object.put("weigh_unit",map.get("ZXDW"));
            object.put("pack_unit",map.get("YPDW"));
            object.put("yfdw",map.get("YFDW"));
            object.put("pack_size",map.get("YFBZ"));
         /*   object.put("yfsx",map.get("yfsx"));//药房属性*/
@ -510,6 +515,7 @@ public class TnPrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pr
            object.put("ypcd",map.get("YPCD"));//产地
            object.put("zfpb",map.get("ZFPB"));//作废判别
            object.put("jbywbz",map.get("jbywbz"));//基本药物标志
            object.put("pack_retprice",map.get("BZLJ"));
            if (map.get("XTSB")!=null){
                if (map.getString("XTSB").equalsIgnoreCase("1")){
                    object.put("group_no",81);
@ -539,7 +545,7 @@ public class TnPrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pr
        for (int i=0;i<mapList.size();i++){
            JSONObject map = mapList.getJSONObject(i);
            JSONObject object = new JSONObject();
            object.put("supply_code",map.get("YPYF"));
            object.put("supply_code",map.get("YPYF")+"");
            object.put("supply_name",map.get("XMMC"));
            object.put("ypyf",map.get("YPYF"));
            array.add(object);

+ 1 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/TnyyEntranceService.java

@ -266,7 +266,7 @@ public class TnyyEntranceService {
    public JSONArray findTnYpxx(String ypdm,String ypmc,String kusl,String pydm ,String hisCode) throws Exception {
        String sql ="SELECT yp.YPXH,yp.XTSB,yp.YPMC,yp.YPGG,yp.YFGG,yp.BFGG,yp.YPSX,yp.TSYP,yp.YPDW,yp.ZXDW,yp.ZXBZ,yp.YFBZ,yp.YFDW,yp.BFBZ," +
                "yp.BFDW,yp.ZFPB,yp.YLXZ,yp.FYFS,yp.PYDM,yp.YPBH,yp.MESS,yp.GYFF,yp.TYPE,yp.YPDM,yp.YPJL,yp.JLDW,yp.YKZF,yp.YFZF,yp.ZXCD,yp.YCYL," +
                "kc.YPCD,kc.LSJG,kc.KCSL  FROM  YK_TYPK yp,YK_KCMX kc where 1=1 and kc.YPXH=yp.YPXH ";
                "kc.YPCD,kc.LSJG,kc.KCSL,kc.BZLJ,yp.UNITCODE,yp.UNITCODENAME  FROM  YK_TYPK yp,YK_KCMX kc where 1=1 and kc.YPXH=yp.YPXH ";
        if (StringUtils.isNoneBlank(ypdm)){
            sql+=" and lower(YPDM) like '%"+ypdm.toLowerCase()+"%' ";
        }

+ 20 - 0
business/base-service/src/main/java/com/yihu/jw/order/pay/ylz/YlzPayService.java

@ -23,6 +23,8 @@ import org.springframework.stereotype.Service;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.Map;
@ -414,9 +416,15 @@ public class YlzPayService {
            if(StringUtils.isNoneBlank(openId)){
                extra.put("openId",openId);
            }
		/*	String value = systemDictDao.findByDictNameAndCode("RETURN_URL","RETURN_URL");
			extra.put("returnUrl",value);*/
            extra.put("notifyUrl", notifyUrl);
            if (depositType.equalsIgnoreCase("WX_WAP")){
                extra.put("spbill_create_ip",getServerIp());
                extra.put("returnUrl","https://www1.yanketong.com");
            }
            param.setExtra(extra);
            ResponseParams<RechargeResult> respnse = onepayClient.recharge(param);
            if (respnse.getRespCode().equals("000000")){
@ -440,6 +448,18 @@ public class YlzPayService {
        logService.saveHttpLog(isSuccess, "hop.trade.recharge", "互联网预交金充值", "POST", null,JSON.toJSONString(param), jsonObject, error,logService.shoppatType);
        return jsonObject;
    }
    /**
     * 获取服务器ip地址
     *
     * @return
     * @throws UnknownHostException
     */
    public String getServerIp() throws UnknownHostException {
        InetAddress address = InetAddress.getLocalHost();//获取的是本地的IP地址 //PC-20140317PXKX/192.168.0.121
        String hostAddress = address.getHostAddress();//192.168.0.121
        return hostAddress;
    }
    /**
     *
     * 预交金退款

+ 3 - 3
common/common-entity/src/main/java/com/yihu/jw/entity/IntegerIdentityEntity.java

@ -19,13 +19,13 @@ public abstract class IntegerIdentityEntity implements Serializable {
    @Id
//==========mysql 环境 id策略======================================================
    /*@GeneratedValue(generator = "generator")
    @GeneratedValue(generator = "generator")
    @GenericGenerator(name = "generator", strategy = "identity")
    @Column(name = "id", unique = true, nullable = false)*/
    @Column(name = "id", unique = true, nullable = false)
//==========mysql 环境 id策略 end======================================================
//==========Oracle 环境id策略 =========================================================
   @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="id_generated")
/*   @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="id_generated")*/
//==========Oracle 环境id策略 =========================================================
    public Integer getId() {
        return id;

+ 18 - 87
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/service/DoorOrderService.java

@ -540,17 +540,14 @@ public class DoorOrderService {
        // 获取微信模板
        ConsultDo consult = consultDao.queryByRelationCode(orderId);
        try {
            String patientName=patient.getName()==null?"":patient.getName();
            String doctorName=doorServiceOrder.getDoctorName()!=null? doorServiceOrder.getDoctorName() : "";
            JSONObject json = new JSONObject();
            if(consult != null) {
                String consultStr =  consult.getId();
                json.put("consult", consult.getId());
            }
            String first = patientName+",您好!您的上门预约服务已由【"+doctorName+"】医生接单了";
            logger.info("上门服务已接单推送前");
            //url + json.getString("url") + "?openid=" + openid + "&consult=" + json.getString("consult")
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyjjd",patient.getOpenid(),first,null,null,DateUtil.dateToStrShort(new Date()),"上门服务已接单");
            logger.info("上门服务已接单推送前");
            String first = "key1,您好!您的上门预约服务已由【key2】医生接单了";
            first = first.replace("key1",(patient.getName()==null?"":patient.getName()));
            first = first.replace("key2", null != doorServiceOrder.getDoctorName() ? doorServiceOrder.getDoctorName() : "");
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyjjd",patient.getOpenid(),first,null,null,30,json,DateUtil.dateToStrShort(new Date()),"上门服务已接单");
        }catch (Exception e){
            logger.error(e.getMessage());
        }
@ -976,34 +973,10 @@ public class DoorOrderService {
        // 获取微信模板 smfwdwk-上门服务待付款
        ConsultDo consult = consultDao.queryByRelationCode(orderId);
        try {//·
            String first = "key1预约上门服务医生已完成服务。为提高服务质量,诚邀您对本次服务医生进行评分";
            first = first.replace("key1", DateUtil.dateToStr(new Date(), "yyyy-MM-dd HH:mm"));
            first = first .replace("key2", null != one.getDoctorName() ? one.getDoctorName() : "");
            WlyyDoorCommentDO wlyyDoorCommentDO = doorCommentDao.selectCommentDoctor(patient.getId(),orderId);
            JSONObject json = new JSONObject();
            String finish="";
            if(wlyyDoorCommentDO!=null){
                finish = "0";
            }else {
                finish = "1";
            }
            //url:url + json.getString("url")+"?openid=" + openid + "&id=" + json.getString("id")+ "&finish=" + finish)
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","fwyspf",patient.getOpenid(),first,null,null,DateUtil.dateToStrShort(new Date()),"服务医生评分");
/*            WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_process_feedback","fwyspf");
            String first = templateConfig.getFirst();
            first = first.replace("key1", DateUtil.dateToStr(new Date(), "yyyy-MM-dd HH:mm"));
            first = first .replace("key2", null != one.getDoctorName() ? one.getDoctorName() : "");
            org.json.JSONObject json = new org.json.JSONObject();
            json.put("first", first);
            json.put("keyword1", DateUtil.dateToStrShort(new Date()));
            json.put("keyword2", "服务医生评分");
            json.put("url", templateConfig.getUrl());
            json.put("remark", templateConfig.getRemark());
            json.put("id",orderId);
            //json.put("consult",consult.getCode());
            WlyyDoorCommentDO wlyyDoorCommentDO = this.DoorCommentDao.selectCommentDoctor(patient.getCode(),orderId);
            String finish="";
            if(wlyyDoorCommentDO!=null){
                finish = "0";
                json.put("finish",finish);
@ -1011,7 +984,9 @@ public class DoorOrderService {
                finish = "1";
                json.put("finish",finish);
            }
            pushMsgTask.putWxMsg(tokenUtils.getAccessToken(), 31, patient.getOpenid(), patient.getName(), json);*/
            String first="key1预约上门服务医生已完成服务。为提高服务质量,诚邀您对本次服务医生进行评分".replace("key1", DateUtil.dateToStr(new Date(), "yyyy-MM-dd HH:mm"));
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","fwyspf",patient.getOpenid(),first,null,null,31,json,DateUtil.dateToStrShort(new Date()),"服务医生评分");
        }catch (Exception e){
            logger.error(e.getMessage());
        }
@ -1057,40 +1032,10 @@ public class DoorOrderService {
        // 获取微信模板  fwyspf-服务医生评分
        ConsultDo consult = consultDao.queryByRelationCode(orderId);
        try {
            String first = "key1预约上门服务医生已完成服务。为提高服务质量,诚邀您对本次服务医生进行评分";
            first = first.replace("key1", DateUtil.dateToStr(new Date(), "yyyy-MM-dd HH:mm"));
            first = first .replace("key2", null != one.getDoctorName() ? one.getDoctorName() : "");
            WlyyDoorCommentDO wlyyDoorCommentDO = doorCommentDao.selectCommentDoctor(patient.getId(),orderId);
            JSONObject json = new JSONObject();
            String finish="";
            if(wlyyDoorCommentDO!=null){
                finish = "0";
            }else {
                finish = "1";
            }
            //url:url + json.getString("url")+"?openid=" + openid + "&id=" + json.getString("id")+ "&finish=" + finish)
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","fwyspf",patient.getOpenid(),first,null,null,DateUtil.dateToStrShort(new Date()),"服务医生评分");
        }catch (Exception e){
            logger.error(e.getMessage());
        }
/*        try {
         WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_process_feedback","fwyspf");
            String first = templateConfig.getFirst();
            first = first.replace("key1", DateUtil.dateToStr(new Date(), "yyyy-MM-dd HH:mm"));
            first = first .replace("key2", null != one.getDoctorName() ? one.getDoctorName() : "");
            String keyword1 = templateConfig.getKeyword1();
            org.json.JSONObject json = new org.json.JSONObject();
            json.put("first", first);
            json.put("keyword1", DateUtil.dateToStrShort(new Date()));
            json.put("keyword2", "服务医生评分");
            json.put("url", templateConfig.getUrl());
            json.put("remark", templateConfig.getRemark());
            json.put("id",orderId);
            //json.put("consult",consult.getCode());
            WlyyDoorCommentDO wlyyDoorCommentDO = this.DoorCommentDao.selectCommentDoctor(patient.getCode(),orderId);
            String finish="";
            if(wlyyDoorCommentDO!=null){
                finish = "0";
                json.put("finish",finish);
@ -1098,10 +1043,11 @@ public class DoorOrderService {
                finish = "1";
                json.put("finish",finish);
            }
            pushMsgTask.putWxMsg(tokenUtils.getAccessToken(), 31, patient.getOpenid(), patient.getName(), json);
            String first="key1预约上门服务医生已完成服务。为提高服务质量,诚邀您对本次服务医生进行评分".replace("key1", DateUtil.dateToStr(new Date(), "yyyy-MM-dd HH:mm"));
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","fwyspf",patient.getOpenid(),first,null,null,31,json,DateUtil.dateToStrShort(new Date()),"服务医生评分");
        }catch (Exception e){
            logger.error(e.getMessage());
        }*/
        }
        return this.getDoorServiceOrderById(orderId, level);
    }
@ -1359,26 +1305,11 @@ public class DoorOrderService {
        ConsultDo consult = consultDao.queryByRelationCode(orderId);
        Integer status = 0;
        try{
            String first = "您的预约服务的服务项目已变更,请及时确认";
            first = first.replace("key1",(patient.getName()==null?"":patient.getName()));
            first = first .replace("key2", null != order.getDoctorName() ? order.getDoctorName() : "");
            String consultStr = consult.getId();
//            url1 + json.getString("url")+"?openid=" + openid + "&consult=" + json.getString("consult") + "&status=" + json.getInt("status")
//            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","fwyspf",patient.getOpenid(),first,null,null,DateUtil.dateToStrShort(new Date()),"服务项目变更确认");
            /* WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_process_feedback","fwxmbgtz");
            String first = templateConfig.getFirst();
            first = first.replace("key1",(patient.getName()==null?"":patient.getName()));
            first = first .replace("key2", null != order.getDoctorName() ? order.getDoctorName() : "");
            String keyword1 = templateConfig.getKeyword1();
            org.json.JSONObject json = new org.json.JSONObject();
            json.put("first", first);
            json.put("keyword1", DateUtil.dateToStrShort(new Date()));
            json.put("keyword2", "服务项目变更确认");
            json.put("url", templateConfig.getUrl());
            json.put("remark", templateConfig.getRemark());
            json.put("consult",consult.getCode());
            JSONObject json = new JSONObject();
            json.put("consult",consult.getId());
            json.put("status",status);
           //messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","fwxmbgtz",patient.getOpenid(),null,null,null,32,json);
//            pushMsgTask.putWxMsg(tokenUtils.getAccessToken(), 32, patient.getOpenid(), patient.getName(), json);*/
        }catch (Exception e) {

+ 22 - 43
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/service/DoorServiceApplicationService.java

@ -588,33 +588,8 @@ public class DoorServiceApplicationService {
            first = first.replace("key1",(patient.getName()==null?"":patient.getName()));
            first = first.replace("key2", (wlyyDoorServiceApplicationDo1.getPatientName() == null ? "" : wlyyDoorServiceApplicationDo1.getPatientName()));
            wlyyDoorServiceApplicationDo1.getAuditorName();
//            String urlStr= json.getString("url");
//            boolean status = urlStr.contains("openid=");
//            if(!status){
//                urlStr=json.getString("url")+"?openid=" + openid;
//            }
//            temp.setUrl(url + urlStr )
            messageUtil.putTemplateWxMessage(wxId,"template_doctor_audit",scene,patient.getOpenid(),first,null,null,null,wlyyDoorServiceApplicationDo1.getAuditorName());
/*            Patient patient = patientDao.findByCode(wlyyDoorServiceApplicationDo1.getProxyPatient());
            WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_doctor_audit",scene);
            if(null==templateConfig){
                throw new Exception("微信模板不存在!请确认");
            }
            String first = templateConfig.getFirst();
            first = first.replace("key1",(patient.getName()==null?"":patient.getName()));
            first = first.replace("key2", (wlyyDoorServiceApplicationDo1.getPatientName() == null ? "" : wlyyDoorServiceApplicationDo1.getPatientName()));
            String remark = templateConfig.getRemark();
            String keyword1 = templateConfig.getKeyword1();
            JSONObject sendJson = new JSONObject();
            sendJson.put("keyword1", keyword1);
            sendJson.put("keyword2", wlyyDoorServiceApplicationDo1.getAuditorName());
            sendJson.put("first", first);
            sendJson.put("remark", remark);
            //带参数的模板跳转链接
            sendJson.put("url", templateConfig.getUrl());
            pushMsgTask.sendWeixinMessage(weiXinAccessTokenUtils.getAccessToken(), 19, patient.getOpenid(), wlyyDoorServiceApplicationDo1.getProxyPatientName(), sendJson);*/
            messageUtil.putTemplateWxMessage(wxId,"template_doctor_audit",scene,patient.getOpenid(),first,null,null,19,null,null,wlyyDoorServiceApplicationDo1.getAuditorName());
        }
        return wlyyDoorServiceApplicationDo1;
@ -675,22 +650,26 @@ public class DoorServiceApplicationService {
    }
    public String myMyTest(){
//        String sql="select w.* from base.wx_template_config w where w.wechat_id='xm_ykyy_wx' and w.template_name='template_evaluate_notice' and w.scene='fwqjtx' and w.status=1";
//        List<WxTemplateConfigDO> config =  jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(WxTemplateConfigDO.class));
//        System.out.println("!");
//        //消息推送测试
//        String first = "王俊,您好!您的上门预约服务已由医生接单了";
//        String contentMsg = "";
//        String remark = "您可点击消息查看详情。";
//        String url ="https://www.baidu.com/s?ie=UTF-8&wd=%E7%99%BE%E5%BA%A6";
//
//        //模板消息
////        messageUtil.putTemplateWxMessage("97ed8a0a-4f07-4b85-ab02-b716c611a464","eee","zxxq","oULM4xCMTL9tuX_DjwEDdi6iaY0c",first,remark,url,"1231312312",DateUtil.getStringDate());
//
//        messageUtil.sendWXMes("xm_ykyy_wx","808080eb73e02e8f0173ebe51e1b007d","210503199507250313",first,contentMsg,remark,url);
        BasePatientDO temp = patientDao.findById("0000000067bab53a0167badd74f00004");
        BasePatientDO patient = patientInfoService.findById("0000000067bab53a0167badd74f00004");
        List<SystemMessageDO> messages = systemMessageDao.queryByRelationCodeAndTypeIn("2c9081aa6df16adb016df78bc56c66ef",new String[]{"6","9"});
        messageUtil.putTemplateWxMessage("xm_test_ihealth_wx","template_process_feedback","smyyyqx","ojsU-1XvRLx_IjDj96S4gxIRBNlY","您的上门服务知情同意书已送达",null,null,30,null,DateUtil.dateToStrShort(new Date()),"知情同意书已推送");
//        BasePatientDO patient = patientDao.findById("3ae2673512154d5280d1dcf5ffa5626d");
//        WxTemplateConfigDO templateConfig = wxTemplateConfigDao.findByWechatIdAndTemplateNameAndSceneAndStatus("xm_test_ihealth_wx", "template_process_feedback", "smyyyqx", 1);
//        String first = templateConfig.getFirst().replace("key1", null != patient.getName() ? patient.getName() : "");
//        org.json.JSONObject json = new org.json.JSONObject();
//        templateConfig.setFirst("白海灵您好!您的上门服务知情同意书已送达");
//        templateConfig.setKeyword1(DateUtil.dateToStrShort(new Date()));
//        templateConfig.setKeyword2("知情同意书已推送");
//        json.put("url", templateConfig.getUrl());
//        json.put("url", "appoint_service/html/appoint-serviceDetail.html?id="+orderId);
////        appoint_service/html/appoint-serviceDetail.html?openid=ojsU-1XJVftkfdbP1F5bi8JVPtOo&consult=e0d17c67ab07477f8e96534bc610e51b
//        json.put("remark", templateConfig.getRemark());
//        if(consult != null) {
//            json.put("consult", consult.getCode());
//        }else {
//            json.put("id", orderDO.getId());
//        }
//        pushMsgTask.putWxMsg(tokenUtils.getAccessToken(), 30, patient.getOpenid(), patient.getName(), json);
//        messageUtil
        return "ss";
    }

+ 5 - 4
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/service/WlyyDoorPrescriptionService.java

@ -267,10 +267,11 @@ public class WlyyDoorPrescriptionService  extends BaseJpaService<WlyyDoorPrescri
        BasePatientDO patient = patientDao.findById(orderDO.getPatient());
        String first = "key1,您好!请授权电子健康卡";//·
        first = first.replace("key1", orderDO.getPatientName());
//        json.put("orderId", orderDO.getId());
//        json.put("openId", patient.getOpenid()());
//        json.put("authorizeImage", orderDO.getAuthorizeImage());
        messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","authorize",patient.getOpenid(),first,null,DateUtil.dateToStrShort(new Date()));
        JSONObject json = new JSONObject();
        json.put("orderId", orderDO.getId());
        json.put("openId", patient.getOpenid());
        json.put("authorizeImage", orderDO.getAuthorizeImage());
        messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","authorize",patient.getOpenid(),first,null,null,34,json,DateUtil.dateToStrShort(new Date()));
/*        Patient patient = patientDao.findByCode(orderDO.getPatient());//·
        //发送微信模板消息

+ 15 - 23
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/service/WlyyDoorServiceOrderService.java

@ -1458,22 +1458,14 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
        String first = "key1,您好,您的上门预约服务已退回,点击查看原因";
        BasePatientDO patient = patientDao.findById(orderDO.getPatient());
        first  = first.replace("key1", null != patient.getName() ? patient.getName() : "");
//        if(consult != null) {
//            json.put("consult", consult.getCode());
//        }else {
//            json.put("id", orderDO.getId());
//        }
//        if(json.has("consult")) {
//            temp.setUrl(url + json.getString("url") + "?openid=" + openid + "&consult=" + json.getString("consult"));
//        }else if (json.has("id")){
//            temp.setUrl(url + json.getString("url") + "?openid=" + openid + "&id=" + json.getString("id"));
//        }else if(json.has("relationCode")){
//            temp.setUrl(url + json.getString("url") + "?openid=" + openid );
//        }else if(json.has("resultCode")){
//            temp.setUrl(url + json.getString("url") + "?resultCode=" + json.getString("resultCode"));
//        }
        JSONObject json = new JSONObject();
        if(consult != null) {
            json.put("consult", consult.getId());
        }else {
            json.put("id", orderDO.getId());
        }
        messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",patient.getOpenid(),first,null,null,DateUtil.dateToStrShort(new Date()),"上门预约已取消");
        messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",patient.getOpenid(),first,null,null,30,json,DateUtil.dateToStrShort(new Date()),"上门预约已取消");
/*        Consult consult = consultDao.queryByRelationCode(orderId);
        // 发送微信模板消息,通知居民工单已取消(smyyyqx-上门预约已取消)
@ -1514,14 +1506,14 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
        BasePatientDO patient = patientDao.findById(orderDO.getPatient());
        String first="key1,您好,您的上门预约服务已退回,点击查看原因";
        first = first.replace("key1", null != patient.getName() ? patient.getName() : "");
//        json.put("url", "appoint_service/html/appoint-serviceDetail.html?id="+orderId);
//        json.put("remark", templateConfig.getRemark());
//        if(consult != null) {
//            json.put("consult", consult.getCode());
//        }else {
//            json.put("id", orderDO.getId());
//        }
        messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",patient.getOpenid(),first,null,null,DateUtil.dateToStrShort(new Date()),"知情同意书已推送");
        JSONObject json = new JSONObject();
        String url ="appoint_service/html/appoint-serviceDetail.html?id="+orderId;
        if(consult != null) {
            json.put("consult", consult.getId());
        }else {
            json.put("id", orderDO.getId());
        }
        messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",patient.getOpenid(),first,url,null,30,json,DateUtil.dateToStrShort(new Date()),"知情同意书已推送");
/*        BasePatientDO patient = patientDao.findById(orderDO.getPatient());
        WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_process_feedback","smyyyqx");

+ 92 - 16
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/util/MessageUtil.java

@ -10,6 +10,7 @@ import com.yihu.jw.entity.base.wx.WxTemplateConfigDO;
import com.yihu.jw.entity.door.WlyyDoorServiceOrderDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.http.HttpClientUtil;
import com.yihu.jw.util.wechat.WeixinMessagePushUtils;
@ -55,8 +56,12 @@ public class MessageUtil {
    private WxAccessTokenDao wxAccessTokenDao;
    @Autowired
    private BaseDoctorDao baseDoctorDao;
    @Autowired
    private BasePatientDao basePatientDao;
    @Value("${server.server_url}")
    private String server_url;
    //发送微信模板消息
    public static String sendMessageUrl = "http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage";
    private  String sendMessageUrl = "http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage";
    /**
     * @param wxId
@ -128,56 +133,129 @@ public class MessageUtil {
        return responseMsg;
    }
    public void putTemplateWxMessage(String wechatId, String templateName, String scene, String openId, String first, String remark, String url, String... keywords) {
    //推送模板消息
    public void putTemplateWxMessage(WxTemplateConfigDO newConfig,String openId,Integer type,JSONObject json){
        try {
            WxAccessTokenDO wxAccessTokenDO = wxAccessTokenService.getWxAccessTokenById(newConfig.getWechatId());
            if (wxAccessTokenDO == null) {
                logger.info("wx_access_token表获取为空,wechatId" + newConfig.getWechatId());
                return;
            }
            newConfig = setTemPlateUrl(newConfig,type,openId,json);
            //发起微信消息模板推送
            logger.info("微信模板消息推送前");
            weixinMessagePushUtils.putWxMsg(wxAccessTokenDO.getAccessToken(), openId, newConfig);
            logger.info("微信模板消息推送后");
        }catch (Exception e){
            logger.info("微信模板推送异常");
            e.printStackTrace();
        }
    }
    //推送模板消息
    public void putTemplateWxMessage(String wechatId, String templateName, String scene, String openId, String first,String url, String remark, Integer type,JSONObject josn,String ...keywords) {
        try {
            System.out.println(wechatId);
            WxAccessTokenDO wxAccessTokenDO = wxAccessTokenService.getWxAccessTokenById(wechatId);
            if (wxAccessTokenDO == null) {
                logger.info("wx_access_token表获取为空,wechatId" + wechatId);
                return;
            }
            WxTemplateConfigDO newConfig = wxTemplateConfigDao.findByWechatIdAndTemplateNameAndSceneAndStatus(wechatId, templateName, scene, 1);
            if (newConfig == null) {
                logger.info("微信模板不存在!请确认wechatId:" + wechatId + ",templateName:" + templateName + ",scene:" + scene);
                return;
            }
            if (StringUtils.isNoneBlank(url)) {
            logger.info("微信模板推送前");
            if (StringUtils.isNoneBlank(first)){
                newConfig.setFirst(first);
            }
            if (StringUtils.isNoneBlank(url)){
                newConfig.setUrl(url);
            }
            if (StringUtils.isNoneBlank(remark)) {
            if (StringUtils.isNoneBlank(remark)){
                newConfig.setRemark(remark);
            }
            newConfig.setFirst(first);
            newConfig = setTemPlateUrl(newConfig,type,openId,josn);
            int keyLength = keywords.length;
            if (keyLength >= 1) {
                newConfig.setKeyword1(keywords[0]);
               if(StringUtils.isNoneBlank(keywords[0])){
                   newConfig.setKeyword1(keywords[0]);
                }
            }
            if (keyLength >= 2) {
                newConfig.setKeyword1(keywords[1]);
                if(StringUtils.isNoneBlank(keywords[1])){
                    newConfig.setKeyword1(keywords[1]);
                }
            }
            if (keyLength >= 3) {
                newConfig.setKeyword1(keywords[2]);
                if(StringUtils.isNoneBlank(keywords[2])){
                    newConfig.setKeyword1(keywords[2]);
                }
            }
            if (keyLength >= 4) {
                newConfig.setKeyword1(keywords[3]);
                if(StringUtils.isNoneBlank(keywords[3])){
                    newConfig.setKeyword1(keywords[3]);
                }
            }
            if (keyLength >= 5) {
                newConfig.setKeyword1(keywords[4]);
                if(StringUtils.isNoneBlank(keywords[4])){
                    newConfig.setKeyword1(keywords[4]);
                }
            }
            if (keyLength >= 6) {
                newConfig.setKeyword1(keywords[5]);
                if(StringUtils.isNoneBlank(keywords[5])){
                    newConfig.setKeyword1(keywords[5]);
                }
            }
            if (keyLength >= 7) {
                newConfig.setKeyword1(keywords[6]);
                if(StringUtils.isNoneBlank(keywords[6])){
                    newConfig.setKeyword1(keywords[6]);
                }
            }
            //发起微信消息模板推送
            weixinMessagePushUtils.putWxMsg(wxAccessTokenDO.getAccessToken(), openId, newConfig);
            logger.info("微信模板消息推送后");
        } catch (Exception e) {
            logger.info("微信模板推送异常");
            e.printStackTrace();
        }
    }
    public WxTemplateConfigDO setTemPlateUrl(WxTemplateConfigDO wxTemplateConfigDO,Integer type,String openid,JSONObject json){
        String url = server_url + "wx/html/";
        if (type==30){//反馈通知 测试 TPbq9m0SAiVfRhXtXq17SDmYIfrJ8Whp2NpSrq9wlfI
            if(json.containsKey("consult")) {
                wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl() + "?openid=" + openid + "&consult=" + json.getString("consult"));
            }else if (json.containsKey("id")){
                wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl() + "?openid=" + openid + "&id=" + json.getString("id"));
            }else if(json.containsKey("relationCode")){
                wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl() + "?openid=" + openid );
            }else if(json.containsKey("resultCode")){
                wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl() + "?resultCode=" + json.getString("resultCode"));
            }
        }
        if (type==31){ //上门服务医生评分   //TPbq9m0SAiVfRhXtXq17SDmYIfrJ8Whp2NpSrq9wlfI
            wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl()+"?openid=" + openid + "&id=" + json.getString("id")+ "&finish=" + json.getString("finish"));
        }
        if(type==32){  //TPbq9m0SAiVfRhXtXq17SDmYIfrJ8Whp2NpSrq9wlfI
            String url1 = server_url + "wx/common/";
            wxTemplateConfigDO.setUrl(url1 + wxTemplateConfigDO.getUrl()+"?openid=" + openid + "&consult=" + json.getString("consult") + "&status=" + json.getInteger("status"));
        }
        if(type==34){ //TPbq9m0SAiVfRhXtXq17SDmYIfrJ8Whp2NpSrq9wlfI
            wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl() + "?openid=" + openid + "&orderId=" + json.get("orderId")+ "&authorizeImage=" + json.getString("authorizeImage"));
        }
        if (type==19){  //zSR9w5AjfZFLc_g8AxGBvDKZASoKAeXQuGnvPAQzvps
            String urlStr= wxTemplateConfigDO.getUrl();
            boolean status = urlStr.contains("openid=");
            if(!status){
                urlStr=json.getString("url")+"?openid=" + openid;
            }
            wxTemplateConfigDO.setUrl(url + urlStr );
        }
        return wxTemplateConfigDO;
    }
    /**
     *
     */
@ -294,9 +372,7 @@ public class MessageUtil {
    public static void main(String[] args){
        try {
            for (int i=0;i<10;i++){
                System.out.println(UUID.randomUUID().toString().replace("-",""));
            }
        }catch (Exception e){
            e.printStackTrace();
        }