diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLogTaskTimeService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLogTaskTimeService.java new file mode 100644 index 0000000..ae9e32d --- /dev/null +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysLogTaskTimeService.java @@ -0,0 +1,47 @@ +package cn.estsh.i3plus.core.api.iservice.busi; + +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime; +import io.swagger.annotations.ApiOperation; + +/** + * @Description : 定时任务日志服务接口 + * @Reference : + * @Author : yunhao + * @CreateDate : 2019-01-04 15:06 + * @Modify: + **/ +public interface ISysLogTaskTimeService { + + /** + * 添加定时任务日志 + * @param sysLogTaskTime + */ + @ApiOperation(value = "添加定时任务日志",notes = "添加定时任务日志") + void insertSysLogTaskTime(SysLogTaskTime sysLogTaskTime); + + /** + * 根据id删除定时任务日志 + * @param id + */ + @ApiOperation(value = "删除定时任务日志",notes = "删除定时任务日志") + void deleteSysLogTaskTimeById(Long id); + + /** + * 根据id查询定时任务日志 + * @param id + * @return + */ + @ApiOperation(value = "根据id查询定时任务日志",notes = "根据id查询定时任务日志") + SysLogTaskTime getSysLogTaskTimeById(Long id); + + /** + * 定时任务日志复杂查询 + * @param sysLogTaskTime + * @param pager + * @return + */ + @ApiOperation(value = "定时任务日志分页复杂查询",notes = "定时任务日志分页复杂查询") + ListPager querySysLogTaskTimeByPager(SysLogTaskTime sysLogTaskTime, Pager pager); +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogSystemController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogSystemController.java index 1ec9af3..e2d1303 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogSystemController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogSystemController.java @@ -1,14 +1,24 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; +import cn.estsh.i3plus.core.api.iservice.busi.ISysConfigService; +import cn.estsh.i3plus.core.api.iservice.busi.ISysDictionaryService; +import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService; import cn.estsh.i3plus.core.api.iservice.busi.ISysLogSystemService; +import cn.estsh.i3plus.core.apiservice.util.ExcelUtil; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysDictionary; +import cn.estsh.i3plus.pojo.platform.bean.SysFile; +import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule; import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem; 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.util.ResultBean; import cn.estsh.impp.framework.boot.util.ValidatorBean; import io.swagger.annotations.Api; @@ -18,6 +28,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.List; /** @@ -36,6 +47,18 @@ public class SysLogSystemController extends CoreBaseController{ @Autowired private ISysLogSystemService logSystemService; + @Autowired + private ISysDictionaryService sysDictionaryService; + + @Autowired + private ISysConfigService sysConfigService; + + @Autowired + private ISysFileService sysFileService; + + @Autowired + private FastDFSClient dfsClient; + @PostMapping(value = "/insert") @ApiOperation(value="新增系统日志",notes = "新增系统日志") public ResultBean insertSysLogSystem(SysLogSystem logSystem) { @@ -109,4 +132,62 @@ public class SysLogSystemController extends CoreBaseController{ return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } + + @GetMapping("/get-col") + @ApiOperation(value = "获取系统日志字段") + public ResultBean getSysLogSystem(){ + try { + return ResultBean.success("导出成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultMap(ExcelUtil.getColName(SysLogSystem.class)); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping(value = "/export") + @ApiOperation(value = "导出系统日志") + public ResultBean exportSysLogSystem(SysLogSystem sysLogSystem, String[] colName){ + try { + Pager pager = new Pager(); + pager.setCurrentPage(1); + pager.setPageSize(Integer.parseInt(sysConfigService.getSysConfigByCode(PlatformConstWords.EXCEL_EXPORT_MAX_ROW).getConfigValue())); + ListPager listPager; + String[] fileAbsolutePath; + List result = new ArrayList(); + do { + listPager = logSystemService.querySysLogSystemByPager(sysLogSystem, pager); + pager = listPager.getObjectPager(); + + // 上传至文件服务器 + FastDFSFile fastDFSFile = new FastDFSFile(SysOrderNoRule.class.getSimpleName() + pager.getCurrentPage() + ".xls", + ExcelUtil.exportData(listPager.getObjectList(),SysOrderNoRule.class,colName),"xls"); + + fileAbsolutePath = dfsClient.upload(fastDFSFile); + + // 保证系统文件表中 + String filePath = dfsClient.getHostUi() + "/" + fileAbsolutePath[0] + "/" + fileAbsolutePath[1]; + SysDictionary dictionary = sysDictionaryService.getSysDictionaryByParentCodeAndCode( + CommonConstWords.DICTIONARY_FILE_TYPE,fastDFSFile.getExt()); + + SysFile sysFile = new SysFile(); + sysFile.setDfsGroupName(fileAbsolutePath[0]); + sysFile.setDfsFileName(fileAbsolutePath[1]); + sysFile.setFileSize(fastDFSFile.getContent().length); + sysFile.setFilePath(filePath); + sysFile.setFileOriginalName(fastDFSFile.getName()); + sysFile.setFileTypeId(dictionary.getId()); + sysFile.setFileTypeName(dictionary.getName()); + sysFile.setDownloadNum(0); + result.add(sysFileService.insertSysFile(sysFile)); + + pager.setCurrentPage(pager.getCurrentPage() + 1); + } while (pager.getCurrentPage() <= pager.getTotalPages()); + return ResultBean.success("导出成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(result); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogTaskTimeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogTaskTimeController.java new file mode 100644 index 0000000..21381d2 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLogTaskTimeController.java @@ -0,0 +1,105 @@ +package cn.estsh.i3plus.core.apiservice.controller.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ISysLogSystemService; +import cn.estsh.i3plus.core.api.iservice.busi.ISysLogTaskTimeService; +import cn.estsh.i3plus.platform.common.util.PlatformConstWords; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem; +import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime; +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.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @Description : 定时任务日志服务 + * @Reference : + * @Author : yunhao + * @Date : 2019-01-04 + * @Modify : + **/ +@RestController +@Api(description = "定时任务日志服务") +@RequestMapping(PlatformConstWords.BASE_URL +"/sys-log-task-time") +public class SysLogTaskTimeController extends CoreBaseController{ + public static final Logger LOGGER = LoggerFactory.getLogger(SysLogTaskTimeController.class); + + @Autowired + private ISysLogTaskTimeService logTaskTimeService; + + @PostMapping(value = "/insert") + @ApiOperation(value="新增定时任务日志",notes = "新增定时任务日志") + public ResultBean insertSyslogTaskTime(SysLogTaskTime sysLogTaskTime) { + try { + logTaskTimeService.insertSysLogTaskTime(sysLogTaskTime); + return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @DeleteMapping(value = "/delete") + @ApiOperation(value = "删除定时任务日志",notes = "删除定时任务日志") + public ResultBean deleteSysLogTaskTimeById(String id) { + try { + // 条件校验 + ValidatorBean.checkNotNull(id,"id不能为空"); + + logTaskTimeService.deleteSysLogTaskTimeById(Long.parseLong(id)); + return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping(value = "/get") + @ApiOperation(value = "根据id查询定时任务日志",notes = "根据id查询定时任务日志") + public ResultBean getSysLogTaskTimeById(String id){ + try { + SysLogTaskTime logTaskTime = logTaskTimeService.getSysLogTaskTimeById(Long.parseLong(id)); + if (logTaskTime != null) { + return ResultBean.success("查询成功").setResultObject(logTaskTime).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }else { + return ResultBean.fail("日志不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); + } + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + /** + * 定时任务日志分页复杂查询 + * @param sysLogTaskTime + * @param pager + * @return + */ + @GetMapping("/query") + @ApiOperation(value = "定时任务日志分页复杂查询",notes = "定时任务日志分页复杂查询") + public ResultBean querySysLogSystemByPager(SysLogTaskTime sysLogTaskTime, Pager pager){ + try { + ListPager logSystemList = logTaskTimeService.querySysLogTaskTimeByPager(sysLogTaskTime, pager); + return ResultBean.success("查询成功").setListPager(logSystemList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java index cb91230..50dfc36 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysUserController.java @@ -7,6 +7,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.EncryptTool; import cn.estsh.i3plus.platform.common.tool.StringTool; +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.pojo.base.bean.ListPager; @@ -421,6 +422,7 @@ public class SysUserController extends CoreBaseController{ message.setMessageSenderNameRdd(getSessionUser().getUserName()); message.setMessageReceiversId(user.getId().toString()); message.setMessageReceiversNameRdd(user.getUserName()); + message.setMessageSendTime(TimeTool.getNowTime(true)); sysMessageService.doSendSysMessage(message); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLogTaskTimeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLogTaskTimeService.java new file mode 100644 index 0000000..696dab6 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysLogTaskTimeService.java @@ -0,0 +1,63 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ISysLogTaskTimeService; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.base.common.PagerHelper; +import cn.estsh.i3plus.pojo.platform.platbean.SysLogSystem; +import cn.estsh.i3plus.pojo.platform.platbean.SysLogTaskTime; +import cn.estsh.i3plus.pojo.platform.platrepositorymongo.SysLogTaskTimeRepository; +import cn.estsh.i3plus.pojo.platform.sqlpack.CoreBsonPack; +import io.swagger.annotations.ApiOperation; +import org.bson.conversions.Bson; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Description : 定时任务服务接口实现 + * @Reference : + * @Author : yunhao + * @CreateDate : 2019-01-04 15:10 + * @Modify: + **/ +@Service +public class SysLogTaskTimeService implements ISysLogTaskTimeService { + public static final Logger LOGGER = LoggerFactory.getLogger(SysLogTaskTimeService.class); + + @Autowired + private SysLogTaskTimeRepository sysLogTaskTimeRDao; + + @Override + @ApiOperation(value = "添加定时任务日志",notes = "添加定时任务日志") + public void insertSysLogTaskTime(SysLogTaskTime sysLogTaskTime) { + sysLogTaskTimeRDao.insert(sysLogTaskTime); + } + + @Override + @ApiOperation(value = "删除定时任务日志",notes = "删除定时任务日志") + public void deleteSysLogTaskTimeById(Long id) { + sysLogTaskTimeRDao.deleteById(id); + } + + @Override + @ApiOperation(value = "根据id查询定时任务日志",notes = "根据id查询定时任务日志") + public SysLogTaskTime getSysLogTaskTimeById(Long id) { + return sysLogTaskTimeRDao.getById(id); + } + + @Override + @ApiOperation(value = "定时任务日志分页复杂查询",notes = "定时任务日志分页复杂查询") + public ListPager querySysLogTaskTimeByPager(SysLogTaskTime sysLogTaskTime, Pager pager) { + if (sysLogTaskTime == null) { + pager = PagerHelper.getPager(pager,sysLogTaskTimeRDao.listCount()); + return new ListPager(sysLogTaskTimeRDao.listPager(pager),pager); + } else { + Bson bson = CoreBsonPack.packBsonByLogTaskTime(sysLogTaskTime); + pager = PagerHelper.getPager(pager,sysLogTaskTimeRDao.findByBsonCount(bson)); + return new ListPager(sysLogTaskTimeRDao.findByBsonPager(bson,pager,sysLogTaskTime.getOrderByParam() + ,sysLogTaskTime.getAscOrDesc()),pager); + } + } +} diff --git a/modules/i3plus-core-apiservice/src/main/resources/init/sys-config.xlsx b/modules/i3plus-core-apiservice/src/main/resources/init/sys-config.xlsx index 4b31a23..94b8479 100644 Binary files a/modules/i3plus-core-apiservice/src/main/resources/init/sys-config.xlsx and b/modules/i3plus-core-apiservice/src/main/resources/init/sys-config.xlsx differ