Bladeren bron

代码修改

liubing 4 jaren geleden
bovenliggende
commit
c96e31a79c

+ 8 - 3
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/service/DoorOrderService.java

@ -533,7 +533,10 @@ public class DoorOrderService {
            if(consult != null) {
            if(consult != null) {
                json.put("consult", consult.getId());
                json.put("consult", consult.getId());
            }
            }
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyjjd",patient.getOpenid(),null,doorServiceOrder.getPatient(),doorServiceOrder.getDoctor(),30,json);
            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){
        }catch (Exception e){
            logger.error(e.getMessage());
            logger.error(e.getMessage());
        }
        }
@ -970,7 +973,8 @@ public class DoorOrderService {
                finish = "1";
                finish = "1";
                json.put("finish",finish);
                json.put("finish",finish);
            }
            }
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","fwyspf",patient.getOpenid(),null,patient.getId(),one.getDoctor(),31,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){
        }catch (Exception e){
            logger.error(e.getMessage());
            logger.error(e.getMessage());
@ -1029,7 +1033,8 @@ public class DoorOrderService {
                finish = "1";
                finish = "1";
                json.put("finish",finish);
                json.put("finish",finish);
            }
            }
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","fwyspf",patient.getOpenid(),null,patient.getId(),one.getDoctor(),31,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){
        }catch (Exception e){
            logger.error(e.getMessage());
            logger.error(e.getMessage());
        }
        }

+ 21 - 17
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/service/DoorServiceApplicationService.java

@ -588,7 +588,7 @@ public class DoorServiceApplicationService {
            first = first.replace("key1",(patient.getName()==null?"":patient.getName()));
            first = first.replace("key1",(patient.getName()==null?"":patient.getName()));
            first = first.replace("key2", (wlyyDoorServiceApplicationDo1.getPatientName() == null ? "" : wlyyDoorServiceApplicationDo1.getPatientName()));
            first = first.replace("key2", (wlyyDoorServiceApplicationDo1.getPatientName() == null ? "" : wlyyDoorServiceApplicationDo1.getPatientName()));
            wlyyDoorServiceApplicationDo1.getAuditorName();
            wlyyDoorServiceApplicationDo1.getAuditorName();
            messageUtil.putTemplateWxMessage(wxId,"template_doctor_audit",scene,patient.getOpenid(),first,wlyyDoorServiceApplicationDo1.getProxyPatient(),null,19,null,null,wlyyDoorServiceApplicationDo1.getAuditorName());
            messageUtil.putTemplateWxMessage(wxId,"template_doctor_audit",scene,patient.getOpenid(),first,null,null,19,null,null,wlyyDoorServiceApplicationDo1.getAuditorName());
        }
        }
@ -650,22 +650,26 @@ public class DoorServiceApplicationService {
    }
    }
    public String myMyTest(){
    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";
        return "ss";
    }
    }

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

@ -1503,13 +1503,13 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
        String first="key1,您好,您的上门预约服务已退回,点击查看原因";
        String first="key1,您好,您的上门预约服务已退回,点击查看原因";
        first = first.replace("key1", null != patient.getName() ? patient.getName() : "");
        first = first.replace("key1", null != patient.getName() ? patient.getName() : "");
        JSONObject json = new JSONObject();
        JSONObject json = new JSONObject();
        json.put("url", "appoint_service/html/appoint-serviceDetail.html?id="+orderId);
        String url ="appoint_service/html/appoint-serviceDetail.html?id="+orderId;
        if(consult != null) {
        if(consult != null) {
            json.put("consult", consult.getId());
            json.put("consult", consult.getId());
        }else {
        }else {
            json.put("id", orderDO.getId());
            json.put("id", orderDO.getId());
        }
        }
        messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",patient.getOpenid(),first,null,null,30,json,DateUtil.dateToStrShort(new Date()),"知情同意书已推送");
        messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",patient.getOpenid(),first,url,null,30,json,DateUtil.dateToStrShort(new Date()),"知情同意书已推送");
