diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java index c7d9e904..bd29f050 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/mdmDistribute/plugin/MdmModulePluginInitializer.java @@ -1,5 +1,6 @@ package com.hzya.frame.plugin.mdmDistribute.plugin; +import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; @@ -24,7 +25,6 @@ import com.hzya.frame.sysnew.application.api.dao.ISysApplicationApiDao; import com.hzya.frame.sysnew.application.api.entity.SysApplicationApiEntity; import com.hzya.frame.sysnew.application.dao.ISysApplicationDao; import com.hzya.frame.sysnew.application.entity.SysApplicationEntity; -import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; import com.hzya.frame.sysnew.application.script.dao.ISysApplicationScriptDao; import com.hzya.frame.sysnew.application.script.entity.SysApplicationScriptEntity; import com.hzya.frame.sysnew.grovy.service.IGroovyIntegrationService; @@ -47,11 +47,7 @@ import org.springframework.beans.factory.annotation.Value; import javax.annotation.Resource; import java.io.IOException; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 主数据模版(MdmModule)表服务接口 @@ -106,7 +102,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { @Override public String getPluginName() { - return "MdmModulePlugin插件"; + return "主数据下发"; } @Override @@ -252,6 +248,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { map.put("tableName",mdmModuleDbEntities.get(i).getDbName()); map.put("documentRule",documentRule); object = mdmModuleDao.queryMdmST(map); + object = toLowerCaseKeys(object); if(object.getString("id") == null || "".equals(object.getString("id")) ){ taskDetailEntity.setResult("当前数据不存在"); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); @@ -263,6 +260,8 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { checkData.put("documentRule",documentRule); checkData.put("mdmModuleDistributeDetailEntities",mdmModuleDistributeDetailEntities); JSONObject object1 = mdmModuleDao.queryMdmST(checkData); + object1 = toLowerCaseKeys(object1); + if(object1.getString("id") == null || "".equals(object1.getString("id")) ){ taskDetailEntity.setResult("当前数据不符合规则不发送"); taskLivingDetailsService.updateLogFailToSuccess(taskDetailEntity); @@ -283,6 +282,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { String[] idss = ids.split(","); mapDetail.put("id", idss[idss.length-1]); JSONObject objectDetail = mdmModuleDao.queryMdmST(mapDetail); + objectDetail = toLowerCaseKeys(objectDetail); object.put(mdmModuleDbFiledsEntities.get(i2).getEnName(),objectDetail); } } @@ -296,10 +296,12 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { for (int i = 0; i < mdmModuleDbEntities.size(); i++) { if("2".equals(mdmModuleDbEntities.get(i).getDbType())){ - Map map = new HashMap<>(); + Map map = new HashMap<>(); map.put("tableName",mdmModuleDbEntities.get(i).getDbName()); map.put("formmainId",object.getString("id")); List detail = mdmModuleDao.queryMdmSTDetail(map); + detail = toLowerCaseKeys(detail); + //查看主表是否有字段是关联的 if(detail != null && detail.size() > 0){ if(mdmModuleDbFiledsRuleEntities != null && mdmModuleDbFiledsRuleEntities.size() > 0){ @@ -317,6 +319,8 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { mapDetail.put("id", idss[idss.length-1]); JSONObject objectDetail = mdmModuleDao.queryMdmST(mapDetail); + objectDetail = toLowerCaseKeys(objectDetail); + detail.get(i3).put(mdmModuleDbFiledsEntities.get(i2).getEnName(),objectDetail); } @@ -395,8 +399,10 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { return BaseResult.getFailureMessageEntity("发送错误:"+rzjsonResultEntity.getMsg()); } JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); + logger.info("认证接口返回信息:"+ attritube.toJSONString()); querys = getQuery(apiEntity,querys,attritube); headers = getHeaders(apiEntity,headers,attritube); + bodys = getBodys(apiEntity,bodys,attritube); } //组装数据发送 @@ -422,6 +428,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { } //查询下发的配置 没有直接跳过 for (int i = 0; i < mdmModuleEntities.size(); i++) { + Long mdmCode = mdmModuleEntities.get(i).getMdmCode(); MdmModuleDistributeEntity queryMdmModuleDistributeEntity = new MdmModuleDistributeEntity(); queryMdmModuleDistributeEntity.setMdmId(mdmModuleEntities.get(i).getId()); queryMdmModuleDistributeEntity.setEnabledType("1"); @@ -451,11 +458,11 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { List mdmModuleDbFiledsRuleEntities = mdmModuleDbFiledsRuleDao.queryBase(queryFildRule); //新增 - doAdd(mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); + doAdd(mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); //修改 - doUpdate(mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); + //doUpdate(mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); //删除 - doDelete(mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); + //doDelete(mdmCode,mdmModuleDbEntities,mdmModuleDistributeEntities,mdmModuleDbFiledsRuleEntities,mdmModuleDbFiledsEntities); } @@ -469,7 +476,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { return BaseResult.getSuccessMessageEntity("执行成功"); } - private void doDelete(List mdmModuleDbEntities, List mdmModuleDistributeEntities, List mdmModuleDbFiledsRuleEntities, List mdmModuleDbFiledsEntities) { + private void doDelete(Long mainCode,List mdmModuleDbEntities, List mdmModuleDistributeEntities, List mdmModuleDbFiledsRuleEntities, List mdmModuleDbFiledsEntities) throws Exception { //查询一千条数据 String mainDb = null; List objects = new ArrayList<>(); @@ -485,8 +492,9 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { map1.put("tableName",mainDb); map1.put("dataStatus", "N"); map1.put("deleteStatus", "0"); - map1.put("size", 1000); + map1.put("size", 10); objects = mdmModuleDao.queryMdmSTs(map1); + objects = toLowerCaseKeys(objects); if(objects == null || objects.size() == 0){ return; @@ -505,26 +513,28 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { map.put("mdmModuleDistributeDetailEntities", mdmModuleDistributeDetailEntities); map.put("ids", objects); List doObjects = mdmModuleDao.queryMdmSTs(map); + doObjects = toLowerCaseKeys(doObjects); + if(doObjects == null || doObjects.size() == 0){ continue; } if(mdmModuleDistributeEntities.get(i1).getDeleteApi() == null || "".equals(mdmModuleDistributeEntities.get(i1).getDeleteApi())){ for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity("2","删除接口未设置",mainDb,objects.get(i).getString("id"),null,null,doObjects.get(i).toJSONString(),"3"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","删除接口未设置",mainDb,objects.get(i).getString("id"),null,null,doObjects.get(i).toJSONString(),"3"); } return ; } SysApplicationApiEntity apiEntity = sysApplicationApiDao.get(mdmModuleDistributeEntities.get(i1).getDeleteApi()); if(apiEntity == null || apiEntity.getId() == null ){ for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity("2","删除接口未找到",mainDb,objects.get(i).getString("id"),null,null,doObjects.get(i).toJSONString(),"3"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","删除接口未找到",mainDb,objects.get(i).getString("id"),null,null,doObjects.get(i).toJSONString(),"3"); } return ; } SysApplicationEntity sysApplicationEntity = sysApplicationDao.get(apiEntity.getAppId()); if(sysApplicationEntity == null || sysApplicationEntity.getId() == null ){ for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity("2","删除接口的应用未找到",mainDb,objects.get(i).getString("id"),null,apiEntity.getApiName(),doObjects.get(i).toJSONString(),"3"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","删除接口的应用未找到",mainDb,objects.get(i).getString("id"),null,apiEntity.getApiName(),doObjects.get(i).toJSONString(),"3"); } return ; } @@ -534,7 +544,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { scriptEntity = sysApplicationScriptDao.get(mdmModuleDistributeEntities.get(i1).getDeleteScript()); if(scriptEntity == null || scriptEntity.getId() == null ){ for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity("2","删除接口脚本未找到",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"3"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","删除接口脚本未找到",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"3"); } return ; } @@ -581,7 +591,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { querys = jsonResultEntity.getString("querys"); bodys = jsonResultEntity.getString("bodys"); }catch (Exception e){ - saveMdmModuleSendLogEntity("2","脚本处理失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"3"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","脚本处理失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"3"); continue; } } @@ -597,7 +607,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { //找到登陆接口 SysApplicationApiEntity loginApi = sysApplicationApiDao.get(apiEntity.getAuthenticationPort()); if (null == loginApi) { - saveMdmModuleSendLogEntity("2","发送错误,认证接口不存在",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","发送错误,认证接口不存在",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); continue; } String rzquerys = getQuery(loginApi,null,null); @@ -610,7 +620,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { String rzbodys = getBodys(loginApi,null,null); JsonResultEntity rzjsonResultEntity = sendData(loginApi,rzheaders,rzbodys,rzquerys); if (!rzjsonResultEntity.isFlag()) { - saveMdmModuleSendLogEntity("2","发送错误,认证接口错误",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","发送错误,认证接口错误",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); continue; } JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); @@ -622,11 +632,11 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys); if(jsonResultEntity.isFlag()){ //保存日志 - saveMdmModuleSendLogEntity("1","发送成功",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"3"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"1","发送成功",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"3"); continue; }else { //保存日志 - saveMdmModuleSendLogEntity("2","转发失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"3"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","转发失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"3"); continue; } } @@ -644,7 +654,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { } } - private void doUpdate(List mdmModuleDbEntities, List mdmModuleDistributeEntities, List mdmModuleDbFiledsRuleEntities, List mdmModuleDbFiledsEntities) { + private void doUpdate(Long mainCode,List mdmModuleDbEntities, List mdmModuleDistributeEntities, List mdmModuleDbFiledsRuleEntities, List mdmModuleDbFiledsEntities) throws Exception { //查询一千条数据 String mainDb = null; List objects = new ArrayList<>(); @@ -660,8 +670,9 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { map1.put("tableName",mainDb); //map1.put("dataStatus", "F"); map1.put("updateStatus", "0"); - map1.put("size", 1000); + map1.put("size", 10); objects = mdmModuleDao.queryMdmSTs(map1); + objects = toLowerCaseKeys(objects); if(objects == null || objects.size() == 0){ return; @@ -680,26 +691,28 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { map.put("mdmModuleDistributeDetailEntities", mdmModuleDistributeDetailEntities); map.put("ids", objects); List doObjects = mdmModuleDao.queryMdmSTs(map); + doObjects = toLowerCaseKeys(doObjects); + if(doObjects == null || doObjects.size() == 0){ continue; } if(mdmModuleDistributeEntities.get(i1).getUpdateApi() == null || "".equals(mdmModuleDistributeEntities.get(i1).getUpdateApi())){ for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity("2","修改接口未设置",mainDb,objects.get(i).getString("id"),null,null,doObjects.get(i).toJSONString(),"2"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","修改接口未设置",mainDb,objects.get(i).getString("id"),null,null,doObjects.get(i).toJSONString(),"2"); } return ; } SysApplicationApiEntity apiEntity = sysApplicationApiDao.get(mdmModuleDistributeEntities.get(i1).getUpdateApi()); if(apiEntity == null || apiEntity.getId() == null ){ for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity("2","修改接口未查找到",mainDb,objects.get(i).getString("id"),null,null,doObjects.get(i).toJSONString(),"2"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","修改接口未查找到",mainDb,objects.get(i).getString("id"),null,null,doObjects.get(i).toJSONString(),"2"); } return ; } SysApplicationEntity sysApplicationEntity = sysApplicationDao.get(apiEntity.getAppId()); if(sysApplicationEntity == null || sysApplicationEntity.getId() == null ){ for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity("2","应用未查找到",mainDb,objects.get(i).getString("id"),null,apiEntity.getApiName(),doObjects.get(i).toJSONString(),"2"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","应用未查找到",mainDb,objects.get(i).getString("id"),null,apiEntity.getApiName(),doObjects.get(i).toJSONString(),"2"); } return ; } @@ -709,7 +722,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { scriptEntity = sysApplicationScriptDao.get(mdmModuleDistributeEntities.get(i1).getUpdateScript()); if(scriptEntity == null || scriptEntity.getId() == null ){ for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity("2","脚本未查找到",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"2"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","脚本未查找到",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"2"); } return ; } @@ -747,7 +760,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { querys = jsonResultEntity.getString("querys"); bodys = jsonResultEntity.getString("bodys"); }catch (Exception e){ - saveMdmModuleSendLogEntity("2","脚本处理失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"2"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","脚本处理失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"2"); continue; } } @@ -763,7 +776,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { //找到登陆接口 SysApplicationApiEntity loginApi = sysApplicationApiDao.get(apiEntity.getAuthenticationPort()); if (null == loginApi) { - saveMdmModuleSendLogEntity("2","发送错误,认证接口不存在",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","发送错误,认证接口不存在",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); continue; } String rzquerys = getQuery(loginApi,null,null); @@ -776,7 +789,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { String rzbodys = getBodys(loginApi,null,null); JsonResultEntity rzjsonResultEntity = sendData(loginApi,rzheaders,rzbodys,rzquerys); if (!rzjsonResultEntity.isFlag()) { - saveMdmModuleSendLogEntity("2","发送错误,认证接口错误",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","发送错误,认证接口错误",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); continue; } JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); @@ -788,11 +801,11 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys); if(jsonResultEntity.isFlag()){ //保存日志 - saveMdmModuleSendLogEntity("1","发送成功",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"2"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"1","发送成功",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"2"); continue; }else { //保存日志 - saveMdmModuleSendLogEntity("2","转发失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"2"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","转发失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"2"); continue; } } @@ -817,7 +830,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { * @param mdmModuleDistributeEntities * @return void **/ - private void doAdd(List mdmModuleDbEntities, List mdmModuleDistributeEntities,List mdmModuleDbFiledsRuleEntities,List mdmModuleDbFiledsEntities ) { + private void doAdd(Long mainCode,List mdmModuleDbEntities, List mdmModuleDistributeEntities,List mdmModuleDbFiledsRuleEntities,List mdmModuleDbFiledsEntities ) throws Exception { //查询一千条数据 String mainDb = null; List objects = new ArrayList<>(); @@ -833,8 +846,9 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { map1.put("tableName",mainDb); //map1.put("dataStatus", "Y"); map1.put("addStatus", "0"); - map1.put("size", 1000); + map1.put("size", 10); objects = mdmModuleDao.queryMdmSTs(map1); + objects = toLowerCaseKeys(objects); if(objects == null || objects.size() == 0){ return; @@ -853,26 +867,29 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { map.put("mdmModuleDistributeDetailEntities", mdmModuleDistributeDetailEntities); map.put("ids", objects); List doObjects = mdmModuleDao.queryMdmSTs(map); + doObjects = toLowerCaseKeys(doObjects); + if(doObjects == null || doObjects.size() == 0){ continue; } if(mdmModuleDistributeEntities.get(i1).getAddApi() == null || "".equals(mdmModuleDistributeEntities.get(i1).getAddApi())){ for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity("2","新增接口未设置",mainDb,objects.get(i).getString("id"),null,null,doObjects.get(i).toJSONString(),"1"); + //taskLivingDetailsService.saveLogToSuccess(); + saveMdmModuleSendLogEntity( mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","新增接口未设置",mainDb,objects.get(i).getString("id"),null,null,doObjects.get(i).toJSONString(),"1"); } return ; } SysApplicationApiEntity apiEntity = sysApplicationApiDao.get(mdmModuleDistributeEntities.get(i1).getAddApi()); if(apiEntity == null || apiEntity.getId() == null ){ for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity("2","新增接口未查找到",mainDb,objects.get(i).getString("id"),null,null,doObjects.get(i).toJSONString(),"1"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","新增接口未查找到",mainDb,objects.get(i).getString("id"),null,null,doObjects.get(i).toJSONString(),"1"); } return ; } SysApplicationEntity sysApplicationEntity = sysApplicationDao.get(apiEntity.getAppId()); if(sysApplicationEntity == null || sysApplicationEntity.getId() == null ){ for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity("2","应用未查找到",mainDb,objects.get(i).getString("id"),null,apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","应用未查找到",mainDb,objects.get(i).getString("id"),null,apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); } return ; } @@ -882,7 +899,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { scriptEntity = sysApplicationScriptDao.get(mdmModuleDistributeEntities.get(i1).getAddScript()); if(scriptEntity == null || scriptEntity.getId() == null ){ for (int i = 0; i < doObjects.size(); i++) { - saveMdmModuleSendLogEntity("2","脚本未查找到",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","脚本未查找到",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); } return ; } @@ -929,7 +946,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { querys = jsonResultEntity.getString("querys"); bodys = jsonResultEntity.getString("bodys"); }catch (Exception e){ - saveMdmModuleSendLogEntity("2","脚本处理失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","脚本处理失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); continue; } } @@ -945,7 +962,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { //找到登陆接口 SysApplicationApiEntity loginApi = sysApplicationApiDao.get(apiEntity.getAuthenticationPort()); if (null == loginApi) { - saveMdmModuleSendLogEntity("2","发送错误,认证接口不存在",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","发送错误,认证接口不存在",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); continue; } String rzquerys = getQuery(loginApi,null,null); @@ -958,7 +975,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { String rzbodys = getBodys(loginApi,null,null); JsonResultEntity rzjsonResultEntity = sendData(loginApi,rzheaders,rzbodys,rzquerys); if (!rzjsonResultEntity.isFlag()) { - saveMdmModuleSendLogEntity("2","发送错误,认证接口错误",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","发送错误,认证接口错误",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); continue; } JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); @@ -971,11 +988,11 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { JsonResultEntity jsonResultEntity = sendData(apiEntity,headers,bodys,querys); if(jsonResultEntity.isFlag()){ //保存日志 - saveMdmModuleSendLogEntity("1","发送成功",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"1","发送成功",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); continue; }else { //保存日志 - saveMdmModuleSendLogEntity("2","转发失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); + saveMdmModuleSendLogEntity(mainCode,mdmModuleDistributeEntities.get(i1).getId(),"2","转发失败",mainDb,objects.get(i).getString("id"),sysApplicationEntity.getName(),apiEntity.getApiName(),doObjects.get(i).toJSONString(),"1"); continue; } } @@ -992,7 +1009,7 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { } } - private void saveMdmModuleSendLogEntity(String dataType,String remark,String dbname,String formmain_id, String target_app, String target_api, String source_data, String option_type) { + private void saveMdmModuleSendLogEntity(Long mdmCode,String distributeId,String dataType,String remark,String dbname,String formmain_id, String target_app, String target_api, String source_data, String option_type) throws Exception { MdmModuleSendLogEntity mdmModuleSendLogEntity = new MdmModuleSendLogEntity(); mdmModuleSendLogEntity.setTableName(dbname+"_send_log"); mdmModuleSendLogEntity.setId(UUIDUtils.getUUID()); @@ -1011,16 +1028,47 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { mdmModuleSendLogEntity.setDataType(dataType); mdmModuleSendLogEntity.setRemark(remark); mdmModuleSendLogDao.save(mdmModuleSendLogEntity); + + + JSONObject jsonObject = JSONObject.parseObject(source_data); + IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); + integrationTaskLivingDetailsEntity.setId(UUIDUtils.getUUID()); + integrationTaskLivingDetailsEntity.setSts("Y"); + integrationTaskLivingDetailsEntity.setCreate_user_id("1"); + integrationTaskLivingDetailsEntity.setModify_user_id("1"); + integrationTaskLivingDetailsEntity.setCreate_time(new Date()); + integrationTaskLivingDetailsEntity.setModify_time(new Date()); + integrationTaskLivingDetailsEntity.setOrg_id("0"); + integrationTaskLivingDetailsEntity.setCompanyId("0"); + JSONObject aa = new JSONObject(); + aa.put("mdmCode",mdmCode);//主数据编码 + aa.put("documentRule",jsonObject.getString("document_rule"));//行数据的单据规则编码 + aa.put("distributeId",distributeId);//发送表id + aa.put("type",option_type);//发送类型,1、新增2、修改3、删除 + integrationTaskLivingDetailsEntity.setRootAppPk(aa.toJSONString()); + integrationTaskLivingDetailsEntity.setRootAppBill(jsonObject.getString("document_rule")); + integrationTaskLivingDetailsEntity.setPluginId("MdmModulePlugin"); + integrationTaskLivingDetailsEntity.setRootAppNewData(source_data); + integrationTaskLivingDetailsEntity.setNewTransmitInfo(remark); + if("1".equals(dataType)){ + taskLivingDetailsService.saveLogToSuccess(integrationTaskLivingDetailsEntity); + }else { + taskLivingDetailsService.saveLogToFail(integrationTaskLivingDetailsEntity); + + } + } private JSONObject getDetailData(List mdmModuleDbEntities, JSONObject object, List mdmModuleDbFiledsRuleEntities,List mdmModuleDbFiledsEntities) { for (int i = 0; i < mdmModuleDbEntities.size(); i++) { if("2".equals(mdmModuleDbEntities.get(i).getDbType())){ - Map map = new HashMap<>(); + Map map = new HashMap<>(); map.put("tableName",mdmModuleDbEntities.get(i).getDbName()); map.put("formmainId",object.getString("id")); List detail = mdmModuleDao.queryMdmSTDetail(map); + detail = toLowerCaseKeys(detail); + //查看主表是否有字段是关联的 if(detail != null && detail.size() > 0){ if(mdmModuleDbFiledsRuleEntities != null && mdmModuleDbFiledsRuleEntities.size() > 0){ @@ -1037,6 +1085,8 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { String[] idss = ids.split(","); mapDetail.put("id", idss[idss.length-1]); JSONObject objectDetail = mdmModuleDao.queryMdmST(mapDetail); + objectDetail = toLowerCaseKeys(objectDetail); + detail.get(i3).put(mdmModuleDbFiledsEntities.get(i2).getEnName(),objectDetail); } } @@ -1280,4 +1330,23 @@ public class MdmModulePluginInitializer extends PluginBaseEntity { } return sendData.toString(); } + public JSONObject toLowerCaseKeys(JSONObject jsonObject) { + JSONObject lowerCaseJson = new JSONObject(); + if (jsonObject != null) { + for (String key : jsonObject.keySet()) { + Object value = jsonObject.get(key); + lowerCaseJson.put(key.toLowerCase(), value); + } + } + return lowerCaseJson; + } + public List toLowerCaseKeys(List list) { + List jsonObjects = new ArrayList<>(); + if (list != null && list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + jsonObjects.add(toLowerCaseKeys(list.get(i))); + } + } + return jsonObjects; + } } diff --git a/buildpackage/src/main/resources/application-llg.yml b/buildpackage/src/main/resources/application-llg.yml index c1e105f8..5ea08d90 100644 --- a/buildpackage/src/main/resources/application-llg.yml +++ b/buildpackage/src/main/resources/application-llg.yml @@ -22,12 +22,15 @@ spring: # password: 62e4295b615a30dbf3b8ee96f41c820b # driver-class-name: dm.jdbc.driver.DmDriver # type: com.alibaba.druid.pool.DruidDataSource - url: jdbc:mysql://hzya.ufyct.com:9014/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true - username: root - password: 62e4295b615a30dbf3b8ee96f41c820b - driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 +# url: jdbc:mysql://hzya.ufyct.com:9014/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true +# username: root +# password: 62e4295b615a30dbf3b8ee96f41c820b +# driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 # url: jdbc:dm://hzya.ufyct.com:9040/businesscenter?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8 - + url: jdbc:dm://hzya.ufyct.com:9040?schema=businesscenter&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&compatibleMode=oracle + username: hzyazt + password: 62e4295b615a30dbf3b8ee96f41c820b + driver-class-name: dm.jdbc.driver.DmDriver savefile: # 文件保存路径 path: /Users/apple/Desktop/log/local diff --git a/buildpackage/src/main/resources/application-yc.yml b/buildpackage/src/main/resources/application-yc.yml index 059d1c0b..5560efe8 100644 --- a/buildpackage/src/main/resources/application-yc.yml +++ b/buildpackage/src/main/resources/application-yc.yml @@ -23,28 +23,57 @@ #savefile: # # 文件保存路径 # path: /zt/file +#公司mysql #ax: # url: http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface +#logging: +# #日志级别 指定目录级别warn +# level: +# root: info +# encodings: UTF-8 +# file: +# # 日志保存路径 +# path: /home/webservice/zt/log +#spring: +# datasource: +# dynamic: +# datasource: +# master: +# url: jdbc:mysql://hzya.ufyct.com:9014/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true +# username: root +# password: 62e4295b615a30dbf3b8ee96f41c820b +# driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 +#savefile: +# # 文件保存路径 +# path: /home/webservice/zt/file + + +#公司服务器达梦 logging: - #日志级别 指定目录级别warn + #日志级别 指定目录级别 level: root: info encodings: UTF-8 file: # 日志保存路径 - path: /home/webservice/zt/log + path: /zt/log spring: + flyway: + # 启动flyway migration, 默认为true + enabled: false datasource: dynamic: + druid: + filters: stat,log4j2 datasource: master: - url: jdbc:mysql://hzya.ufyct.com:9014/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true - username: root + url: jdbc:dm://hzya.ufyct.com:9040?schema=businesscenter&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&compatibleMode=oracle + username: hzyazt password: 62e4295b615a30dbf3b8ee96f41c820b - driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 + driver-class-name: dm.jdbc.driver.DmDriver savefile: # 文件保存路径 - path: /home/webservice/zt/file + path: /zt/file cbs8: appId: 1P4AGrpz appSecret: 2c2369ae5dc04382844bbe3a5abf39e1bea9cd3a diff --git a/common/src/main/java/com/hzya/frame/basedao/service/impl/GeneralServiceImpl.java b/common/src/main/java/com/hzya/frame/basedao/service/impl/GeneralServiceImpl.java index 5c28922d..f15689d0 100644 --- a/common/src/main/java/com/hzya/frame/basedao/service/impl/GeneralServiceImpl.java +++ b/common/src/main/java/com/hzya/frame/basedao/service/impl/GeneralServiceImpl.java @@ -655,13 +655,26 @@ public class GeneralServiceImpl implements GeneralService { List> list = null; try { list = baseDaoUtilImpl.selectWhereList(tablename, defaultOrder, whereCriteria); + convertKeysToLowerCase(list); return BaseResult.getSuccessMessageEntity("查询成功", list); } catch (Exception e) { log.error("default:selectList{}", e.getMessage()); return BaseResult.getFailureMessageEntity("查询失败"); } } - + //强制转换数据库字段为小写,出问题在说 + public void convertKeysToLowerCase(List> list) { + if(list != null && list.size() > 0){ + for (HashMap map : list) { + HashMap lowerCaseMap = new HashMap<>(); + for (Map.Entry entry : map.entrySet()) { + lowerCaseMap.put(entry.getKey().toLowerCase(), entry.getValue()); + } + map.clear(); // 清空原来的Map,避免重复存储 + map.putAll(lowerCaseMap); // 将转换后的Map全部放回原位 + } + } + } /** * @param jsonObject * @return com.hzya.frame.web.entity.JsonResultEntity diff --git a/service/src/main/java/com/hzya/frame/mdm/entity/MdmQuery.java b/service/src/main/java/com/hzya/frame/mdm/entity/MdmQuery.java index be40977f..6c0b67fd 100644 --- a/service/src/main/java/com/hzya/frame/mdm/entity/MdmQuery.java +++ b/service/src/main/java/com/hzya/frame/mdm/entity/MdmQuery.java @@ -20,6 +20,8 @@ public class MdmQuery { private List returnField; //明细表查询条件 private List detailQueryCondition; + //小写字段 + private List fields; public Integer getPageNum() { return pageNum; @@ -76,4 +78,12 @@ public class MdmQuery { public void setMdmCode(Long mdmCode) { this.mdmCode = mdmCode; } + + public List getFields() { + return fields; + } + + public void setFields(List fields) { + this.fields = fields; + } } diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/IMdmModuleDao.java b/service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/IMdmModuleDao.java index c13defa1..9a3aca15 100644 --- a/service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/IMdmModuleDao.java +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/IMdmModuleDao.java @@ -50,10 +50,19 @@ public interface IMdmModuleDao extends IBaseDao { JSONObject queryMdmST(Map maps); - List queryMdmSTDetail(Map maps); + List queryMdmSTDetail(Map maps); List queryMdmSTs(Map map); void updateMdmSTs(Map updateMap); + /**** + * 查询主数据字段 + * @content: + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2024-06-27 16:26 + * @param + * @return java.util.List + **/ + List queryMdMFields(Map maps); } diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/impl/MdmModuleDaoImpl.java b/service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/impl/MdmModuleDaoImpl.java index 04704d16..234d5dad 100644 --- a/service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/impl/MdmModuleDaoImpl.java +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModule/dao/impl/MdmModuleDaoImpl.java @@ -1,15 +1,15 @@ package com.hzya.frame.mdm.mdmModule.dao.impl; import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.basedao.dao.MybatisGenericDao; import com.hzya.frame.mdm.entity.MdmDataDto; import com.hzya.frame.mdm.entity.MdmDto; import com.hzya.frame.mdm.entity.MdmQuery; -import com.hzya.frame.mdm.mdmModule.entity.MdmModuleEntity; import com.hzya.frame.mdm.mdmModule.dao.IMdmModuleDao; +import com.hzya.frame.mdm.mdmModule.entity.MdmModuleEntity; import com.hzya.frame.mdm.mdmModuleDbFileds.entity.MdmModuleDbFiledsEntity; import com.hzya.frame.sys.entity.FormmainDeleteDto; import org.springframework.stereotype.Repository; -import com.hzya.frame.basedao.dao.MybatisGenericDao; import java.util.HashMap; import java.util.List; @@ -114,6 +114,10 @@ public class MdmModuleDaoImpl extends MybatisGenericDao @Override public List> queryMdmShowData(MdmQuery entity) { + //HashMap maps = new HashMap<>(); + //maps.put("tableName",entity.getTableName()); + //List fields = queryMdMFields(maps); + //entity.setFields(fields); List> o = (List>) super.selectList(getSqlIdPrifx() + "queryMdmShowData", entity); return o; } @@ -151,6 +155,8 @@ public class MdmModuleDaoImpl extends MybatisGenericDao @Override public JSONObject queryMdmST(Map maps) { + //List fields = queryMdMFields(maps); + //maps.put("fields",fields); JSONObject o = (JSONObject) super.selectOne(getSqlIdPrifx() + "queryMdmST", maps); return o; } @@ -166,7 +172,15 @@ public class MdmModuleDaoImpl extends MybatisGenericDao } @Override - public List queryMdmSTDetail(Map maps) { + public List queryMdMFields(Map maps) { + List o = (List) super.selectList(getSqlIdPrifx() + "queryMdMFields", maps); + return o; + } + + @Override + public List queryMdmSTDetail(Map maps) { + //List fields = queryMdMFields(maps); + //maps.put("fields", fields ); List o = (List) super.selectList(getSqlIdPrifx() + "queryMdmSTDetail", maps); return o; } diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml b/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml index 4e66bbe3..046fefdd 100644 --- a/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModule/entity/MdmModuleEntity.xml @@ -20,22 +20,25 @@ + + + id - ,mdm_name - ,mdm_logo - ,mdm_code - ,mdm_type - ,remark - ,sorts - ,create_user_id - ,create_time - ,modify_user_id - ,modify_time - ,sts - ,org_id - ,company_id + ,mdm_name + ,mdm_logo + ,mdm_code + ,mdm_type + ,remark + ,sorts + ,create_user_id + ,create_time + ,modify_user_id + ,modify_time + ,sts + ,org_id + ,company_id - ALTER TABLE ${dbName} @@ -529,6 +532,65 @@ where id = #{id} + @@ -657,11 +719,61 @@ where id = #{id} - modify_time = now(), where id = #{id} + + insert into ${tableName}( + + + + + ${item.filedsName}, + + + create_user_id, + modify_user_id, + + + + create_time, + modify_time, + sts, + + document_rule, + document_rule_num, + + + )values + ( + + + + + #{item.filedsValue}, + + + #{item.filedsValue}, + #{item.filedsValue}, + + + + now(), + now(), + 'Y', + + + + concat(#{documentRule}, + LPAD( CAST( ( SELECT IFNULL( MAX(f.document_rule_num), 0 )+ 1 FROM ${tableName} f WHERE DATE_FORMAT( f.create_time, '%Y-%m' ) = DATE_FORMAT( now(), '%Y-%m' ) ) AS varchar(50) ), ${documentRuleNum} , '0' ) + ), + (SELECT IFNULL( MAX(f.document_rule_num), 0 )+ 1 FROM ${tableName} f WHERE DATE_FORMAT( f.create_time, '%Y-%m' ) = DATE_FORMAT( now(), '%Y-%m' ) + ) + + + ) + insert into ${tableName}( @@ -803,11 +915,29 @@ where id = #{id} select count(1) from ${tableName} where sts='Y' + + - + select + + + + ${field} + + + + * + + from ${tableName} and document_rule = #{documentRule} and data_status = #{dataStatus} @@ -870,12 +1000,23 @@ where id = #{id} and sts = 'Y' limit #{size} + order by sorts asc diff --git a/service/src/main/java/com/hzya/frame/mdm/mdmModule/service/impl/MdmModuleServiceImpl.java b/service/src/main/java/com/hzya/frame/mdm/mdmModule/service/impl/MdmModuleServiceImpl.java index 6ffdef17..74df1dc2 100644 --- a/service/src/main/java/com/hzya/frame/mdm/mdmModule/service/impl/MdmModuleServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/mdm/mdmModule/service/impl/MdmModuleServiceImpl.java @@ -48,6 +48,7 @@ import com.hzya.frame.sysnew.popedomOperate.dao.ISysPopedomOperateDao; import com.hzya.frame.sysnew.popedomOperate.entity.SysPopedomOperateEntity; import com.hzya.frame.web.entity.BaseResult; import com.hzya.frame.web.entity.JsonResultEntity; +import com.hzya.frame.web.exception.BaseSystemException; import org.checkerframework.checker.units.qual.A; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; @@ -1453,7 +1454,11 @@ public class MdmModuleServiceImpl extends BaseService i } } } - mdmModuleDao.alterTableField(entity); + try { + mdmModuleDao.alterTableField(entity); + } catch (Exception e){ + throw new BaseSystemException("表字段类型,修改失败,请联系管理员"); + } return BaseResult.getSuccessMessageEntity("修改字段成功"); } @@ -1667,6 +1672,25 @@ public class MdmModuleServiceImpl extends BaseService i object1.put("viewType", entity.getViewName());//1、树 2、列表 module.setOptions(object1.toString());//菜单mate参数 sysMenuConfigDao.save(module); + SysButtonConfigEntity buttonConfigEntity = new SysButtonConfigEntity(); + buttonConfigEntity.setMenuId(module.getId()); + buttonConfigEntity.setSts("Y"); + List sysButtonConfigEntities = sysButtonConfigDao.queryBase(buttonConfigEntity); + //1、查询按钮权限 + SysPopedomOperateEntity sysPopedomOperateEntity = new SysPopedomOperateEntity(); + sysPopedomOperateEntity.setMenuId(module.getId()); + sysPopedomOperateEntity.setSts("Y"); + List sysPopedomOperateEntities = sysPopedomOperateDao.queryBase(sysPopedomOperateEntity); + //删除按钮和删除按钮权限 + sysButtonConfigDao.logicRemoveMultiCondition(buttonConfigEntity); + sysPopedomOperateDao.logicRemoveMultiCondition(sysPopedomOperateEntity); + MdmModuleViewButtonEntity mdmModuleViewButtonEntity = new MdmModuleViewButtonEntity(); + mdmModuleViewButtonEntity.setMdmId(mdmModuleEntity.getId()); + mdmModuleViewButtonEntity.setSts("Y"); + List mdmModuleViewButtonEntities = mdmModuleViewButtonDao.queryBase(mdmModuleViewButtonEntity); + + //删除处理权限 + doMdmModuleButton(module,mdmModuleViewButtonEntities,sysButtonConfigEntities,sysPopedomOperateEntities); return BaseResult.getSuccessMessageEntity("保存显示类型成功"); } @@ -1720,6 +1744,25 @@ public class MdmModuleServiceImpl extends BaseService i object1.put("viewType", entity.getViewName());//1、树 2、列表 module.setOptions(object1.toString());//菜单mate参数 sysMenuConfigDao.update(module); + SysButtonConfigEntity buttonConfigEntity = new SysButtonConfigEntity(); + buttonConfigEntity.setMenuId(module.getId()); + buttonConfigEntity.setSts("Y"); + List sysButtonConfigEntities = sysButtonConfigDao.queryBase(buttonConfigEntity); + //1、查询按钮权限 + SysPopedomOperateEntity sysPopedomOperateEntity = new SysPopedomOperateEntity(); + sysPopedomOperateEntity.setMenuId(module.getId()); + sysPopedomOperateEntity.setSts("Y"); + List sysPopedomOperateEntities = sysPopedomOperateDao.queryBase(sysPopedomOperateEntity); + //删除按钮和删除按钮权限 + sysButtonConfigDao.logicRemoveMultiCondition(buttonConfigEntity); + sysPopedomOperateDao.logicRemoveMultiCondition(sysPopedomOperateEntity); + MdmModuleViewButtonEntity mdmModuleViewButtonEntity = new MdmModuleViewButtonEntity(); + mdmModuleViewButtonEntity.setMdmId(mdmModuleEntity.getId()); + mdmModuleViewButtonEntity.setSts("Y"); + List mdmModuleViewButtonEntities = mdmModuleViewButtonDao.queryBase(mdmModuleViewButtonEntity); + + //删除处理权限 + doMdmModuleButton(module,mdmModuleViewButtonEntities,sysButtonConfigEntities,sysPopedomOperateEntities); } return BaseResult.getSuccessMessageEntity("修改显示类型成功"); } diff --git a/service/src/main/java/com/hzya/frame/mdm/service/IMdmService.java b/service/src/main/java/com/hzya/frame/mdm/service/IMdmService.java index 557009fe..3d7d1216 100644 --- a/service/src/main/java/com/hzya/frame/mdm/service/IMdmService.java +++ b/service/src/main/java/com/hzya/frame/mdm/service/IMdmService.java @@ -117,7 +117,7 @@ public interface IMdmService { * @Description 处理分发数据 * @Date 9:40 上午 2023/10/18 **/ - JsonResultEntity doMdmDistribute(JSONObject jsonObject); + JsonResultEntity doMdmDistribute(JSONObject jsonObject) throws Exception; } diff --git a/service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java b/service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java index 52f64187..4fe0201e 100644 --- a/service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/mdm/service/impl/MdmServiceImpl.java @@ -1,29 +1,13 @@ package com.hzya.frame.mdm.service.impl; import cn.dev33.satoken.stp.StpUtil; -import cn.hutool.http.HttpRequest; -import cn.hutool.http.Method; import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import com.hzya.frame.base.PluginBaseEntity; -import com.hzya.frame.mdm.entity.DbFiledsDto; -import com.hzya.frame.mdm.entity.MdmDataDto; -import com.hzya.frame.mdm.entity.MdmDataFiledDto; -import com.hzya.frame.mdm.entity.MdmDbFiledVo; -import com.hzya.frame.mdm.entity.MdmDbVo; -import com.hzya.frame.mdm.entity.MdmDetailViewVo; -import com.hzya.frame.mdm.entity.MdmDistributeDto; -import com.hzya.frame.mdm.entity.MdmDto; -import com.hzya.frame.mdm.entity.MdmModuleViewDto; -import com.hzya.frame.mdm.entity.MdmModuleViewVo; -import com.hzya.frame.mdm.entity.MdmQuery; -import com.hzya.frame.mdm.entity.MdmSourceDto; -import com.hzya.frame.mdm.entity.MdmViewFiledVo; -import com.hzya.frame.mdm.entity.MdmViewVo; +import com.hzya.frame.mdm.entity.*; import com.hzya.frame.mdm.mdmModule.dao.IMdmModuleDao; import com.hzya.frame.mdm.mdmModule.entity.MdmModuleEntity; import com.hzya.frame.mdm.mdmModuleDb.dao.IMdmModuleDbDao; @@ -40,41 +24,31 @@ import com.hzya.frame.mdm.mdmModuleOptionLog.dao.IMdmModuleOptionLogDao; import com.hzya.frame.mdm.mdmModuleOptionLog.entity.MdmModuleOptionLogEntity; import com.hzya.frame.mdm.mdmModuleSendLog.dao.IMdmModuleSendLogDao; import com.hzya.frame.mdm.mdmModuleSendLog.entity.MdmModuleSendLogEntity; -import com.hzya.frame.mdm.mdmModuleSource.entity.MdmModuleSourceEntity; import com.hzya.frame.mdm.mdmModuleView.dao.IMdmModuleViewDao; import com.hzya.frame.mdm.mdmModuleView.entity.MdmModuleViewEntity; import com.hzya.frame.mdm.mdmModuleViewButton.dao.IMdmModuleViewButtonDao; -import com.hzya.frame.mdm.mdmModuleViewButton.entity.MdmModuleViewButtonEntity; import com.hzya.frame.mdm.mdmModuleViewDetail.dao.IMdmModuleViewDetailDao; import com.hzya.frame.mdm.mdmModuleViewDetail.entity.MdmModuleViewDetailEntity; import com.hzya.frame.mdm.mdmTableCodeRule.dao.IMdmTableCodeRuleDao; import com.hzya.frame.mdm.mdmTableCodeRule.entity.MdmTableCodeRuleEntity; import com.hzya.frame.mdm.service.IMdmService; - import com.hzya.frame.mdm.service.IMdmServiceCache; -import com.hzya.frame.sys.appApi.entity.AppApi; import com.hzya.frame.sys.entity.FormmainDeleteDto; import com.hzya.frame.sys.sysenum.SysEnum; import com.hzya.frame.sysnew.application.api.dao.ISysApplicationApiDao; import com.hzya.frame.sysnew.application.api.entity.SysApplicationApiEntity; import com.hzya.frame.sysnew.application.dao.ISysApplicationDao; import com.hzya.frame.sysnew.application.entity.SysApplicationEntity; -import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity; -import com.hzya.frame.sysnew.application.plugin.entity.SysApplicationPluginEntity; import com.hzya.frame.sysnew.application.script.dao.ISysApplicationScriptDao; import com.hzya.frame.sysnew.application.script.entity.SysApplicationScriptEntity; import com.hzya.frame.sysnew.buttonConfig.dao.ISysButtonConfigDao; -import com.hzya.frame.sysnew.buttonConfig.entity.SysButtonConfigEntity; import com.hzya.frame.sysnew.grovy.service.IGroovyIntegrationService; +import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; +import com.hzya.frame.sysnew.integtationTaskLivingDetails.service.IIntegrationTaskLivingDetailsService; import com.hzya.frame.sysnew.menuConfig.dao.ISysMenuConfigDao; -import com.hzya.frame.sysnew.menuConfig.entity.SysMenuConfigEntity; import com.hzya.frame.sysnew.popedomOperate.dao.ISysPopedomOperateDao; -import com.hzya.frame.sysnew.popedomOperate.entity.SysPopedomOperateEntity; import com.hzya.frame.sysnew.user.dao.ISysUserDao; import com.hzya.frame.sysnew.user.entity.SysUserEntity; -import com.hzya.frame.sysnew.userCompany.entity.SysUserCompanyEntity; -import com.hzya.frame.sysnew.userRoles.entity.SysUserRolesEntity; -import com.hzya.frame.util.PluginUtils; import com.hzya.frame.uuid.UUIDUtils; import com.hzya.frame.web.entity.BaseResult; import com.hzya.frame.web.entity.JsonResultEntity; @@ -86,7 +60,6 @@ import org.apache.http.entity.ByteArrayEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.util.EntityUtils; -import org.checkerframework.checker.units.qual.A; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -95,12 +68,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.io.IOException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** @@ -119,6 +87,8 @@ public class MdmServiceImpl implements IMdmService { @Resource private IMdmModuleDao mdmModuleDao; + @Resource + private IIntegrationTaskLivingDetailsService taskLivingDetailsService; @Resource private IGroovyIntegrationService groovyIntegrationService; @Resource @@ -644,7 +614,7 @@ public class MdmServiceImpl implements IMdmService { if (entity == null) { return BaseResult.getFailureMessageEntity("参数不允许为空"); } - if(entity.getMdmCode() != null && !"".equals(entity.getMdmCode())){ + if (entity.getMdmCode() != null && !"".equals(entity.getMdmCode())) { MdmModuleEntity mdmModuleEntity = mdmServiceCache.getMdmModuleEntity(entity.getMdmCode()); if (mdmModuleEntity == null || mdmModuleEntity.getId() == null) { return BaseResult.getFailureMessageEntity("主数据设置错误"); @@ -653,11 +623,25 @@ public class MdmServiceImpl implements IMdmService { mdmModuleDbEntity.setMdmId(mdmModuleEntity.getId()); mdmModuleDbEntity.setSts("Y"); List mdmModuleDbEntities = mdmServiceCache.queryMdmModuleDb(mdmModuleDbEntity); + MdmModuleDbFiledsEntity mdmModuleDbFiledsEntity = new MdmModuleDbFiledsEntity(); + mdmModuleDbFiledsEntity.setMdmId(mdmModuleEntity.getId()); + mdmModuleDbFiledsEntity.setSts("Y"); + List mdmModuleDbFiledsEntities = mdmServiceCache.queryMdmModuleDbFileds(mdmModuleDbFiledsEntity); if (mdmModuleDbEntities == null || mdmModuleDbEntities.size() == 0) { return BaseResult.getFailureMessageEntity("主数据设置错误"); } + if (mdmModuleDbFiledsEntities == null || mdmModuleDbFiledsEntities.size() == 0) { + return BaseResult.getFailureMessageEntity("主数据设置错误"); + } for (int i = 0; i < mdmModuleDbEntities.size(); i++) { if ("1".equals(mdmModuleDbEntities.get(i).getDbType())) { + List returnField = new ArrayList<>(); + for (int i1 = 0; i1 < mdmModuleDbFiledsEntities.size(); i1++) { + if (mdmModuleDbEntities.get(i).getId().equals(mdmModuleDbFiledsEntities.get(i1).getDbId())) { + returnField.add(mdmModuleDbFiledsEntities.get(i1).getEnName()); + } + } + entity.setReturnField(returnField); entity.setTableName(mdmModuleDbEntities.get(i).getDbName()); break; } @@ -669,9 +653,35 @@ public class MdmServiceImpl implements IMdmService { } PageHelper.startPage(entity.getPageNum(), entity.getPageSize()); List> businessResult = mdmModuleDao.queryMdmShowData(entity); + //强制把数据库字段转换小写 + if(null != businessResult && businessResult.size() >0){ + convertKeysToLowerCase(businessResult); + } PageInfo pageInfo = new PageInfo(businessResult); return BaseResult.getSuccessMessageEntity("查询数据成功", pageInfo); } + + //强制转换数据库字段为小写,出问题在说 + public void convertKeysToLowerCase(List> list) { + for (HashMap map : list) { + HashMap lowerCaseMap = new HashMap<>(); + for (Map.Entry entry : map.entrySet()) { + lowerCaseMap.put(entry.getKey().toLowerCase(), entry.getValue()); + } + map.clear(); // 清空原来的Map,避免重复存储 + map.putAll(lowerCaseMap); // 将转换后的Map全部放回原位 + } + } + + //强制转换数据库字段为小写,出问题在说 + public void convertKeysToLowerCase(HashMap list) { + HashMap lowerCaseMap = new HashMap<>(); + for (Map.Entry entry : list.entrySet()) { + lowerCaseMap.put(entry.getKey().toLowerCase(), entry.getValue()); + } + list.clear(); // 清空原来的Map,避免重复存储 + list.putAll(lowerCaseMap); // 将转换后的Map全部放回原位 + } // ///** // * @param object @@ -780,10 +790,12 @@ public class MdmServiceImpl implements IMdmService { if (entity.getPageNum() != null && entity.getPageSize() != null) { PageHelper.startPage(entity.getPageNum(), entity.getPageSize()); List> mapList = mdmModuleDao.querySelectData(entity); + convertKeysToLowerCase(mapList); PageInfo pageInfo = new PageInfo(mapList); return BaseResult.getSuccessMessageEntity("查询数据成功", pageInfo); } else { List> mapList = mdmModuleDao.querySelectData(entity); + convertKeysToLowerCase(mapList); return BaseResult.getSuccessMessageEntity("查询数据成功", mapList); } } @@ -811,7 +823,7 @@ public class MdmServiceImpl implements IMdmService { if (entity.getUpId() == null || "".equals(entity.getUpId())) { return BaseResult.getFailureMessageEntity("系统错误"); } - if(entity.getMdmCode() != null && !"".equals(entity.getMdmCode())){ + if (entity.getMdmCode() != null && !"".equals(entity.getMdmCode())) { //查询模版 MdmModuleEntity mdmModuleEntities = mdmServiceCache.getMdmModuleEntity(entity.getMdmCode()); if (mdmModuleEntities == null) { @@ -831,6 +843,7 @@ public class MdmServiceImpl implements IMdmService { break; } } + entity.setTableName(mdmModuleDbEntity.getDbName()); } @@ -846,6 +859,7 @@ public class MdmServiceImpl implements IMdmService { List> returnList = new ArrayList<>(); return BaseResult.getSuccessMessageEntity("查询数据成功", returnList); } + convertKeysToLowerCase(mapList); List> returnList = gettochilder(strArray, 0, mapList); return BaseResult.getSuccessMessageEntity("查询数据成功", returnList); } else { @@ -854,8 +868,12 @@ public class MdmServiceImpl implements IMdmService { List> returnList = new ArrayList<>(); return BaseResult.getSuccessMessageEntity("查询数据成功", returnList); } + HashMap lowerCaseMap = new HashMap<>(); + for (Map.Entry entry : mapList.entrySet()) { + lowerCaseMap.put(entry.getKey().toLowerCase(), entry.getValue()); + } List> returnList = new ArrayList<>(); - returnList.add(mapList); + returnList.add(lowerCaseMap); return BaseResult.getSuccessMessageEntity("查询数据成功", returnList); } } else { @@ -863,6 +881,7 @@ public class MdmServiceImpl implements IMdmService { List> returnList = new ArrayList<>(); if (mapList != null && mapList.size() > 0) { + convertKeysToLowerCase(mapList); for (int i = 0; i < mapList.size(); i++) { //默认为根 if (mapList.get(i).get(entity.getUpId()) == null || "".equals(mapList.get(i).get(entity.getUpId()))) { @@ -1334,7 +1353,7 @@ public class MdmServiceImpl implements IMdmService { //String tablename = null; JSONObject jsonObject = new JSONObject(); for (int i = 0; i < mdmModuleDbEntityList.size(); i++) { - if("1".equals(mdmModuleDbEntityList.get(i).getDbType()) || "2".equals(mdmModuleDbEntityList.get(i).getDbType())){ + if ("1".equals(mdmModuleDbEntityList.get(i).getDbType()) || "2".equals(mdmModuleDbEntityList.get(i).getDbType())) { //查询数据 Map queryData = new HashMap<>(); queryData.put("tableName", mdmModuleDbEntityList.get(i).getDbName());//表名 @@ -1342,12 +1361,15 @@ public class MdmServiceImpl implements IMdmService { queryData.put("detailFlag", false);//是否明细 queryData.put("id", entity.getId());//字段 HashMap datas = mdmModuleDbDao.getServiceDataById(queryData); + convertKeysToLowerCase(datas); + jsonObject.put(mdmModuleDbEntityList.get(i).getDbName(), datas); //tablename = mdmModuleDbEntityList.get(i).getDbName() + "_distribute"; } else { queryData.put("detailFlag", true);//是否明细 queryData.put("id", entity.getId());//字段 List> datas = mdmModuleDbDao.getServiceByFormmainId(queryData); + convertKeysToLowerCase(datas); jsonObject.put(mdmModuleDbEntityList.get(i).getDbName(), datas); } } @@ -1399,7 +1421,7 @@ public class MdmServiceImpl implements IMdmService { if (mdmModuleDbEntityList == null || mdmModuleDbEntityList.size() == 0) { return BaseResult.getFailureMessageEntity("系统错误"); } - String res = checkDataOnly(jsonObject.getInteger("mdmCode"), saveData, true, mdmModuleEntity, mdmModuleDbEntityList,"界面修改"); + String res = checkDataOnly(jsonObject.getInteger("mdmCode"), saveData, true, mdmModuleEntity, mdmModuleDbEntityList, "界面修改"); if (res == null || "".equals(res)) { return BaseResult.getSuccessMessageEntity("修改数据成功"); @@ -1445,7 +1467,7 @@ public class MdmServiceImpl implements IMdmService { } - String res = checkDataOnly(jsonObject.getInteger("mdmCode"), saveData, false, mdmModuleEntity, mdmModuleDbEntityList,"界面新增"); + String res = checkDataOnly(jsonObject.getInteger("mdmCode"), saveData, false, mdmModuleEntity, mdmModuleDbEntityList, "界面新增"); if (res == null || "".equals(res)) { return BaseResult.getSuccessMessageEntity("保存数据成功"); @@ -1454,9 +1476,9 @@ public class MdmServiceImpl implements IMdmService { } } - private void saveOption(String dbname ,Long mdmCode ,JSONObject jsonObject,String id,String msg) { + private void saveOption(String dbname, Long mdmCode, JSONObject jsonObject, String id, String msg) { MdmModuleOptionLogEntity mdmModuleOptionLogEntity = new MdmModuleOptionLogEntity(); - mdmModuleOptionLogEntity.setTableName(dbname+"_option_log"); + mdmModuleOptionLogEntity.setTableName(dbname + "_option_log"); mdmModuleOptionLogEntity.setMdmCode(mdmCode); mdmModuleOptionLogEntity.setFormmainId(id); mdmModuleOptionLogEntity.setSourceName("数智中台"); @@ -1466,7 +1488,7 @@ public class MdmServiceImpl implements IMdmService { mdmModuleOptionLogEntity.setSourceData(jsonObject.toJSONString()); mdmModuleOptionLogEntity.setOptionType(msg); SysUserEntity sysUserEntity = sysUserDao.get(StpUtil.getLoginIdAsString()); - if(sysUserEntity != null){ + if (sysUserEntity != null) { mdmModuleOptionLogEntity.setOptionName(sysUserEntity.getPersonName()); } mdmModuleOptionLogEntity.setCreate(); @@ -1535,6 +1557,8 @@ public class MdmServiceImpl implements IMdmService { queryData.put("detailFlag", false);//是否明细 queryData.put("id", jsonObject.getString("id"));//字段 HashMap datas = mdmModuleDbDao.getServiceDataById(queryData); + convertKeysToLowerCase(datas); + String upValue = null; if (datas != null && datas.get(mdmModuleViewEntity.getUpIdFiled()) != null) { upValue = datas.get(mdmModuleViewEntity.getUpIdFiled()).toString(); @@ -1559,10 +1583,31 @@ public class MdmServiceImpl implements IMdmService { } - saveOption(dbname,mdmModuleEntity.getMdmCode(),jsonObject,jsonObject.getString("id"),"界面删除"); + saveOption(dbname, mdmModuleEntity.getMdmCode(), jsonObject, jsonObject.getString("id"), "界面删除"); return BaseResult.getSuccessMessageEntity("删除数据成功"); } + public JSONObject toLowerCaseKeys(JSONObject jsonObject) { + JSONObject lowerCaseJson = new JSONObject(); + if (jsonObject != null) { + for (String key : jsonObject.keySet()) { + Object value = jsonObject.get(key); + lowerCaseJson.put(key.toLowerCase(), value); + } + } + return lowerCaseJson; + } + + public List toLowerCaseKeys(List list) { + List jsonObjects = new ArrayList<>(); + if (list != null && list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + jsonObjects.add(toLowerCaseKeys(list.get(i))); + } + } + return jsonObjects; + } + /** * @param jsonStr * @return com.hzya.frame.web.entity.JsonResultEntity @@ -1571,7 +1616,7 @@ public class MdmServiceImpl implements IMdmService { * @Date 9:40 上午 2023/10/18 **/ @Override - public JsonResultEntity doMdmDistribute(JSONObject jsonStr) { + public JsonResultEntity doMdmDistribute(JSONObject jsonStr) throws Exception { JSONObject jsonObject = getstrObj("jsonStr", jsonStr); //校验是否有servecr传参 if (!checkData(jsonObject, "mdmCode")) { @@ -1679,6 +1724,7 @@ public class MdmServiceImpl implements IMdmService { map.put("tableName", mdmModuleDbEntities.get(i).getDbName()); map.put("id", id); object = mdmModuleDao.queryMdmST(map); + object = toLowerCaseKeys(object); if (object.getString("id") == null || "".equals(object.getString("id"))) { return BaseResult.getFailureMessageEntity("当前数据不存在"); } @@ -1688,6 +1734,7 @@ public class MdmServiceImpl implements IMdmService { checkData.put("id", id); checkData.put("mdmModuleDistributeDetailEntities", mdmModuleDistributeDetailEntities); JSONObject object1 = mdmModuleDao.queryMdmST(checkData); + object1 = toLowerCaseKeys(object1); if (object1 == null || object1.getString("id") == null || "".equals(object1.getString("id"))) { return BaseResult.getFailureMessageEntity("当前数据不符合规则不发送"); } @@ -1699,13 +1746,14 @@ public class MdmServiceImpl implements IMdmService { if (mdmModuleDbFiledsEntities != null && mdmModuleDbFiledsEntities.size() > 0) { for (int i2 = 0; i2 < mdmModuleDbFiledsEntities.size(); i2++) { if (mdmModuleDbFiledsRuleEntities.get(i1).getFiledId().equals(mdmModuleDbFiledsEntities.get(i2).getId())) { - if(object.getString(mdmModuleDbFiledsEntities.get(i2).getEnName()) != null){ + if (object.getString(mdmModuleDbFiledsEntities.get(i2).getEnName()) != null) { Map mapDetail = new HashMap<>(); mapDetail.put("tableName", mdmModuleDbFiledsRuleEntities.get(i1).getRuleValue()); String ids = object.getString(mdmModuleDbFiledsEntities.get(i2).getEnName()); String[] idss = ids.split(","); - mapDetail.put("id", idss[idss.length-1]); + mapDetail.put("id", idss[idss.length - 1]); JSONObject objectDetail = mdmModuleDao.queryMdmST(mapDetail); + objectDetail = toLowerCaseKeys(objectDetail); object.put(mdmModuleDbFiledsEntities.get(i2).getEnName(), objectDetail); } } @@ -1719,12 +1767,13 @@ public class MdmServiceImpl implements IMdmService { for (int i = 0; i < mdmModuleDbEntities.size(); i++) { if ("2".equals(mdmModuleDbEntities.get(i).getDbType())) { - Map map = new HashMap<>(); + Map map = new HashMap<>(); map.put("tableName", mdmModuleDbEntities.get(i).getDbName()); map.put("formmainId", object.getString("id")); List detail = mdmModuleDao.queryMdmSTDetail(map); //查看主表是否有字段是关联的 if (detail != null && detail.size() > 0) { + detail = toLowerCaseKeys(detail); if (mdmModuleDbFiledsRuleEntities != null && mdmModuleDbFiledsRuleEntities.size() > 0) { for (int i1 = 0; i1 < mdmModuleDbFiledsRuleEntities.size(); i1++) { if (mdmModuleDbFiledsRuleEntities.get(i1).getDbId().equals(mdmModuleDbEntities.get(i).getId())) { @@ -1732,13 +1781,15 @@ public class MdmServiceImpl implements IMdmService { for (int i2 = 0; i2 < mdmModuleDbFiledsEntities.size(); i2++) { if (mdmModuleDbFiledsRuleEntities.get(i1).getFiledId().equals(mdmModuleDbFiledsEntities.get(i2).getId())) { for (int i3 = 0; i3 < detail.size(); i3++) { - if(detail.get(i3).getString(mdmModuleDbFiledsEntities.get(i2).getEnName()) != null){ + if (detail.get(i3).getString(mdmModuleDbFiledsEntities.get(i2).getEnName()) != null) { Map mapDetail = new HashMap<>(); mapDetail.put("tableName", mdmModuleDbFiledsRuleEntities.get(i1).getRuleValue()); - String ids = detail.get(i3).getString(mdmModuleDbFiledsEntities.get(i2).getEnName()); + String ids = detail.get(i3).getString(mdmModuleDbFiledsEntities.get(i2).getEnName()); String[] idss = ids.split(","); - mapDetail.put("id", idss[idss.length-1]); + mapDetail.put("id", idss[idss.length - 1]); JSONObject objectDetail = mdmModuleDao.queryMdmST(mapDetail); + objectDetail = toLowerCaseKeys(objectDetail); + detail.get(i3).put(mdmModuleDbFiledsEntities.get(i2).getEnName(), objectDetail); } } @@ -1796,41 +1847,54 @@ public class MdmServiceImpl implements IMdmService { //找到登陆接口 SysApplicationApiEntity loginApi = sysApplicationApiDao.get(apiEntity.getAuthenticationPort()); if (null == loginApi) { - saveMdmModuleSendLogEntity("2","转发失败,认证接口不存在",dbname,object.getString("id"), sysApplicationEntity.getName(), apiEntity.getApiName(), object.toJSONString(), type); + saveMdmModuleSendLogEntity(mdmModuleEntity.getMdmCode(),mdmModuleDistributeEntity.getId(),"2", "转发失败,认证接口不存在", dbname, object.getString("id"), sysApplicationEntity.getName(), apiEntity.getApiName(), object.toJSONString(), type); return BaseResult.getFailureMessageEntity("发送错误,认证接口不存在"); } - String rzquerys = getQuery(loginApi,null,null); + String rzquerys = getQuery(loginApi, null, null); Map headersa = new HashMap<>(); headersa.put("publicKey", "ZJYAWb7lhAUTYqekPkU+uHJv1/ObJxb7dT7sD8HPRDGAgyhCe7eDIk+3zDUT+v578prj"); headersa.put("secretKey", "fviZnLBsQUAGF8w8FSOdJi7XlIm/XAZclMxRagDLfTyJFlvnIBF3w66Hrpfzs8cYj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="); headersa.put("appId", sysApplicationEntity.getAppId().toString()); headersa.put("apiCode", loginApi.getApiCode().toString()); - Map rzheaders = getHeaders(loginApi,headersa,null); - String rzbodys = getBodys(loginApi,null,null); - JsonResultEntity rzjsonResultEntity = sendData(loginApi,rzheaders,rzbodys,rzquerys); + Map rzheaders = getHeaders(loginApi, headersa, null); + String rzbodys = getBodys(loginApi, null, null); + JsonResultEntity rzjsonResultEntity = sendData(loginApi, rzheaders, rzbodys, rzquerys); if (!rzjsonResultEntity.isFlag()) { - saveMdmModuleSendLogEntity("2","转发失败,认证接口调用失败",dbname,object.getString("id"), sysApplicationEntity.getName(), apiEntity.getApiName(), object.toJSONString(), type); - return BaseResult.getFailureMessageEntity("发送错误:"+rzjsonResultEntity.getMsg()); + saveMdmModuleSendLogEntity(mdmModuleEntity.getMdmCode(),mdmModuleDistributeEntity.getId(),"2", "转发失败,认证接口调用失败", dbname, object.getString("id"), sysApplicationEntity.getName(), apiEntity.getApiName(), object.toJSONString(), type); + return BaseResult.getFailureMessageEntity("发送错误:" + rzjsonResultEntity.getMsg()); } JSONObject attritube = JSONObject.parseObject(rzjsonResultEntity.getAttribute().toString()); - //JSONObject attritube = attritube1.getJSONObject("attribute"); - querys = getQuery(apiEntity,querys,attritube); - headers = getHeaders(apiEntity,headers,attritube); - bodys = getBodys(apiEntity,bodys,attritube); + //logger.info("认证接口返回信息:"+ attritube.toJSONString()); + querys = getQuery(apiEntity, querys, attritube); + //logger.info("认证接口拼接querys信息:"+ querys); + + headers = getHeaders(apiEntity, headers, attritube); + if (headers != null && headers.size() > 0) { + StringBuffer stringBuffer = new StringBuffer(); + for (String key : headers.keySet()) { + stringBuffer.append(key).append("=").append(headers.get(key)).append("&"); + } + //logger.info("认证接口拼接header信息:"+ stringBuffer); + } + bodys = getBodys(apiEntity, bodys, attritube); + //logger.info("认证接口拼接bodys信息:"+ bodys); } + + //组装数据发送 - JsonResultEntity jsonResultEntity = sendData(apiEntity, headers,bodys,querys); + JsonResultEntity jsonResultEntity = sendData(apiEntity, headers, bodys, querys); if (jsonResultEntity.isFlag()) { - saveMdmModuleSendLogEntity("1","发送成功",dbname,object.getString("id"), sysApplicationEntity.getName(), apiEntity.getApiName(), object.toJSONString(), type); + saveMdmModuleSendLogEntity(mdmModuleEntity.getMdmCode(),mdmModuleDistributeEntity.getId(),"1", "发送成功", dbname, object.getString("id"), sysApplicationEntity.getName(), apiEntity.getApiName(), object.toJSONString(), type); return BaseResult.getSuccessMessageEntity("发送成功"); } else { - saveMdmModuleSendLogEntity("2","转发失败",dbname,object.getString("id"), sysApplicationEntity.getName(), apiEntity.getApiName(), object.toJSONString(), type); - return BaseResult.getFailureMessageEntity("发送错误:"+jsonResultEntity.getMsg()); + saveMdmModuleSendLogEntity(mdmModuleEntity.getMdmCode(),mdmModuleDistributeEntity.getId(),"2", "转发失败", dbname, object.getString("id"), sysApplicationEntity.getName(), apiEntity.getApiName(), object.toJSONString(), type); + return BaseResult.getFailureMessageEntity("发送错误:" + jsonResultEntity.getMsg()); } } - private Map getHeaders(SysApplicationApiEntity loginApi,Map map,JSONObject loginData) { - if(loginData == null){ + + private Map getHeaders(SysApplicationApiEntity loginApi, Map map, JSONObject loginData) { + if (loginData == null) { loginData = new JSONObject(); } if (loginApi.getHeaderIn() != null && !"".equals(loginApi.getHeaderIn())) { @@ -1850,11 +1914,11 @@ public class MdmServiceImpl implements IMdmService { } } else { if (querys.getString(SysEnum.EXAMPLE.getValue()) != null && !"".equals(querys.getString(SysEnum.EXAMPLE.getValue()))) {//入参没有值用实例值,如果没有不添加 - if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ + if (map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null) { map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), querys.getString(SysEnum.EXAMPLE.getValue())); } } else {//没有值直接拼接 - if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ + if (map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null) { map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), ""); } } @@ -1865,27 +1929,25 @@ public class MdmServiceImpl implements IMdmService { return map; - - } - private String getQuery(SysApplicationApiEntity loginApi,String sendDatastr,JSONObject loginData) { + private String getQuery(SysApplicationApiEntity loginApi, String sendDatastr, JSONObject loginData) { Map map = new HashMap<>(); - if(sendDatastr != null){ + if (sendDatastr != null) { String[] parts = sendDatastr.split("&"); - if(parts != null && parts.length > 0){ + if (parts != null && parts.length > 0) { for (int i = 0; i < parts.length; i++) { String[] part = parts[i].split("="); - if(part != null && part.length >=2 ){ + if (part != null && part.length >= 2) { for (int a = 0; a < part.length; a++) { - map.put(part[0],part[1]); + map.put(part[0], part[1]); } } } } } - if(loginData == null){ + if (loginData == null) { loginData = new JSONObject(); } if (loginApi.getQueryIn() != null && !"".equals(loginApi.getQueryIn())) { @@ -1906,11 +1968,11 @@ public class MdmServiceImpl implements IMdmService { } else { //不是认证类型直接取值 if (querys.getString(SysEnum.EXAMPLE.getValue()) != null && !"".equals(querys.getString(SysEnum.EXAMPLE.getValue()))) {//入参没有值用实例值,如果没有不添加 - if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ + if (map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null) { map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), querys.getString(SysEnum.EXAMPLE.getValue())); } } else {//没有值直接拼接 - if(map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null){ + if (map.get(querys.getString(SysEnum.PARAMETERNAME.getValue())) == null) { map.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), ""); } } @@ -1919,17 +1981,18 @@ public class MdmServiceImpl implements IMdmService { } } StringBuffer returnStr = new StringBuffer(); - if(map != null && map.size() > 0){ + if (map != null && map.size() > 0) { for (String key : map.keySet()) { - if("".equals(returnStr)){ + if ("".equals(returnStr)) { returnStr.append(key).append("=").append(map.get(key)); - }else { + } else { returnStr.append("&").append(key).append("=").append(map.get(key)); } } } return returnStr.toString(); } + /** * @param loginData * @param example @@ -1955,12 +2018,13 @@ public class MdmServiceImpl implements IMdmService { } return values; } - private String getBodys(SysApplicationApiEntity loginApi,String sendDatastr, JSONObject loginData) { + + private String getBodys(SysApplicationApiEntity loginApi, String sendDatastr, JSONObject loginData) { JSONObject sendData = new JSONObject(); - if(sendDatastr != null ){ + if (sendDatastr != null) { sendData = JSONObject.parseObject(sendDatastr); } - if(loginData == null){ + if (loginData == null) { loginData = new JSONObject(); } if (loginApi.getBodyIn() != null && !"".equals(loginApi.getBodyIn())) { @@ -1974,7 +2038,7 @@ public class MdmServiceImpl implements IMdmService { if (query != null && !"".equals(query)) { JSONArray example = JSONArray.parseArray(query); String logValue = getObjectValue(loginData, example); - sendData.put(querys.getString(SysEnum.PARAMETERNAME.getValue()),logValue); + sendData.put(querys.getString(SysEnum.PARAMETERNAME.getValue()), logValue); } } } @@ -1982,6 +2046,7 @@ public class MdmServiceImpl implements IMdmService { } return sendData.toString(); } + /** * @param querys 设置的字段属性 * @param sendData 发送数据 @@ -2096,15 +2161,15 @@ public class MdmServiceImpl implements IMdmService { //设置api的参数 //返回数据 JSONArray sendArray = sendData.getJSONArray(querys.getString(SysEnum.PARAMETERNAME.getValue())); - if(sendArray == null || sendArray.size() == 0){ + if (sendArray == null || sendArray.size() == 0) { return new JSONArray(); } String childers = querys.getString(SysEnum.CHILDREN.getValue()); - if(childers == null || "".equals(childers)){ + if (childers == null || "".equals(childers)) { return new JSONArray(); } JSONArray childersObj = JSONArray.parseArray(childers); - if(childersObj == null || childersObj.size() == 0){ + if (childersObj == null || childersObj.size() == 0) { return new JSONArray(); } JSONArray obj = new JSONArray(); @@ -2170,6 +2235,17 @@ public class MdmServiceImpl implements IMdmService { entity.setContentType("application/json"); post.setEntity(entity); } + + logger.info("接口拼接querys信息:"+ querys); + if (headers != null && headers.size() > 0) { + StringBuffer stringBuffer = new StringBuffer(); + for (String key : headers.keySet()) { + stringBuffer.append(key).append("=").append(headers.get(key)).append("&"); + } + logger.info("接口拼接header信息:"+ stringBuffer); + } + logger.info("接口拼接bodys信息:"+ bodys); + response = closeableHttpClient.execute(post); HttpEntity entity = response.getEntity(); @@ -2213,10 +2289,9 @@ public class MdmServiceImpl implements IMdmService { } } - private void saveMdmModuleSendLogEntity(String dataType,String remark,String dbname,String formmain_id, String target_app, String target_api, String source_data, String option_type) { + private void saveMdmModuleSendLogEntity(Long mdmCode,String distributeId,String dataType,String remark,String dbname,String formmain_id, String target_app, String target_api, String source_data, String option_type) throws Exception { MdmModuleSendLogEntity mdmModuleSendLogEntity = new MdmModuleSendLogEntity(); mdmModuleSendLogEntity.setTableName(dbname+"_send_log"); - mdmModuleSendLogEntity.setCreate(); mdmModuleSendLogEntity.setId(UUIDUtils.getUUID()); mdmModuleSendLogEntity.setSts("Y"); mdmModuleSendLogEntity.setCreate_user_id("1"); @@ -2233,6 +2308,35 @@ public class MdmServiceImpl implements IMdmService { mdmModuleSendLogEntity.setDataType(dataType); mdmModuleSendLogEntity.setRemark(remark); mdmModuleSendLogDao.save(mdmModuleSendLogEntity); + + + JSONObject jsonObject = JSONObject.parseObject(source_data); + IntegrationTaskLivingDetailsEntity integrationTaskLivingDetailsEntity = new IntegrationTaskLivingDetailsEntity(); + integrationTaskLivingDetailsEntity.setId(UUIDUtils.getUUID()); + integrationTaskLivingDetailsEntity.setSts("Y"); + integrationTaskLivingDetailsEntity.setCreate_user_id("1"); + integrationTaskLivingDetailsEntity.setModify_user_id("1"); + integrationTaskLivingDetailsEntity.setCreate_time(new Date()); + integrationTaskLivingDetailsEntity.setModify_time(new Date()); + integrationTaskLivingDetailsEntity.setOrg_id("0"); + integrationTaskLivingDetailsEntity.setCompanyId("0"); + JSONObject aa = new JSONObject(); + aa.put("mdmCode",mdmCode);//主数据编码 + aa.put("documentRule",jsonObject.getString("document_rule"));//行数据的单据规则编码 + aa.put("distributeId",distributeId);//发送表id + aa.put("type",option_type);//发送类型,1、新增2、修改3、删除 + integrationTaskLivingDetailsEntity.setRootAppPk(aa.toJSONString()); + integrationTaskLivingDetailsEntity.setRootAppBill(jsonObject.getString("document_rule")); + integrationTaskLivingDetailsEntity.setPluginId("MdmModulePlugin"); + integrationTaskLivingDetailsEntity.setRootAppNewData(source_data); + integrationTaskLivingDetailsEntity.setNewTransmitInfo(remark); + if("1".equals(dataType)){ + taskLivingDetailsService.saveLogToSuccess(integrationTaskLivingDetailsEntity); + }else { + taskLivingDetailsService.saveLogToFail(integrationTaskLivingDetailsEntity); + + } + } @@ -2247,11 +2351,11 @@ public class MdmServiceImpl implements IMdmService { * @Description 校验数据 * @Date 11:20 上午 2023/11/6 **/ - private String checkDataOnly(long mdmCode, JSONObject saveData, boolean flag, MdmModuleEntity mdmModuleEntity, List mdmModuleDbEntityList,String msg) { + private String checkDataOnly(long mdmCode, JSONObject saveData, boolean flag, MdmModuleEntity mdmModuleEntity, List mdmModuleDbEntityList, String msg) { StringBuffer str = new StringBuffer(); String dbname = null; for (int i = 0; i < mdmModuleDbEntityList.size(); i++) { - if("1".equals(mdmModuleDbEntityList.get(i).getDbType())){ + if ("1".equals(mdmModuleDbEntityList.get(i).getDbType())) { dbname = mdmModuleDbEntityList.get(i).getDbName(); } } @@ -2417,10 +2521,27 @@ public class MdmServiceImpl implements IMdmService { List mdmDataFiledDtos = new ArrayList<>(); for (int i1 = 0; i1 < fileds.size(); i1++) { if (jsonObject.get(fileds.get(i1).getEnName()) != null) { - MdmDataFiledDto mdmDataFiledDto = new MdmDataFiledDto(); - mdmDataFiledDto.setFiledsName(fileds.get(i1).getEnName()); - mdmDataFiledDto.setFiledsValue(jsonObject.getString(fileds.get(i1).getEnName())); - mdmDataFiledDtos.add(mdmDataFiledDto); + if (flag && "update_status".equals(fileds.get(i1).getEnName())) { + MdmDataFiledDto update_status = new MdmDataFiledDto(); + update_status.setFiledsName("update_status"); + update_status.setFiledsValue("0"); + mdmDataFiledDtos.add(update_status); + }else if(flag && "data_status".equals(fileds.get(i1).getEnName())) { + MdmDataFiledDto data_status = new MdmDataFiledDto(); + data_status.setFiledsName("data_status"); + data_status.setFiledsValue("F"); + mdmDataFiledDtos.add(data_status); + }else if(flag && "modify_user_id".equals(fileds.get(i1).getEnName())) { + MdmDataFiledDto data_status = new MdmDataFiledDto(); + data_status.setFiledsName("modify_user_id"); + data_status.setFiledsValue("F"); + //mdmDataFiledDtos.add(data_status); + }else { + MdmDataFiledDto mdmDataFiledDto = new MdmDataFiledDto(); + mdmDataFiledDto.setFiledsName(fileds.get(i1).getEnName()); + mdmDataFiledDto.setFiledsValue(jsonObject.getString(fileds.get(i1).getEnName())); + mdmDataFiledDtos.add(mdmDataFiledDto); + } } } MdmDataFiledDto mdmDataFiledDto = new MdmDataFiledDto(); @@ -2431,15 +2552,7 @@ public class MdmServiceImpl implements IMdmService { if (flag) { mdmDataDto.setId(jsonObject.getString("id")); id = jsonObject.getString("id"); - MdmDataFiledDto update_status = new MdmDataFiledDto(); - update_status.setFiledsName("update_status"); - update_status.setFiledsValue("0"); - mdmDataFiledDtos.add(update_status); - MdmDataFiledDto data_status = new MdmDataFiledDto(); - data_status.setFiledsName("data_status"); - data_status.setFiledsValue("F"); - ; - mdmDataFiledDtos.add(data_status); + int a = mdmModuleDao.updateForm(mdmDataDto); } else { @@ -2515,7 +2628,7 @@ public class MdmServiceImpl implements IMdmService { mdmDataDto.setTableName(mdmModuleDbEntityList.get(i).getDbName()); List mdmDataFiledDtos = new ArrayList<>(); for (int i1 = 0; i1 < fileds.size(); i1++) { - if("id".equals(fileds.get(i1).getEnName())){ + if ("id".equals(fileds.get(i1).getEnName())) { if (jsonObject.getString("id") != null) { MdmDataFiledDto ids = new MdmDataFiledDto(); ids.setFiledsName("id"); @@ -2527,12 +2640,12 @@ public class MdmServiceImpl implements IMdmService { ids.setFiledsValue(UUIDUtils.getUUID()); mdmDataFiledDtos.add(ids); } - }else if("formmain_id".equals(fileds.get(i1).getEnName())){ + } else if ("formmain_id".equals(fileds.get(i1).getEnName())) { MdmDataFiledDto formain_id = new MdmDataFiledDto(); formain_id.setFiledsName("formmain_id"); formain_id.setFiledsValue(id); mdmDataFiledDtos.add(formain_id); - }else if("data_status".equals(fileds.get(i1).getEnName())){ + } else if ("data_status".equals(fileds.get(i1).getEnName())) { if (jsonObject.getString("id") != null) { MdmDataFiledDto ids = new MdmDataFiledDto(); ids.setFiledsName("data_status"); @@ -2544,9 +2657,9 @@ public class MdmServiceImpl implements IMdmService { ids.setFiledsValue("Y"); mdmDataFiledDtos.add(ids); } - }else if("sorts".equals(fileds.get(i1).getEnName())){ + } else if ("sorts".equals(fileds.get(i1).getEnName())) { - }else if("create_user_id".equals(fileds.get(i1).getEnName())){ + } else if ("create_user_id".equals(fileds.get(i1).getEnName())) { //if (jsonObject.getString("id") != null) { // //} else { @@ -2555,28 +2668,28 @@ public class MdmServiceImpl implements IMdmService { // ids.setFiledsValue(UUIDUtils.getUUID()); // mdmDataFiledDtos.add(ids); //} - }else if("create_time".equals(fileds.get(i1).getEnName())){ + } else if ("create_time".equals(fileds.get(i1).getEnName())) { - }else if("modify_user_id".equals(fileds.get(i1).getEnName())){ + } else if ("modify_user_id".equals(fileds.get(i1).getEnName())) { //MdmDataFiledDto ids = new MdmDataFiledDto(); //ids.setFiledsName("modify_user_id"); //ids.setFiledsValue(UUIDUtils.getUUID()); //mdmDataFiledDtos.add(ids); - }else if("company_id".equals(fileds.get(i1).getEnName())){ + } else if ("company_id".equals(fileds.get(i1).getEnName())) { MdmDataFiledDto ids = new MdmDataFiledDto(); ids.setFiledsName("company_id"); ids.setFiledsValue("0"); mdmDataFiledDtos.add(ids); - }else if("org_id".equals(fileds.get(i1).getEnName())){ + } else if ("org_id".equals(fileds.get(i1).getEnName())) { MdmDataFiledDto ids = new MdmDataFiledDto(); ids.setFiledsName("org_id"); ids.setFiledsValue("0"); mdmDataFiledDtos.add(ids); - }else if("modify_time".equals(fileds.get(i1).getEnName())){ + } else if ("modify_time".equals(fileds.get(i1).getEnName())) { - }else if("sts".equals(fileds.get(i1).getEnName())){ + } else if ("sts".equals(fileds.get(i1).getEnName())) { - }else { + } else { MdmDataFiledDto mdmDataFiledDto = new MdmDataFiledDto(); mdmDataFiledDto.setFiledsName(fileds.get(i1).getEnName()); mdmDataFiledDto.setFiledsValue(jsonObject.getString(fileds.get(i1).getEnName())); @@ -2600,7 +2713,7 @@ public class MdmServiceImpl implements IMdmService { } } } - saveOption(dbname,mdmCode,saveData,id,msg); + saveOption(dbname, mdmCode, saveData, id, msg); } return str.toString(); } @@ -2658,5 +2771,15 @@ public class MdmServiceImpl implements IMdmService { } return flag; } - + ///*** + // * 查询所有的字段根据表名称 + // * @content: + // * @author 👻👻👻👻👻👻👻👻 gjh + // * @date 2024-06-27 16:29 + // * @param + // * @return java.util.List + // **/ + //private List queryMdMFields(Map maps){ + // return mdmModuleDao.queryMdMFields(maps); + //} } diff --git a/service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java index d6f85b69..7d4e4a27 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/sysnew/application/service/impl/SysApplicationServiceImpl.java @@ -1654,8 +1654,30 @@ public class SysApplicationServiceImpl extends BaseService headerNames = request.getHeaderNames(); + Map newheader = ServletUtil.getHeaderMap(request); + StringBuffer newheaders = new StringBuffer(); + + while (headerNames.hasMoreElements()) { + String headerName = headerNames.nextElement(); + String headerValue = request.getHeader(headerName); + newheader.put(headerName,headerValue); + newheaders.append(headerName).append("=").append(headerValue).append("&"); + } + logger.info("转发接口获取newheaders信息:"+ newheaders); + Map oldheaderMap = ServletUtil.getHeaderMap(request); String oldquerys = request.getQueryString(); + + logger.info("转发接口获取querys信息:"+ oldquerys); + if (oldheaderMap != null && oldheaderMap.size() > 0) { + StringBuffer stringBuffer = new StringBuffer(); + for (String key : oldheaderMap.keySet()) { + stringBuffer.append(key).append("=").append(oldheaderMap.get(key)).append("&"); + } + logger.info("转发接口获取header信息:"+ stringBuffer); + } + logger.info("转发接口获取bodys信息:"+ oldbodys); //应用key String publicKey = request.getHeader("publicKey"); //应用密钥 @@ -1765,7 +1787,13 @@ public class SysApplicationServiceImpl extends BaseService 0) { + StringBuffer stringBuffer = new StringBuffer(); + for (String key : headers.keySet()) { + stringBuffer.append(key).append("=").append(headers.get(key)).append("&"); + } + logger.info("内部方法转换前header信息:"+ stringBuffer); + } // 判断是否有内部api 是否扩展api 1、启用 2、停用 @@ -1789,6 +1817,7 @@ public class SysApplicationServiceImpl extends BaseService>>>>>>>>>>>>>>>>>>>>>>>>>>>"); + sysExtensionApiEntity = (SysExtensionApiEntity) m.invoke(object, sysExtensionApiEntity); logger.info("invoke结束>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); break; @@ -1804,6 +1833,15 @@ public class SysApplicationServiceImpl extends BaseService 0) { + StringBuffer stringBuffer = new StringBuffer(); + for (String key : headers.keySet()) { + stringBuffer.append(key).append("=").append(headers.get(key)).append("&"); + } + logger.info("内部方法转换后header信息:"+ stringBuffer); + } + logger.info("内部方法转换bodys信息:"+ bodys); + //设置参数获取参数 StringBuffer url = new StringBuffer(); if(!receiveApi.getDestinationAddress().toLowerCase().startsWith("http")){ @@ -1866,6 +1904,15 @@ public class SysApplicationServiceImpl extends BaseService 0) { + StringBuffer stringBuffer = new StringBuffer(); + for (String key : headers.keySet()) { + stringBuffer.append(key).append("=").append(headers.get(key)).append("&"); + } + logger.info("转发接口发送header信息:"+ stringBuffer); + } + logger.info("转发接口发送bodys信息:"+ bodys); + response = closeableHttpClient.execute(post); HttpEntity entity = response.getEntity(); diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/controlsLog/entity/ControlsLogEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/comparison/controlsLog/entity/ControlsLogEntity.xml index 7263a85d..316d3558 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/controlsLog/entity/ControlsLogEntity.xml +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/controlsLog/entity/ControlsLogEntity.xml @@ -62,7 +62,8 @@ option_name , data_type, remark, - sorts , + sorts, + create_user_id , modify_user_id , org_id , @@ -83,7 +84,7 @@ #{dataType}, #{remark}, #{sorts} , - (select (max(IFNULL( a.sorts, 0 )) + 1) as sort from ${dbName} a WHERE a.sts = 'Y' ), + #{create_user_id} , #{modify_user_id} , #{org_id} , diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.java b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.java index 6226ae09..117880b0 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.java +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.java @@ -48,6 +48,25 @@ public class ComparisonEntity extends BaseEntity { private String ruleCode;//规则编码required 判断字段是否是必填 private String ruleValue;//规则值 true/false 判断字段是否是必填 private String filedId;//mdm_module_db_fileds_rule的id + //小写字段 + private List fields; + private List returnField; + + public List getReturnField() { + return returnField; + } + + public void setReturnField(List returnField) { + this.returnField = returnField; + } + + public List getFields() { + return fields; + } + + public void setFields(List fields) { + this.fields = fields; + } public String getFiledId() { return filedId; diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml index cb3981a5..4d1dd334 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/entity/ComparisonEntity.xml @@ -16,7 +16,23 @@ - select group_concat(db_value SEPARATOR '') as documentRule from mdm_table_code_rule - where mdm_id=#{mId} and sts='Y' - + + select replace(WM_CONCAT(db_value),',','') as documentRule from mdm_table_code_rule +where mdm_id=#{mId} and sts='Y' + - + + + diff --git a/service/src/main/java/com/hzya/frame/sysnew/login/impl/LoginServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/login/impl/LoginServiceImpl.java index bef5714c..3b0bf5be 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/login/impl/LoginServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/sysnew/login/impl/LoginServiceImpl.java @@ -8,6 +8,8 @@ import com.hzya.frame.sysnew.application.entity.SysApplicationEntity; import com.hzya.frame.sysnew.login.ILoginService; import com.hzya.frame.sysnew.organ.dao.ISysOrganDao; import com.hzya.frame.sysnew.organ.entity.SysOrganEntity; +import com.hzya.frame.sysnew.person.dao.ISysPersonDao; +import com.hzya.frame.sysnew.person.entity.SysPersonEntity; import com.hzya.frame.sysnew.popedomInterface.entity.SysPopedomInterfaceEntity; import com.hzya.frame.sysnew.popedomInterface.service.impl.InterfaceCache; import com.hzya.frame.sysnew.sysInterface.entity.SysInterfaceEntity; @@ -37,6 +39,8 @@ public class LoginServiceImpl implements ILoginService { @Resource private ISysUserDao sysUserDao; @Resource + private ISysPersonDao sysPersonDao; + @Resource private ISysOrganDao sysOrganDao; @Resource @@ -70,6 +74,12 @@ public class LoginServiceImpl implements ILoginService { if (sysUserEntity.getState() == null || !"0".equals(sysUserEntity.getState())) { return BaseResult.getFailureMessageEntity("当前用户已停用,请先启用"); } + if(sysUserEntity.getPersonId() != null &&!"".equals(sysUserEntity.getPersonId())){ + SysPersonEntity sysPersonEntity = sysPersonDao.get(sysUserEntity.getPersonId()); + if(sysPersonEntity != null && sysPersonEntity.getPersonName()!= null){ + sysUserEntity.setPersonName(sysPersonEntity.getPersonName()); + } + } //校验当前登陆人是否有权限 //boolean flag = false; //SysInterfaceEntity sysInterfaceEntity = (SysInterfaceEntity) interfaceCache.get("6","beanNameloginServiceinterfacNamedoLogin"); diff --git a/webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java b/webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java index 3fab59ec..4aa9538a 100644 --- a/webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java +++ b/webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java @@ -1,5 +1,6 @@ package com.hzya.frame.webapp.entrance.controler; +import com.hzya.frame.bip.v3.v2207.service.IBipSsoService; import com.hzya.frame.sysnew.application.service.ISysApplicationService; import com.hzya.frame.sys.entity.EsbReturnEntity; import com.hzya.frame.sys.file.download.entity.FileDownloadEntity; @@ -29,6 +30,8 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -43,7 +46,8 @@ import java.nio.charset.StandardCharsets; @RequestMapping("/entranceController") public class EntranceController { private final Logger logger = LoggerFactory.getLogger(EntranceController.class); - + @Autowired + protected IBipSsoService bipSsoService; @Autowired @Qualifier(value = "entranceServiceImpl") private IEntranceService entranceService; @@ -169,4 +173,11 @@ public class EntranceController { public JsonResultEntity externalCallInterfaceToESB(ServletRequest servletRequest, ServletResponse servletResponse) throws Exception { return sysApplicationService.externalCallInterfaceToESB(servletRequest,servletResponse); } + + @RequestMapping(value = "/erpSso") + @ResponseBody + public String erpSso(HttpServletRequest request, HttpServletResponse response, String ticket) throws Exception { + response.sendRedirect(bipSsoService.erpSso(request,ticket)); + return null; + } }