chenweida 7 anos atrás
pai
commit
71355875eb

+ 45 - 13
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/etl/save/es/ElastricSearchSave.java

@ -2,6 +2,7 @@ package com.yihu.wlyy.statistics.etl.save.es;
import com.yihu.wlyy.statistics.vo.SaveModel;
import io.searchbox.client.JestClient;
import io.searchbox.client.JestResult;
import io.searchbox.core.Bulk;
import io.searchbox.core.BulkResult;
import io.searchbox.core.Index;
@ -39,15 +40,23 @@ public class ElastricSearchSave {
            //得到链接
            JestClient jestClient = elasticFactory.getJestClient();
            int success = 0;
            int error = 0;
            Bulk.Builder bulk = new Bulk.Builder().defaultIndex(esIndex).defaultType(esType);
            for (SaveModel obj : sms) {
                obj.setCreateTime(new Date());
                Index index = new Index.Builder(obj).build();
                bulk.addAction(index);
                try {
                    obj.setCreateTime(new Date());
                    Index index = new Index.Builder(obj).build();
                    bulk.addAction(index);
                } catch (Exception e) {
                    logger.error(e.getMessage());
                }
            }
            BulkResult br = jestClient.execute(bulk.build());
            logger.info("save data count:" + sms.size());
            logger.info("save flag:" + br.isSucceeded());
            logger.info("update flag:" + br.isSucceeded());
            logger.info("update success:" + success);
            logger.info("update error:" + error);
            return br.isSucceeded();
        } catch (Exception e) {
            logger.error(" save error :" + e.getMessage());
@ -61,16 +70,39 @@ public class ElastricSearchSave {
            //得到链接
            JestClient jestClient = elasticFactory.getJestClient();
            Bulk.Builder bulk = new Bulk.Builder().defaultIndex(esIndex).defaultType(esType);
            int success = 0;
            int error = 0;
            boolean isSuccessed = true;
//            Bulk.Builder bulk = new Bulk.Builder().defaultIndex(esIndex).defaultType(esType);
//            for (SaveModel obj : sms) {
//                try {
//                    obj.setCreateTime(new Date());
//                    Update index = new Update.Builder(obj).index(esIndex).type(esType).id(obj.getId()).build();
//                    bulk.addAction(index);
//                    success++;
//                } catch (Exception e) {
//                    error++;
//                }
//            }
            for (SaveModel obj : sms) {
                obj.setCreateTime(new Date());
                Update index = new Update.Builder(obj).build();
                bulk.addAction(index);
                try {
                    obj.setCreateTime(new Date());
                    Update index = new Update.Builder(obj).index(esIndex).type(esType).id(obj.getId()).build();
                    JestResult result = jestClient.execute(index);
                    if (result.isSucceeded()) {
                        success++;
                    } else {
                        error++;
                        isSuccessed = false;
                    }
                } catch (Exception e) {
                    error++;
                    isSuccessed = false;
                }
            }
            BulkResult br = jestClient.execute(bulk.build());
            logger.info("update data count:" + sms.size());
            logger.info("update flag:" + br.isSucceeded());
            return br.isSucceeded();
            logger.info("update success:" + success);
            logger.info("update error:" + error);
            return isSuccessed;
        } catch (Exception e) {
            logger.error(" update error :" + e.getMessage());
        }

+ 17 - 6
patient-co/patient-co-statistics-es/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentMysqlToEsQuotaJob.java

@ -117,7 +117,7 @@ public class CurrentMysqlToEsQuotaJob implements Job {
        if ("2".equals(timeLevel)) {
            //按年度到达量
            startTime = this.year + "-06-30 17:00:00";
        }else{
        } else {
            //增量
            this.startTime = new LocalDate(new DateTime().minusDays(1)).toString("yyyy-MM-dd") + " 17:00:00"; //2017-06-01 17:00:00
        }
@ -136,7 +136,7 @@ public class CurrentMysqlToEsQuotaJob implements Job {
        List<QuartzJobConfig> list = quartzJobConfigDao.findByIds();
        list.stream().forEach(one -> {
            try {
                logger.info("========================quotaCode:" + one.getId() + ","+DateUtil.dateToStr(quotaDate, "yyyy-MM-dd")+",timeLevel:"+timeLevel+" start========================");
                logger.info("========================quotaCode:" + one.getId() + "," + DateUtil.dateToStr(quotaDate, "yyyy-MM-dd") + ",timeLevel:" + timeLevel + " start========================");
                QuartzJobLog tjQuotaLog = new QuartzJobLog();
                tjQuotaLog.setJobId(one.getId());
                tjQuotaLog.setJobStartTime(new Date());
@ -160,7 +160,7 @@ public class CurrentMysqlToEsQuotaJob implements Job {
                tjQuotaLog.setJobEndTime(new Date());
                tjQuotaLog.setJobContent(JSONArray.fromObject(filterModel.getErrorModels()).toString());
                saveLog(tjQuotaLog);
                logger.info("========================quotaCode:" + one.getId() + ","+DateUtil.dateToStr(quotaDate, "yyyy-MM-dd")+" start========================");
                logger.info("========================quotaCode:" + one.getId() + "," + DateUtil.dateToStr(quotaDate, "yyyy-MM-dd") + " start========================");
            } catch (Exception e) {
                e.printStackTrace();
            }
@ -207,15 +207,26 @@ public class CurrentMysqlToEsQuotaJob implements Job {
                    obj.setResult2(newResult.getResult2());
                    obj.setCreateTime(new Date());
                }
                sms=quarySaveModels;
                sms = quarySaveModels;
                return updateDate(sms);
            } else {
                return saveDate(sms);
            }
            return saveDate(sms);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }
    private boolean updateDate(List<SaveModel> sms) {
        try {
            return SpringUtil.getBean(SaveHelper.class).update(sms);
        } catch (Exception e) {
            logger.error("save error:" + e.getMessage());
        }
        return false;
    }
    @Transactional
    private void saveLog(QuartzJobLog tjQuotaLog) {
        quartzJobLogDao.save(tjQuotaLog);
@ -237,7 +248,7 @@ public class CurrentMysqlToEsQuotaJob implements Job {
     */
    private Boolean saveDate(List<SaveModel> sms) {
        try {
            return SpringUtil.getBean(SaveHelper.class).update(sms);
            return SpringUtil.getBean(SaveHelper.class).save(sms);
        } catch (Exception e) {
            logger.error("save error:" + e.getMessage());
        }