diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/ISysLogService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/ISysLogService.java index f6ddc9e..0cca652 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/ISysLogService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/base/ISysLogService.java @@ -5,7 +5,6 @@ import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.platform.platbean.*; import io.swagger.annotations.ApiOperation; -import java.util.Date; import java.util.List; import java.util.Map; @@ -61,5 +60,4 @@ public interface ISysLogService { @ApiOperation(value = "查询时间段内各等级日志数量",notes = "查询时间段内各等级日志数量") Map querySysLogSystemByLevel(String startTime, String endTime); - } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleResourceService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleResourceService.java index f26c1ce..8f7fb35 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleResourceService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLocaleResourceService.java @@ -79,9 +79,10 @@ public interface ISysLocaleResourceService { /** * 批量转换缺失资源 - * @param missResourceModelList + * @param missResourceModelList 缺失资源信息 + * @param userName 用户名称 */ @ApiOperation(value = "批量转换缺失资源") - void doConversionMissResourceByKeys(List missResourceModelList) ; + void doConversionMissResourceByKeys(List missResourceModelList,String userName) ; } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPojoVersionDetailService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPojoVersionDetailService.java index 2acc5f1..be8a8b7 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPojoVersionDetailService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPojoVersionDetailService.java @@ -2,6 +2,7 @@ package cn.estsh.i3plus.core.api.iservice.busi; import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionDetail; import cn.estsh.impp.framework.base.service.ICrudService; +import io.swagger.annotations.ApiOperation; /** * @Description : @@ -11,4 +12,7 @@ import cn.estsh.impp.framework.base.service.ICrudService; * @Modify: **/ public interface ISysPojoVersionDetailService extends ICrudService { + + @ApiOperation("根据对象版本信息查询对象版本明细") + SysPojoVersionDetail getPojoVersionDetailByPojoVersionId(Long pojoVersionId); } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPojoVersionPlanService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPojoVersionPlanService.java index aa124d4..c0aa302 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPojoVersionPlanService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPojoVersionPlanService.java @@ -16,4 +16,6 @@ public interface ISysPojoVersionPlanService extends ICacheCrudServicei3plus-icloud-softswitch + + i3plus.icloud + i3plus-icloud-mdm + + i3plus.pojo @@ -55,11 +60,17 @@ i3plus.pojo i3plus-pojo-model + i3plus.pojo i3plus-pojo-base + + i3plus.pojo + i3plus-pojo-mdm + + i3plus.core diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoUploadController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoUploadController.java index 8807063..802271e 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoUploadController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/DemoUploadController.java @@ -5,8 +5,8 @@ import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient; -import cn.estsh.impp.framework.boot.fastdfs.FastDFSFile; +import cn.estsh.impp.framework.boot.fileservice.ImppFileService; +import cn.estsh.i3plus.pojo.base.bean.ImppFile; import cn.estsh.impp.framework.boot.util.ResultBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -15,7 +15,6 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.servlet.mvc.support.RedirectAttributes; /** * @Description : @@ -33,7 +32,7 @@ public class DemoUploadController extends CoreBaseController{ /********************** 文件上传 ***********************/ @Autowired - private FastDFSClient dfsClient; + private ImppFileService fileService; @GetMapping("/") public String index() { @@ -64,7 +63,7 @@ public class DemoUploadController extends CoreBaseController{ @ApiOperation(value = "文件上传",notes = "文件上传") public ResultBean singleFileUpload(@RequestParam("file") MultipartFile file) { try { - FastDFSFile dfsFile = dfsClient.saveFile(file); + ImppFile dfsFile = fileService.upload(file); return ResultBean.success("上传成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultObject(dfsFile); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/ImppLogController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/ImppLogController.java index 842b10b..d6e72f9 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/ImppLogController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/ImppLogController.java @@ -2,8 +2,8 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.base.ISysLogService; import cn.estsh.i3plus.platform.common.tool.TimeTool; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; -import cn.estsh.i3plus.platform.plugin.elasticsearch.ElasticSearchTool; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; @@ -12,14 +12,18 @@ import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ResultBean; +import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.Calendar; import java.util.Date; +import java.util.List; /** * @Description : @@ -131,6 +135,42 @@ public class ImppLogController extends CoreBaseController { } } + /** + * 定时任务控制台日志,分页,排序 + * @param bean 查询条件 + * @return 处理结果 + */ + @GetMapping(value = "/console/query-schedule") + @ApiOperation(value = "定时任务控制台日志,分页,排序",notes = "定时任务控制台日志") + public ResultBean querySchdeuleLogConsoleByPager(SysLogConsole bean){ + try { + ValidatorBean.beginValid(bean) + .notNull("logGroup",bean.getLogGroup()); + // 参数 + // 1. group = CommonConstWords.SCHEDULE_LOG:Gourp.Name + // 2. + + bean.setLogGroup(CommonConstWords.SCHEDULE_LOG + ":" + bean.getLogGroup()); + + // 开始时间默认为上一分钟 + if (StringUtils.isBlank(bean.getCreateDateTimeStart())) { + Date lastMinute = TimeTool.timeCalc(new Date(), Calendar.MINUTE, -1); + bean.setCreateDateTimeStart(TimeTool.pareDateToString(lastMinute)); + } + + // 结束时间默认为当前时间 + if (StringUtils.isBlank(bean.getCreateDateTimeEnd())) { + bean.setCreateDateTimeEnd(TimeTool.getNowTime(true)); + } + List logExceptionList = logService.findLogConsoleList(bean); + return ResultBean.success("查询成功").setResultList(logExceptionList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + @GetMapping(value = "/clean-log") @ApiOperation(value = "添加操作日志", notes = "添加操作日志,可用于国际化") public ResultBean logClean(String time) { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java index b866da4..f8fb82d 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysFileController.java @@ -17,7 +17,8 @@ import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient; +import cn.estsh.impp.framework.boot.fileservice.ImppFileService; +import cn.estsh.i3plus.pojo.base.bean.ImppFile; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; @@ -64,7 +65,7 @@ public class SysFileController extends CoreBaseController { private ISysDictionaryService dictionaryService; @Autowired - private FastDFSClient dfsClient; + private ImppFileService fileService; /** * 修改文件资源 @@ -106,7 +107,12 @@ public class SysFileController extends CoreBaseController { ValidatorBean.checkNotNull(sysFile, "文件信息不存在"); LOGGER.info("FastDFS删除文件 == groupName: {},name:{}", sysFile.getDfsGroupName(), sysFile.getDfsFileName()); - dfsClient.deleteFile(sysFile.getDfsGroupName(), sysFile.getDfsFileName()); + + ImppFile imppFile = new ImppFile(); + imppFile.setDfsGroupName(sysFile.getDfsGroupName()); + imppFile.setDfsFileName(sysFile.getDfsFileName()); + + fileService.deleteFile(imppFile); sysFileService.deleteSysFileById(Long.parseLong(idStr)); @@ -312,7 +318,11 @@ public class SysFileController extends CoreBaseController { .build(); } - InputStream fis = dfsClient.downFile(sysFile.getDfsGroupName(), sysFile.getDfsFileName()); + ImppFile imppFile = new ImppFile(); + imppFile.setDfsGroupName(sysFile.getDfsGroupName()); + imppFile.setDfsFileName(sysFile.getDfsFileName()); + + InputStream fis = fileService.downFile(imppFile); if (fis == null) { throw ImppExceptionBuilder.newInstance() diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java index e8d840d..a61645e 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java @@ -25,8 +25,8 @@ import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient; -import cn.estsh.impp.framework.boot.fastdfs.FastDFSFile; +import cn.estsh.impp.framework.boot.fileservice.ImppFileService; +import cn.estsh.i3plus.pojo.base.bean.ImppFile; import cn.estsh.impp.framework.boot.util.ImppRedis; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; @@ -82,7 +82,7 @@ public class SysLocaleResourceController extends CoreBaseController { private EntityManager entityManager; @Autowired - private FastDFSClient dfsClient; + private ImppFileService fileService; /** * 新增语言资源 @@ -487,10 +487,10 @@ public class SysLocaleResourceController extends CoreBaseController { // 查询服务器中是否存在模板文件 SysFile sysFile = sysFileService.getSysFileByFileCode(importTemplateCode); if(sysFile == null){ - FastDFSFile fastDFSFile = new FastDFSFile(SysLocaleResource.class.getSimpleName() + "ImportTemplate.xls", + ImppFile fastDFSFile = new ImppFile(SysLocaleResource.class.getSimpleName() + "ImportTemplate.xls", excelTool.importTemplate(SysLocaleResource.class), ".xls"); - sysFile = dfsClient.upload(fastDFSFile,CommonEnumUtil.SOFT_TYPE.CORE.getValue()); + sysFile = fileService.upload(fastDFSFile,CommonEnumUtil.SOFT_TYPE.CORE.getValue()); sysFile.setFileCode(importTemplateCode); sysFileService.insertSysFile(sysFile); } @@ -563,7 +563,9 @@ public class SysLocaleResourceController extends CoreBaseController { @ApiOperation(value = "批量转换缺失资源") public ResultBean doBatchConversionMissResource(@RequestBody List missResourceModelList){ try { - sysLocaleResourceService.doConversionMissResourceByKeys(missResourceModelList); + ValidatorBean.checkNotNull(missResourceModelList,"请选择缺失数据信息"); + + sysLocaleResourceService.doConversionMissResourceByKeys(missResourceModelList, AuthUtil.getSessionUser().getUserName()); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { @@ -607,7 +609,7 @@ public class SysLocaleResourceController extends CoreBaseController { String fileName = "locale_" + System.currentTimeMillis() + ".xls"; File file = new File(tempDir,fileName); - if (file.createNewFile()) { + if (!file.createNewFile()) { throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) .setErrorCode(ImppExceptionEnum.IO_EXCEPTION_FILE.getCode()) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java index ea3b86f..4c145c5 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java @@ -21,8 +21,8 @@ import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient; -import cn.estsh.impp.framework.boot.fastdfs.FastDFSFile; +import cn.estsh.impp.framework.boot.fileservice.ImppFileService; +import cn.estsh.i3plus.pojo.base.bean.ImppFile; import cn.estsh.impp.framework.boot.util.ImppRedis; import cn.estsh.impp.framework.boot.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; @@ -67,7 +67,7 @@ public class SysOrderNoRuleController extends CoreBaseController { private ISysMessageService sysMessageService; @Autowired - private FastDFSClient dfsClient; + private ImppFileService fileService; @Autowired private EntityManager entityManager; @@ -333,10 +333,10 @@ public class SysOrderNoRuleController extends CoreBaseController { // 查询服务器中是否存在模板文件 SysFile sysFile = sysFileService.getSysFileByFileCode(importTemplateCode); if(sysFile == null){ - FastDFSFile fastDFSFile = new FastDFSFile(SysOrderNoRule.class.getSimpleName() + "ImportTemplate.xls", + ImppFile fastDFSFile = new ImppFile(SysOrderNoRule.class.getSimpleName() + "ImportTemplate.xls", excelTool.importTemplate(SysOrderNoRule.class), ".xls"); - sysFile = dfsClient.upload(fastDFSFile,CommonEnumUtil.SOFT_TYPE.CORE.getValue()); + sysFile = fileService.upload(fastDFSFile,CommonEnumUtil.SOFT_TYPE.CORE.getValue()); sysFile.setFileCode(importTemplateCode); sysFileService.insertSysFile(sysFile); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPojoVersionDetailController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPojoVersionDetailController.java index 2b06e9a..65e3115 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPojoVersionDetailController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPojoVersionDetailController.java @@ -1,14 +1,20 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionDetailService; -import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionService; import cn.estsh.i3plus.platform.common.util.CommonConstWords; -import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersion; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionDetail; import cn.estsh.impp.framework.base.controller.CrudBaseController; import cn.estsh.impp.framework.base.service.ICrudService; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ResultBean; +import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -30,4 +36,27 @@ public class SysPojoVersionDetailController extends CrudBaseController { @Autowired private ISysPojoVersionPlanService pojoVersionService; @@ -42,9 +42,9 @@ public class SysPojoVersionPlanController extends CrudBaseController> masterDateRefMap = new HashMap<>(); + private static final HashMap> busiDateRefMap = new HashMap<>(); + private static final HashMap, BaseBusiSyncMdmDataService> syncServiceMap = new HashMap<>(); + + public void putMdmDataRef(Class syncService, Class mdmMasterClass, Class mdmBusiClass) { + masterDateRefMap.put(mdmMasterClass.getName(), syncService); + busiDateRefMap.put(mdmBusiClass.getName(), syncService); + } + + /** + * 获取同步服务 + * + * @param syncData + * @return + */ + private BaseBusiSyncMdmDataService getSyncService(MdmSyncData syncData) { + Class syncServiceClass = null; + + // 根据MdmClass查找对应关系 + if (CommonEnumUtil.TRUE_OR_FALSE.valueOfBoolean(syncData.getIsMasterDataVal())) { + syncServiceClass = masterDateRefMap.get(syncData.getSyncDataClass()); + } else { + syncServiceClass = busiDateRefMap.get(syncData.getSyncDataClass()); + } + + if (syncServiceClass == null) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MDM.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("【MDM同步关系未维护】MdmClass %s", syncData.getSyncDataClass()) + .setErrorSolution("维护Mdm同步关系") + .build(); + } + + // 根据同步服务Class获取服务对象 + BaseBusiSyncMdmDataService busiSyncMdmDataService = syncServiceMap.get(syncServiceClass); + if (busiSyncMdmDataService == null) { + busiSyncMdmDataService = SpringContextsUtil.getBean(syncServiceClass); + syncServiceMap.put(syncServiceClass, busiSyncMdmDataService); + } + if (busiSyncMdmDataService == null) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MDM.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("【MDM同步服务为找到】SyncServiceClass %s", syncServiceClass) + .build(); + } + + return busiSyncMdmDataService; + } + + /** + * Mdm主数据同步 + * + * @param syncDataStr 消息 + * @param channel 通道 + * @param message 消息 + */ + public void processSyncMasterData(String syncDataStr, Channel channel, Message message) { + MdmSyncData syncData = null; + try { + LOGGER.info("【MQ-QUEUE_MDM_SYNC_MASTER_DATA_CORE】数据接收成功:{}", syncDataStr); + syncData = JsonUtilTool.decode(syncDataStr, MdmSyncData.class); + if (syncData == null) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("同步数据不存在") + .build(); + } + + // 同步数据类型 + BaseBusiSyncMdmDataService busiSyncMdmDataService = getSyncService(syncData); + + boolean isMaster = CommonEnumUtil.TRUE_OR_FALSE.valueOfBoolean(syncData.getIsMasterDataVal()); + + // 判断操作类型与同步数据类型调用对应的方法 + if (syncData.getSyncTypeVal() == MdmEnumUtil.MDM_SYNC_TYPE.INSERT.getValue()) { + if (isMaster) { + busiSyncMdmDataService.masterInsertSync(syncData); + } else { + busiSyncMdmDataService.busiInsertSync(syncData); + } + } else if (syncData.getSyncTypeVal() == MdmEnumUtil.MDM_SYNC_TYPE.UPDATE.getValue()) { + if (isMaster) { + busiSyncMdmDataService.masterUpdateSync(syncData); + } else { + busiSyncMdmDataService.busiUpdateSync(syncData); + } + } else if (syncData.getSyncTypeVal() == MdmEnumUtil.MDM_SYNC_TYPE.DELETE.getValue()) { + if (isMaster) { + busiSyncMdmDataService.masterDeleteSync(syncData); + } else { + busiSyncMdmDataService.busiDeleteSync(syncData); + } + } + + //信息已处理 + LOGGER.info("【MQ-QUEUE_MDM_SYNC_MASTER_DATA_CORE】数据处理成功:{}", syncDataStr); + } catch (Exception e) { + LOGGER.error("【MQ-QUEUE_MDM_SYNC_MASTER_DATA_CORE】处理出错:{}", syncData, e); + if (syncData != null) { + // 保存异常信息和堆栈数据 + syncData.setSyncFailDateTime(TimeTool.getNowTime(true)); + syncData.setSyncFailMessage(ExceptionUtils.getStackTrace(e)); + + //放入MDM 缓存中 + mdmRedis.putObject(getFailRedisKey(syncData), syncData, -1); + } + } finally { + try { + channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); + } catch (IOException e1) { + e1.printStackTrace(); + } + } + } + + private String getFailRedisKey(MdmSyncData syncData) { + return REDIS_MDM_SYNC_FAIL + "-" + syncData.getSyncSoftType() + ":" + syncData.getSyncDataClassSimpleName() + ":" + syncData.getSyncFailDateTime() + "-" + System.currentTimeMillis(); + } + + public abstract void syncMasterData(String syncDataStr, Channel channel, Message message); + +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MdmDataSyncQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MdmDataSyncQueueReceiver.java new file mode 100644 index 0000000..b3300c8 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MdmDataSyncQueueReceiver.java @@ -0,0 +1,34 @@ +package cn.estsh.i3plus.core.apiservice.mq; + +import cn.estsh.i3plus.core.apiservice.serviceimpl.mdm.SysToolSyncDataService; +import cn.estsh.i3plus.pojo.mdm.bean.busi.core.MdmGearCoreBusiExtd; +import com.rabbitmq.client.Channel; +import org.springframework.amqp.core.Message; +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Component; + +import static cn.estsh.i3plus.platform.common.util.MdmConstWords.QUEUE_MDM_SYNC_DATA_CORE; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2020-05-28 16:54 + * @Modify: + **/ +@Component +public class MdmDataSyncQueueReceiver extends BaseMdmDataSyncQueueReceiver { + + /** + * 初始化类关系 + */ + public MdmDataSyncQueueReceiver() { + putMdmDataRef(SysToolSyncDataService.class, MdmGearCoreBusiExtd.mdmMasterClass, MdmGearCoreBusiExtd.class); + } + + @Override + @RabbitListener(queues = QUEUE_MDM_SYNC_DATA_CORE) + public void syncMasterData(String syncDataStr, Channel channel, Message message) { + processSyncMasterData(syncDataStr, channel, message); + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageSWebNoticeQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageSWebNoticeQueueReceiver.java index 3dad586..d62d190 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageSWebNoticeQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MessageSWebNoticeQueueReceiver.java @@ -64,6 +64,10 @@ public class MessageSWebNoticeQueueReceiver { // 添加消息 SysMessage msg = JsonUtilTool.decode(data, SysMessage.class); try { + if (msg!= null &&StringUtils.isBlank(msg.getCreateUser())) { + ConvertBean.serviceModelInitialize(msg, msg.getMessageSenderNameRdd()); + } + msg = sysMessageService.insertSysMessage(msg); // 添加附件信息 @@ -90,20 +94,23 @@ public class MessageSWebNoticeQueueReceiver { try { userJsonArray = JSON.parseArray(msg.getMessageReceiversId()); }catch (JSONException e){ - LOGGER.error(" JSON转换错误【{0}】:{1}", msg.getMessageReceiversId(), e.getMessage()); + LOGGER.error("JSON转换错误【{0}】", msg.getMessageReceiversId(), e.getMessage()); } JSONObject userJsonObject; List insertList = new ArrayList<>(userJsonArray.size()); - List receiversId = new ArrayList(); - List receiversName = new ArrayList(); + List receiversId = new ArrayList<>(); + List receiversName = new ArrayList<>(); SysRefUserMessage refUserMessage; - for (Object user : userJsonArray) { // 约定格式:[{'id':'111','name':'张三'},{'id':'121','name':'张三2'}] userJsonObject = ( JSONObject )user; - receiversId.add(userJsonObject.get("id").toString()); - receiversName.add(userJsonObject.get("name").toString()); + if (userJsonObject.containsKey("id")) { + receiversId.add(userJsonObject.getLongValue("id")); + } + if (userJsonObject.containsKey("name")) { + receiversName.add(userJsonObject.getString("name")); + } refUserMessage = new SysRefUserMessage(); refUserMessage.setMessageId(msg.getId()); @@ -111,8 +118,8 @@ public class MessageSWebNoticeQueueReceiver { refUserMessage.setMessageTitleRdd(msg.getMessageTitle()); refUserMessage.setMessageTypeRdd(msg.getMessageType()); refUserMessage.setMessageSenderNameRdd(msg.getMessageSenderNameRdd()); - refUserMessage.setReceiverId(Long.parseLong(userJsonObject.get("id").toString())); - refUserMessage.setReceiverNameRdd(userJsonObject.get("name").toString()); + refUserMessage.setReceiverId(userJsonObject.getLongValue("id")); + refUserMessage.setReceiverNameRdd(userJsonObject.getString("name")); refUserMessage.setMessageStatus(ImppEnumUtil.MESSAGE_STATUS.UNREAD.getValue()); refUserMessage.setReceiverTime(TimeTool.getNowTime(true)); refUserMessage.setIsUrgent(msg.getIsUrgent()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java index c104b08..6edde9a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/ScheduleQueueReceiver.java @@ -11,6 +11,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysMessage; import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan; +import cn.estsh.i3plus.pojo.platform.bean.SysUser; import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime; import cn.estsh.impp.framework.boot.log.ImppLog; import com.alibaba.fastjson.JSON; @@ -110,7 +111,7 @@ public class ScheduleQueueReceiver { // 设置收件人名称 String[] messageReceiver = taskPlan.getNoticeChannel().split(","); String receiversName = sysUserService.findSysUserByIds(StringTool.getArrayLong(messageReceiver)) - .stream().map(e -> e.getUserName()).collect(Collectors.joining(",")); + .stream().map(SysUser::getUserName).collect(Collectors.joining(",")); sysMessage.setMessageReceiversNameRdd(receiversName); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java index 1d70422..f4bf088 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/schedulejob/DemoJob.java @@ -7,8 +7,6 @@ import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.quartz.DisallowConcurrentExecution; import org.quartz.JobExecutionContext; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; /** @@ -21,7 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired; @DisallowConcurrentExecution @ApiOperation("定时任务demo") public class DemoJob extends BaseImppScheduleJob { - public static final Logger LOGGER = LoggerFactory.getLogger(DemoJob.class); + private static final long serialVersionUID = 2582480740831583839L; public DemoJob() { @@ -48,7 +46,18 @@ public class DemoJob extends BaseImppScheduleJob { } catch (InterruptedException e) { e.printStackTrace(); } - System.out.println("定时任务被执行"); - LOGGER.info("projectName:{},port:{}", applicationProperties.getApplicationName(),applicationProperties.getServerPort()); + + LOGGER.debug("debug /////BaseImppScheduleJob/// ///////projectName:{},port:{}", + applicationProperties.getApplicationName(), + applicationProperties.getServerPort()); + LOGGER.info("info ///////////BaseImppScheduleJob// ////projectName:{},port:{}", + applicationProperties.getApplicationName(), + applicationProperties.getServerPort()); + LOGGER.warn("warn /////////BaseImppScheduleJob////////////////////projectName:{},port:{}", + applicationProperties.getApplicationName(), + applicationProperties.getServerPort()); + LOGGER.error("error ////////////BaseImppScheduleJob////////////////////projectName:{},port:{}", + applicationProperties.getApplicationName(), + applicationProperties.getServerPort()); } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/BaseBusiSyncMdmDataService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/BaseBusiSyncMdmDataService.java new file mode 100644 index 0000000..e0e1d16 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/BaseBusiSyncMdmDataService.java @@ -0,0 +1,139 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.icloud.mdm.sdk.base.IBaseMdmBusiExtdCloud; +import cn.estsh.i3plus.icloud.mdm.sdk.base.IBaseMdmBusiModelCloud; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +import cn.estsh.i3plus.pojo.base.bean.BaseResultBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.mdm.bean.base.BaseMdmBusiModelBean; +import cn.estsh.i3plus.pojo.mdm.bean.base.MdmSyncData; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; + +import java.util.List; + +/** + * @Description : 业务同步setvice + * @Reference : + * @Author : yunhao + * @CreateDate : 2020-05-15 17:58 + * @Modify: + **/ +public abstract class BaseBusiSyncMdmDataService { + + private IBaseMdmBusiExtdCloud baseMdmBusiExtdCloud; + + private IBaseMdmBusiModelCloud baseMdmBusiModelCloud; + + public BaseBusiSyncMdmDataService(IBaseMdmBusiExtdCloud baseMdmBusiExtdCloud, IBaseMdmBusiModelCloud baseMdmBusiModelCloud) { + this.baseMdmBusiExtdCloud = baseMdmBusiExtdCloud; + this.baseMdmBusiModelCloud = baseMdmBusiModelCloud; + } + + /** + * 主数据新增同步 + * @param syncData + */ + public void masterInsertSync(MdmSyncData syncData) { + baseMdmBusiExtdCloud.whiteDoProcessMissBusiExtdByMaster(syncData.getSyncDataId().toArray(new Long[syncData.getSyncDataId().size()]), syncData.getSyncDateUserName()); + } + + /** + * 主数据修改同步 + * @param syncData + */ + public void masterUpdateSync(MdmSyncData syncData) { + BaseResultBean baseResultBean = + baseMdmBusiModelCloud.whiteFindByMasterIds(syncData.getSyncDataId().toArray(new Long[syncData.getSyncDataId().size()])); + if (!baseResultBean.isSuccess()) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MDM.getCode()) + .setErrorCode(ImppExceptionEnum.CLOUD_CALL_EXCEPTION.getCode()) + .setErrorDetail(baseResultBean.getErrorMsg()) + .build(); + } + + List modelBeanList = baseResultBean.getResultList(); + updateBusiList(transform(modelBeanList)); + } + + /** + * 主数据删除同步 + * @param syncData + */ + public void masterDeleteSync(MdmSyncData syncData) { + baseMdmBusiExtdCloud.whiteDeleteWeaklyByMasterIds(syncData.getSyncDataId().toArray(new Long[syncData.getSyncDataId().size()]),syncData.getSyncDateUserName()); + } + + /** + * 业务数据新增同步 + * @param syncData + */ + public void busiInsertSync(MdmSyncData syncData){ + BaseResultBean baseResultBean = + baseMdmBusiModelCloud.whiteFindByIds(syncData.getSyncDataId().toArray(new Long[syncData.getSyncDataId().size()])); + if (!baseResultBean.isSuccess()) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MDM.getCode()) + .setErrorCode(ImppExceptionEnum.CLOUD_CALL_EXCEPTION.getCode()) + .setErrorDetail(baseResultBean.getErrorMsg()) + .build(); + } + + List modelBeanList = baseResultBean.getResultList(); + insertBusiList(transform(modelBeanList)); + } + + /** + * 业务数据修改同步 + * @param syncData + */ + public void busiUpdateSync(MdmSyncData syncData){ + BaseResultBean baseResultBean = + baseMdmBusiModelCloud.findByIds(syncData.getSyncDataId().toArray(new Long[syncData.getSyncDataId().size()])); + if (!baseResultBean.isSuccess()) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MDM.getCode()) + .setErrorCode(ImppExceptionEnum.CLOUD_CALL_EXCEPTION.getCode()) + .setErrorDetail(baseResultBean.getErrorMsg()) + .build(); + } + + List modelBeanList = baseResultBean.getResultList(); + updateBusiList(transform(modelBeanList)); + + } + + /** + * 业务数据删除同步 + * @param syncData + */ + public void busiDeleteSync(MdmSyncData syncData){ + deleteBusiList(syncData.getSyncDataId()); + } + + /** + * 类型转换 + * @param syncDataList + * @return + */ + public abstract List transform(List syncDataList); + + /** + * 新增业务数据 + * @param beanList + */ + public abstract void insertBusiList(List beanList); + + /** + * 修改业务数据 + * @param beanList + */ + public abstract void updateBusiList(List beanList); + + /** + * 删除业务数据 + * @param idList + */ + public abstract void deleteBusiList(List idList); + +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileServiceImpl.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileServiceImpl.java index 20385a5..2bec7ca 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileServiceImpl.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileServiceImpl.java @@ -16,8 +16,8 @@ import cn.estsh.i3plus.pojo.platform.repository.SysDictionaryRepository; import cn.estsh.i3plus.pojo.platform.repository.SysFileRepository; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.impp.framework.boot.fastdfs.FastDFSClient; -import cn.estsh.impp.framework.boot.fastdfs.FastDFSFile; +import cn.estsh.impp.framework.boot.fileservice.ImppFileService; +import cn.estsh.i3plus.pojo.base.bean.ImppFile; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -47,7 +47,7 @@ public class SysFileServiceImpl implements ISysFileService { private SysDictionaryRepository sysDictionaryRDao; @Autowired - private FastDFSClient dfsClient; + private ImppFileService fileService; @Override @ApiOperation(value = "新增资源信息") @@ -173,15 +173,15 @@ public class SysFileServiceImpl implements ISysFileService { sysFile.setFileSoftType(CommonEnumUtil.SOFT_TYPE.CORE.getValue()); } - FastDFSFile fastDFSFile; + ImppFile fastDFSFile; SysFile uploadFile; // 判断参数类型 if (file instanceof File) { - fastDFSFile = new FastDFSFile(((File) file).getName(), FileTool.file2Byte(((File) file).getPath()), + fastDFSFile = new ImppFile(((File) file).getName(), FileTool.file2Byte(((File) file).getPath()), StringTool.getStringFileSuffix(((File) file).getName(), true)); - uploadFile = dfsClient.upload(fastDFSFile, sysFile.getFileSoftTypeVal()); + uploadFile = fileService.upload(fastDFSFile, sysFile.getFileSoftTypeVal()); } else { - uploadFile = dfsClient.saveFile((MultipartFile) file, sysFile.getFileSoftTypeVal()); + uploadFile = fileService.upload((MultipartFile) file, sysFile.getFileSoftTypeVal()); } uploadFile.setId(sysFile.getId()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleResourceService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleResourceService.java index 38f380f..e413d37 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleResourceService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLocaleResourceService.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysLocaleResourceService; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.tool.BeanCopyTool; import cn.estsh.i3plus.platform.common.tool.JsonUtilTool; @@ -257,7 +258,7 @@ public class SysLocaleResourceService implements ISysLocaleResourceService { } @Override - public void doConversionMissResourceByKeys(List missResourceModelList) { + public void doConversionMissResourceByKeys(List missResourceModelList,String userName) { Map langCodeMap = sysLocaleLanguageRDao.list() .stream() .collect( @@ -278,6 +279,9 @@ public class SysLocaleResourceService implements ISysLocaleResourceService { sysLocaleResource.setResourceValue(resourceModel.getResourceValue()); sysLocaleResource.setIsSystem(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + // 数据初始化 + ConvertBean.serviceModelInitialize(sysLocaleResource,userName); + insertSysLocaleResource(sysLocaleResource); redisRes.deleteKey(resourceModel.getKey()); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionDetailService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionDetailService.java index 3e06eb0..709069a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionDetailService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionDetailService.java @@ -1,7 +1,9 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysPojoVersionDetailService; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionDetail; import cn.estsh.i3plus.pojo.platform.repository.SysPojoVersionDetailRepository; import cn.estsh.impp.framework.base.service.CrudService; @@ -25,4 +27,11 @@ public class SysPojoVersionDetailService extends CrudService getRepository() { return pojoVersionRDao; } + + @Override + public SysPojoVersionDetail getPojoVersionDetailByPojoVersionId(Long pojoVersionId) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(); + DdlPreparedPack.getNumEqualPack(pojoVersionId,"pojoVersionId",ddlPackBean); + return pojoVersionRDao.getByProperty(ddlPackBean); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionPlanService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionPlanService.java index 8543237..8a655ec 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionPlanService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPojoVersionPlanService.java @@ -8,7 +8,6 @@ import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionPlan; import cn.estsh.i3plus.pojo.platform.repository.SysPojoVersionPlanRepository; -import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.base.service.CacheCrudService; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import org.springframework.beans.factory.annotation.Autowired; @@ -48,4 +47,12 @@ public class SysPojoVersionPlanService extends CacheCrudService { + + @Autowired + private ISysToolService sysToolService; + + @Autowired + public SysToolSyncDataService(IBaseMdmBusiExtdCloud baseMdmBusiExtdCloud, IBaseMdmBusiModelCloud baseMdmBusiModelCloud) { + super(baseMdmBusiExtdCloud, baseMdmBusiModelCloud); + } + + @Override + public List transform(List syncDataList) { + return syncDataList.stream().map(gearCoreBusiModel -> { + SysTool sysTool = new SysTool(); + if (gearCoreBusiModel != null && gearCoreBusiModel.getBusi() != null && gearCoreBusiModel.getMaster() != null) { + sysTool.setName(gearCoreBusiModel.getMaster().getName()); + sysTool.setToolIp(gearCoreBusiModel.getMaster().getGearModel()); + sysTool.setToolDescription(gearCoreBusiModel.getBusi().getCoreNum()); + } + return sysTool; + }).collect(Collectors.toList()); + } + + @Override + public void insertBusiList(List beanList) { + for (SysTool sysTool : beanList) { + sysToolService.insertSysTool(sysTool); + } + } + + @Override + public void updateBusiList(List beanList) { + for (SysTool sysTool : beanList) { + sysToolService.updateSysTool(sysTool); + } + } + + @Override + public void deleteBusiList(List id) { + sysToolService.deleteSysToolByIds(id.toArray(new Long[id.size()])); + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/NoSqlPack.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/NoSqlPack.java index 9535405..92bf6f5 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/NoSqlPack.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/NoSqlPack.java @@ -181,6 +181,7 @@ public class NoSqlPack { result.andNumberEquals("requestId",bean.getRequestId()); result.andStringLeftLike("logHost",bean.getLogHost()); result.andStringLike("userLoginName",bean.getUserLoginName()); + result.andStringEquals("logGroup",bean.getLogGroup()); result.andStringEquals("logLevel",bean.getLogLevel()); result.andStringLeftLike("executeClassName",bean.getExecuteClassName()); result.andStringLike("executeMethod",bean.getExecuteMethod()); diff --git a/pom.xml b/pom.xml index d566f1d..055ff17 100644 --- a/pom.xml +++ b/pom.xml @@ -94,6 +94,12 @@ ${project.version} + + i3plus.icloud + i3plus-icloud-mdm + ${project.version} + + i3plus.pojo @@ -101,6 +107,12 @@ ${project.version} + + i3plus.pojo + i3plus-pojo-mdm + ${project.version} + + i3plus.core