Bladeren bron

Merge branch 'master' of http://192.168.1.220:10080/esb/esb

# Conflicts:
#	src/main/java/com/yihu/hos/datacollect/dao/DatacollectDao.java
Airhead 8 jaren geleden
bovenliggende
commit
a420efa2f6
20 gewijzigde bestanden met toevoegingen van 152 en 228 verwijderingen
  1. 17 56
      hos-rest/src/main/java/com/yihu/hos/rest/common/format/AdapterBase.java
  2. 3 3
      hos-rest/src/main/java/com/yihu/hos/rest/controllers/DataCollectController.java
  3. 4 5
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/adapter/AdapterDataSet.java
  4. 3 5
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/adapter/AdapterMetaData.java
  5. 0 40
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/standard/StdDict.java
  6. 0 36
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/standard/StdMetaData.java
  7. 0 37
      hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/MetaDataVerify.java
  8. 20 8
      hos-rest/src/main/java/com/yihu/hos/rest/services/crawler/CrawlerFlowManager.java
  9. 10 9
      hos-rest/src/main/java/com/yihu/hos/rest/services/crawler/CrawlerManager.java
  10. 0 1
      hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterDictEntryService.java
  11. 0 1
      hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterDictService.java
  12. 0 2
      hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterMetadataService.java
  13. 0 1
      hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterSchemeService.java
  14. 0 1
      hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterSchemeVersionService.java
  15. 6 0
      pom.xml
  16. 1 0
      src/main/java/com/yihu/hos/datacollect/controller/DataCollectController.java
  17. 2 1
      src/main/java/com/yihu/hos/datacollect/dao/DatacollectDao.java
  18. 3 1
      src/main/java/com/yihu/hos/datacollect/service/DatacollectManager.java
  19. 17 21
      src/main/java/com/yihu/hos/interceptor/AuditInterceptor.java
  20. 66 0
      src/main/java/com/yihu/hos/interceptor/JdbcTemplateAdvice.java

+ 17 - 56
hos-rest/src/main/java/com/yihu/hos/rest/common/format/AdapterBase.java

@ -2,12 +2,9 @@ package com.yihu.hos.rest.common.format;
import com.yihu.hos.rest.models.standard.adapter.AdapterSchemeVersionModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import com.yihu.hos.rest.services.standard.adapter.*;
import com.yihu.hos.rest.services.standard.standard.StdDictEntryService;
import com.yihu.hos.rest.services.standard.standard.StdDictService;
import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
import javax.annotation.Resource;
import com.yihu.hos.rest.services.standard.adapter.AdapterDictService;
import com.yihu.hos.rest.services.standard.adapter.AdapterMetadataService;
import com.yihu.hos.rest.services.standard.adapter.AdapterSchemeVersionService;
/**
 * 适配器基类,DAO缓存
@ -15,20 +12,9 @@ import javax.annotation.Resource;
 * @created Created by Air on 2015/6/10.
 */
