|
|
@@ -0,0 +1,81 @@
|
|
|
+package com.lc.ibps.platform.plan.job;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.lc.ibps.base.core.util.AppUtil;
|
|
|
+import com.lc.ibps.base.framework.table.ICommonDao;
|
|
|
+import com.lc.ibps.base.web.context.ContextUtil;
|
|
|
+import com.lc.ibps.cloud.message.util.MessageQueueProductorUtil;
|
|
|
+import com.lc.ibps.util.BusinessEnum;
|
|
|
+import org.quartz.JobExecutionContext;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import com.lc.ibps.base.core.util.BeanUtils;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+public class ConfigDailyJob extends AbstractJob{
|
|
|
+ private static final Logger logger = LoggerFactory.getLogger(EquipmentMaintenancePlanJob.class);
|
|
|
+ private ICommonDao<?> commonDao = AppUtil.getBean(ICommonDao.class);
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void executeJob(JobExecutionContext context) throws Exception {
|
|
|
+ logger.warn("-------------------executeJob.start-------------------");
|
|
|
+ //恒生医院 DAILYJOB1-主动咨询服务推送消息
|
|
|
+ periodicMessageReminder();
|
|
|
+
|
|
|
+ logger.warn("-------------------executeJob.end---------------------");
|
|
|
+ }
|
|
|
+
|
|
|
+ private void periodicMessageReminder() {
|
|
|
+ //配置了DAILYJOB1的医院实现该消息推送模块
|
|
|
+ if(BeanUtils.isNotEmpty(ContextUtil.getSetting())){
|
|
|
+ JSONObject configMap = JSONObject.parseObject(ContextUtil.getSetting());
|
|
|
+ String dailyJob1 = configMap.getString(BusinessEnum.DAILY_JOB_1.getCode());
|
|
|
+ if(BeanUtils.isNotEmpty(dailyJob1) && dailyJob1.equals(BusinessEnum.TRUE.getCode())){
|
|
|
+ logger.warn("-------------------DAILYJOB1.start-------------------");
|
|
|
+ excutePushMessagejob();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ logger.warn("-------------------DAILYJOB1.end-------------------");
|
|
|
+ }
|
|
|
+
|
|
|
+ private void excutePushMessagejob() {
|
|
|
+ //获取当日计划
|
|
|
+ List<Map<String, Object>> data = (List<Map<String, Object>>) commonDao.query("select * from t_zdzxfwjhb WHERE DATE(tui_song_shi_jian) = CURDATE()");
|
|
|
+ if(BeanUtils.isEmpty(data))return;
|
|
|
+ for(Map dMap :data){
|
|
|
+ List<String> message = new ArrayList<>();
|
|
|
+ List<String> recivers = new ArrayList<>();
|
|
|
+ String title = BusinessEnum.EMPTY_STR.getCode();
|
|
|
+ String content = BusinessEnum.EMPTY_STR.getCode();
|
|
|
+ constructMessage(dMap,message,recivers);
|
|
|
+ if(BeanUtils.isNotEmpty(message)){
|
|
|
+ MessageQueueProductorUtil.send(BusinessEnum.MESSAGE_JOB.getCode(), BusinessEnum.SYSTEM.getCode() , BusinessEnum.MSG_TYPE_INNER.getCode(), recivers,null , title, content, null, null, null);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void constructMessage(Map dMap, List<String> message, List<String> recivers) {
|
|
|
+ ArrayList<Object> constructData = new ArrayList<>();
|
|
|
+ String title = "主动咨询服务计划提醒";
|
|
|
+ String neiRong = "<br />";
|
|
|
+ String column1 ="咨询服务对象:"+dMap.get("fu_wu_dui_xiang_")+neiRong;
|
|
|
+ String column2 ="咨询服务内容:"+dMap.get("fu_wu_nei_rong_") +neiRong;
|
|
|
+ String column3 ="咨询服务方式:"+dMap.get("fu_wu_fang_shi_")+ neiRong;
|
|
|
+ String column4 ="咨询服务时间:"+dMap.get("fu_wu_shi_jian_")+ neiRong;
|
|
|
+ String column5 ="提供咨询人员:"+dMap.get("zi_xun_ren_yuan_")+neiRong;
|
|
|
+ neiRong = neiRong + column1 + column2 + column3 + column4 + column5;
|
|
|
+ //转换接收人ID
|
|
|
+ String[] parts = dMap.get("tui_song_dui_xian").toString().split(",");
|
|
|
+ if(BeanUtils.isEmpty(dMap.get("tui_song_dui_xian"))){
|
|
|
+ logger.warn("主动咨询服务计划推送数据异常,异常内容 {}id{}",dMap.get("fu_wu_nei_rong_"),dMap.get("id_"));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ List<String> data = Arrays.asList(parts);
|
|
|
+ recivers.addAll(data);
|
|
|
+ message.add(title);
|
|
|
+ message.add(neiRong);
|
|
|
+ }
|
|
|
+}
|