浏览代码

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

yeshijie 4 年之前
父节点
当前提交
abe76163bc
共有 30 个文件被更改,包括 320 次插入74 次删除
  1. 1 1
      svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/consult/WxPushService.java
  2. 2 2
      svr/svr-cloud-care/src/main/resources/application.yml
  3. 20 7
      svr/svr-cloud-job/pom.xml
  4. 0 36
      svr/svr-cloud-job/src/main/java/com.yihu/jw.care/util/MessageUtil.java
  5. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/CloudApplicationJob.java
  6. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/config/async/AsyncConfig.java
  7. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/config/quartz/JobFactory.java
  8. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/config/quartz/SchedulerConfig.java
  9. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/dao/JobConfigDao.java
  10. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/dao/QuartzJobConfigDao.java
  11. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/dao/QuartzJobLogDao.java
  12. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/dao/QuotaDao.java
  13. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/dao/WlyyQuotaResultDao.java
  14. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/event/ApplicationEvent.java
  15. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/QuartzHelper.java
  16. 87 14
      svr/svr-cloud-job/src/main/java/com.yihu/jw.care/job/consult/FinishConsultJob.java
  17. 1 1
      svr/svr-cloud-job/src/main/java/com.yihu/jw.care/job/message/DoctorSendUnreadJob.java
  18. 14 4
      svr/svr-cloud-job/src/main/java/com.yihu/jw.care/job/message/PatientSendUnreadJob.java
  19. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/service/JobService.java
  20. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/util/DateUtil.java
  21. 171 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/util/MessageUtil.java
  22. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/util/SystemConf.java
  23. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/util/http/HttpResponse.java
  24. 2 0
      svr/svr-cloud-job/src/main/java/com.yihu/jw.care/util/http/HttpUtils.java
  25. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/util/http/IPInfoUtils.java
  26. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/vo/WlyyJobConfigVO.java
  27. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/vo/WlyyQuotaVO.java
  28. 0 0
      svr/svr-cloud-job/src/main/java/com/yihu/jw/care/web/BaseController.java
  29. 8 3
      svr/svr-cloud-job/src/main/java/com.yihu/jw.care/web/JobController.java
  30. 14 6
      svr/svr-cloud-job/src/main/resources/application.yml

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/consult/WxPushService.java

@ -76,6 +76,6 @@ public class WxPushService {
        Date timeDate = DateUtil.strToDate(time);
        messageUtil.putTemplateWxMessage(wxId,templateName,scene,openid,first,null,null,1,null,
                DateUtil.getStringDate(),"消息未回复通知","未回复");
                DateUtil.dateToChineseTime2(timeDate),"消息未回复通知","未回复");
    }
}

+ 2 - 2
svr/svr-cloud-care/src/main/resources/application.yml

@ -231,7 +231,7 @@ wechat:
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_base_url: http%3a%2f%2fweixin.xmtyw.cn%2fwlyy-dev
  accId: gh_ffd64560fb21
  id: ijk  # base库中,wx_wechat 的id字段
  id: hz_yyyzh_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
im:
@ -335,7 +335,7 @@ wechat:
  wechat_token: 27eb3bb24f149a7760cf1bb154b08040
  wechat_base_url: http%3a%2f%2fweixin.xmtyw.cn%2fwlyy-dev
  accId: gh_ffd64560fb21
  id: ijk  # base库中,wx_wechat 的id字段
  id: hz_yyyzh_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
im:

+ 20 - 7
svr/svr-cloud-job/pom.xml

@ -53,11 +53,6 @@
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
        </dependency>
        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
            <!-- <scope>runtime</scope> -->
        </dependency>
        <dependency>
            <groupId>com.yihu.jw</groupId>
            <artifactId>common-entity</artifactId>
@ -88,6 +83,12 @@
            <groupId>com.yihu</groupId>
            <artifactId>mysql-starter</artifactId>
            <version>2.0.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.tomcat</groupId>
                    <artifactId>tomcat-jdbc</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
@ -124,8 +125,15 @@
        </dependency>
        <dependency>
            <groupId>com.yihu.jw</groupId>
            <artifactId>im-service</artifactId>
            <artifactId>sms-service</artifactId>
            <version>2.0.0</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.yihu.jw</groupId>
            <artifactId>base-service</artifactId>
            <version>2.0.0</version>
            <scope>compile</scope>
            <exclusions>
                <exclusion>
                    <groupId>xalan</groupId>