public class AdapterBase {
    @Resource(name = AdapterDatasetService.BEAN_ID)
    private AdapterDatasetService adapterDatasetService;
    @Resource(name = AdapterSchemeVersionService.BEAN_ID)
    private AdapterSchemeVersionService adapterSchemeVersionService;
    @Resource(name = AdapterMetadataService.BEAN_ID)
    private AdapterMetadataService adapterMetadataService;
    @Resource(name = AdapterDictEntryService.BEAN_ID)
    private AdapterDictEntryService adapterDictEntryService;
    @Resource(name = AdapterDictService.BEAN_ID)
    private AdapterDictService adapterDictService;
    @Resource(name = StdDictEntryService.BEAN_ID )
    private StdDictEntryService stdDictEntryService;
    @Resource(name = StdDictService.BEAN_ID )
    private StdDictService stdDictService;
    private static AdapterSchemeVersionService adapterSchemeVersionService;
    private static AdapterMetadataService adapterMetadataService;
    private static AdapterDictService adapterDictService;
    protected AdapterVersion adapterVersion;
@ -44,52 +30,27 @@ public class AdapterBase {
        return adapterVersion;
    }
    public AdapterDatasetService getAdapterDatasetService() {
        if (adapterDatasetService == null) {
            adapterDatasetService = SpringBeanUtil.getService(AdapterDatasetService.BEAN_ID);
        }
        return adapterDatasetService;
    }
    public AdapterSchemeVersionService getAdapterSchemeVersionService() {
        if (adapterSchemeVersionService == null) {
            adapterSchemeVersionService = SpringBeanUtil.getService(AdapterSchemeVersionService.BEAN_ID);
        }
    public static AdapterSchemeVersionService getAdapterSchemeVersionService() {
        return adapterSchemeVersionService;
    }
    public AdapterMetadataService getAdapterMetadataService() {
        if (adapterMetadataService == null) {
            adapterMetadataService = SpringBeanUtil.getService(AdapterMetadataService.BEAN_ID);
        }
        return adapterMetadataService;
    public static void setAdapterSchemeVersionService(AdapterSchemeVersionService adapterSchemeVersionService) {
        AdapterBase.adapterSchemeVersionService = adapterSchemeVersionService;
    }
    public AdapterDictService getAdapterDictService() {
        if (adapterDictService == null) {
            adapterDictService = SpringBeanUtil.getService(AdapterDictService.BEAN_ID);
        }
        return adapterDictService;
    public static AdapterMetadataService getAdapterMetadataService() {
        return adapterMetadataService;
    }
    public AdapterDictEntryService getAdapterDictEntryService() {
        if (adapterDictEntryService == null) {
            adapterDictEntryService = SpringBeanUtil.getService(AdapterDictEntryService.BEAN_ID);
        }
        return adapterDictEntryService;
    public static void setAdapterMetadataService(AdapterMetadataService adapterMetadataService) {
        AdapterBase.adapterMetadataService = adapterMetadataService;
    }
    public StdDictEntryService getStdDictEntryService() {
        if (stdDictEntryService == null) {
            stdDictEntryService = SpringBeanUtil.getService(StdDictEntryService.BEAN_ID);
        }
        return stdDictEntryService;
    public static AdapterDictService getAdapterDictService() {
        return adapterDictService;
    }
    public StdDictService getStdDictService() {
        if (stdDictService == null) {
            stdDictService = SpringBeanUtil.getService(StdDictService.BEAN_ID);
        }
        return stdDictService;
    public static void setAdapterDictService(AdapterDictService adapterDictService) {
        AdapterBase.adapterDictService = adapterDictService;
    }
}

+ 3 - 3
hos-rest/src/main/java/com/yihu/hos/rest/controllers/DataCollectController.java

@ -34,12 +34,12 @@ public class DataCollectController extends BaseController {
            @RequestParam(value = "jobId") String jobId) {
        try {
            if (datacollectService.collectByJobId(jobId)) {
                return Result.success("采集上传成功");
                return Result.success("采集成功");
            } else {
                return Result.error("采集上传失败");
                return Result.error("采集失败");
            }
        } catch (Exception e) {
            return Result.error("采集上传失败");
            return Result.error("采集失败");
        }
    }
}

+ 4 - 5
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/adapter/AdapterDataSet.java

@ -2,13 +2,12 @@ package com.yihu.hos.rest.models.crawler.adapter;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.hos.core.datatype.CollectionUtil;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.crawler.patient.PatientIdentity;
import com.yihu.hos.rest.models.standard.adapter.AdapterDatasetModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictEntryModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterMetadataModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import com.yihu.hos.rest.services.standard.adapter.AdapterMetadataService;
import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
import java.util.*;
@ -18,7 +17,7 @@ import java.util.*;
 * @version 1.0
 * @created 2015.08.11 11:29
 */
public class AdapterDataSet {
public class AdapterDataSet extends AdapterBase {
    private List<AdapterMetaData> adapterMetaDataList;
    private AdapterDatasetModel adapterDatasetModel;
@ -44,8 +43,8 @@ public class AdapterDataSet {
            condition.put("column", "adapter_metadata_code");
            ObjectMapper objectMapper = new ObjectMapper();
            AdapterMetadataService metadataService = SpringBeanUtil.getService(AdapterMetadataService.BEAN_ID);
            List<AdapterMetadataModel> adapterMetaDataModelList = metadataService.getAdapterMetadataNotNullList(adapterVersion, adapterDatasetModel.getStdDatasetId(),objectMapper.writeValueAsString(condition));
            List<AdapterMetadataModel> adapterMetaDataModelList = getAdapterMetadataService().getAdapterMetadataNotNullList(adapterVersion, adapterDatasetModel.getStdDatasetId(),objectMapper.writeValueAsString(condition));
            List<Integer> stdMetaDataIdList = new ArrayList<>();
            if (!CollectionUtil.isEmpty(adapterMetaDataModelList)) {
                for (AdapterMetadataModel adapterMetadataModel : adapterMetaDataModelList) {

+ 3 - 5
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/adapter/AdapterMetaData.java

@ -1,13 +1,12 @@
package com.yihu.hos.rest.models.crawler.adapter;
import com.yihu.hos.core.datatype.NumberUtil;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.crawler.transform.DictDataType;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictEntryModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterMetadataModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import com.yihu.hos.rest.services.standard.adapter.AdapterDictService;
import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
import java.util.List;
import java.util.Map;
@ -18,7 +17,7 @@ import java.util.Map;
 * @version 1.0
 * @created 2015.08.11 11:31
 */
public class AdapterMetaData {
public class AdapterMetaData extends AdapterBase {
    private AdapterMetadataModel adapterMetadataModel;
    private AdapterDict adapterDict;
@ -36,11 +35,10 @@ public class AdapterMetaData {
    public void prepareData(Map<Integer, List<AdapterDictEntryModel>> entryMap) {
        if (!NumberUtil.isZero(adapterMetadataModel.getStdDictId())) {
            AdapterDictService adapterDictService = SpringBeanUtil.getService(AdapterDictService.BEAN_ID);
            /**
             * 默认适配字典的id与数据元的标准id一致
             */
            AdapterDictModel adapterDictModel = (AdapterDictModel) adapterDictService.get(AdapterDictModel.class, adapterVersion.getDictTableName(), adapterMetadataModel.getStdDictId());
            AdapterDictModel adapterDictModel = (AdapterDictModel) getAdapterDictService().get(AdapterDictModel.class, adapterVersion.getDictTableName(), adapterMetadataModel.getStdDictId());
            if (adapterDictModel != null) {
                adapterDict = new AdapterDict(adapterDictModel, adapterVersion, entryMap);
            }

+ 0 - 40
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/standard/StdDict.java

@ -1,40 +0,0 @@
package com.yihu.hos.rest.models.crawler.standard;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.standard.standard.StdDictionaryEntryModel;
import com.yihu.hos.rest.models.standard.standard.StdDictionaryModel;
/**
 * @author Air
 * @version 1.0
 * @created 2015.08.11 15:25
 */
public class StdDict extends AdapterBase {
    private StdDictionaryModel stdDictT;
    public StdDict(StdDictionaryModel stdDictT) {
        this.stdDictT = stdDictT;
    }
    public StdDictionaryModel getStdDictT() {
        return stdDictT;
    }
    public String toValue(String code) {
        StdDictionaryEntryModel entryModel=getStdDictEntryService().getStEntryValueByCode(adapterVersion.getVersion(), stdDictT.getId(), code);
        if (entryModel==null){
            return null;
        }else {
            return entryModel.getValue();
        }
    }
    public String toCode(String value) {
        StdDictionaryEntryModel entryModel=getStdDictEntryService().getStEntryValueByCode(adapterVersion.getVersion(), stdDictT.getId(), value);
        if (entryModel==null){
            return null;
        }else {
            return entryModel.getCode();
        }
    }
}

+ 0 - 36
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/standard/StdMetaData.java

@ -1,36 +0,0 @@
package com.yihu.hos.rest.models.crawler.standard;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.crawler.transform.DictDataType;
import com.yihu.hos.rest.models.standard.standard.StdMetaDataModel;
import static com.yihu.hos.rest.models.crawler.transform.MetaDataType.S2;
import static com.yihu.hos.rest.models.crawler.transform.MetaDataType.S3;
/**
 * @author Air
 * @version 1.0
 * @created 2015.08.11 15:25
 */
public class StdMetaData extends AdapterBase {
    private StdMetaDataModel stdMetaDataT;
    public StdMetaData(StdMetaDataModel stdMetaDataT) {
        this.stdMetaDataT = stdMetaDataT;
    }
    public StdMetaDataModel getStdMetaDataT() {
        return stdMetaDataT;
    }
    public DictDataType getDictDataType() {
        Integer dict = stdMetaDataT.getDictId();
        String type = stdMetaDataT.getType();
        int dictValueType;
        if (dict!=null && (type.equals(S2.name()) || type.equals(S3.name()))) {
            dictValueType = DictDataType.CODE.ordinal();
        } else {
            dictValueType = DictDataType.VALUE.ordinal();
        }
        return DictDataType.values()[dictValueType];
    }
}

+ 0 - 37
hos-rest/src/main/java/com/yihu/hos/rest/models/crawler/transform/MetaDataVerify.java

@ -1,37 +0,0 @@
package com.yihu.hos.rest.models.crawler.transform;
import com.yihu.hos.rest.models.crawler.standard.StdMetaData;
/**
 * @author Airhead
 * @version 1.0
 * @created 22-5-2015 11:24:25
 */
public class MetaDataVerify implements IVerifier {
    private StdMetaData stdMetaData;
    private String value;
    private String errorInfo;
    public MetaDataVerify(StdMetaData stdMetaData, String value) {
        this.stdMetaData = stdMetaData;
        this.value = value;
    }
    public void finalize() throws Throwable {
    }
    /**
     * 目前不做任何数据校验
     * 必要时根据StdMetaData的type, format内容做校验
     */
    public boolean check() {
        return true;
    }
    @Override
    public String getErrorInfo() {
        return errorInfo;
    }
}//end MetaDataVerify

+ 20 - 8
hos-rest/src/main/java/com/yihu/hos/rest/services/crawler/CrawlerFlowManager.java

@ -9,6 +9,7 @@ import com.yihu.hos.core.log.LoggerFactory;
import com.yihu.hos.rest.common.dao.CrawlerDatasetDao;
import com.yihu.hos.rest.common.dao.CrawlerFlowDao;
import com.yihu.hos.rest.common.dao.CrawlerFlowHeadDao;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.crawler.adapter.AdapterDataSet;
import com.yihu.hos.rest.models.crawler.config.SysConfig;
import com.yihu.hos.rest.models.crawler.flow.CrawlerDataSetModel;
@ -19,13 +20,12 @@ import com.yihu.hos.rest.models.standard.adapter.AdapterDatasetModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictEntryModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterSchemeVersionModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import com.yihu.hos.rest.services.standard.adapter.AdapterDatasetService;
import com.yihu.hos.rest.services.standard.adapter.AdapterSchemeVersionService;
import com.yihu.hos.rest.services.standard.adapter.*;
import com.yihu.hos.web.framework.model.DictItem;
import com.yihu.hos.web.framework.model.Result;
import com.yihu.hos.web.framework.util.springutil.SpringBeanUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
@Service("CrawlerFlowManager")
@ -42,6 +42,20 @@ public class CrawlerFlowManager {
    private Boolean adapterFlg = false;
    private List<DictItem> datasetList;
    private String schemeVersion;
    @Resource
    private AdapterDatasetService adapterDatasetService;
    @Resource
    private AdapterMetadataService adapterMetadataService;
    @Resource
    private AdapterDictService adapterDictService;
    @Resource
    private AdapterSchemeVersionService adapterSchemeVersionService;
    @Resource
    CrawlerDatasetDao crawlerDatasetDao;
    @Resource
    CrawlerFlowHeadDao crawlerFlowHeadDao;
    @Resource
    CrawlerFlowDao crawlerFlowDao;
    public CrawlerFlowManager(List datasetList, String schemeVersion) {
        this.datasetList = datasetList;
@ -202,6 +216,9 @@ public class CrawlerFlowManager {
        if (adapterFlg) {
            return true;
        }
        AdapterBase.setAdapterMetadataService(adapterMetadataService);
        AdapterBase.setAdapterDictService(adapterDictService);
        AdapterBase.setAdapterSchemeVersionService(adapterSchemeVersionService);
        logger.info("适配基本相关数据准备");
        try {
            adapterDataSetMap = new HashMap<>();
@ -210,7 +227,6 @@ public class CrawlerFlowManager {
            /**
             * 推模式接口调用,默认只使用最新版本的适配
             */
            AdapterSchemeVersionService adapterSchemeVersionService = SpringBeanUtil.getService(AdapterSchemeVersionService.BEAN_ID);
            AdapterSchemeVersionModel adapterSchemeVersionModel;
            if (datasetList.isEmpty()) {
                adapterSchemeVersionModel = adapterSchemeVersionService.getEhrAdapterVersionLasted();
@ -224,7 +240,6 @@ public class CrawlerFlowManager {
                /**
                 * 获取该版本下数据集
                 */
                CrawlerDatasetDao crawlerDatasetDao = SpringBeanUtil.getService(CrawlerDatasetDao.BEAN_ID);
                List<CrawlerDataSetModel> crawlerDataSetModelList = crawlerDatasetDao.getCrawlerDatasetList(adapterSchemeVersionModel.getId());
                if (CollectionUtil.isEmpty(crawlerDataSetModelList)) {
                    return false;
@ -242,7 +257,6 @@ public class CrawlerFlowManager {
                    datasetIdList.add(Integer.valueOf(dictItem.getCode()));
                }
            }
            AdapterDatasetService adapterDatasetService = SpringBeanUtil.getService(AdapterDatasetService.BEAN_ID);
            /**
             * 字典项初始化
             */
@ -268,8 +282,6 @@ public class CrawlerFlowManager {
            /**
             * 获取采集流程表头
             */
            CrawlerFlowHeadDao crawlerFlowHeadDao = SpringBeanUtil.getService(CrawlerFlowHeadDao.BEAN_ID);
            CrawlerFlowDao crawlerFlowDao = SpringBeanUtil.getService(CrawlerFlowDao.BEAN_ID);
            crawlerFlowHeadModelList = crawlerFlowHeadDao.getCrawlerFlowHeadList(adapterSchemeVersionModel.getId());
            List<CrawlerFlowModel> crawlerFlowModelList = crawlerFlowDao.getCrawlerFlowList(adapterSchemeVersionModel.getId());
            crawlerFlowDatasetMap = new HashMap<>();

+ 10 - 9
hos-rest/src/main/java/com/yihu/hos/rest/services/crawler/CrawlerManager.java

@ -8,6 +8,7 @@ import com.yihu.hos.core.datatype.StringUtil;
import com.yihu.hos.core.log.Logger;
import com.yihu.hos.core.log.LoggerFactory;
import com.yihu.hos.rest.common.dao.DatacollectDao;
import com.yihu.hos.rest.common.format.AdapterBase;
import com.yihu.hos.rest.models.crawler.adapter.AdapterDataSet;
import com.yihu.hos.rest.models.crawler.config.SysConfig;
import com.yihu.hos.rest.models.crawler.patient.Patient;
@ -16,8 +17,7 @@ import com.yihu.hos.rest.models.standard.adapter.AdapterDatasetModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterDictEntryModel;
import com.yihu.hos.rest.models.standard.adapter.AdapterSchemeVersionModel;
import com.yihu.hos.rest.models.standard.bo.AdapterVersion;
import com.yihu.hos.rest.services.standard.adapter.AdapterDatasetService;
import com.yihu.hos.rest.services.standard.adapter.AdapterSchemeVersionService;
import com.yihu.hos.rest.services.standard.adapter.*;
import com.yihu.hos.web.framework.model.DataGridResult;
import com.yihu.hos.web.framework.model.DictItem;
import com.yihu.hos.web.framework.model.Result;
@ -35,6 +35,10 @@ public class CrawlerManager {
    @Resource
    private AdapterDatasetService adapterDatasetService;
    @Resource
    private AdapterMetadataService adapterMetadataService;
    @Resource
    private AdapterDictService adapterDictService;
    @Resource
    private AdapterSchemeVersionService adapterSchemeVersionService;
    @Resource
    private DatacollectManager datacollect;
@ -46,12 +50,6 @@ public class CrawlerManager {
    private Boolean adapterFlg = false;
    private String schemeVersion;
    private List<DictItem> datasetList;
    public CrawlerManager(List datasetList, String schemeVersion) {
        this.datasetList = datasetList;
        this.schemeVersion = schemeVersion;
    }
    public CrawlerManager() {
    }
    public void finalize() throws Throwable {
@ -270,11 +268,14 @@ public class CrawlerManager {
        if (adapterFlg) {
            return true;
        }
        AdapterBase.setAdapterMetadataService(adapterMetadataService);
        AdapterBase.setAdapterDictService(adapterDictService);
        AdapterBase.setAdapterSchemeVersionService(adapterSchemeVersionService);
        logger.info("适配基本相关数据准备");
        try {
            adapterDataSetMap = new HashMap<>();
            AdapterVersion adapterVersion;
            List<AdapterDatasetModel> adapterDataSetModelList = new ArrayList<>();
            List<AdapterDatasetModel> adapterDataSetModelList;
            if (!CollectionUtil.isEmpty(datasetList)) {
                /**
                 * 拉模式接口调用,由任务配置决定适配版本

+ 0 - 1
hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterDictEntryService.java

@ -26,7 +26,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.util.*;
@Transactional
@Service("AdapterDictEntryService")
public class AdapterDictEntryService extends SQLGeneralDAO {

+ 0 - 1
hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterDictService.java

@ -18,7 +18,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.Iterator;
import java.util.List;
@Transactional
@Service("AdapterDictService")
public class AdapterDictService extends SQLGeneralDAO {

+ 0 - 2
hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterMetadataService.java

@ -27,12 +27,10 @@ import org.apache.commons.lang3.StringUtils;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.util.*;
@Transactional
@Service("AdapterMetadataService")
public class AdapterMetadataService extends SQLGeneralDAO {

+ 0 - 1
hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterSchemeService.java

@ -27,7 +27,6 @@ import java.util.Map;
/**
 * @created lingfeng 2015/12/25.
 */
@Transactional
@Service("AdapterSchemeService")
public class AdapterSchemeService extends SQLGeneralDAO {

+ 0 - 1
hos-rest/src/main/java/com/yihu/hos/rest/services/standard/adapter/AdapterSchemeVersionService.java

@ -28,7 +28,6 @@ import java.util.*;
/**
 * @Created by lingfeng 2015/12/25.
 */
@Transactional
@Service("AdapterSchemeVersionService")
public class AdapterSchemeVersionService extends SQLGeneralDAO {

+ 6 - 0
pom.xml

@ -127,6 +127,12 @@
            <artifactId>activemq-core</artifactId>
            <version>5.7.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.8.9</version>
        </dependency>
    </dependencies>

+ 1 - 0
src/main/java/com/yihu/hos/datacollect/controller/DataCollectController.java

@ -223,6 +223,7 @@ public class DataCollectController extends BaseController {
        try {
            return datacollect.deleteJob(jobId);
        } catch (Exception ex) {
            ex.printStackTrace();
            return Result.error(ex.getMessage());
        }
    }

+ 2 - 1
src/main/java/com/yihu/hos/datacollect/dao/DatacollectDao.java

@ -5,9 +5,10 @@ import com.yihu.hos.datacollect.model.DtoJobDataset;
import com.yihu.hos.datacollect.model.RsJobDataset;
import com.yihu.hos.web.framework.dao.SQLGeneralDAO;
import com.yihu.hos.web.framework.constant.DateConvert;
import com.yihu.hos.resource.model.RsDatasourceDataset;
import com.yihu.hos.web.framework.dao.SQLGeneralDAO;
import com.yihu.hos.web.framework.model.DataGridResult;
import com.yihu.hos.web.framework.model.SimpleChartItem;
import com.yihu.hos.resource.model.RsDatasourceDataset;
import org.springframework.stereotype.Repository;
import org.springframework.util.StringUtils;

+ 3 - 1
src/main/java/com/yihu/hos/datacollect/service/DatacollectManager.java

@ -292,7 +292,9 @@ public class DatacollectManager implements IDatacollectManager {
        datacollectDao.deleteJobDatasetByJobId(jobId);
        //删除相关流程记录
        RsJobConfig entity = datacollectDao.getEntity(RsJobConfig.class, jobId);
        Result result = flowManage.deleteFlow(entity.getFlowId());
        if (entity.getFlowId()!=null){
           flowManage.deleteFlow(entity.getFlowId());
        }
        datacollectDao.deleteEntity(entity);
        //删除Quartz任务

+ 17 - 21
src/main/java/com/yihu/hos/interceptor/AuditInterceptor.java

@ -3,14 +3,10 @@ package com.yihu.hos.interceptor;
import com.yihu.hos.common.constants.ContextAttributes;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.EmptyInterceptor;
import org.hibernate.type.Type;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.io.Serializable;
import java.util.Iterator;
/**
 * @author HZY
 * @vsrsion 1.0
@ -34,23 +30,23 @@ public class AuditInterceptor extends EmptyInterceptor {
        return super.onPrepareStatement(completeSql);
    }
    @Override
    public void onDelete(
            Object entity,
            Serializable id,
            Object[] state,
            String[] propertyNames,
            Type[] types) {
        System.out.println("33333333333333");
        super.onDelete(entity,id,state,propertyNames,types);
    }
    @Override
    public void preFlush(Iterator entities) {
        System.out.println("preflush..............");
        super.preFlush(entities);
    }
//    @Override
//    public void onDelete(
//            Object entity,
//            Serializable id,
//            Object[] state,
//            String[] propertyNames,
//            Type[] types) {
//        System.out.println("33333333333333");
//        super.onDelete(entity,id,state,propertyNames,types);
//    }
//    @Override
//    public void preFlush(Iterator entities) {
//        System.out.println("preflush..............");
//        super.preFlush(entities);
//    }
    private String getSchema() {
        return LocalContext.getContext().getAttachment(ContextAttributes.SCHEMA);

+ 66 - 0
src/main/java/com/yihu/hos/interceptor/JdbcTemplateAdvice.java

@ -0,0 +1,66 @@
package com.yihu.hos.interceptor;
import com.yihu.hos.common.constants.ContextAttributes;
import org.apache.commons.lang3.StringUtils;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;
/**
 *  jdbctemplate 预编译执行拦截
 * @author HZY
 * @vsrsion 1.0
 * Created at 2016/12/7.
 */
@Aspect
@Component
public class JdbcTemplateAdvice {
    @Around("execution(* org.springframework.jdbc.core.JdbcTemplate.query*(..)) || execution(* org.springframework.jdbc.core.JdbcTemplate.execute*(..))")
    public void process(ProceedingJoinPoint point) throws Throwable {
        String schemaName = getSchema();
        //访问目标方法的参数:
        Object[] args = point.getArgs();
        if (args != null && args.length > 0 && args[0].getClass() == String.class) {
            String completeSql = args[0].toString();
            if (StringUtils.isNotEmpty(schemaName)) {
                String myCatAnnotation = "/*#mycat:schema=" + schemaName + "*/ ";
                completeSql = myCatAnnotation + completeSql;
            }
            args[0]=completeSql;
        }
        //用改变后的参数执行目标方法
        point.proceed(args);
    }
//    @Before("execution(* org.springframework.jdbc.core.JdbcTemplate.query*(..)) || execution(* org.springframework.jdbc.core.JdbcTemplate.execute*(..))")
//    public void permissionCheck(JoinPoint point) {
//        System.out.println("@Before:模拟权限检查...");
//        System.out.println("@Before:目标方法为:" +
//                point.getSignature().getDeclaringTypeName() +
//                "." + point.getSignature().getName());
//        System.out.println("@Before:参数为:" + Arrays.toString(point.getArgs()));
//        System.out.println("@Before:被织入的目标对象为:" + point.getTarget());
//
//        String schemaName = getSchema();
//        //访问目标方法的参数:
//        Object[] args = point.getArgs();
//        if (args != null && args.length > 0 && args[0].getClass() == String.class) {
//            String completeSql = args[0].toString();
//            if (StringUtils.isNotEmpty(schemaName)) {
//                String myCatAnnotation = "/*#mycat:schema=" + schemaName + "*/ ";
//                completeSql = myCatAnnotation + completeSql;
//            }
//            args[0]=completeSql;
//        }
//
//    }
    private String getSchema() {
        return LocalContext.getContext().getAttachment(ContextAttributes.SCHEMA);
    }
}