Sfoglia il codice sorgente

Merge branch 'dev' of liubing/wlyy2.0 into dev

shikejing 4 anni fa
parent
commit
bb8be9df07

+ 10 - 0
common/common-util/src/main/java/com/yihu/jw/util/date/DateUtil.java

@ -72,6 +72,16 @@ public class DateUtil {
        return formatter.format(date);
    }
    public static String dateToChineseDate(Date date) {
        SimpleDateFormat formatter =   new SimpleDateFormat( "yyyy年MM月dd日", Locale.CHINA);
        return formatter.format(date);
    }
    public static String dateToChineseTime(Date date) {
        SimpleDateFormat formatter =   new SimpleDateFormat( "yyyy年MM月dd日 hh:mm:ss", Locale.CHINA);
        return formatter.format(date);
    }
    public static Date getNight23(){
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.HOUR_OF_DAY,22);

+ 4 - 0
svr/svr-door-serivce/pom.xml

@ -150,6 +150,10 @@
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>com.yihu.jw</groupId>
            <artifactId>common-entity-es</artifactId>
        </dependency>
        <!-- redis end  -->
    </dependencies>

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

@ -605,7 +605,7 @@ public class DoorOrderService {
            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()),"上门服务已接单");
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyjjd",patient.getOpenid(),first,null,null,30,json,DateUtil.dateToChineseDate(new Date()),"上门服务已接单");
        }catch (Exception e){
            e.printStackTrace();
            logger.error(e.getMessage());
@ -1044,7 +1044,7 @@ public class DoorOrderService {
                json.put("finish",finish);
            }
            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()),"服务医生评分");
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","fwyspf",patient.getOpenid(),first,null,null,31,json,DateUtil.dateToChineseDate(new Date()),"服务医生评分");
        }catch (Exception e){
            logger.error(e.getMessage());
@ -1103,7 +1103,7 @@ public class DoorOrderService {
                json.put("finish",finish);
            }
            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()),"服务医生评分");
            messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","fwyspf",patient.getOpenid(),first,null,null,31,json,DateUtil.dateToChineseDate(new Date()),"服务医生评分");
        }catch (Exception e){
            logger.error(e.getMessage());
        }
@ -1737,4 +1737,20 @@ public class DoorOrderService {
       List<Map<String,Object>> list = jdbcTemplate.queryForList(sqlList+sql);
        return list;
   }
    /**
     *
     * @param openId
     * @param patientName
     * @param deptNamme
     * @param payTypeName
     * @param docotrName
     * @param orderId
     */
   public void putTemplateTobePay(String openId,String patientName,String deptNamme,String payTypeName,String docotrName,String orderId){
        JSONObject json = new JSONObject();
       json.put("orderId",orderId);
       messageUtil.putTemplateWxMessage(wxId,"template_to_be_pay","smfwqrfk",openId,DateUtil.dateToStr(new Date(), "yyyy/MM/dd HH:mm"),null,null,35,json,patientName,deptNamme,payTypeName,docotrName,DateUtil.dateToChineseTime(new Date()));
   }
}

+ 8 - 25
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/service/DoorServiceApplicationService.java

@ -21,6 +21,7 @@ import com.yihu.jw.wechat.dao.WxTemplateConfigDao;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import org.jsoup.helper.DataUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.JdbcTemplate;
@ -584,11 +585,11 @@ public class DoorServiceApplicationService {
        if(null!=wlyyDoorServiceApplicationDo1){
            //给代理申请资质的居民发送微信模板消息-审核结果//·
            BasePatientDO patient = patientInfoService.findById(wlyyDoorServiceApplicationDo1.getProxyPatient());
            String first ="key1您好,key2的资格审核医生已处理。";
            first = first.replace("key1",(patient.getName()==null?"":patient.getName()));
            first = first.replace("key2", (wlyyDoorServiceApplicationDo1.getPatientName() == null ? "" : wlyyDoorServiceApplicationDo1.getPatientName()));
            wlyyDoorServiceApplicationDo1.getAuditorName();
            messageUtil.putTemplateWxMessage(wxId,"template_doctor_audit",scene,patient.getOpenid(),first,null,null,19,null,null,wlyyDoorServiceApplicationDo1.getAuditorName());
//            String first ="key1您好,key2的资格审核医生已处理。";
//            first = first.replace("key1",(patient.getName()==null?"":patient.getName()));
//            first = first.replace("key2", (wlyyDoorServiceApplicationDo1.getPatientName() == null ? "" : wlyyDoorServiceApplicationDo1.getPatientName()));
//            wlyyDoorServiceApplicationDo1.getAuditorName();
//            messageUtil.putTemplateWxMessage(wxId,"template_doctor_audit",scene,patient.getOpenid(),first,null,null,19,null,null,wlyyDoorServiceApplicationDo1.getAuditorName());
        }
@ -650,26 +651,8 @@ public class DoorServiceApplicationService {
    }
    public String myMyTest(){
        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
        messageUtil.putTemplateWxMessage("xm_test_ihealth_wx","template_to_be_pay","smfwqrfk","ojsU-1XvRLx_IjDj96S4gxIRBNlY",DateUtil.dateToStr(new Date(), "yyyy/MM/dd HH:mm"),null,null,30,null,null,null,null,null,DateUtil.dateToChineseTime(new Date()));
        return "ss";
    }

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

@ -269,7 +269,7 @@ public class WlyyDoorPrescriptionService  extends BaseJpaService<WlyyDoorPrescri
        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()));
        messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","authorize",patient.getOpenid(),first,null,null,34,json,DateUtil.dateToChineseDate(new Date()));