/*        BasePatientDO patient = patientDao.findById(orderDO.getPatient());
/*        BasePatientDO patient = patientDao.findById(orderDO.getPatient());
        WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_process_feedback","smyyyqx");
        WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_process_feedback","smyyyqx");

+ 64 - 43
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/util/MessageUtil.java

@ -2,10 +2,8 @@ package com.yihu.jw.door.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONObject;
import com.netflix.discovery.converters.Auto;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
import com.yihu.jw.entity.base.wx.WxAccessTokenDO;
import com.yihu.jw.entity.base.wx.WxAccessTokenDO;
import com.yihu.jw.entity.base.wx.WxTemplateConfigDO;
import com.yihu.jw.entity.base.wx.WxTemplateConfigDO;
@ -60,8 +58,10 @@ public class MessageUtil {
    private BaseDoctorDao baseDoctorDao;
    private BaseDoctorDao baseDoctorDao;
    @Autowired
    @Autowired
    private BasePatientDao basePatientDao;
    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
     * @param wxId
@ -134,8 +134,28 @@ public class MessageUtil {
    }
    }
    //推送模板消息
    //推送模板消息
    public void putTemplateWxMessage(String wechatId, String templateName, String scene, String openId, String first,String patientId, String doctorId, Integer type,JSONObject josn,String ...keywords) {
    public void putTemplateWxMessage(WxTemplateConfigDO newConfig,String openId,Integer type,JSONObject json){
        try {
        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);
            WxAccessTokenDO wxAccessTokenDO = wxAccessTokenService.getWxAccessTokenById(wechatId);
            if (wxAccessTokenDO == null) {
            if (wxAccessTokenDO == null) {
                logger.info("wx_access_token表获取为空,wechatId" + wechatId);
                logger.info("wx_access_token表获取为空,wechatId" + wechatId);
@ -147,47 +167,16 @@ public class MessageUtil {
                return;
                return;
            }
            }
            logger.info("微信模板推送前");
            logger.info("微信模板推送前");
            String firstStr = newConfig.getFirst();
            if (StringUtils.isNoneBlank(first)){
            if (StringUtils.isNoneBlank(first)){
                newConfig.setFirst(first);
                newConfig.setFirst(first);
                firstStr = first;
            }
            if (type==30){//反馈通知
                if (scene.equals("smyyyjjd")){
                    BasePatientDO patient = basePatientDao.findById(patientId);
                    BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(doctorId);
                    firstStr = firstStr.replace("key1",(patient.getName()==null?"":patient.getName()));
                    firstStr = firstStr.replace("key2", null != baseDoctorDO.getName() ? baseDoctorDO.getName() : "");
                    newConfig.setFirst(firstStr);
                    newConfig.setKeyword1(DateUtil.dateToStrShort(new Date()));
                    newConfig.setKeyword2("上门服务已接单");
                }
                //url + json.getString("url") + "?openid=" + openid + "&consult=" + json.getString("consult")
            }
            if (type==31){ //上门服务医生评分
                firstStr = firstStr.replace("key1", DateUtil.dateToStr(new Date(), "yyyy-MM-dd HH:mm"));
                newConfig.setFirst(firstStr);
                newConfig.setKeyword1(DateUtil.dateToStrShort(new Date()));
                newConfig.setKeyword2("服务医生评分");
                //url:url + json.getString("url")+"?openid=" + openid + "&id=" + json.getString("id")+ "&finish=" + finish)
            }
            if(type==32){
                newConfig.setKeyword1(DateUtil.dateToStrShort(new Date()));
                newConfig.setKeyword2("服务项目变更确认");
                //url1 + json.getString("url")+"?openid=" + openid + "&consult=" + json.getString("consult") + "&status=" + json.getInt("status")
            }
            }
            if(type==34){
                //temp.setUrl(url + json.getString("url") + "?openid=" + openid + "&orderId=" + json.get("orderId")+ "&authorizeImage=" + json.getString("authorizeImage"));
            if (StringUtils.isNoneBlank(url)){
                newConfig.setUrl(url);
            }
            }
            if (type==19){
//                String urlStr= newConfig.getUrl();
//                boolean status = urlStr.contains("openid=");
//                if(!status){
//                    urlStr=json.getString("url")+"?openid=" + openid;
//                }
//                temp.setUrl(url + urlStr );
            if (StringUtils.isNoneBlank(remark)){
                newConfig.setRemark(remark);
            }
            }
            newConfig = setTemPlateUrl(newConfig,type,openId,josn);
            int keyLength = keywords.length;
            int keyLength = keywords.length;
            if (keyLength >= 1) {
            if (keyLength >= 1) {
               if(StringUtils.isNoneBlank(keywords[0])){
               if(StringUtils.isNoneBlank(keywords[0])){
@ -233,6 +222,40 @@ public class MessageUtil {
        }
        }
    }
    }
    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;
    }
    /**
    /**
     *
     *
     */
     */
@ -349,9 +372,7 @@ public class MessageUtil {
    public static void main(String[] args){
    public static void main(String[] args){
        try {
        try {
            for (int i=0;i<10;i++){
                System.out.println(UUID.randomUUID().toString().replace("-",""));
            }
        }catch (Exception e){
        }catch (Exception e){
            e.printStackTrace();
            e.printStackTrace();
        }
        }