@ -133,7 +141,12 @@
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.yihu.jw</groupId>
            <artifactId>im-service</artifactId>
            <version>2.0.0</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
    <build>

+ 0 - 36
svr/svr-cloud-job/src/main/java/com.yihu/jw.care/util/MessageUtil.java

@ -1,36 +0,0 @@
package com.yihu.jw.care.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.sms.service.TXYSmsService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
 * Created by Bing on 2021/5/29.
 */
@Component
public class MessageUtil {
    @Autowired
    private TXYSmsService txySmsService;
    private static Logger logger = LoggerFactory.getLogger(MessageUtil.class);
    public String sendTXYSJson(String templateCode,String mobile,String ...params)throws Exception{
        JSONObject sendObj = new JSONObject();
        sendObj.put("templateCode",templateCode);
        if (params.length>0){
            JSONArray paramArr =JSONArray.parseArray(JSON.toJSONString(params));
            sendObj.put("templateParamArr",paramArr);
        }else {
            JSONArray paramArr =new JSONArray();
            sendObj.put("templateParamArr",paramArr);
        }
        return txySmsService.sendMessageJson(mobile,sendObj);
    }
}

svr/svr-cloud-job/src/main/java/com.yihu/CloudApplicationJob.java → svr/svr-cloud-job/src/main/java/com/yihu/CloudApplicationJob.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/config/async/AsyncConfig.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/config/async/AsyncConfig.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/config/quartz/JobFactory.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/config/quartz/JobFactory.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/config/quartz/SchedulerConfig.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/config/quartz/SchedulerConfig.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/dao/JobConfigDao.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/dao/JobConfigDao.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/dao/QuartzJobConfigDao.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/dao/QuartzJobConfigDao.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/dao/QuartzJobLogDao.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/dao/QuartzJobLogDao.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/dao/QuotaDao.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/dao/QuotaDao.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/dao/WlyyQuotaResultDao.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/dao/WlyyQuotaResultDao.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/event/ApplicationEvent.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/event/ApplicationEvent.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/job/QuartzHelper.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/job/QuartzHelper.java


+ 87 - 14
svr/svr-cloud-job/src/main/java/com.yihu/jw.care/job/consult/FinishConsultJob.java

