From afaf6c8f583fb8f613e98adc0239fa6568e38d78 Mon Sep 17 00:00:00 2001 From: "yunhao.wang" Date: Fri, 12 Apr 2019 19:58:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E9=99=84=E4=BB=B6=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/iservice/busi/ISysFileAttachService.java | 46 +++++++++++++++++++ .../mq/MessageSWebNoticeQueueReceiver.java | 25 +++++++++++ .../serviceimpl/busi/SysFileAttachService.java | 52 ++++++++++++++++++++++ .../serviceimpl/busi/SysMessageService.java | 31 +++++++++++-- 4 files changed, 151 insertions(+), 3 deletions(-) create mode 100644 modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysFileAttachService.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileAttachService.java diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysFileAttachService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysFileAttachService.java new file mode 100644 index 0000000..734c995 --- /dev/null +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysFileAttachService.java @@ -0,0 +1,46 @@ +package cn.estsh.i3plus.core.api.iservice.busi; + +import cn.estsh.i3plus.pojo.platform.bean.SysFileAttach; +import io.swagger.annotations.ApiOperation; + +import java.util.List; + +/** + * @Description : 文件附件接口 + * @Reference : + * @Author : yunhao + * @Date : 2018-10-25 17:10 + * @Modify : + **/ +public interface ISysFileAttachService { + + /** + * 添加附件信息 + * @param sysFileAttach 附件信息 + * @return 添加后的附件信息 + */ + @ApiOperation(value = "添加附件信息") + SysFileAttach insertSysFileAttach(SysFileAttach sysFileAttach); + + /** + * 根据id删除附件信息 + * @param id 附件信息id + */ + @ApiOperation(value = "根据id删除附件信息") + void deleteSysFileAttachById(Long id); + + /** + * 根据RefId查询 + * @param refId 关系id + */ + @ApiOperation(value = "根据id删除附件信息") + List findSysFileAttachByRefId(Long refId); + + /** + * 根据RefId删除 + * @param refId 关系id + */ + @ApiOperation(value = "根据id删除附件信息") + void deleteSysFileAttachByRefId(Long refId); + +} 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 f9ea12b..07ada2d 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 @@ -1,10 +1,14 @@ package cn.estsh.i3plus.core.apiservice.mq; +import cn.estsh.i3plus.core.api.iservice.busi.ISysFileAttachService; +import cn.estsh.i3plus.core.api.iservice.busi.ISysFileService; import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService; import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysFile; +import cn.estsh.i3plus.pojo.platform.bean.SysFileAttach; import cn.estsh.i3plus.pojo.platform.bean.SysMessage; import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage; import com.alibaba.fastjson.JSON; @@ -38,6 +42,12 @@ public class MessageSWebNoticeQueueReceiver { @Autowired private ISysMessageService sysMessageService; + @Autowired + private ISysFileAttachService sysFileAttachService; + + @Autowired + private ISysFileService sysFileService; + /** * SWEB通知处理队列 * @@ -49,8 +59,23 @@ public class MessageSWebNoticeQueueReceiver { public void processImppMail(SysMessage msg, Channel channel, Message message) { LOGGER.info("【MQ-{}】 数据接收成功:{}", PlatformConstWords.SWEB_NOTICE_QUEUE, msg); try { + // 添加消息 msg = sysMessageService.insertSysMessage(msg); + // 添加附件信息 + if(msg.getSysFileAttachList() != null){ + SysFile sysFile; + for (SysFileAttach sysFileAttach : msg.getSysFileAttachList()) { + sysFile = sysFileService.getSysFileById(sysFileAttach.getFileId()); + if(sysFile == null){ + sysFileAttach.setRefId(msg.getId()); + sysFileAttach.setFileNameRdd(sysFile.getName()); + sysFileAttach.setFilePathRdd(sysFile.getFilePath()); + } + } + } + + // 添加消息明细信息 if (StringUtils.isNotBlank(msg.getMessageReceiversId())) { // 获取供应商信息 由string转换为json对象 JSONObject userJsonObject = JSON.parseObject(msg.getMessageReceiversId()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileAttachService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileAttachService.java new file mode 100644 index 0000000..ce69b8e --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysFileAttachService.java @@ -0,0 +1,52 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ISysFileAttachService; +import cn.estsh.i3plus.pojo.platform.bean.SysFileAttach; +import cn.estsh.i3plus.pojo.platform.repository.SysFileAttachRepository; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2019-04-12 19:43 + * @Modify: + **/ +@Service +public class SysFileAttachService implements ISysFileAttachService { + + public static final Logger LOGGER = LoggerFactory.getLogger(SysFileAttachService.class); + + @Autowired + private SysFileAttachRepository sysFileAttachRDao; + + @Override + @ApiOperation(value = "添加附件信息") + public SysFileAttach insertSysFileAttach(SysFileAttach sysFileAttach) { + return sysFileAttachRDao.insert(sysFileAttach); + } + + @Override + @ApiOperation(value = "根据id删除附件信息") + public void deleteSysFileAttachById(Long id) { + sysFileAttachRDao.deleteById(id); + } + + @Override + @ApiOperation(value = "根据id删除附件信息") + public List findSysFileAttachByRefId(Long refId) { + return sysFileAttachRDao.findByProperty("refId",refId); + } + + @Override + @ApiOperation(value = "根据id删除附件信息") + public void deleteSysFileAttachByRefId(Long refId) { + sysFileAttachRDao.deleteByProperty("refId",refId); + } +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java index 305bc8d..93dfb65 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysMessageService.java @@ -10,15 +10,16 @@ import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.base.tool.HqlPack; +import cn.estsh.i3plus.pojo.platform.bean.SysFile; +import cn.estsh.i3plus.pojo.platform.bean.SysFileAttach; import cn.estsh.i3plus.pojo.platform.bean.SysMessage; import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage; -import cn.estsh.i3plus.pojo.platform.repository.SysMessageRepository; -import cn.estsh.i3plus.pojo.platform.repository.SysRefUserMessageRepository; -import cn.estsh.i3plus.pojo.platform.repository.SysUserRepository; +import cn.estsh.i3plus.pojo.platform.repository.*; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; import cn.estsh.impp.framework.boot.util.ImppRedis; +import com.netflix.discovery.converters.Auto; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -50,6 +51,12 @@ public class SysMessageService implements ISysMessageService { @Autowired private SysUserRepository sysUserRDao; + @Autowired + private SysFileAttachRepository sysFileAttachRDao; + + @Autowired + private SysFileRepository sysFileRDao; + /** * rabbitMQ队列 */ @@ -74,6 +81,7 @@ public class SysMessageService implements ISysMessageService { public void deleteSysMessageById(Long id) { LOGGER.info("消息 SYS_MESSAGE id:{}",id); sysRefUserMessageRDao.deleteByProperty("messageId",id); + sysFileAttachRDao.deleteByProperty("refId",id); sysMessageRDao.deleteById(id); } @@ -82,6 +90,20 @@ public class SysMessageService implements ISysMessageService { public void updateSysMessage(SysMessage sysMessage){ LOGGER.info("消息 SYS_MESSAGE :{}",sysMessage); sysMessageRDao.update(sysMessage); + + // 更新附件信息 + sysFileAttachRDao.deleteByProperty("refId",sysMessage.getId()); + if(sysMessage.getSysFileAttachList() != null){ + SysFile sysFile; + for (SysFileAttach sysFileAttach : sysMessage.getSysFileAttachList()) { + sysFile = sysFileRDao.getById(sysFileAttach.getFileId()); + if(sysFile == null){ + sysFileAttach.setRefId(sysMessage.getId()); + sysFileAttach.setFileNameRdd(sysFile.getName()); + sysFileAttach.setFilePathRdd(sysFile.getFilePath()); + } + } + } } @Override @@ -194,6 +216,9 @@ public class SysMessageService implements ISysMessageService { sysMessageRDao.update(sysMessage); } + // 查询附件信息 + sysMessage.setSysFileAttachList(sysFileAttachRDao.findByProperty("refId",sysMessage.getId())); + return sysMessage; }