Bläddra i källkod

厦门-文娟-bug修改

chenweida 8 år sedan
förälder
incheckning
e3cd08cd06

+ 14 - 36
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/survey/ManagerQuestionnaireService.java

@ -275,8 +275,20 @@ public class ManagerQuestionnaireService extends BaseService {
        //            发送居民模板 send=1发送
//        ====================================================
        if ("1".equals(send)) {
            SendMessage sendMessage = new SendMessage(surveyCode, codes, accessToken);
            new Thread(sendMessage).start();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            String str = "{\"remark\":\"我们将按调查最终结果,优化健康服务。\",\"keyword1\":\"调查问卷\"}";
            JSONObject json = new JSONObject(str);
            codes.stream().forEach(c -> {
                Patient p = patientDao.findByCode(c);
                String name = p.getName();
                String openId = p.getOpenid();
                json.put("keyword2", sdf.format(new Date()));
                json.put("toUser", c);
                json.put("survey_id",surveyCode );
                json.put("first", name + ",您好!为了给您提供更好的家庭医生健康服务,现有一份问卷需要您填写。");
                PushMsgTask.getInstance().putWxMsg(accessToken, 11, openId, name, json);
            });
        }
//       =====================================================
//     获取标签数组
@ -1510,40 +1522,6 @@ public class ManagerQuestionnaireService extends BaseService {
        return patients;
    }
    /**
     * 线程发送模板消息
     */
    class SendMessage implements Runnable {
        private String code;
        private List<String> codes;
        private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        private String str = "{\"remark\":\"我们将按调查最终结果,优化健康服务。\",\"keyword1\":\"调查问卷\"}";
        private String accessToken;
        private JSONObject json = new JSONObject(str);
        public SendMessage(String code, List<String> codes, String accessToken) {
            this.code = code;
            this.codes = codes;
            this.accessToken = accessToken;
//            System.out.println("survey_id ===================>>>>>>" + code);
        }
        @Override
        public void run() {
            json.put("survey_id", code);
            for (String cod : codes) {
//                System.out.println("=========patient code ===========》" + cod);
                Patient p = patientDao.findByCode(cod);
                String name = p.getName();
                String openId = p.getOpenid();
                json.put("keyword2", sdf.format(new Date()));
                json.put("toUser", cod);
                json.put("first", name + ",您好!为了给您提供更好的家庭医生健康服务,现有一份问卷需要您填写。");
                PushMsgTask.getInstance().putWxMsg(accessToken, 11, openId, name, json);
            }
        }
    }
}

+ 17 - 34
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/survey/ManagerQuestionnaireController.java

@ -442,8 +442,23 @@ public class ManagerQuestionnaireController extends WeixinBaseController {
                pushMsgTask.sendWeixinMessage(accessToken, 11, openId, name, json);
            }*/
            List<String> codes = surveyUserDao.findBySurveyCodeAndStatus(code);
            SendMessage sendMessage = new SendMessage(code, codes, getAccessToken());
            new Thread(sendMessage).start();
            String accessToken = getAccessToken();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            String str = "{\"remark\":\"我们将按调查最终结果,优化健康服务。\",\"keyword1\":\"调查问卷\"}";
            JSONObject json = new JSONObject(str);
            codes.stream().forEach(c -> {
                Patient p = patientDao.findByCode(c);
                String name = p.getName();
                String openId = p.getOpenid();
                json.put("keyword2", sdf.format(new Date()));
                json.put("toUser", c);
                json.put("survey_id", code);
                json.put("first", name + ",您好!为了给您提供更好的家庭医生健康服务,现有一份问卷需要您填写。");
                PushMsgTask.getInstance().putWxMsg(accessToken, 11, openId, name, json);
            });
            return write(200, "发送成功!");
        } catch (Exception e) {
            e.printStackTrace();
@ -472,37 +487,5 @@ public class ManagerQuestionnaireController extends WeixinBaseController {
        }
    }
    /**
     * 线程发送模板消息
     */
    class SendMessage implements Runnable {
        private String code;
        private List<String> codes;
        private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        private String str = "{\"remark\":\"我们将按调查最终结果,优化健康服务。\",\"keyword1\":\"调查问卷\"}";
        private String accessToken;
        private JSONObject json = new JSONObject(str);
        public SendMessage(String code, List<String> codes, String accessToken) {
            this.code = code;
            this.codes = codes;
            this.accessToken = accessToken;
        }
        @Override
        public void run() {
            json.put("survey_id", code);
            for (String cod : codes) {
                Patient p = patientDao.findByCode(cod);
                String name = p.getName();
                String openId = p.getOpenid();
                json.put("keyword2", sdf.format(new Date()));
                json.put("toUser", cod);
                json.put("first", name + ",您好!为了给您提供更好的家庭医生健康服务,现有一份问卷需要您填写。");
                PushMsgTask.getInstance().putWxMsg(accessToken, 11, openId, name, json);
            }
        }
    }
}