MDM基础功能

yun-zuoyi
汪云昊 5 years ago
parent ad2c8548a3
commit 55f8468be2

@ -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<SysPojoVersionDetail> {
@ApiOperation("根据对象版本信息查询对象版本明细")
SysPojoVersionDetail getPojoVersionDetailByPojoVersionId(Long pojoVersionId);
}

@ -16,4 +16,6 @@ public interface ISysPojoVersionPlanService extends ICacheCrudService<SysPojoVer
@ApiOperation(value = "版本计划唯一检查")
void checkSysPojoVersionPlanOnly(SysPojoVersionPlan bean);
@ApiOperation(value = "查询对象版本计划",notes = "根据所属模块与className查询对象历史计划状态")
SysPojoVersionPlan getSysPojoVersionPlanBySoftTypeAndClassName(Integer softType, String className);
}

@ -45,6 +45,11 @@
<artifactId>i3plus-icloud-softswitch</artifactId>
</dependency>
<dependency>
<groupId>i3plus.icloud</groupId>
<artifactId>i3plus-icloud-mdm</artifactId>
</dependency>
<!-- 对象 -->
<dependency>
<groupId>i3plus.pojo</groupId>
@ -55,11 +60,17 @@
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-model</artifactId>
</dependency>
<dependency>
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-base</artifactId>
</dependency>
<dependency>
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-mdm</artifactId>
</dependency>
<!-- api调用 -->
<dependency>
<groupId>i3plus.core</groupId>

@ -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<SysPojoVe
public ICrudService getCrudService() {
return pojoVersionService;
}
/**
*
*
* @param pojoVersionId id
* @return
*/
@GetMapping(value = "/get-pojo-version-id/{pojoVersionId}")
@ApiOperation(value = "查询对象历史计划", notes = "根据所属模块与className查询对象历史计划状态")
public ResultBean getPojoVersionDetailByPojoVersionId(@PathVariable("pojoVersionId") Long pojoVersionId) {
try {
// 数据校验
ValidatorBean.checkNotZero(pojoVersionId, "对象版本id 不能为空");
SysPojoVersionDetail pojoVersionDetail = pojoVersionService.getPojoVersionDetailByPojoVersionId(pojoVersionId);
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultObject(pojoVersionDetail);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -8,7 +8,6 @@ import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.platform.bean.SysPojoVersionPlan;
import cn.estsh.impp.framework.base.controller.CrudBaseController;
import cn.estsh.impp.framework.base.service.ICrudService;
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.util.ResultBean;
@ -16,6 +15,7 @@ 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.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -66,6 +66,7 @@ public class SysPojoVersionPlanController extends CrudBaseController<SysPojoVers
/**
*
*
* @param id id
* @param status
* @return
@ -93,4 +94,30 @@ public class SysPojoVersionPlanController extends CrudBaseController<SysPojoVers
}
}
/**
* className
*
* @param softType id
* @param className
* @return
*/
@GetMapping(value = "/get-soft-class")
@ApiOperation(value = "查询对象历史计划", notes = "根据所属模块与className查询对象历史计划状态")
public ResultBean getSysPojoVersionPlanBySoftTypeAndClassName(Integer softType, String className) {
try {
// 数据校验
ValidatorBean.checkNotZero(softType, "所属模块 不能为空");
ValidatorBean.checkNotNull(className, "关联类名不能为空 不能为空");
SysPojoVersionPlan plan = pojoVersionService.getSysPojoVersionPlanBySoftTypeAndClassName(softType, className);
ValidatorBean.checkNotNull(plan, "不存在对象历史计划信息");
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultObject(plan);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -0,0 +1,169 @@
package cn.estsh.i3plus.core.apiservice.mq;
import cn.estsh.i3plus.core.apiservice.serviceimpl.base.BaseBusiSyncMdmDataService;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.JsonUtilTool;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MdmEnumUtil;
import cn.estsh.i3plus.pojo.mdm.bean.base.MdmSyncData;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ImppRedis;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import com.rabbitmq.client.Channel;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.HashMap;
import static cn.estsh.i3plus.platform.common.util.MdmConstWords.REDIS_MDM_SYNC_FAIL;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2020-05-28 16:54
* @Modify:
**/
public abstract class BaseMdmDataSyncQueueReceiver {
private static final Logger LOGGER = LoggerFactory.getLogger(BaseMdmDataSyncQueueReceiver.class);
@Autowired
private RabbitTemplate rabbitTemplate;
@Resource(name = CommonConstWords.IMPP_REDIS_MDM)
private ImppRedis mdmRedis;
private static final HashMap<String, Class<BaseBusiSyncMdmDataService>> masterDateRefMap = new HashMap<>();
private static final HashMap<String, Class<BaseBusiSyncMdmDataService>> busiDateRefMap = new HashMap<>();
private static final HashMap<Class<BaseBusiSyncMdmDataService>, 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<BaseBusiSyncMdmDataService> 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);
}

@ -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);
}
}