/*        Patient patient = patientDao.findByCode(orderDO.getPatient());//·
        //发送微信模板消息

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

@ -1472,7 +1472,7 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
            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,null,null,30,json,DateUtil.dateToChineseDate(new Date()),"上门预约已取消");
/*        Consult consult = consultDao.queryByRelationCode(orderId);
        // 发送微信模板消息,通知居民工单已取消(smyyyqx-上门预约已取消)
@ -1520,7 +1520,7 @@ public class WlyyDoorServiceOrderService extends BaseJpaService<WlyyDoorServiceO
        }else {
            json.put("id", orderDO.getId());
        }
        messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",patient.getOpenid(),first,url,null,30,json,DateUtil.dateToStrShort(new Date()),"知情同意书已推送");
        messageUtil.putTemplateWxMessage(wxId,"template_process_feedback","smyyyqx",patient.getOpenid(),first,url,null,30,json,DateUtil.dateToChineseDate(new Date()),"知情同意书已推送");
/*        BasePatientDO patient = patientDao.findById(orderDO.getPatient());
        WechatTemplateConfig templateConfig = templateConfigDao.findByScene("template_process_feedback","smyyyqx");

+ 41 - 17
svr/svr-door-serivce/src/main/java/com/yihu/jw/door/util/MessageUtil.java

@ -22,6 +22,7 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
@ -58,8 +59,8 @@ public class MessageUtil {
    private BaseDoctorDao baseDoctorDao;
    @Autowired
    private BasePatientDao basePatientDao;
    @Value("${server.server_url}")
    private String server_url;
    @Value("${tnzyy.tnzyy_url}")
    private String tnzyy_url;
    //发送微信模板消息
    private  String sendMessageUrl = "http://172.16.100.37:8090/hospitalPortal-sms/sms/sendMessage";
@ -153,9 +154,24 @@ public class MessageUtil {
    }
    //推送模板消息
    /**
     *
     * @param wechatId
     * @param templateName
     * @param scene
     * @param openId
     * @param first
     * @param url 跳转链接
     * @param remark
     * @param type  模板通知类型
     * @param josn 用于对跳转连接的修改,
     * @param keywords
     */
    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);
            wxAccessTokenService.getWxAccessTokenById(wechatId);
            List<WxAccessTokenDO> list = wxAccessTokenDao.getWxAccessTokenById(wechatId);
            if(list.size()==0){
                return;
@ -166,7 +182,9 @@ public class MessageUtil {
                logger.info("wx_access_token表获取为空,wechatId" + wechatId);
                return;
            }
            WxTemplateConfigDO newConfig = wxTemplateConfigDao.findByWechatIdAndTemplateNameAndSceneAndStatus(wechatId, templateName, scene, 1);
            WxTemplateConfigDO templateConfig = wxTemplateConfigDao.findByWechatIdAndTemplateNameAndSceneAndStatus(wechatId, templateName, scene, 1);
            WxTemplateConfigDO newConfig = new WxTemplateConfigDO();
            BeanUtils.copyProperties(templateConfig,newConfig);
            if (newConfig == null) {
                logger.info("微信模板不存在!请确认wechatId:" + wechatId + ",templateName:" + templateName + ",scene:" + scene);
                return;
@ -176,7 +194,7 @@ public class MessageUtil {
                newConfig.setFirst(first);
            }
            if (StringUtils.isNoneBlank(url)){
                newConfig.setUrl(url);
               newConfig.setUrl(url);
            }
            if (StringUtils.isNoneBlank(remark)){
                newConfig.setRemark(remark);
@ -190,32 +208,32 @@ public class MessageUtil {
            }
            if (keyLength >= 2) {
                if(StringUtils.isNoneBlank(keywords[1])){
                    newConfig.setKeyword1(keywords[1]);
                    newConfig.setKeyword2(keywords[1]);
                }
            }
            if (keyLength >= 3) {
                if(StringUtils.isNoneBlank(keywords[2])){
                    newConfig.setKeyword1(keywords[2]);
                    newConfig.setKeyword3(keywords[2]);
                }
            }
            if (keyLength >= 4) {
                if(StringUtils.isNoneBlank(keywords[3])){
                    newConfig.setKeyword1(keywords[3]);
                    newConfig.setKeyword4(keywords[3]);
                }
            }
            if (keyLength >= 5) {
                if(StringUtils.isNoneBlank(keywords[4])){
                    newConfig.setKeyword1(keywords[4]);
                    newConfig.setKeyword5(keywords[4]);
                }
            }
            if (keyLength >= 6) {
                if(StringUtils.isNoneBlank(keywords[5])){
                    newConfig.setKeyword1(keywords[5]);
                    newConfig.setKeyword6(keywords[5]);
                }
            }
            if (keyLength >= 7) {
                if(StringUtils.isNoneBlank(keywords[6])){
                    newConfig.setKeyword1(keywords[6]);
                    newConfig.setKeyword7(keywords[6]);
                }
            }
            //发起微信消息模板推送
@ -228,7 +246,10 @@ public class MessageUtil {
    }
    public WxTemplateConfigDO setTemPlateUrl(WxTemplateConfigDO wxTemplateConfigDO,Integer type,String openid,JSONObject json){
        String url = server_url + "wx/html/";
        String url = tnzyy_url + "taian-wx/html/";
        if (json==null){
            return wxTemplateConfigDO;
        }
        if (type==30){//反馈通知 测试 TPbq9m0SAiVfRhXtXq17SDmYIfrJ8Whp2NpSrq9wlfI
            if(json.containsKey("consult")) {
                wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl() + "?openid=" + openid + "&consult=" + json.getString("consult"));
@ -240,17 +261,17 @@ public class MessageUtil {
                wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl() + "?resultCode=" + json.getString("resultCode"));
            }
        }
        if (type==31){ //上门服务医生评分   //TPbq9m0SAiVfRhXtXq17SDmYIfrJ8Whp2NpSrq9wlfI
        if (type==31){ //上门服务医生评分   //
            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/";
        if(type==32){  //
            String url1 = tnzyy_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==34){ //居民授权电子健康卡
            wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl() + "?openid=" + openid + "&orderId=" + json.getString("orderId")+ "&authorizeImage=" + json.getString("authorizeImage"));
        }
        if (type==19){  //zSR9w5AjfZFLc_g8AxGBvDKZASoKAeXQuGnvPAQzvps
        if (type==19){  //
            String urlStr= wxTemplateConfigDO.getUrl();
            boolean status = urlStr.contains("openid=");
            if(!status){
@ -258,6 +279,9 @@ public class MessageUtil {
            }
            wxTemplateConfigDO.setUrl(url + urlStr );
        }
        if (type==35){//支付提醒
            wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl()+json.getString("orderId"));
        }
        return wxTemplateConfigDO;
    }

+ 6 - 0
svr/svr-door-serivce/src/main/resources/application.yml

@ -150,6 +150,9 @@ fast-dfs:
server:
  server_url: http://ehr.yihu.com/wlyy/
tnzyy:
  tnzyy_url: http://172.26.0.107:10001/
neiwang:
  enable: true
  wlyy: http://172.26.0.110:22122/
@ -316,6 +319,9 @@ neiwang:
server:
  server_url: http://ehr.yihu.com/wlyy/
tnzyy:
  tnzyy_url: https://zyy.jkta.com.cn:9660/
base:
  url: http://127.0.0.1:10020/svr-base/
  hospitalUrl: http://10.9.1.247:10022/