@ -2,7 +2,15 @@ package com.yihu.jw.care.job.consult;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.care.util.http.HttpUtils;
import com.yihu.jw.util.http.HttpClientUtil;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.im.ConsultDo;
import com.yihu.jw.entity.base.im.ConsultTeamDo;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.im.dao.ConsultDao;
import com.yihu.jw.im.dao.ConsultTeamDao;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.patient.dao.BasePatientDao;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
@ -11,8 +19,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -31,13 +39,22 @@ public class FinishConsultJob implements Job {
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private HttpUtils httpUtil;
    @Autowired
    private ImUtil imUtil;
    @Autowired
    private ConsultTeamDao consultTeamDao;
    @Autowired
    private BasePatientDao patientDao;
    @Autowired
    private BaseDoctorDao doctorDao;
    @Autowired
    private ConsultDao consultDao;
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        try{
            //在线咨询
            logger.info("FinishConsultJob start.....");
            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
            StringBuffer sql = new StringBuffer();
            sql.append("SELECT s.id session_id, s.name session_name, s.create_date session_create_time, s.last_message_time, ")
            .append("t.id topic_id, t.name topic_name, t.create_time topic_create_time, t.start_message_id ")
@ -46,18 +63,19 @@ public class FinishConsultJob implements Job {
            .append("SELECT id FROM ").append(imDb).append(".doctors d where d.id<>t.patient) ")
            .append("AND UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(s.last_message_time) > 24*3600 ")
            .append("ORDER BY t.create_time");
            JSONObject userAgent = new JSONObject();
            userAgent.put("uid","admin");
            userAgent.put("admin_token","0a5c5258-8863-4b07-a3f9-88c768528ab4");
            userAgent.put("token","");
            userAgent.put("imei","admin_imei");
            List<Map<String,Object>> list = jdbcTemplate.queryForList(sql.toString());
            list.stream().forEach(one->{
                String topicId = one.get("topic_id").toString();
                String topicName = one.get("topic_name").toString();
                logger.info("Got topic to terminate, " + topicId + ": " + topicName + ", last active time: " + one.get("last_message_time"));
                String response = httpUtil.sendLoginGet(server_url+"/doctor/consult/finish_consult","consult="+topicId,userAgent.toString());
                logger.info("FinishConsultJob response....."+response);
                try {
                    logger.info("Got topic to terminate, " + topicId + ": " + topicName + ", last active time: " + one.get("last_message_time"));
                   Integer response =  finishConsult(topicId,"admin",2);
                    logger.info("FinishConsultJob response....."+response);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            });
            logger.info("FinishConsultJob 处理医生回复后,居民进入了咨询但是没有回复的 咨询也要自动结束.....");
@ -81,9 +99,13 @@ public class FinishConsultJob implements Job {
                List<Map<String,Object>> temp = jdbcTemplate.queryForList(sql2.toString(),sessionId);
                if(temp!=null&&temp.size()>=0){
                    logger.info("Got topic to terminate, " + topicId + ": " + topicName + ", last active time: " + one.get("last_message_time"));
                    String response = httpUtil.sendLoginGet(server_url+"/doctor/consult/finish_consult","consult="+topicId,userAgent.toString());
                    logger.info("FinishConsultJob response....."+response);
                    try {
                        logger.info("Got topic to terminate, " + topicId + ": " + topicName + ", last active time: " + one.get("last_message_time"));
                        Integer response =  finishConsult(topicId,"admin",2);
                        logger.info("FinishConsultJob response....."+response);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            });
@ -93,4 +115,55 @@ public class FinishConsultJob implements Job {
        }
    }
    public int finishConsult(String consult, String endOperator, int endType) throws Exception {
        ConsultTeamDo consultTeam = consultTeamDao.findByConsult(consult);
        ConsultDo cons = consultDao.findOne(consult);
        if (consultTeam.getStatus() == 1) {
            return -1;
        }
//        //新增续方咨询结束判断 (续方未审核时不可由医生或居民关闭)
//        if (consultTeam.getType() == 8) {
//            Prescription prescription = prescriptionDao.findByCode(consultTeam.getRelationCode());
//            if (prescription.getStatus() == 0) {
//                return -2;
//            }
//        }
        String endName = "";
        String endId = "";
        //结束咨询才发送推送给IM文字消息
        if (endType == 1) {
            BasePatientDO p = patientDao.findById(endOperator);
            endName = p.getName();
            endId = p.getId();
        } else {
            if (endOperator.equals("admin")) {
                endId = "system";
                endName = "咨询超时未回复,系统自动";
            } else {
                BaseDoctorDO d = doctorDao.findOne(endOperator);
                endId = d.getId();
                endName = d.getName();
            }
        }
        JSONObject obj = imUtil.endTopics(consultTeam.getPatient(), endId, endName, consultTeam.getConsult());
        if (obj == null) {
            throw new RuntimeException("IM消息结束异常!");
        }
        if (obj.getInteger("status") == -1) {
            throw new RuntimeException(String.valueOf(obj.get("message")));
        }
        consultTeam.setEndMsgId(obj.getString("id"));
        cons.setEndTime(new Date());
        consultTeam.setEndTime(new Date());
        consultTeam.setStatus(1);
        consultDao.save(cons);
        consultTeamDao.save(consultTeam);
        return 1;
    }
}

+ 1 - 1
svr/svr-cloud-job/src/main/java/com.yihu/jw.care/job/message/DoctorSendUnreadJob.java

@ -32,7 +32,7 @@ public class DoctorSendUnreadJob implements Job {
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        logger.info("DoctorSendUnreadJob start.....");
        String sql = " select id,name,mobile from base_doctor where del=1 and id ='4028030c796376b801796380a2b50003' and mobile is not null  ";
        String sql = " select id,name,mobile from base_doctor where del=1 and mobile is not null  ";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        for (Map<String,Object> tmp:list){
            String mobile = tmp.get("mobile").toString();

+ 14 - 4
svr/svr-cloud-job/src/main/java/com.yihu/jw.care/job/message/PatientSendUnreadJob.java

@ -2,6 +2,7 @@ package com.yihu.jw.care.job.message;
import com.yihu.jw.care.util.MessageUtil;
import com.yihu.jw.im.util.ImUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.http.HttpClientUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.NameValuePair;
@ -16,6 +17,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -43,15 +45,15 @@ public class PatientSendUnreadJob implements Job {
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        logger.info("PatientSendUnreadJob start.....");
        String sql = "select p.id,p.name,wc.openId from base_patient p INNER JOIN base_patient_wechat wc " +
                " on p.id = wc.patient_id where p.del=1 and p.id='808080eb7955aa9301795b8bad3f0078' and wc.wechat_id = '"+wxId+"' GROUP BY p.id ORDER BY wc.create_time desc  ;  ";
                " on p.id = wc.patient_id where p.del=1  and wc.wechat_id = '"+wxId+"' GROUP BY p.id ORDER BY wc.create_time desc  ;  ";
        List<Map<String,Object>> patientList = jdbcTemplate.queryForList(sql);
        for (Map<String,Object>tmp:patientList) {
            try {
                String patientId = tmp.get("openId").toString();
                String patientId = tmp.get("id").toString();
                Integer unreadCount = imUtil.SessionsUnreadMessageCountByUserId(patientId);
                String name = tmp.get("name").toString();
                String openId = tmp.get("openId").toString();
                if (StringUtils.isNotBlank(patientId)) {
                if (StringUtils.isNotBlank(openId)) {
                    sql = "select t2.id from base_patient_family_member t1,base_patient t2 " +
                            " where t2.id in (select family_member from base_patient_family_member where patient = '" + patientId + "' ) " +
                            " and t1.patient = '" + patientId + "' and t1.family_member = t2.id ";
@ -72,11 +74,19 @@ public class PatientSendUnreadJob implements Job {
                    params.add(new BasicNameValuePair("first", first));
                    params.add(new BasicNameValuePair("templateName", "template_process_feedback"));
                    params.add(new BasicNameValuePair("scene", "jobfsjmwd"));
                    httpClientUtil.post(url,params,"UTF-8");
                    String response = httpClientUtil.post(url,params,"UTF-8");
                }
            } catch (Exception e) {
            }
        }
        logger.info("PatientSendUnreadJob end.....");
    }
    public void sendPatientUnreadWXTemplate(String openid,String first,String templateName,String scene){
        String time = DateUtil.getStringDateShort()+" 09:00:00";
        Date timeDate = DateUtil.strToDate(time);
        messageUtil.putTemplateWxMessage(wxId,templateName,scene,openid,first,null,null,1,null,
                DateUtil.dateToChineseTime2(timeDate),"消息未回复通知","未回复");
    }
}

svr/svr-cloud-job/src/main/java/com.yihu/jw.care/service/JobService.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/service/JobService.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/util/DateUtil.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/util/DateUtil.java


+ 171 - 0
svr/svr-cloud-job/src/main/java/com/yihu/jw/care/util/MessageUtil.java

@ -0,0 +1,171 @@
package com.yihu.jw.care.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.base.wx.WxAccessTokenDO;
import com.yihu.jw.entity.base.wx.WxTemplateConfigDO;
import com.yihu.jw.sms.service.TXYSmsService;
import com.yihu.jw.util.wechat.WeixinMessagePushUtils;
import com.yihu.jw.wechat.dao.WxTemplateConfigDao;
import com.yihu.jw.wechat.service.WxAccessTokenService;
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.stereotype.Component;
/**
 * Created by Bing on 2021/5/29.
 */
@Component
public class MessageUtil {
    @Autowired
    private WxAccessTokenService wxAccessTokenService;
    @Autowired
    private WxTemplateConfigDao wxTemplateConfigDao;
    @Autowired
    private WeixinMessagePushUtils weixinMessagePushUtils;
    @Autowired
    private TXYSmsService txySmsService;
    private static Logger logger = LoggerFactory.getLogger(MessageUtil.class);
    public void putTemplateWxMessage(String wechatId, String templateName, String scene, String openId, String first
            ,String url, String remark, Integer type,JSONObject json,String ...keywords) {
        try {
            System.out.println(wechatId);
            WxAccessTokenDO wxAccessTokenDO = wxAccessTokenService.getWxAccessTokenById(wechatId);
            if (wxAccessTokenDO == null) {
                logger.info("wx_access_token表获取为空,wechatId" + wechatId);
                return;
            }
            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;
            }
            logger.info("微信模板推送前");
            if (StringUtils.isNoneBlank(first)){
                newConfig.setFirst(first);
            }
            if (StringUtils.isNoneBlank(url)){
                newConfig.setUrl(url);
            }
            if (StringUtils.isNoneBlank(remark)){
                newConfig.setRemark(remark);
            }
            newConfig = setTemPlateUrl(newConfig,type,openId,json);
            int keyLength = keywords.length;
            if (keyLength >= 1) {
                if(StringUtils.isNoneBlank(keywords[0])){
                    newConfig.setKeyword1(keywords[0]);
                }
            }
            if (keyLength >= 2) {
                if(StringUtils.isNoneBlank(keywords[1])){
                    newConfig.setKeyword2(keywords[1]);
                }
            }
            if (keyLength >= 3) {
                if(StringUtils.isNoneBlank(keywords[2])){
                    newConfig.setKeyword3(keywords[2]);
                }
            }
            if (keyLength >= 4) {
                if(StringUtils.isNoneBlank(keywords[3])){
                    newConfig.setKeyword4(keywords[3]);
                }
            }
            if (keyLength >= 5) {
                if(StringUtils.isNoneBlank(keywords[4])){
                    newConfig.setKeyword5(keywords[4]);
                }
            }
            if (keyLength >= 6) {
                if(StringUtils.isNoneBlank(keywords[5])){
                    newConfig.setKeyword6(keywords[5]);
                }
            }
            if (keyLength >= 7) {
                if(StringUtils.isNoneBlank(keywords[6])){
                    newConfig.setKeyword7(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 =  "taian-wx/html/";
        if (json==null){
            return wxTemplateConfigDO;
        }
        switch (type){
            case 1:
                //咨询回复
                wxTemplateConfigDO.setUrl(wxTemplateConfigDO.getUrl() + "?sessionId=" + json.getString("sessionId")
                        +"&type="+json.getString("consultType"));
                break;
            case 19:
                String urlStr= wxTemplateConfigDO.getUrl();
                boolean status = urlStr.contains("openid=");
                if(!status){
                    urlStr=json.getString("url")+"?openid=" + openid;
                }
                wxTemplateConfigDO.setUrl(url + urlStr );
                break;
            case 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"));
                }
                break;
            case 31:
                //上门服务医生评分
                wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl()+"?openid=" + openid + "&id=" + json.getString("id")+ "&finish=" + json.getString("finish"));
                break;
            case 32:
                String url1 = "wx/common/";
                wxTemplateConfigDO.setUrl(url1 + wxTemplateConfigDO.getUrl()+"?openid=" + openid + "&consult=" + json.getString("consult") + "&status=" + json.getInteger("status"));
                break;
            case 34:
                wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl() + "?openid=" + openid + "&orderId=" + json.getString("orderId")+ "&authorizeImage=" + json.getString("authorizeImage"));
                break;
            case 35:
                wxTemplateConfigDO.setUrl(url + wxTemplateConfigDO.getUrl()+json.getString("orderId")+"&isMask=1");
                break;
        }
        return wxTemplateConfigDO;
    }
    public String sendTXYSJson(String templateCode,String mobile,String ...params)throws Exception{
        JSONObject sendObj = new JSONObject();
        sendObj.put("templateCode",templateCode);
        if (params.length>0){
            JSONArray paramArr =JSONArray.parseArray(JSON.toJSONString(params));
            sendObj.put("templateParamArr",paramArr);
        }else {
            JSONArray paramArr =new JSONArray();
            sendObj.put("templateParamArr",paramArr);
        }
        return txySmsService.sendMessageJson(mobile,sendObj);
    }
}

svr/svr-cloud-job/src/main/java/com.yihu/jw.care/util/SystemConf.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/util/SystemConf.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/util/http/HttpResponse.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/util/http/HttpResponse.java


+ 2 - 0
svr/svr-cloud-job/src/main/java/com.yihu/jw.care/util/http/HttpUtils.java

@ -14,6 +14,7 @@ import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import java.io.BufferedReader;
@ -29,6 +30,7 @@ import java.util.Map;
 * Utils - HTTP请求辅助工具类
 * Created by progr1mmer on 2017/9/27.
 */
@Component
public class HttpUtils {
    public static HttpResponse doGet(String url, Map<String, Object> params) throws Exception {

svr/svr-cloud-job/src/main/java/com.yihu/jw.care/util/http/IPInfoUtils.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/util/http/IPInfoUtils.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/vo/WlyyJobConfigVO.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/vo/WlyyJobConfigVO.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/vo/WlyyQuotaVO.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/vo/WlyyQuotaVO.java


svr/svr-cloud-job/src/main/java/com.yihu/jw.care/web/BaseController.java → svr/svr-cloud-job/src/main/java/com/yihu/jw/care/web/BaseController.java


+ 8 - 3
svr/svr-cloud-job/src/main/java/com.yihu/jw.care/web/JobController.java

@ -259,13 +259,18 @@ public class JobController extends BaseController {
    @ApiOperation("立即执行")
    public String executeSignFamilyPayResultJob() {
        try {
            quartzHelper.startNow(FinishConsultJob.class, "finish_consult_job", null);
            quartzHelper.startNow(DoctorSendUnreadJob.class, "DOCTOR_SEND_UNREAD_MES_JOB", null);
            quartzHelper.startNow(PatientSendUnreadJob.class, "PATIENT_SEND_UNREAD_MES_JOB", null);
//            quartzHelper.removeJob("finish_consult_job3");
//            quartzHelper.removeJob("finish_consult_job4");
            quartzHelper.removeJob("PATIENT_SEND_UNREAD_MES_JOB3");
//            quartzHelper.startNow(FinishConsultJob.class, "finish_consult_job3", null);
//            quartzHelper.startNow(DoctorSendUnreadJob.class, "finish_consult_job4", null);
            quartzHelper.startNow(PatientSendUnreadJob.class, "PATIENT_SEND_UNREAD_MES_JOB3", null);
            return write(200, "启动成功");
        } catch (Exception e) {
            error(e);
            return error(-1, e.getMessage());
        }
    }
}

+ 14 - 6
svr/svr-cloud-job/src/main/resources/application.yml

@ -54,8 +54,6 @@ FileTempPath:
  voice_path : /var/local/upload/voice
  chat_file_path : /var/local/upload/chat
cloudServer:
  server_url: http://172.26.0.107:10301/
---
spring:
  profiles: jwtest
@ -63,7 +61,9 @@ spring:
    url: jdbc:mysql://172.26.0.104/base?useUnicode:true&characterEncoding=utf-8&autoReconnect=true
    username: ssgg
    password: ssgg@jkzl2019
  redis:
    host: 172.26.0.253 # Redis server host.
    port: 6379 # Redis server port.
hlwyyEntrance:
  url: http://localhost:10023
# mq 是否获取his数据,flag代表获取演示数据,false代表获取his真实数据
@ -83,11 +83,13 @@ fastDFS:
wlyy:
  url: http://ehr.yihu.com/wlyy/
wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段
  id: hz_yyyzh_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
cloudServer:
  server_url: http://172.26.0.107:10301/
pay:
  flag: true
---
spring:
  profiles: jwprod
@ -95,6 +97,10 @@ spring:
    url: jdbc:mysql://192.0.33.27:3306/base?useUnicode:true&characterEncoding=utf-8&autoReconnect=true
    username: im
    password: 2oEq3Kf7
  redis:
    host: 192.0.33.26 # Redis server host.
    port: 6390 # Redis server port.
    password: Kb6wKDQP1W4
hlwyyEntrance:
  url: http://172.16.1.42:10023
@ -109,15 +115,17 @@ hospital:
  TargetSysCode: S01
im:
  im_list_get: http://172.16.1.42:3000/
  data_base_name: im
  data_base_name: im_internet_hospital
fastDFS:
  fastdfs_file_url: http://192.0.33.26:8888/
wlyy:
  url: http://www.xmtyw.cn/wlyytest/
wechat:
  id: d24d1367-7f4f-43af-910e-a0a43799e040  # base库中,wx_wechat 的id字段
  id: hz_yyyzh_wx  # base库中,wx_wechat 的id字段
  flag: false #演示环境  true走Mysql数据库  false走Oracle
cloudServer:
  server_url: http://172.26.0.12:10301/
pay:
  flag: true