@ -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<T, M extends BaseMdmBusiModelBean> {
private IBaseMdmBusiExtdCloud baseMdmBusiExtdCloud;
private IBaseMdmBusiModelCloud<M> baseMdmBusiModelCloud;
public BaseBusiSyncMdmDataService(IBaseMdmBusiExtdCloud baseMdmBusiExtdCloud, IBaseMdmBusiModelCloud<M> 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<M> 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<M> 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<M> 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<M> modelBeanList = baseResultBean.getResultList();
insertBusiList(transform(modelBeanList));
}
/**
*
* @param syncData
*/
public void busiUpdateSync(MdmSyncData syncData){
BaseResultBean<M> 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<M> modelBeanList = baseResultBean.getResultList();
updateBusiList(transform(modelBeanList));
}
/**
*
* @param syncData
*/
public void busiDeleteSync(MdmSyncData syncData){
deleteBusiList(syncData.getSyncDataId());
}
/**
*
* @param syncDataList
* @return
*/
public abstract List<T> transform(List<M> syncDataList);
/**
*
* @param beanList
*/
public abstract void insertBusiList(List<T> beanList);
/**
*
* @param beanList
*/
public abstract void updateBusiList(List<T> beanList);
/**
*
* @param idList
*/
public abstract void deleteBusiList(List<Long> idList);
}

@ -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<SysPojoVersionDetai
public BaseRepository<SysPojoVersionDetail, Long> getRepository() {
return pojoVersionRDao;
}
@Override
public SysPojoVersionDetail getPojoVersionDetailByPojoVersionId(Long pojoVersionId) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getNumEqualPack(pojoVersionId,"pojoVersionId",ddlPackBean);
return pojoVersionRDao.getByProperty(ddlPackBean);
}
}

@ -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<SysPojoVersionPl
.build();
}
}
@Override
public SysPojoVersionPlan getSysPojoVersionPlanBySoftTypeAndClassName(Integer softType, String className) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean();
DdlPreparedPack.getNumEqualPack(softType,"softType",packBean);
DdlPreparedPack.getStringEqualPack(className,"refClass",packBean);
return pojoVersionPlanRDao.getByProperty(packBean);
}
}

@ -0,0 +1,64 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.mdm;
import cn.estsh.i3plus.core.api.iservice.busi.ISysToolService;
import cn.estsh.i3plus.core.apiservice.serviceimpl.base.BaseBusiSyncMdmDataService;
import cn.estsh.i3plus.icloud.mdm.sdk.base.IBaseMdmBusiExtdCloud;
import cn.estsh.i3plus.icloud.mdm.sdk.base.IBaseMdmBusiModelCloud;
import cn.estsh.i3plus.pojo.mdm.model.core.MdmGearCoreBusiModel;
import cn.estsh.i3plus.pojo.platform.bean.SysTool;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description :
* @Reference :
* @Author : yunhao
* @CreateDate : 2020-06-03 15:08
* @Modify:
**/
@Component
public class SysToolSyncDataService extends BaseBusiSyncMdmDataService<SysTool, MdmGearCoreBusiModel> {
@Autowired
private ISysToolService sysToolService;
@Autowired
public SysToolSyncDataService(IBaseMdmBusiExtdCloud baseMdmBusiExtdCloud, IBaseMdmBusiModelCloud<MdmGearCoreBusiModel> baseMdmBusiModelCloud) {
super(baseMdmBusiExtdCloud, baseMdmBusiModelCloud);
}
@Override
public List<SysTool> transform(List<MdmGearCoreBusiModel> 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<SysTool> beanList) {
for (SysTool sysTool : beanList) {
sysToolService.insertSysTool(sysTool);
}
}
@Override
public void updateBusiList(List<SysTool> beanList) {
for (SysTool sysTool : beanList) {
sysToolService.updateSysTool(sysTool);
}
}
@Override
public void deleteBusiList(List<Long> id) {
sysToolService.deleteSysToolByIds(id.toArray(new Long[id.size()]));
}
}

@ -94,6 +94,12 @@
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>i3plus.icloud</groupId>
<artifactId>i3plus-icloud-mdm</artifactId>
<version>${project.version}</version>
</dependency>
<!-- 基础对象调用 -->
<dependency>
<groupId>i3plus.pojo</groupId>
@ -101,6 +107,12 @@
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>i3plus.pojo</groupId>
<artifactId>i3plus-pojo-mdm</artifactId>
<version>${project.version}</version>
</dependency>
<!-- 内部依赖声明 -->
<dependency>
<groupId>i3plus.core</groupId>

Loading…
Cancel
Save