主数据下发修改业务调整

This commit is contained in:
lvleigang 2024-07-17 14:22:29 +08:00
parent 740f3a593e
commit 01ca0a5c19
2 changed files with 140 additions and 18 deletions

View File

@ -17,6 +17,8 @@ import com.hzya.frame.mdm.mdmModuleDistribute.dao.IMdmModuleDistributeDao;
import com.hzya.frame.mdm.mdmModuleDistribute.entity.MdmModuleDistributeEntity;
import com.hzya.frame.mdm.mdmModuleDistributeDetail.dao.IMdmModuleDistributeDetailDao;
import com.hzya.frame.mdm.mdmModuleDistributeDetail.entity.MdmModuleDistributeDetailEntity;
import com.hzya.frame.mdm.mdmModuleDistributeTripartite.dao.IMdmModuleDistributeTripartiteDao;
import com.hzya.frame.mdm.mdmModuleDistributeTripartite.entity.MdmModuleDistributeTripartiteEntity;
import com.hzya.frame.mdm.mdmModuleSendLog.dao.IMdmModuleSendLogDao;
import com.hzya.frame.mdm.mdmModuleSendLog.entity.MdmModuleSendLogEntity;
import com.hzya.frame.mdm.service.IMdmServiceCache;
@ -79,7 +81,8 @@ public class MdmModulePluginInitializer extends PluginBaseEntity {
private IMdmServiceCache mdmServiceCache;
@Resource
private IMdmModuleSendLogDao mdmModuleSendLogDao;
@Resource
private IMdmModuleDistributeTripartiteDao mdmModuleDistributeTripartiteDao;
@Value("${zt.url}")
private String url ;
@ -342,6 +345,21 @@ public class MdmModulePluginInitializer extends PluginBaseEntity {
parameterJson.put("body",apiEntity.getBodyIn());
parameterJson.put("query",apiEntity.getQueryIn());
parameterJson.put("data",object);
if (!"1".equals(type)) {//删除或者修改情况,查询三方id有就设置没有就设置空
//1根据主数据id数据id应用ID默认查询主数据应用下发三方id表只查询最新的一条数据
MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity = new MdmModuleDistributeTripartiteEntity();
mdmModuleDistributeTripartiteEntity.setSts("Y");
mdmModuleDistributeTripartiteEntity.setMdmId(mdmModuleEntity.getId());
mdmModuleDistributeTripartiteEntity.setDataId(object.getString("id"));
mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId());
mdmModuleDistributeTripartiteEntity = mdmModuleDistributeTripartiteDao.queryOneTripartite(mdmModuleDistributeTripartiteEntity);
String tripartiteId = "";
if(mdmModuleDistributeTripartiteEntity != null && mdmModuleDistributeTripartiteEntity.getTripartiteId() != null ){
tripartiteId = mdmModuleDistributeTripartiteEntity.getTripartiteId();
}
parameterJson.put("tripartiteId", tripartiteId);
}
/** head */
Map<String, String> header = null;
/** query */
@ -408,6 +426,39 @@ public class MdmModulePluginInitializer extends PluginBaseEntity {
//组装数据发送
JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys);
if(jsonResultEntity.isFlag()){
if ("1".equals(type)) {//保存三方返回id
if (scriptEntity != null && scriptEntity.getId() != null && scriptEntity.getBackScriptData() != null ) {
JSONObject backScriptJson = new JSONObject();
backScriptJson.put("data", jsonResultEntity.getAttribute());
groovy.put("code", scriptEntity.getScriptCode()+"back");
groovy.put("className", scriptEntity.getClassName()+"back");
groovy.put("name", scriptEntity.getScriptName()+"back");
groovy.put("methodStr", scriptEntity.getBackScriptData());
groovy.put("parameterJson", backScriptJson);
JSONObject groovyStr = new JSONObject();
groovyStr.put("jsonStr", groovy);
try {
Object str = groovyIntegrationService.groovyScriptExecution(groovyStr);
if(str != null){
JSONObject backJsonResultEntity = JSONObject.parseObject(str.toString());
if(backJsonResultEntity != null && backJsonResultEntity.getString("success") != null && "true".equals(backJsonResultEntity.getString("success"))){
MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity = new MdmModuleDistributeTripartiteEntity();
mdmModuleDistributeTripartiteEntity.setCreate();
mdmModuleDistributeTripartiteEntity.setMdmId(mdmModuleEntity.getId());
mdmModuleDistributeTripartiteEntity.setDataId(object.getString("id"));
mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId());
mdmModuleDistributeTripartiteEntity.setTripartiteId(backJsonResultEntity.getString("tripartiteId"));
mdmModuleDistributeTripartiteDao.save(mdmModuleDistributeTripartiteEntity);
}
}
} catch (Exception e) {
logger.error("新增返回脚本解析保存三方id错误"+jsonResultEntity.getAttribute());
taskDetailEntity.setResult("新增返回脚本解析保存三方id错误");
taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("发送错误");
}
}
}
taskDetailEntity.setResult("发送成功");
taskLivingDetailsService.saveLogFailToSuccess(taskDetailEntity);
return BaseResult.getFailureMessageEntity("发送成功");
@ -422,6 +473,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity {
//查询主数据
MdmModuleEntity queryMdmModuleEntity = new MdmModuleEntity();
queryMdmModuleEntity.setSts("Y");
queryMdmModuleEntity.setMdmCode(10004L);
List<MdmModuleEntity> mdmModuleEntities = mdmModuleDao.queryBase(queryMdmModuleEntity);
if(mdmModuleEntities == null || mdmModuleEntities.size() == 0){
return BaseResult.getSuccessMessageEntity("主数据未设置,不需要下发");
@ -458,11 +510,11 @@ public class MdmModulePluginInitializer extends PluginBaseEntity {
List<MdmModuleDbFiledsRuleEntity> mdmModuleDbFiledsRuleEntities = mdmModuleDbFiledsRuleDao.queryBase(queryFildRule);
//新增
doAdd(mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities);
doAdd(mdmModuleEntities.get(i).getId(),mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities);
//修改
//doUpdate(mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities);
doUpdate(mdmModuleEntities.get(i).getId(),mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities);
//删除
//doDelete(mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities);
doDelete(mdmModuleEntities.get(i).getId(),mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities);
}
@ -476,7 +528,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity {
return BaseResult.getSuccessMessageEntity("执行成功");
}
private void doDelete(Long mainCode,List<MdmModuleDbEntity> mdmModuleDbEntities, List<MdmModuleDistributeEntity> mdmModuleDistributeEntities, List<MdmModuleDbFiledsRuleEntity> mdmModuleDbFiledsRuleEntities, List<MdmModuleDbFiledsEntity> mdmModuleDbFiledsEntities) throws Exception {
private void doDelete(String mdmId,Long mainCode,List<MdmModuleDbEntity> mdmModuleDbEntities, List<MdmModuleDistributeEntity> mdmModuleDistributeEntities, List<MdmModuleDbFiledsRuleEntity> mdmModuleDbFiledsRuleEntities, List<MdmModuleDbFiledsEntity> mdmModuleDbFiledsEntities) throws Exception {
//查询一千条数据
String mainDb = null;
List<JSONObject> objects = new ArrayList<>();
@ -573,6 +625,20 @@ public class MdmModulePluginInitializer extends PluginBaseEntity {
parameterJson.put("body",apiEntity.getBodyIn());
parameterJson.put("query",apiEntity.getQueryIn());
parameterJson.put("data",doObjects.get(i));
//1根据主数据id数据id应用ID默认查询主数据应用下发三方id表只查询最新的一条数据
MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity = new MdmModuleDistributeTripartiteEntity();
mdmModuleDistributeTripartiteEntity.setSts("Y");
mdmModuleDistributeTripartiteEntity.setMdmId(mdmId);
mdmModuleDistributeTripartiteEntity.setDataId(objects.get(i).getString("id"));
mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId());
mdmModuleDistributeTripartiteEntity = mdmModuleDistributeTripartiteDao.queryOneTripartite(mdmModuleDistributeTripartiteEntity);
String tripartiteId = "";
if(mdmModuleDistributeTripartiteEntity != null && mdmModuleDistributeTripartiteEntity.getTripartiteId() != null ){
tripartiteId = mdmModuleDistributeTripartiteEntity.getTripartiteId();
}
parameterJson.put("tripartiteId", tripartiteId);
/** head */
Map<String, String> header = null;
/** query */
@ -657,7 +723,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity {
}
}
private void doUpdate(Long mainCode,List<MdmModuleDbEntity> mdmModuleDbEntities, List<MdmModuleDistributeEntity> mdmModuleDistributeEntities, List<MdmModuleDbFiledsRuleEntity> mdmModuleDbFiledsRuleEntities, List<MdmModuleDbFiledsEntity> mdmModuleDbFiledsEntities) throws Exception {
private void doUpdate(String mdmId,Long mainCode,List<MdmModuleDbEntity> mdmModuleDbEntities, List<MdmModuleDistributeEntity> mdmModuleDistributeEntities, List<MdmModuleDbFiledsRuleEntity> mdmModuleDbFiledsRuleEntities, List<MdmModuleDbFiledsEntity> mdmModuleDbFiledsEntities) throws Exception {
//查询一千条数据
String mainDb = null;
List<JSONObject> objects = new ArrayList<>();
@ -742,6 +808,18 @@ public class MdmModulePluginInitializer extends PluginBaseEntity {
parameterJson.put("body",apiEntity.getBodyIn());
parameterJson.put("query",apiEntity.getQueryIn());
parameterJson.put("data",doObjects.get(i));
//1根据主数据id数据id应用ID默认查询主数据应用下发三方id表只查询最新的一条数据
MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity = new MdmModuleDistributeTripartiteEntity();
mdmModuleDistributeTripartiteEntity.setSts("Y");
mdmModuleDistributeTripartiteEntity.setMdmId(mdmId);
mdmModuleDistributeTripartiteEntity.setDataId(objects.get(i).getString("id"));
mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId());
mdmModuleDistributeTripartiteEntity = mdmModuleDistributeTripartiteDao.queryOneTripartite(mdmModuleDistributeTripartiteEntity);
String tripartiteId = "";
if(mdmModuleDistributeTripartiteEntity != null && mdmModuleDistributeTripartiteEntity.getTripartiteId() != null ){
tripartiteId = mdmModuleDistributeTripartiteEntity.getTripartiteId();
}
parameterJson.put("tripartiteId", tripartiteId);
/** head */
Map<String, String> header = null;
/** query */
@ -833,7 +911,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity {
* @param mdmModuleDistributeEntities
* @return void
**/
private void doAdd(Long mainCode,List<MdmModuleDbEntity> mdmModuleDbEntities, List<MdmModuleDistributeEntity> mdmModuleDistributeEntities,List<MdmModuleDbFiledsRuleEntity> mdmModuleDbFiledsRuleEntities,List<MdmModuleDbFiledsEntity> mdmModuleDbFiledsEntities ) throws Exception {
private void doAdd(String mdmId,Long mainCode,List<MdmModuleDbEntity> mdmModuleDbEntities, List<MdmModuleDistributeEntity> mdmModuleDistributeEntities,List<MdmModuleDbFiledsRuleEntity> mdmModuleDbFiledsRuleEntities,List<MdmModuleDbFiledsEntity> mdmModuleDbFiledsEntities ) throws Exception {
//查询一千条数据
String mainDb = null;
List<JSONObject> objects = new ArrayList<>();
@ -993,6 +1071,43 @@ public class MdmModulePluginInitializer extends PluginBaseEntity {
//组装数据发送
JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys);
if(jsonResultEntity.isFlag()){
if (scriptEntity != null && scriptEntity.getId() != null && scriptEntity.getBackScriptData() != null ) {
JSONObject backScriptJson = new JSONObject();
backScriptJson.put("data", jsonResultEntity.getAttribute());
groovy.put("code", scriptEntity.getScriptCode()+"back");
groovy.put("className", scriptEntity.getClassName()+"back");
groovy.put("name", scriptEntity.getScriptName()+"back");
groovy.put("methodStr", scriptEntity.getBackScriptData());
groovy.put("parameterJson", backScriptJson);
JSONObject groovyStr = new JSONObject();
groovyStr.put("jsonStr", groovy);
try {
Object str = groovyIntegrationService.groovyScriptExecution(groovyStr);
if(str != null){
JSONObject backJsonResultEntity = JSONObject.parseObject(str.toString());
if(backJsonResultEntity != null && backJsonResultEntity.getString("success") != null && "true".equals(backJsonResultEntity.getString("success"))){
MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity = new MdmModuleDistributeTripartiteEntity();
mdmModuleDistributeTripartiteEntity.setId(UUIDUtils.getUUID());
mdmModuleDistributeTripartiteEntity.setSts("Y");
mdmModuleDistributeTripartiteEntity.setCreate_user_id("1");
mdmModuleDistributeTripartiteEntity.setModify_user_id("1");
mdmModuleDistributeTripartiteEntity.setCreate_time(new Date());
mdmModuleDistributeTripartiteEntity.setModify_time(new Date());
mdmModuleDistributeTripartiteEntity.setOrg_id("0");
mdmModuleDistributeTripartiteEntity.setCompanyId("0");
mdmModuleDistributeTripartiteEntity.setMdmId(mdmId);
mdmModuleDistributeTripartiteEntity.setDataId(objects.get(i).getString("id"));
mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId());
mdmModuleDistributeTripartiteEntity.setTripartiteId(backJsonResultEntity.getString("tripartiteId"));
mdmModuleDistributeTripartiteDao.save(mdmModuleDistributeTripartiteEntity);
}
}
} catch (Exception e) {
logger.error("新增返回脚本解析保存三方id错误"+jsonResultEntity.getAttribute());
saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","新增返回脚本解析保存三方id错误",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1");
continue;
}
}
//保存日志
saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"1","发送成功",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),sysApplicationEntity.getId(),apiEntity.getApiName(),apiEntity.getId(),doObjects.get(i).toJSONString(),"1");
continue;

View File

@ -1918,15 +1918,22 @@ public class MdmServiceImpl implements IMdmService {
groovyStr.put("jsonStr", groovy);
try {
Object str = groovyIntegrationService.groovyScriptExecution(groovyStr);
if(str != null){
JSONObject backJsonResultEntity = JSONObject.parseObject(str.toString());
if(backJsonResultEntity != null && backJsonResultEntity.getString("success") != null && "true".equals(backJsonResultEntity.getString("success"))){
MdmModuleDistributeTripartiteEntity mdmModuleDistributeTripartiteEntity = new MdmModuleDistributeTripartiteEntity();
mdmModuleDistributeTripartiteEntity.setCreate();
mdmModuleDistributeTripartiteEntity.setMdmId(mdmModuleEntity.getId());
mdmModuleDistributeTripartiteEntity.setDataId(object.getString("id"));
mdmModuleDistributeTripartiteEntity.setAppId(sysApplicationEntity.getId());
mdmModuleDistributeTripartiteEntity.setTripartiteId(str.toString());
mdmModuleDistributeTripartiteEntity.setTripartiteId(backJsonResultEntity.getString("tripartiteId"));
mdmModuleDistributeTripartiteDao.save(mdmModuleDistributeTripartiteEntity);
}
}
} catch (Exception e) {
return BaseResult.getFailureMessageEntity("新增返回脚本解析保存三方id错误"+jsonResultEntity.getAttribute());
logger.error("新增返回脚本解析保存三方id错误"+jsonResultEntity.getAttribute());
saveMdmModuleSendLogEntity(mdmModuleEntity.getMdmCode(),mdmModuleDistributeEntity.getId(),"2", "转发失败", dbname, object.getString("id"), sysApplicationEntity.getName(),sysApplicationEntity.getId(), apiEntity.getApiName(),apiEntity.getId(), object.toJSONString(), type);
return BaseResult.getFailureMessageEntity("发送错误:" + jsonResultEntity.getMsg());
}
}
}
@ -2254,7 +2261,7 @@ public class MdmServiceImpl implements IMdmService {
private JsonResultEntity sendData(SysApplicationApiEntity applicationApiEntity, Map<String, String> headers, String bodys, String querys) {
StringBuffer urls = new StringBuffer(url);
if (querys != null) {
if (querys != null && !"".equals(querys)) {
urls.append("?");
urls.append(querys);
}