Merge branch 'dev' of yunhao.wang/i3plus-core into dev

yun-zuoyi
汪云昊 5 years ago committed by nancy.li
commit 9981d7666b

@ -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<String, Object> querySysLogSystemByLevel(String startTime, String endTime);
}

@ -79,9 +79,10 @@ public interface ISysLocaleResourceService {
/**
*
* @param missResourceModelList
* @param missResourceModelList
* @param userName
*/
@ApiOperation(value = "批量转换缺失资源")
void doConversionMissResourceByKeys(List<MissResourceModel> missResourceModelList) ;
void doConversionMissResourceByKeys(List<MissResourceModel> missResourceModelList,String userName) ;
}

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

@ -1,11 +1,10 @@
package cn.estsh.i3plus.core.api.iservice.busi;
import cn.estsh.i3plus.pojo.base.annotation.AnnoIgnoreLog;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SessionUser;
import cn.estsh.i3plus.pojo.platform.bean.SysTask;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskPlan;
import cn.estsh.i3plus.pojo.platform.bean.SysTaskCycle;
import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime;
import io.swagger.annotations.ApiOperation;
@ -93,8 +92,10 @@ public interface ISysTaskPlanService {
/**
* quartz
*
* @param sysTaskPlan
*/
@AnnoIgnoreLog
@ApiOperation(value = "修改任务计划信息",notes = "修改任务计划信息不会更新quartz数据库")
void updateSysTaskPlan(SysTaskPlan sysTaskPlan);
}

@ -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>

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

@ -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) {

@ -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()

@ -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<MissResourceModel> 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())

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

@ -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;
@ -29,7 +29,7 @@ import org.springframework.web.bind.annotation.RestController;
**/
@RestController
@Api(tags = "对象历史计划")
@RequestMapping(CommonConstWords.BASE_URL_CORE+"/pojo-version-plan")
@RequestMapping(CommonConstWords.BASE_URL_CORE + "/pojo-version-plan")
public class SysPojoVersionPlanController extends CrudBaseController<SysPojoVersionPlan> {
@Autowired
private ISysPojoVersionPlanService pojoVersionService;
@ -42,9 +42,9 @@ public class SysPojoVersionPlanController extends CrudBaseController<SysPojoVers
@Override
public SysPojoVersionPlan validatorInsertBean(SysPojoVersionPlan bean) throws Exception {
ValidatorBean.beginValid(bean)
.notNull("refClass",bean.getRefClass())
.notNull("softType",bean.getSoftType())
.notNull("refClassTitle",bean.getRefClassTitle());
.notNull("refClass", bean.getRefClass())
.notNull("softType", bean.getSoftType())
.notNull("refClassTitle", bean.getRefClassTitle());
bean.setPlanStatus(CommonEnumUtil.DATA_STATUS.ENABLE.getValue());
pojoVersionService.checkSysPojoVersionPlanOnly(bean);
@ -54,11 +54,11 @@ public class SysPojoVersionPlanController extends CrudBaseController<SysPojoVers
@Override
public SysPojoVersionPlan validatorUpdateBean(SysPojoVersionPlan bean) throws Exception {
ValidatorBean.beginValid(bean)
.notNull("id",bean.getId())
.notNull("refClass",bean.getRefClass())
.notNull("softType",bean.getSoftType())
.notNull("planStatus",bean.getPlanStatus())
.notNull("refClassTitle",bean.getRefClassTitle());
.notNull("id", bean.getId())
.notNull("refClass", bean.getRefClass())
.notNull("softType", bean.getSoftType())
.notNull("planStatus", bean.getPlanStatus())
.notNull("refClassTitle", bean.getRefClassTitle());
pojoVersionService.checkSysPojoVersionPlanOnly(bean);
return bean;
@ -66,7 +66,8 @@ public class SysPojoVersionPlanController extends CrudBaseController<SysPojoVers
/**
*
* @param id id
*
* @param id id
* @param status
* @return
*/
@ -81,7 +82,7 @@ public class SysPojoVersionPlanController extends CrudBaseController<SysPojoVers
ValidatorBean.checkNotNull(plan, "不存在对象历史计划信息");
plan.setPlanStatus(status);
ConvertBean.modelUpdate(plan,getSessionUser());
ConvertBean.modelUpdate(plan, getSessionUser());
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
@ -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);
}
}

@ -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<SysRefUserMessage> insertList = new ArrayList<>(userJsonArray.size());
List<String> receiversId = new ArrayList();
List<String> receiversName = new ArrayList();
List<Long> receiversId = new ArrayList<>();
List<String> 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());

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

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

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

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

@ -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<MissResourceModel> missResourceModelList) {
public void doConversionMissResourceByKeys(List<MissResourceModel> missResourceModelList,String userName) {
Map<String, String> 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());
}

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

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

@ -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