Commit 778d7deb authored by mcb's avatar mcb

Merge branch 'dmp_dev' of http://gitlab.ioubuy.cn/yaobenzhang/jz-dmp-service into dmp_dev

# Conflicts:
#	src/main/java/com/jz/dmp/modules/service/impl/OfflineSynchServiceImpl.java
parent c10b0272
...@@ -247,8 +247,8 @@ public class OfflineSynchController { ...@@ -247,8 +247,8 @@ public class OfflineSynchController {
try { try {
list = offlineSynchService.addSyncTask(syncDmpTaskAddReq); list = offlineSynchService.addSyncTask(syncDmpTaskAddReq);
} catch (Exception e) { } catch (Exception e) {
list.setMessage("保存失败!");
list.setCode(ResultCode.INTERNAL_SERVER_ERROR); list.setCode(ResultCode.INTERNAL_SERVER_ERROR);
list.setMessage(e.getMessage());
e.printStackTrace(); e.printStackTrace();
} }
return list; return list;
......
...@@ -129,7 +129,8 @@ public class DmpDevelopTaskServiceImpl extends BaseService implements DmpDevelop ...@@ -129,7 +129,8 @@ public class DmpDevelopTaskServiceImpl extends BaseService implements DmpDevelop
System.out.println(xmlContent); System.out.println(xmlContent);
} catch (Exception e) { } catch (Exception e) {
logger.error("封装离线同步xml内容出错:" + e.getMessage(), e); logger.error("封装离线同步xml内容出错:" + e.getMessage(), e);
return new JsonResult(ResultCode.PARAMS_ERROR); throw new RuntimeException(e.getMessage());
//return JsonResult.error(ResultCode.INTERNAL_SERVER_ERROR,e.getMessage());
} }
return submitSyncXml(task.getProjectId(), xmlContent); return submitSyncXml(task.getProjectId(), xmlContent);
} }
...@@ -250,7 +251,7 @@ public class DmpDevelopTaskServiceImpl extends BaseService implements DmpDevelop ...@@ -250,7 +251,7 @@ public class DmpDevelopTaskServiceImpl extends BaseService implements DmpDevelop
DmpSyncingDatasource tDS = this.getDmpSyncingDatasource(_projectId_, _targetDbConnection);//目标 DmpSyncingDatasource tDS = this.getDmpSyncingDatasource(_projectId_, _targetDbConnection);//目标
if (null == sDS || null == tDS || null == sDS.getDatasourceType() || null == tDS.getDatasourceType()) if (null == sDS || null == tDS || null == sDS.getDatasourceType() || null == tDS.getDatasourceType())
throw new Exception("同步数据来源或数据去向信息有误"); throw new RuntimeException("同步数据来源或数据去向信息有误");
//根据数据源类型ID 获取数据源类型 //根据数据源类型ID 获取数据源类型
DmpSyncingDatasourceType sDST = dmpSyncingDatasourceTypeDao.queryById(sDS.getDatasourceType());//源 DmpSyncingDatasourceType sDST = dmpSyncingDatasourceTypeDao.queryById(sDS.getDatasourceType());//源
DmpSyncingDatasourceType tDST = dmpSyncingDatasourceTypeDao.queryById(tDS.getDatasourceType());//目标 DmpSyncingDatasourceType tDST = dmpSyncingDatasourceTypeDao.queryById(tDS.getDatasourceType());//目标
......
...@@ -473,15 +473,16 @@ public class OfflineSynchServiceImpl implements OfflineSynchService { ...@@ -473,15 +473,16 @@ public class OfflineSynchServiceImpl implements OfflineSynchService {
@Override @Override
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW) @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
public JsonResult addSyncTask(SyncDmpTaskAddReq syncDmpTaskAddReq) throws Exception { public JsonResult addSyncTask(SyncDmpTaskAddReq syncDmpTaskAddReq) throws Exception {
JsonResult jsonResult = new JsonResult();
List<Map<String, Object>> result = new ArrayList<>(); List<Map<String, Object>> result = new ArrayList<>();
Map<String, Object> reqParam = syncDmpTaskAddReq.getParams(); Map<String, Object> reqParam = syncDmpTaskAddReq.getParams();
if (reqParam.size() > 0 && reqParam != null) { if (reqParam.size() > 0 && reqParam != null) {
JsonResult jsonResult = addSyncing(reqParam); jsonResult = addSyncing(reqParam);
DmpDevelopTask data = (DmpDevelopTask) jsonResult.getData(); DmpDevelopTask data = (DmpDevelopTask) jsonResult.getData();
//保存规则信息 //保存规则信息
saveRuleInfo(result, reqParam, jsonResult, String.valueOf(data.getId())); //saveRuleInfo(result, reqParam, jsonResult, String.valueOf(data.getId()));
} }
return new JsonResult(ResultCode.SUCCESS, result); return jsonResult;
} }
/* /*
...@@ -637,6 +638,7 @@ public class OfflineSynchServiceImpl implements OfflineSynchService { ...@@ -637,6 +638,7 @@ public class OfflineSynchServiceImpl implements OfflineSynchService {
e.printStackTrace(); e.printStackTrace();
} }
task.setData(data); //json 数据 task.setData(data); //json 数据
task.setScript(body.toString());
task.setTargetDbName(targetDb); task.setTargetDbName(targetDb);
task.setTargetTableName(targetTable); task.setTargetTableName(targetTable);
task.setSourceTableName(sourceTableName); task.setSourceTableName(sourceTableName);
...@@ -648,6 +650,11 @@ public class OfflineSynchServiceImpl implements OfflineSynchService { ...@@ -648,6 +650,11 @@ public class OfflineSynchServiceImpl implements OfflineSynchService {
dmpDevelopTaskDao.insert(task); //新增任务数据 dmpDevelopTaskDao.insert(task); //新增任务数据
this.saveTaskHistory(task); //保存任务历史版本 this.saveTaskHistory(task); //保存任务历史版本
logger.info("################################## 新增离线任务数据结束 ############################################"); logger.info("################################## 新增离线任务数据结束 ############################################");
//更新规则信息
List<DvTaskRuleT> list = new ArrayList<>();
List<Map> taskRules = (List<Map>) body.get("taskRules");
//保存dmp数据校验规则信息
settRuleInfo(taskId, taskRules, list);
} else { } else {
DmpDevelopTask devTask = dmpDevelopTaskDao.selectTaskById(taskId); DmpDevelopTask devTask = dmpDevelopTaskDao.selectTaskById(taskId);
BigDecimal version = new BigDecimal(devTask.getVersion()); BigDecimal version = new BigDecimal(devTask.getVersion());
...@@ -661,8 +668,7 @@ public class OfflineSynchServiceImpl implements OfflineSynchService { ...@@ -661,8 +668,7 @@ public class OfflineSynchServiceImpl implements OfflineSynchService {
logger.info("################################## 编辑离线任务数据结束 ############################################"); logger.info("################################## 编辑离线任务数据结束 ############################################");
} }
//保存时提交XML //保存时提交XML
dmpDevelopTaskService.submitSyncing(task); return dmpDevelopTaskService.submitSyncing(task);
return new JsonResult(ResultCode.SUCCESS, task);
} }
/** /**
...@@ -680,15 +686,20 @@ public class OfflineSynchServiceImpl implements OfflineSynchService { ...@@ -680,15 +686,20 @@ public class OfflineSynchServiceImpl implements OfflineSynchService {
DmpDevelopTaskHistory taskHistory = new DmpDevelopTaskHistory(); DmpDevelopTaskHistory taskHistory = new DmpDevelopTaskHistory();
taskHistory.setTaskId(task.getId()); taskHistory.setTaskId(task.getId());
taskHistory.setVersion(task.getVersion()); taskHistory.setVersion(task.getVersion());
taskHistory.setData(task.getData()); //taskHistory.setData(task.getData());
taskHistory.setScript(task.getScript());
taskHistory.setTaskDesc(task.getTaskDesc()); taskHistory.setTaskDesc(task.getTaskDesc());
taskHistory.setTaskId(task.getTreeId()); taskHistory.setTreeId(task.getTreeId());
taskHistory.setTaskType(task.getTaskType()); taskHistory.setTaskType(task.getTaskType());
taskHistory.setDatasourceId(task.getDatasourceId()); taskHistory.setDatasourceId(task.getDatasourceId());
taskHistory.setCreateTime(task.getCreateTime()); taskHistory.setCreateTime(task.getCreateTime());
if (StringUtils.isNotEmpty(task.getCreateUserId())) {
taskHistory.setCreateUserId(Integer.valueOf(task.getCreateUserId())); taskHistory.setCreateUserId(Integer.valueOf(task.getCreateUserId()));
}
taskHistory.setUpdateTime(task.getUpdateTime()); taskHistory.setUpdateTime(task.getUpdateTime());
if (StringUtils.isNotEmpty(task.getUpdateUserId())) {
taskHistory.setUpdateUserId(Integer.valueOf(task.getUpdateUserId())); taskHistory.setUpdateUserId(Integer.valueOf(task.getUpdateUserId()));
}
taskHistory.setDataStatus(DelFlagEnum.NO.getValue()); taskHistory.setDataStatus(DelFlagEnum.NO.getValue());
dmpDevelopTaskHistoryMapper.insert(taskHistory); dmpDevelopTaskHistoryMapper.insert(taskHistory);
return JsonResult.ok(); return JsonResult.ok();
...@@ -728,18 +739,22 @@ public class OfflineSynchServiceImpl implements OfflineSynchService { ...@@ -728,18 +739,22 @@ public class OfflineSynchServiceImpl implements OfflineSynchService {
* @throws Exception * @throws Exception
*/ */
private void settRuleInfo(String taskId, List<Map> rules, List<DvTaskRuleT> list) throws Exception { private void settRuleInfo(String taskId, List<Map> rules, List<DvTaskRuleT> list) throws Exception {
if (rules.size() > 0 && rules != null) {
for (Map rule : rules) { for (Map rule : rules) {
if (StringUtils.isNotEmpty(rule.get("ruleId").toString())) {
DvTaskRuleT taskRuleT = new DvTaskRuleT(); DvTaskRuleT taskRuleT = new DvTaskRuleT();
Integer ruleId = Integer.valueOf(rule.get("ruleId").toString());
String ruleValue = (String) rule.get("ruleValue"); String ruleValue = (String) rule.get("ruleValue");
taskRuleT.setTaskId(taskId);//任务ID taskRuleT.setTaskId(taskId);//任务ID
taskRuleT.setRuleId(ruleId.longValue()); taskRuleT.setRuleId(Long.valueOf(rule.get("ruleId").toString()));
taskRuleT.setRuleValue(ruleValue); taskRuleT.setRuleValue(ruleValue);
list.add(taskRuleT); list.add(taskRuleT);
} }
}
//批量新增任务与规则关系表 //批量新增任务与规则关系表
if (list.size() > 0 && list != null)
dvTaskRuleTService.saveRule(list); dvTaskRuleTService.saveRule(list);
} }
}
/** /**
* 获取数据源表字段 * 获取数据源表字段
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment