|
@ -1,8 +1,9 @@
|
|
|
package com.yihu.jw.basic.standard.service.adapter;
|
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
|
|
|
|
import com.yihu.jw.basic.standard.dao.SQLGeneralDAO;
|
|
|
import com.yihu.jw.basic.standard.model.adapter.AdapterDatasetModel;
|
|
|
import com.yihu.jw.basic.standard.model.adapter.AdapterMetadataModel;
|
|
|
import com.yihu.jw.basic.standard.model.adapter.AdapterSchemeModel;
|
|
@ -12,24 +13,22 @@ import com.yihu.jw.basic.standard.model.standard.StdDataSetModel;
|
|
|
import com.yihu.jw.basic.standard.model.standard.StdMetaDataModel;
|
|
|
import com.yihu.jw.basic.standard.service.bo.AdapterVersion;
|
|
|
import com.yihu.jw.basic.standard.service.bo.StandardVersion;
|
|
|
import com.yihu.jw.exception.ApiException;
|
|
|
import com.yihu.jw.restmodel.web.Envelop;
|
|
|
import com.yihu.jw.restmodel.web.ListEnvelop;
|
|
|
import com.yihu.jw.restmodel.web.ObjEnvelop;
|
|
|
import com.yihu.jw.restmodel.web.PageEnvelop;
|
|
|
import com.yihu.jw.util.common.StringUtil;
|
|
|
import com.yihu.jw.util.sql.ErrorCode;
|
|
|
import com.yihu.jw.basic.standard.dao.SQLGeneralDAO;
|
|
|
import com.yihu.jw.exception.ApiException;
|
|
|
import com.yihu.jw.util.sql.BeanTransformer;
|
|
|
import com.yihu.jw.util.sql.ErrorCode;
|
|
|
import com.yihu.jw.util.sql.SqlConstants;
|
|
|
import com.yihu.jw.util.sql.SqlCreator;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.hibernate.Query;
|
|
|
import org.hibernate.Session;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
import java.util.*;
|
|
@ -46,7 +45,7 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
super.finalize();
|
|
|
}
|
|
|
|
|
|
public ObjEnvelop add(String adapterVersion, String metadata) throws Exception {
|
|
|
public Envelop add(String adapterVersion, String metadata) throws Exception {
|
|
|
try {
|
|
|
AdapterVersion version = new AdapterVersion(adapterVersion);
|
|
|
AdapterMetadataModel adapterMetadataModel = objectMapper.readValue(metadata, AdapterMetadataModel.class);
|
|
@ -54,7 +53,7 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
String sql = "select max(id) from " + version.getMetaDataTableName();
|
|
|
Query query = session.createSQLQuery(sql);
|
|
|
Object object = query.uniqueResult();
|
|
|
adapterMetadataModel.setId(object == null ? 1L : Long.parseLong(object.toString()) + 1);
|
|
|
adapterMetadataModel.setId(object == null ? 1 : Long.parseLong(object.toString()) + 1);
|
|
|
|
|
|
JsonNode jsonNode = objectMapper.readTree(objectMapper.writeValueAsString(adapterMetadataModel));
|
|
|
SqlCreator sqlCreator = new SqlCreator(AdapterMetadataModel.class);
|
|
@ -63,7 +62,8 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
query.executeUpdate();
|
|
|
return ObjEnvelop.getSuccess("保存适配数据元成功",adapterMetadataModel);
|
|
|
} catch (Exception e) {
|
|
|
return ObjEnvelop.getError("保存适配数据元失败");
|
|
|
e.printStackTrace();
|
|
|
return Envelop.getError("保存适配数据元失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -83,7 +83,7 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public ObjEnvelop modify(String adapterVersion, String metadata) throws Exception {
|
|
|
public Envelop modify(String adapterVersion, String metadata) throws Exception {
|
|
|
try {
|
|
|
AdapterVersion version = new AdapterVersion(adapterVersion);
|
|
|
AdapterMetadataModel adapterMetadataModel = objectMapper.readValue(metadata, AdapterMetadataModel.class);
|
|
@ -95,31 +95,30 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
query.executeUpdate();
|
|
|
return ObjEnvelop.getSuccess("修改适配数据元成功",adapterMetadataModel);
|
|
|
} catch (Exception e) {
|
|
|
return ObjEnvelop.getError("修改适配数据元失败");
|
|
|
e.printStackTrace();
|
|
|
return Envelop.getError("修改适配数据元失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public ObjEnvelop get(String version, Integer dictEntryId) {
|
|
|
public Envelop get(String version, Integer dictEntryId) {
|
|
|
try {
|
|
|
AdapterVersion adapterVersion = new AdapterVersion(version);
|
|
|
AdapterMetadataModel adapterMetadataModel = (AdapterMetadataModel) get(AdapterMetadataModel.class, adapterVersion.getDictTableName(), dictEntryId);
|
|
|
return ObjEnvelop.getSuccess("获取适配数据元成功",adapterMetadataModel);
|
|
|
} catch (Exception e) {
|
|
|
return ObjEnvelop.getError("获取适配数据元失败");
|
|
|
e.printStackTrace();
|
|
|
return Envelop.getError("获取适配数据元失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public PageEnvelop getDetailResult(String adapterVersion, String condition, String order, Integer rows, Integer page) {
|
|
|
public Envelop getDetailResult(String adapterVersion, String condition, String order, Integer rows, Integer page) {
|
|
|
try {
|
|
|
List dictEntryList = getMetadataList(AdapterMetadataModel.class, adapterVersion, condition, order, rows, page);
|
|
|
Integer count = getMetadataCount(AdapterMetadataModel.class, adapterVersion, condition);
|
|
|
PageEnvelop result = PageEnvelop.getSuccess("获取适配数据元列表成功");
|
|
|
result.setDetailModelList(dictEntryList);
|
|
|
result.setTotalCount(count);
|
|
|
return result;
|
|
|
long count = getMetadataCount(AdapterMetadataModel.class, adapterVersion, condition);
|
|
|
return PageEnvelop.getSuccessListWithPage("",dictEntryList,page,rows,count);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
return PageEnvelop.getError("获取适配数据元列表失败");
|
|
|
return Envelop.getError("获取适配数据元列表失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -132,7 +131,17 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
try {
|
|
|
JsonNode jsonNode = objectMapper.readTree(condition);
|
|
|
String name = jsonNode.get("name").asText();
|
|
|
sqlCreator.equalCondition("stdDatasetId", jsonNode.get("stdDatasetId").asInt());
|
|
|
if(jsonNode.get("stdDatasetId") != null){
|
|
|
sqlCreator.equalCondition("stdDatasetId", jsonNode.get("stdDatasetId").asInt());
|
|
|
}
|
|
|
JsonNode belongAdapterId = jsonNode.get("belongAdapterId");
|
|
|
if(belongAdapterId!=null){
|
|
|
sqlCreator.equalCondition("belongAdapterId",belongAdapterId.asLong());
|
|
|
}
|
|
|
JsonNode needCrawerNode = jsonNode.get("needCrawer");
|
|
|
if(needCrawerNode!=null){
|
|
|
sqlCreator.equalCondition("needCrawer",needCrawerNode.asLong());
|
|
|
}
|
|
|
sqlCreator.likeOrCondition("stdMetadataCode", "stdMetadataName", name);
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
@ -153,34 +162,33 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
}
|
|
|
|
|
|
String sql = sqlCreator.selectData(tableName);
|
|
|
Query query = getQuery(sqlCreator, sql);
|
|
|
if (limit != null) {
|
|
|
if (offset != null &&offset>0) {
|
|
|
sql += " limit "+(offset - 1) * limit+","+limit;
|
|
|
}else {
|
|
|
sql += " limit "+limit;
|
|
|
query.setMaxResults(limit);
|
|
|
if (offset != null) {
|
|
|
query.setFirstResult((offset - 1) * limit);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
List<AdapterMetadataModel> modelList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(AdapterMetadataModel.class));
|
|
|
|
|
|
List<Long> idList = new ArrayList<>();
|
|
|
List<AdapterMetadataModel> modelList = query.list();
|
|
|
String ids = "";
|
|
|
Map<Long, StdDataSetModel> stdDatasetModelMap = new HashMap<>();
|
|
|
Long schemeId = null;
|
|
|
for (AdapterMetadataModel model : modelList) {
|
|
|
if (model.getAdapterDatasetId() != null) {
|
|
|
schemeId = model.getSchemeId();
|
|
|
idList.add(model.getAdapterDatasetId());
|
|
|
ids+=","+model.getAdapterDatasetId();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(idList)) {
|
|
|
if (!StringUtil.isEmpty(ids)) {
|
|
|
AdapterSchemeModel scheme = getEntity(AdapterSchemeModel.class, schemeId);
|
|
|
StandardVersion standardVersion = new StandardVersion(scheme.getAdapterStdVersion());
|
|
|
tableName = standardVersion.getDataSetTableName();
|
|
|
sqlCreator = new SqlCreator(StdDataSetModel.class);
|
|
|
sqlCreator.inCondition("id", idList);
|
|
|
sqlCreator.inCondition("id", ids.substring(1, ids.length()));
|
|
|
sql = sqlCreator.selectData(tableName);
|
|
|
List<StdDataSetModel> stdDatasetModelList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(StdDataSetModel.class));
|
|
|
query = getQuery(sqlCreator, sql);
|
|
|
List<StdDataSetModel> stdDatasetModelList = query.list();
|
|
|
for (StdDataSetModel model : stdDatasetModelList) {
|
|
|
stdDatasetModelMap.put(model.getId(), model);
|
|
|
}
|
|
@ -208,6 +216,8 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
detailModel.setAdapterDatasetCode(stdDatasetModelMap.get(model.getAdapterDatasetId()).getCode());
|
|
|
detailModel.setAdapterDatasetName(stdDatasetModelMap.get(model.getAdapterDatasetId()).getName());
|
|
|
}
|
|
|
detailModel.setBelongAdapterId(model.getBelongAdapterId());
|
|
|
detailModel.setAdapterDefault(model.getAdapterDefault());
|
|
|
detailModelList.add(detailModel);
|
|
|
}
|
|
|
return detailModelList;
|
|
@ -222,6 +232,14 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
JsonNode jsonNode = objectMapper.readTree(condition);
|
|
|
String name = jsonNode.get("name").asText();
|
|
|
sqlCreator.equalCondition("stdDatasetId", jsonNode.get("stdDatasetId").asInt());
|
|
|
JsonNode belongAdapterId = jsonNode.get("belongAdapterId");
|
|
|
if(belongAdapterId!=null){
|
|
|
sqlCreator.equalCondition("belongAdapterId",belongAdapterId .asLong());
|
|
|
}
|
|
|
JsonNode needCrawerNode = jsonNode.get("needCrawer");
|
|
|
if(needCrawerNode!=null){
|
|
|
sqlCreator.equalCondition("needCrawer",needCrawerNode.asLong());
|
|
|
}
|
|
|
sqlCreator.likeOrCondition("stdMetadataCode", "stdMetadataName", name);
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
@ -229,12 +247,17 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
}
|
|
|
|
|
|
String sql = sqlCreator.countData(tableName);
|
|
|
Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
|
|
|
Query query = getCurrentSession().createSQLQuery(sql);
|
|
|
for (String key : sqlCreator.getKeyValueMap().keySet()) {
|
|
|
query.setParameter(key, sqlCreator.getKeyValueMap().get(key));
|
|
|
}
|
|
|
Integer count = Integer.parseInt(StringUtil.toString(query.list().get(0)));
|
|
|
return count;
|
|
|
}
|
|
|
|
|
|
public List getInfoList(String adapterVersion, String condition, String order, Integer limit, Integer offset) throws Exception{
|
|
|
AdapterVersion version = new AdapterVersion(adapterVersion); List<AdapterMetadataModel> metadataModelList = getList(AdapterMetadataModel.class, version.getMetaDataTableName(), condition, order, limit, offset);
|
|
|
AdapterVersion version = new AdapterVersion(adapterVersion);
|
|
|
List<AdapterMetadataModel> metadataModelList = getList(AdapterMetadataModel.class, version.getMetaDataTableName(), condition, order, limit, offset);
|
|
|
List<Long> idList = new ArrayList<>();
|
|
|
Map<Long, StdMetaDataModel> stdMetaDataModelMap = new HashMap<>();
|
|
|
Long schemeId = null;
|
|
@ -252,7 +275,8 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
SqlCreator sqlCreator = new SqlCreator(StdMetaDataModel.class);
|
|
|
sqlCreator.inCondition("id", idList);
|
|
|
String sql = sqlCreator.selectData(tableName);
|
|
|
List<StdMetaDataModel> stdMetadataModelList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(StdMetaDataModel.class));
|
|
|
Query query = getQuery(sqlCreator, sql);
|
|
|
List<StdMetaDataModel> stdMetadataModelList = query.list();
|
|
|
for (StdMetaDataModel model : stdMetadataModelList) {
|
|
|
stdMetaDataModelMap.put(model.getId(), model);
|
|
|
}
|
|
@ -285,15 +309,16 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
return detailModelList;
|
|
|
}
|
|
|
|
|
|
public ListEnvelop updateMetadatas(String adapterVersion, String list) {
|
|
|
public Envelop updateMetadatas(String adapterVersion,String stdVersion, String list) {
|
|
|
try {
|
|
|
AdapterVersion version = new AdapterVersion(adapterVersion);
|
|
|
List<ApiMetadataResultDetailModel> adapterMetadataList = Arrays.asList(objectMapper.readValue(list, ApiMetadataResultDetailModel[].class));
|
|
|
List<String> sqlList = new ArrayList<>();
|
|
|
List<Long> idList = new ArrayList<>();
|
|
|
Map<Long, ApiMetadataResultDetailModel> metadataResultMap = new HashMap<>();
|
|
|
AdapterMetadataModel adapterMetadataModel = null;
|
|
|
for (ApiMetadataResultDetailModel metadataModel : adapterMetadataList) {
|
|
|
AdapterMetadataModel adapterMetadataModel = new AdapterMetadataModel();
|
|
|
adapterMetadataModel = new AdapterMetadataModel();
|
|
|
adapterMetadataModel.setId(metadataModel.getId());
|
|
|
adapterMetadataModel.setSchemeId(metadataModel.getSchemeId());
|
|
|
adapterMetadataModel.setAdapterDatasetId(metadataModel.getAdapterDatasetId());
|
|
@ -309,8 +334,13 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
adapterMetadataModel.setStdMetadataCode(metadataModel.getStdMetadataCode());
|
|
|
adapterMetadataModel.setStdMetadataName(metadataModel.getStdMetadataName());
|
|
|
adapterMetadataModel.setAdapterInfo(metadataModel.getAdapterInfo());
|
|
|
adapterMetadataModel.setBelongAdapterId(metadataModel.getBelongAdapterId());
|
|
|
adapterMetadataModel.setAdapterDefault(metadataModel.getAdapterDefault());
|
|
|
adapterMetadataModel.setNeedCrawer(1);
|
|
|
idList.add(metadataModel.getStdDatasetId());
|
|
|
metadataResultMap.put(metadataModel.getStdDatasetId(), metadataModel);
|
|
|
if (!StringUtil.isEmpty(metadataModel.getAdapterDatasetCode())){
|
|
|
metadataResultMap.put(metadataModel.getStdDatasetId(), metadataModel);
|
|
|
}
|
|
|
JsonNode jsonNode = objectMapper.readTree(objectMapper.writeValueAsString(adapterMetadataModel));
|
|
|
SqlCreator sqlCreator = new SqlCreator(AdapterMetadataModel.class);
|
|
|
String sql = sqlCreator.updateDataByTableKey(version.getMetaDataTableName(), jsonNode);
|
|
@ -318,31 +348,69 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
Query query = getExeuteQuery(sqlCreator, sql);
|
|
|
query.executeUpdate();
|
|
|
}
|
|
|
if (!CollectionUtils.isEmpty(idList)) {
|
|
|
String tableName = version.getDataSetTableName();
|
|
|
SqlCreator sqlCreator = new SqlCreator(AdapterDatasetModel.class);
|
|
|
sqlCreator.inCondition("stdDatasetId", idList);
|
|
|
String sql = sqlCreator.selectData(tableName);
|
|
|
List<AdapterDatasetModel> adapterDatasetModelList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(AdapterDatasetModel.class));
|
|
|
for (AdapterDatasetModel model : adapterDatasetModelList) {
|
|
|
ApiMetadataResultDetailModel metadataModel = metadataResultMap.get(model.getStdDatasetId());
|
|
|
model.setAdapterDatasetId(metadataModel.getAdapterDatasetId()+"");
|
|
|
model.setAdapterDatasetCode(metadataModel.getAdapterDatasetCode());
|
|
|
model.setAdapterDatasetName(metadataModel.getAdapterDatasetName());
|
|
|
JsonNode jsonNode = objectMapper.readTree(objectMapper.writeValueAsString(model));
|
|
|
sqlCreator = new SqlCreator(AdapterDatasetModel.class);
|
|
|
sql = sqlCreator.updateDataByTableKey(version.getDataSetTableName(), jsonNode);
|
|
|
sqlList.add(sql);
|
|
|
Query query = getExeuteQuery(sqlCreator, sql);
|
|
|
query.executeUpdate();
|
|
|
}
|
|
|
if(adapterMetadataModel!=null){
|
|
|
//获取belongAdapterId
|
|
|
Long belongAdapterId = adapterMetadataModel.getBelongAdapterId();
|
|
|
|
|
|
changeDatasetRelation(version,belongAdapterId,stdVersion);
|
|
|
}
|
|
|
|
|
|
return ListEnvelop.getSuccess("修改适配数据元成功",adapterMetadataList);
|
|
|
} catch (Exception e) {
|
|
|
return ListEnvelop.getError("修改适配数据元失败");
|
|
|
e.printStackTrace();
|
|
|
return Envelop.getError("修改适配数据元失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public void changeDatasetRelation(AdapterVersion version,Long belongAdapterId,String stdVersion){
|
|
|
//获取匹配到的标准数据集id
|
|
|
String sql = "select DISTINCT adapter_dataset_id from "+version.getMetaDataTableName() +" where belong_adapter_id=? and adapter_dataset_id is not null";
|
|
|
List<Long> adapterDatasetIdList = jdbcTemplate.queryForList(sql,Long.class ,belongAdapterId);
|
|
|
String adapterDatasetIds = "";
|
|
|
String adapterDatasetCodes = "";
|
|
|
String adapterDatasetNames = "";
|
|
|
StandardVersion standardVersion = new StandardVersion(stdVersion);
|
|
|
|
|
|
if(!CollectionUtils.isEmpty(adapterDatasetIdList)){
|
|
|
String tableName = standardVersion.getDataSetTableName();
|
|
|
SqlCreator sqlCreator = new SqlCreator(StdDataSetModel.class);
|
|
|
String ids="";
|
|
|
for(Long adapterDataset: adapterDatasetIdList){
|
|
|
ids+=","+adapterDataset;
|
|
|
}
|
|
|
sqlCreator.inCondition("id", ids.substring(1,ids.length()));
|
|
|
sql = sqlCreator.selectData(tableName);
|
|
|
Query query = getQuery(sqlCreator, sql);
|
|
|
List<StdDataSetModel> stdDataSetModelList = query.list();
|
|
|
if(!CollectionUtils.isEmpty(stdDataSetModelList)){
|
|
|
for(StdDataSetModel stdDataSetModel:stdDataSetModelList){
|
|
|
Long id = stdDataSetModel.getId();
|
|
|
String code = stdDataSetModel.getCode();
|
|
|
String name = stdDataSetModel.getName();
|
|
|
if(!"".equals(adapterDatasetIds)){
|
|
|
adapterDatasetIds+=","+id;
|
|
|
}else{
|
|
|
adapterDatasetIds=id+"";
|
|
|
}
|
|
|
if(!"".equals(adapterDatasetCodes)){
|
|
|
adapterDatasetCodes+=","+code;
|
|
|
}else{
|
|
|
adapterDatasetCodes=code;
|
|
|
}
|
|
|
if(!"".equals(adapterDatasetNames)){
|
|
|
adapterDatasetNames+=","+name;
|
|
|
}else{
|
|
|
adapterDatasetNames=name;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
sql = SqlConstants.UPDATE + version.getDataSetTableName() + SqlConstants.SET+" " +
|
|
|
"adapter_dataset_id='"+adapterDatasetIds+"',adapter_dataset_code='"+adapterDatasetCodes+"',adapter_dataset_name='"+adapterDatasetNames+
|
|
|
"' where id="+belongAdapterId;
|
|
|
jdbcTemplate.execute(sql);
|
|
|
}
|
|
|
|
|
|
public Envelop deleteMultiple(String adapterVersion, Integer metadataId, Integer stdDatasetId, Integer adapterDatasetId) {
|
|
|
try {
|
|
|
if (adapterVersion == null || adapterVersion.length() == 0) {
|
|
@ -360,7 +428,8 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
sqlCreator.equalCondition("stdDatasetId", stdDatasetId);
|
|
|
sqlCreator.equalCondition("adapterDatasetId", adapterDatasetId);
|
|
|
sql = sqlCreator.countData(version.getMetaDataTableName());
|
|
|
Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
|
|
|
query = getExeuteQuery(sqlCreator, sql);
|
|
|
Integer count = Integer.parseInt(StringUtil.toString(query.list().get(0)));
|
|
|
if (count == 0) {
|
|
|
sql = "delete from " + version.getDataSetTableName() + " where std_dataset_id = :stdDatasetId and adapter_dataset_id = :adapterDatasetId";
|
|
|
query = session.createSQLQuery(sql);
|
|
@ -374,7 +443,7 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public List getAdapterMetadataByDataset(String adapterVersion,Integer datasetId){
|
|
|
public List getAdapterMetadataByDataset(String adapterVersion,Long datasetId){
|
|
|
Map<String,Object> map = new HashMap<String,Object>();
|
|
|
map.put("stdDatasetId", datasetId);
|
|
|
String tableName="adapter_metadata_"+adapterVersion;
|
|
@ -389,7 +458,7 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
|
|
|
}
|
|
|
|
|
|
public AdapterDatasetModel getAdapterDataset(String adapterVersion,Integer datasetId){
|
|
|
public AdapterDatasetModel getAdapterDataset(String adapterVersion, Long datasetId){
|
|
|
Map<String,Object> map = new HashMap<String,Object>();
|
|
|
map.put("stdDatasetId", datasetId);
|
|
|
String tableName="adapter_dataset_"+adapterVersion;
|
|
@ -407,13 +476,14 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
SqlCreator sqlCreator = new SqlCreator(AdapterMetadataModel.class);
|
|
|
sqlCreator.equalCondition("id", adapterMetadataId);
|
|
|
String sql = sqlCreator.selectData("adapter_metadata_"+version);
|
|
|
return jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(AdapterMetadataModel.class)).get(0);
|
|
|
Query query = getQuery(sqlCreator, sql);
|
|
|
return (AdapterMetadataModel)query.uniqueResult();
|
|
|
} catch (Exception e) {
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public List getAdapterMetadataNotNullList(AdapterVersion adapterVersion, Integer stdDatasetId, String condition) {
|
|
|
public List getAdapterMetadataNotNullList(AdapterVersion adapterVersion, Long stdDatasetId, String condition) {
|
|
|
try {
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
sql.append("SELECT * FROM ").append(adapterVersion.getMetaDataTableName());
|
|
@ -442,6 +512,20 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
public List<AdapterMetadataModel> getAllAdaptMetadata(String schemaName, String adapter_version){
|
|
|
AdapterVersion adapterVersion = new AdapterVersion(adapter_version);
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
sql.append("SELECT m.*").append(" FROM "+adapterVersion.getMetaDataTableName()).append(" m where m.adapter_metadata_id is not null");
|
|
|
|
|
|
String myCatAnnotation = "/*#mycat:schema=" + schemaName + "*/ ";
|
|
|
String completeSql = myCatAnnotation + sql;
|
|
|
|
|
|
Query query = getCurrentSession().createSQLQuery(completeSql);
|
|
|
query.setResultTransformer(new BeanTransformer(AdapterMetadataModel.class));
|
|
|
List<AdapterMetadataModel> list = query.list();
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
public List<AdapterMetadataModel> getAllUnAdaptMetadata(String version){
|
|
|
AdapterVersion adapterVersion = new AdapterVersion(version);
|
|
|
StringBuffer sql = new StringBuffer();
|
|
@ -452,10 +536,41 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
public void saveAdapt(AdapterMetadataModel strategyMetadata,StdMetaDataModel orgMetadata,String version,String adapterInfo) throws Exception {
|
|
|
public List<AdapterMetadataModel> getAllUnAdaptMetadata(String schemaName, String version){
|
|
|
AdapterVersion adapterVersion = new AdapterVersion(version);
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
sql.append("SELECT m.*").append(" FROM "+adapterVersion.getMetaDataTableName()).append(" m where m.adapter_metadata_id is null");
|
|
|
|
|
|
String myCatAnnotation = "/*#mycat:schema=" + schemaName + "*/ ";
|
|
|
String completeSql = myCatAnnotation + sql;
|
|
|
|
|
|
|
|
|
Query query1 = getCurrentSession().createSQLQuery(sql.toString());
|
|
|
query1.setResultTransformer(new BeanTransformer(AdapterMetadataModel.class));
|
|
|
List<AdapterMetadataModel> list1 = query1.list();
|
|
|
|
|
|
|
|
|
Query query = getCurrentSession().createSQLQuery(completeSql);
|
|
|
query.setResultTransformer(new BeanTransformer(AdapterMetadataModel.class));
|
|
|
List<AdapterMetadataModel> list = query.list();
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
public List<AdapterMetadataModel> getUnAdaptMetadataByid(String version, Long id){
|
|
|
AdapterVersion adapterVersion = new AdapterVersion(version);
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
sql.append("SELECT m.*").append(" FROM "+adapterVersion.getMetaDataTableName()).append(" m where m.adapter_info =0 and m.belong_adapter_id="+id);
|
|
|
Query query = getCurrentSession().createSQLQuery(sql.toString());
|
|
|
query.setResultTransformer(new BeanTransformer(AdapterMetadataModel.class));
|
|
|
List<AdapterMetadataModel> list = query.list();
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
|
|
|
public void saveAdapt(AdapterMetadataModel strategyMetadata, StdMetaDataModel orgMetadata, String version, String adapterInfo) throws Exception {
|
|
|
strategyMetadata.setAdapterDatasetId(orgMetadata.getDataSetId());
|
|
|
strategyMetadata.setAdapterMetadataId(orgMetadata.getId());
|
|
|
strategyMetadata.setAdapterMetadataCode(orgMetadata.getCode());
|
|
|
strategyMetadata.setAdapterMetadataCode(orgMetadata.getInnerCode());
|
|
|
strategyMetadata.setAdapterMetadataName(orgMetadata.getName());
|
|
|
strategyMetadata.setAdapterInfo(adapterInfo);
|
|
|
JsonNode jsonNode = objectMapper.readTree(objectMapper.writeValueAsString(strategyMetadata));
|
|
@ -465,13 +580,30 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
query.executeUpdate();
|
|
|
}
|
|
|
|
|
|
public String saveAdaptSql(AdapterMetadataModel strategyMetadata,StdMetaDataModel orgMetadata,String version,String adapterInfo) throws Exception {
|
|
|
public void saveAdapt(String schemaName, AdapterMetadataModel strategyMetadata, StdMetaDataModel orgMetadata, String version, String adapterInfo) throws Exception {
|
|
|
strategyMetadata.setAdapterDatasetId(orgMetadata.getDataSetId());
|
|
|
strategyMetadata.setAdapterMetadataId(orgMetadata.getId());
|
|
|
strategyMetadata.setAdapterMetadataCode(orgMetadata.getInnerCode());
|
|
|
strategyMetadata.setAdapterMetadataName(orgMetadata.getName());
|
|
|
strategyMetadata.setAdapterInfo(adapterInfo);
|
|
|
JsonNode jsonNode = objectMapper.readTree(objectMapper.writeValueAsString(strategyMetadata));
|
|
|
SqlCreator sqlCreator = new SqlCreator(AdapterMetadataModel.class);
|
|
|
String sql = sqlCreator.updateDataByTableKey(new AdapterVersion(version).getMetaDataTableName(), jsonNode);
|
|
|
|
|
|
String myCatAnnotation = "/*#mycat:schema=" + schemaName + "*/ ";
|
|
|
String completeSql = myCatAnnotation + sql;
|
|
|
|
|
|
Query query = getExeuteQuery(sqlCreator, completeSql);
|
|
|
query.executeUpdate();
|
|
|
}
|
|
|
|
|
|
public String saveAdaptSql(AdapterMetadataModel strategyMetadata, StdMetaDataModel orgMetadata, String version, String adapterInfo) throws Exception {
|
|
|
StringBuilder sqlBuffer = new StringBuilder();
|
|
|
if(null != orgMetadata){
|
|
|
sqlBuffer.append(SqlConstants.UPDATE + new AdapterVersion(version).getMetaDataTableName() + SqlConstants.SET);
|
|
|
sqlBuffer.append(" adapter_dataset_id = " + orgMetadata.getDataSetId());
|
|
|
sqlBuffer.append(",adapter_metadata_id = " + orgMetadata.getId());
|
|
|
sqlBuffer.append(",adapter_metadata_code = '" + orgMetadata.getCode() + "'");
|
|
|
sqlBuffer.append(",adapter_metadata_code = '" + orgMetadata.getInnerCode() + "'");
|
|
|
sqlBuffer.append(",adapter_metadata_name = '" + orgMetadata.getName() + "'");
|
|
|
if(null != adapterInfo){
|
|
|
sqlBuffer.append(",adapter_info = " + adapterInfo);
|
|
@ -484,4 +616,29 @@ public class AdapterMetadataService extends SQLGeneralDAO {
|
|
|
public void insertBatch(final List<String> insertSqlList) {
|
|
|
super.insertBatch(insertSqlList);
|
|
|
}
|
|
|
|
|
|
public Envelop clearAdapt(String adapterVersion, Long stdDatasetId, Long belongAdapterId) {
|
|
|
Envelop envelop = new Envelop();
|
|
|
//数据元可能数量比较多--->>使用原生sql提高清空数据元适配效率
|
|
|
StringBuilder sqlBuffer = new StringBuilder();
|
|
|
AdapterVersion version = new AdapterVersion(adapterVersion);
|
|
|
String metaDataTableName = version.getMetaDataTableName();
|
|
|
|
|
|
//清空数据元适配
|
|
|
sqlBuffer.append(SqlConstants.UPDATE + metaDataTableName + SqlConstants.SET );
|
|
|
sqlBuffer.append(" adapter_dataset_id = null , adapter_metadata_id = null , adapter_metadata_code = null ," +
|
|
|
"adapter_metadata_name = null, adapter_data_type=0 ,adapter_dict_id=null ,adapter_info=0 ,adapter_default=null " +
|
|
|
"where belong_adapter_id="+belongAdapterId+" and std_dataset_id="+stdDatasetId);
|
|
|
jdbcTemplate.execute(sqlBuffer.toString());
|
|
|
|
|
|
//清空数据集适配
|
|
|
String dataSetTable = version.getDataSetTableName();
|
|
|
String sql = SqlConstants.UPDATE + dataSetTable + SqlConstants.SET+" " +
|
|
|
"adapter_dataset_id =null ,adapter_dataset_code =null,adapter_dataset_name=null " +
|
|
|
"where id="+ belongAdapterId;
|
|
|
jdbcTemplate.execute(sql);
|
|
|
|
|
|
envelop.setStatus(200);
|
|
|
return envelop;
|
|
|
}
|
|
|
}
|