From e1f7b6dea000f6346f309a74b18dd2eff330f36e Mon Sep 17 00:00:00 2001 From: "yunhao.wang" Date: Thu, 22 Nov 2018 14:45:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=88=E6=81=AF=E9=98=9F=E5=88=97=E8=B0=83?= =?UTF-8?q?=E6=95=B4=20=E7=B3=BB=E7=BB=9F=E5=8F=82=E6=95=B0=E7=AE=A1?= =?UTF-8?q?=E7=90=86=20=E6=95=B0=E6=8D=AE=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/api/iservice/busi/ISysConfigService.java | 19 +- .../controller/busi/SysConfigController.java | 72 +++++-- .../controller/busi/SysMessageController.java | 20 +- .../core/apiservice/mq/LetterQueueReceiver.java | 39 +++- .../core/apiservice/mq/MailQueueReceiver.java | 60 ++++-- .../serviceimpl/busi/SysConfigService.java | 25 ++- .../serviceimpl/busi/SysMessageService.java | 35 +--- .../i3plus/core/apiservice/util/MailUtil.java | 4 +- .../src/main/resources/init/sys-config.xlsx | Bin 0 -> 32512 bytes .../serviceimpl/busi/TestExcelSysConfig.java | 207 +++++++++++++++++++++ 10 files changed, 390 insertions(+), 91 deletions(-) create mode 100644 modules/i3plus-core-apiservice/src/main/resources/init/sys-config.xlsx create mode 100644 modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelSysConfig.java diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysConfigService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysConfigService.java index e4a2a68..2cd9827 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysConfigService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysConfigService.java @@ -3,6 +3,7 @@ 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.bean.SysConfig; +import io.swagger.annotations.ApiOperation; import java.util.List; @@ -19,29 +20,34 @@ public interface ISysConfigService { * 添加系统参数 * @param sysConfig */ + @ApiOperation(value = "添加系统参数") void insertSysConfig(SysConfig sysConfig); /** * 删除系统参数 * @param id */ + @ApiOperation(value = "删除系统参数") void deleteSysConfigById(Long id); /** * 修改系统参数 * @param sysConfig */ + @ApiOperation(value = "修改系统参数") void updateSysConfig(SysConfig sysConfig); /** * 查询全部系统参数 */ + @ApiOperation(value = "查询全部系统参数") List ListSysConfig(); /** * 根据id查询系统参数 * @param id */ + @ApiOperation(value = "根据id查询系统参数") SysConfig getSysConfigById(Long id); /** @@ -50,6 +56,7 @@ public interface ISysConfigService { * @param pager * @return */ + @ApiOperation(value = "系统配置复杂查询分页排序") ListPager querySysConfigByPager(SysConfig sysConfig, Pager pager); /** @@ -57,11 +64,21 @@ public interface ISysConfigService { * @param code * @return */ + @ApiOperation(value = "根据code查询系统配置") SysConfig getSysConfigByCode(String code); /** - * 查询系统邮件配置 + * 查询系统邮件配置项 * @return */ + @ApiOperation(value = "查询系统邮件配置项") List findMailConfig(); + + /** + * 根据系统配置代码修改配置项 + * @param code + * @param value + */ + @ApiOperation(value = "根据系统配置代码修改配置项") + void updateSysConfigByCode(String code,String value); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java index 7b189be..d93d1bf 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysConfigController.java @@ -10,7 +10,7 @@ import cn.estsh.i3plus.pojo.platform.bean.SysConfig; 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.ImppExceptionEnum; +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; @@ -58,11 +58,9 @@ public class SysConfigController extends CoreBaseController { sysConfigService.insertSysConfig(sysConfig); return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); return ResultBean.fail(busExcep.getErrorShow()); }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } @@ -73,11 +71,9 @@ public class SysConfigController extends CoreBaseController { sysConfigService.deleteSysConfigById(Long.parseLong(id)); return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); return ResultBean.fail(busExcep.getErrorShow()); }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } @@ -101,11 +97,9 @@ public class SysConfigController extends CoreBaseController { sysConfigService.updateSysConfig(sysConfig); return ResultBean.success("删除成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); return ResultBean.fail(busExcep.getErrorShow()); }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } @@ -118,11 +112,9 @@ public class SysConfigController extends CoreBaseController { .setResultList(sysConfigList) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); return ResultBean.fail(busExcep.getErrorShow()); }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } @@ -138,11 +130,9 @@ public class SysConfigController extends CoreBaseController { return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); } }catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); return ResultBean.fail(busExcep.getErrorShow()); }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); } } @@ -155,11 +145,55 @@ public class SysConfigController extends CoreBaseController { .setListPager(sysConfigListPager) .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ - LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); return ResultBean.fail(busExcep.getErrorShow()); }catch(Exception e){ - LOGGER.error(ImppExceptionEnum.SYSTEM_EXCEPTION.getDescription() + ":{}",e.getMessage(),e); - return ResultBean.fail().setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping(value = "/get-code/{code}") + @ApiOperation(value = "根据代码获取系统配置") + public ResultBean getSysConfigByCode(@PathVariable("code") String code){ + try { + SysConfig sysConfig = sysConfigService.getSysConfigByCode(code); + if(sysConfig == null){ + return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); + } else{ + return ResultBean.success("查询成功").setResultObject(sysConfig).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep.getErrorShow()); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping("/find-mail") + @ApiOperation(value = "查询邮件配置") + public ResultBean findMailSysConfig(){ + try { + List sysConfig = sysConfigService.findMailConfig(); + if(sysConfig == null){ + return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); + } else{ + return ResultBean.success("查询成功").setResultList(sysConfig).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep.getErrorShow()); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @PostMapping("/update-code/{code}/{value}") + public ResultBean updateSysConfigByCode(@PathVariable("code") String code,@PathVariable("value") String value){ + try{ +// sysConfigService.update + return null; + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep.getErrorShow()); + }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/SysMessageController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java index 9d69e62..52efd56 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMessageController.java @@ -1,7 +1,6 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService; -import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; import cn.estsh.i3plus.core.apiservice.mq.I3CoreQueueConfig; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.StringTool; @@ -10,7 +9,8 @@ import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; -import cn.estsh.i3plus.pojo.platform.bean.*; +import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.i3plus.pojo.platform.bean.SysMessage; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; @@ -20,10 +20,8 @@ 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.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -60,11 +58,19 @@ public class SysMessageController extends CoreBaseController { .notNull("messageReceiversId",sysMessage.getMessageReceiversId()); // 设置发件人名称 -// sysMessage.setMessageSendId(user.getUser().getId()); -// sysMessage.setRedSendName(user.getUser().getName()); + sysMessage.setMessageSenderId(getSessionUser().getUserId()); + sysMessage.setMessageSenderNameRdd(getSessionUser().getUserName()); sysMessage.setMessageSendTime(sdf.format(new Date())); + sysMessage.setMessageContentType(ImppEnumUtil.MESSAGE_CONTENT_TYPE.HTML.getValue()); - sysMessageService.insertSysMessage(sysMessage); + ConvertBean.modelInitialize(sysMessage,getSessionUser()); + + // 判断消息类型推送到对应的队列 + if(ImppEnumUtil.USER_MESSAGE_TYPE.MAIL.getValue() == sysMessage.getMessageType().intValue()){ + rabbitTemplate.convertAndSend(I3CoreQueueConfig.IMPP_MESSAGE_MAIL_QUEUE,sysMessage); + }else{ + rabbitTemplate.convertAndSend(I3CoreQueueConfig.IMPP_MESSAGE_LETTER_QUEUE,sysMessage); + } return ResultBean.success("添加成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ LOGGER.error(busExcep.getErrorMsg() + ":{}",busExcep.getErrorDetail(),busExcep); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/LetterQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/LetterQueueReceiver.java index 032a299..d29d207 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/LetterQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/LetterQueueReceiver.java @@ -2,8 +2,12 @@ package cn.estsh.i3plus.core.apiservice.mq; import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; +import cn.estsh.i3plus.platform.common.tool.TimeTool; +import cn.estsh.i3plus.pojo.platform.bean.SysMessage; import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage; +import cn.estsh.i3plus.pojo.platform.bean.SysUser; import com.rabbitmq.client.Channel; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.core.Message; @@ -35,17 +39,42 @@ public class LetterQueueReceiver { * @param message * 发送:rabbitTemplate.convertAndSend(I3CoreQueueConfig.IMPP_MESSAGE_QUEUE, new SysMessage(....)); */ -// @RabbitListener(queues = I3CoreQueueConfig.IMPP_MESSAGE_LETTER_QUEUE) - public void processImppMessage(SysRefUserMessage msg, Channel channel, Message message) { + //@RabbitListener(queues = I3CoreQueueConfig.IMPP_MESSAGE_LETTER_QUEUE) + public void processImppMessage(SysMessage msg, Channel channel, Message message) { try { - LOGGER.info("【MQ-IMPP_MESSAGE_QUEUE】数据接收成功:{}",msg); + LOGGER.info("【MQ-IMPP_MESSAGE_LETTER_QUEUE】数据接收成功:{}",msg); - sysMessageService.insertSysRefUserMessage(msg); + msg = sysMessageService.insertSysMessage(msg); + + // 收件人信息 + String[] messageReceiver = msg.getMessageReceiversId().split(","); + String[] receiverName = new String[messageReceiver.length]; + + SysRefUserMessage refUserMessage; + SysUser sysUser; + + for (int i = 0; i < messageReceiver.length; i++) { + sysUser = sysUserService.getSysUserById(Long.parseLong(messageReceiver[i])); + receiverName[i] = sysUser.getUserName(); + + refUserMessage = new SysRefUserMessage(); + refUserMessage.setMessageId(msg.getId()); + refUserMessage.setMessageTitleRdd(msg.getMessageTitle()); + refUserMessage.setMessageTypeRdd(msg.getMessageType()); + refUserMessage.setReceiverId(sysUser.getId()); + refUserMessage.setReceiverNameRdd(sysUser.getUserName()); + refUserMessage.setReceiverTime(TimeTool.getNowTime(true)); + + sysMessageService.insertSysRefUserMessage(refUserMessage); + } + + msg.setMessageSenderNameRdd(StringUtils.join(receiverName, ",")); + sysMessageService.updateSysMessage(msg); //信息已处理 channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); } catch (IOException e) { - LOGGER.error("【MQ-IMPP_MESSAGE_QUEUE】处理出错:{}",e.getMessage(),e); + LOGGER.error("【MQ-IMPP_MESSAGE_LETTER_QUEUE】处理出错:{}",e.getMessage(),e); //丢弃这条消息 try { // 未成功处理,重新发送 diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java index f36e509..b99b384 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java @@ -2,10 +2,14 @@ package cn.estsh.i3plus.core.apiservice.mq; import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService; import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService; +import cn.estsh.i3plus.core.apiservice.util.MailUtil; +import cn.estsh.i3plus.platform.common.tool.TimeTool; +import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysMessage; import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage; import cn.estsh.i3plus.pojo.platform.bean.SysUser; import com.rabbitmq.client.Channel; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.core.Message; @@ -13,8 +17,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.Date; /** * @Description : 邮件队列处理 @@ -31,35 +33,57 @@ public class MailQueueReceiver { ISysMessageService sysMessageService; @Autowired ISysUserService sysUserService; - + @Autowired + MailUtil mailUtil; /** * 系统邮件处理队列 * @param msg * @param channel * @param message */ -// @RabbitListener(queues = I3CoreQueueConfig.IMPP_MESSAGE_MAIL_QUEUE) - public void processImppMail(SysRefUserMessage msg, Channel channel, Message message) { + //@RabbitListener(queues = I3CoreQueueConfig.IMPP_MESSAGE_MAIL_QUEUE) + public void processImppMail(SysMessage msg, Channel channel, Message message) { try { - LOGGER.info("【MQ-IMPP_MESSAGE_QUEUE】数据接收成功:{}",msg); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - msg.setReceiverTime(sdf.format(new Date())); - sysMessageService.insertSysRefUserMessage(msg); + LOGGER.info("【MQ-IMPP_MESSAGE_MAIL_QUEUE】数据接收成功:{}",msg); + msg = sysMessageService.insertSysMessage(msg); + mailUtil.init(); + + // 收件人信息 + String[] messageReceiver = msg.getMessageReceiversId().split(","); + String[] receiverName = new String[messageReceiver.length]; + + SysRefUserMessage refUserMessage; + SysUser sysUser; - SysMessage sysMessage = sysMessageService.getSysMessageById(msg.getMessageId()); - SysUser sysUser = sysUserService.getSysUserById(msg.getReceiverId()); + for (int i = 0; i < messageReceiver.length; i++) { + sysUser = sysUserService.getSysUserById(Long.parseLong(messageReceiver[i])); + receiverName[i] = sysUser.getUserName(); + + refUserMessage = new SysRefUserMessage(); + refUserMessage.setMessageId(msg.getId()); + refUserMessage.setMessageTitleRdd(msg.getMessageTitle()); + refUserMessage.setMessageTypeRdd(msg.getMessageType()); + refUserMessage.setReceiverId(sysUser.getId()); + refUserMessage.setReceiverNameRdd(sysUser.getUserName()); + refUserMessage.setReceiverTime(TimeTool.getNowTime(true)); + + sysMessageService.insertSysRefUserMessage(refUserMessage); + + // 发送邮件 + mailUtil.setSubject(msg.getMessageTitle()); + mailUtil.setContentType(ImppEnumUtil.MESSAGE_CONTENT_TYPE.valueOfDescription(msg.getMessageContentType())); + mailUtil.setBody(msg.getMessageContent()); + mailUtil.setTo(sysUser.getUserEmail()); + mailUtil.send(); + } -// MailUtil mailUtil = new MailUtil(); -// mailUtil.setSubject(sysMessage.getMessageTitle()); -// mailUtil.setContentType(ImppEnumUtil.MESSAGE_CONTENT_TYPE.valueOfDescription(sysMessage.getMessageContentType())); -// mailUtil.setBody(sysMessage.getMessageContent()); -// mailUtil.setTo(sysUser.getUserEmail()); -// mailUtil.send(); + msg.setMessageSenderNameRdd(StringUtils.join(receiverName, ",")); + sysMessageService.updateSysMessage(msg); //信息已处理 channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); } catch (IOException e) { - LOGGER.error("【MQ-IMPP_MESSAGE_QUEUE】处理出错:{}",e.getMessage(),e); + LOGGER.error("【MQ-IMPP_MESSAGE_MAIL_QUEUE】处理出错:{}",e.getMessage(),e); //丢弃这条消息 try { // 未成功处理,重新发送 diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysConfigService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysConfigService.java index d75988d..7819c50 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysConfigService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysConfigService.java @@ -1,12 +1,14 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysConfigService; +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.common.PagerHelper; import cn.estsh.i3plus.pojo.platform.bean.SysConfig; import cn.estsh.i3plus.pojo.platform.repository.SysConfigRepository; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; +import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -30,36 +32,42 @@ public class SysConfigService implements ISysConfigService { private SysConfigRepository SysConfigRDao; @Override + @ApiOperation(value = "添加系统参数") public void insertSysConfig(SysConfig sysConfig) { LOGGER.info("系统参数 SYS_CONFIG :{}",sysConfig); SysConfigRDao.insert(sysConfig); } @Override + @ApiOperation(value = "删除系统参数") public void deleteSysConfigById(Long id) { LOGGER.info("系统参数 SYS_CONFIG :{}",id); SysConfigRDao.deleteById(id); } @Override + @ApiOperation(value = "修改系统参数") public void updateSysConfig(SysConfig sysConfig) { LOGGER.info("系统参数 SYS_CONFIG :{}",sysConfig); SysConfigRDao.update(sysConfig); } @Override + @ApiOperation(value = "查询全部系统参数") public List ListSysConfig() { LOGGER.info("系统参数 SYS_CONFIG list"); return SysConfigRDao.findAll(); } @Override + @ApiOperation(value = "根据id查询系统参数") public SysConfig getSysConfigById(Long id) { LOGGER.info("系统参数 SYS_CONFIG id:{}",id); return SysConfigRDao.getById(id); } @Override + @ApiOperation(value = "系统配置复杂查询分页排序") public ListPager querySysConfigByPager(SysConfig sysConfig, Pager pager) { LOGGER.info("系统参数 SYS_CONFIG SysConfig:{},Pager:{}",sysConfig,pager); if(sysConfig == null) { @@ -73,20 +81,27 @@ public class SysConfigService implements ISysConfigService { } @Override + @ApiOperation(value = "查询系统邮件配置项") public SysConfig getSysConfigByCode(String code) { return SysConfigRDao.getByProperty("configCode",code); } @Override + @ApiOperation(value = "查询系统邮件配置项") public List findMailConfig() { List mailConfig = new ArrayList(); -// mailConfig.add(SysConfigRDao.getByProperty("configCode", PlatformConstWords.MAIL_HOST)); -// mailConfig.add(SysConfigRDao.getByProperty("configCode", PlatformConstWords.MAIL_PORT)); -// mailConfig.add(SysConfigRDao.getByProperty("configCode", PlatformConstWords.MAIL_USER)); -// mailConfig.add(SysConfigRDao.getByProperty("configCode", PlatformConstWords.MAIL_PASSWORD)); -// mailConfig.add(SysConfigRDao.getByProperty("configCode", PlatformConstWords.MAIL_NICK)); + mailConfig.add(SysConfigRDao.getByProperty("configCode", PlatformConstWords.MAIL_HOST)); + mailConfig.add(SysConfigRDao.getByProperty("configCode", PlatformConstWords.MAIL_PORT)); + mailConfig.add(SysConfigRDao.getByProperty("configCode", PlatformConstWords.MAIL_USER)); + mailConfig.add(SysConfigRDao.getByProperty("configCode", PlatformConstWords.MAIL_PASSWORD)); + mailConfig.add(SysConfigRDao.getByProperty("configCode", PlatformConstWords.MAIL_NICK)); return mailConfig; } + @Override + public void updateSysConfigByCode(String code, String value) { + SysConfigRDao.updateByProperties("configCode",value,"",value); + } + } 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 3c3df1c..cfff194 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 @@ -1,19 +1,15 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ISysMessageService; -import cn.estsh.i3plus.core.apiservice.mq.I3CoreQueueConfig; 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.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysMessage; import cn.estsh.i3plus.pojo.platform.bean.SysRefUserMessage; -import cn.estsh.i3plus.pojo.platform.bean.SysUser; 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.sqlpack.CoreHqlPack; -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.rabbit.core.RabbitTemplate; @@ -51,36 +47,7 @@ public class SysMessageService implements ISysMessageService { @Override public SysMessage insertSysMessage(SysMessage sysMessage) { - sysMessage = sysMessageRDao.insert(sysMessage); - - String[] messageReceiver = sysMessage.getMessageReceiversId().split(","); - // 收件人名称集合 - String[] receiverName = new String[messageReceiver.length]; - SysRefUserMessage refUserMessage; - SysUser sysUser; - - for (int i = 0; i < messageReceiver.length; i++) { - sysUser = sysUserRDao.getById(Long.parseLong(messageReceiver[i])); - receiverName[i] = sysUser.getUserName(); - - refUserMessage = new SysRefUserMessage(); - refUserMessage.setMessageId(sysMessage.getId()); - refUserMessage.setMessageTitleRdd(sysMessage.getMessageTitle()); - refUserMessage.setMessageTypeRdd(sysMessage.getMessageType()); - refUserMessage.setReceiverId(sysUser.getId()); - refUserMessage.setReceiverNameRdd(sysUser.getUserName()); - - // 判断消息类型推送到对应的队列 - if(ImppEnumUtil.USER_MESSAGE_TYPE.MAIL.getValue() == sysMessage.getMessageType().intValue()){ - rabbitTemplate.convertAndSend(I3CoreQueueConfig.IMPP_MESSAGE_MAIL_QUEUE,refUserMessage); - }else{ - rabbitTemplate.convertAndSend(I3CoreQueueConfig.IMPP_MESSAGE_LETTER_QUEUE,refUserMessage); - } - } - - sysMessage.setMessageSenderNameRdd(StringUtils.join(receiverName, ",")); - sysMessageRDao.update(sysMessage); - return sysMessage; + return sysMessageRDao.insert(sysMessage); } @Override diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java index 8051c06..bdb0f88 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/MailUtil.java @@ -159,8 +159,8 @@ public class MailUtil { MimeMessage msg = new MimeMessage(conn); if (nick != null && !"".equals(nick)) { - - msg.setSubject( MimeUtility.encodeText(nick, MimeUtility.mimeCharset("gb2312"), null)); + nick = MimeUtility.encodeText(nick, MimeUtility.mimeCharset("gb2312"), null); + msg.setSubject(nick); msg.setFrom(new InternetAddress(nick + " <" + from + ">")); } else { msg.setFrom(new InternetAddress(this.from)); 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 new file mode 100644 index 0000000000000000000000000000000000000000..2eea6742b67f49234d53eb321cd618bb48af4b23 GIT binary patch literal 32512 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 LHsx^ye|`2Zjxoi7 literal 0 HcmV?d00001 diff --git a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelSysConfig.java b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelSysConfig.java new file mode 100644 index 0000000..43ec295 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestExcelSysConfig.java @@ -0,0 +1,207 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.pojo.platform.bean.*; +import cn.estsh.i3plus.pojo.platform.repository.SysConfigRepository; +import cn.estsh.i3plus.pojo.platform.repository.SysDictionaryRepository; +import cn.estsh.i3plus.pojo.platform.repository.SysLocaleLanguageRepository; +import cn.estsh.i3plus.pojo.platform.repository.SysLocaleResourceRepository; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-11-22 11:01 + * @Modify: + **/ +public class TestExcelSysConfig extends TestBase { + + public static final Logger LOGGER = LoggerFactory.getLogger(TestExcelPermission.class); + + // 文件路径 + public static final String PATH_NAME = "init/sys-config.xlsx"; + // 权限Sheet 名称 + public static final String SHEET_SYS_CONFIG = "sys-config"; + public static final String SHEET_DICTIONARY = "dictionary"; + public static final String SHEET_LANGUAGE = "language"; + public static final String SHEET_RESOURCE = "resource"; + + @Autowired + private SysConfigRepository sysConfigRDao; + @Autowired + private SysDictionaryRepository sysDictionaryRDao; + @Autowired + private SysLocaleLanguageRepository sysLocaleLanguageRDao; + @Autowired + private SysLocaleResourceRepository sysLocaleResourceRDao; + + @Test + public void testInit() throws Exception { + XSSFWorkbook workbook = getWorkbook(PATH_NAME); + if(workbook != null){ + XSSFSheet sheetSysConfig = workbook.getSheet(SHEET_SYS_CONFIG); + XSSFSheet sheetDictionary = workbook.getSheet(SHEET_DICTIONARY); + XSSFSheet sheetLanguage = workbook.getSheet(SHEET_LANGUAGE); + XSSFSheet sheetResource = workbook.getSheet(SHEET_RESOURCE); + + List sysConfigList = getSysConfig(sheetSysConfig); + List sysDictionaryList = getSysDictionary(sheetDictionary); + List sysLocaleLanguageList = getSysLocaleLanguage(sheetLanguage); + List sysLocaleResourceList= getSysLocaleResource(sheetResource); + + LOGGER.info("System Init SysConfig Size:{}",sysConfigList.size()); + LOGGER.info("System Init SysDictionary Size:{}",sysDictionaryList.size()); + LOGGER.info("System Init SysLocaleLanguage Size:{}",sysLocaleLanguageList.size()); + LOGGER.info("System Init SysLocaleResource Size:{}",sysLocaleResourceList.size()); + + sysConfigRDao.saveAll(sysConfigList); + sysDictionaryRDao.saveAll(sysDictionaryList); + sysLocaleLanguageRDao.saveAll(sysLocaleLanguageList); + sysLocaleResourceRDao.saveAll(sysLocaleResourceList); + } + } + + public List getSysConfig(XSSFSheet sheet){ + List result = new ArrayList<>(); + if(sheet != null){ + if(sheet.getLastRowNum() >= 1){ + SysConfig obj = null; + for (int i = 1; i <= sheet.getLastRowNum(); i++) { + try { + Row row = sheet.getRow(i);//获取索引为i的行,以0开始 + if(row.getCell(0).toString().trim().length() > 0){ + obj = new SysConfig(); + obj.setId(Long.parseLong(row.getCell(0).getStringCellValue())); + obj.setName(row.getCell(1).getStringCellValue()); + obj.setConfigType(Integer.valueOf(row.getCell(2).getStringCellValue())); + obj.setConfigCode(row.getCell(3).getStringCellValue()); + obj.setConfigValue(row.getCell(4).getStringCellValue()); + obj.setConfigDescription(row.getCell(5).getStringCellValue()); + obj.setIsValid(1); + + result.add(obj); + } + }catch (Exception e){ + LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); + } + } + } + } + return result; + } + + public List getSysDictionary(XSSFSheet sheet){ + List result = new ArrayList<>(); + if(sheet != null){ + if(sheet.getLastRowNum() >= 1){ + SysDictionary obj = null; + for (int i = 1; i <= sheet.getLastRowNum(); i++) { + try { + Row row = sheet.getRow(i);//获取索引为i的行,以0开始 + if(row.getCell(0).toString().trim().length() > 0){ + obj = new SysDictionary(); + obj.setId(Long.parseLong(row.getCell(0).getStringCellValue())); + obj.setName(row.getCell(1).getStringCellValue()); + obj.setDictionaryCode(row.getCell(2).getStringCellValue()); + obj.setParentId(Long.valueOf(row.getCell(3).getStringCellValue())); + obj.setParentNameRdd(row.getCell(4).getStringCellValue()); + obj.setParentCodeRdd(row.getCell(5).getStringCellValue()); + obj.setDictionaryValue(row.getCell(6).getStringCellValue()); + obj.setDictionarySort(Integer.valueOf(row.getCell(7).getStringCellValue())); + obj.setDictionaryDescription(row.getCell(8).getStringCellValue()); + obj.setIsValid(1); + + result.add(obj); + } + }catch (Exception e){ + LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); + } + } + } + } + return result; + } + + public List getSysLocaleLanguage(XSSFSheet sheet){ + List result = new ArrayList<>(); + if(sheet != null){ + if(sheet.getLastRowNum() >= 1){ + SysLocaleLanguage obj = null; + for (int i = 1; i <= sheet.getLastRowNum(); i++) { + try { + Row row = sheet.getRow(i);//获取索引为i的行,以0开始 + if(row.getCell(0).toString().trim().length() > 0){ + obj = new SysLocaleLanguage(); + obj.setId(Long.parseLong(row.getCell(0).getStringCellValue())); + obj.setLanguageName(row.getCell(1).getStringCellValue()); + obj.setLanguageCode(row.getCell(2).getStringCellValue()); + obj.setLanguageSort(Integer.valueOf(row.getCell(3).getStringCellValue())); + obj.setIsDefault(Integer.valueOf(row.getCell(4).getStringCellValue())); + obj.setLanguageStatus(Integer.valueOf(row.getCell(5).getStringCellValue())); + obj.setIsValid(1); + + result.add(obj); + } + }catch (Exception e){ + LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); + } + } + } + } + return result; + } + + public List getSysLocaleResource(XSSFSheet sheet){ + List result = new ArrayList<>(); + if(sheet != null){ + if(sheet.getLastRowNum() >= 1){ + SysLocaleResource obj = null; + for (int i = 1; i <= sheet.getLastRowNum(); i++) { + try { + Row row = sheet.getRow(i);//获取索引为i的行,以0开始 + if(row.getCell(0).toString().trim().length() > 0){ + obj = new SysLocaleResource(); + obj.setId(Long.parseLong(row.getCell(0).getStringCellValue())); + obj.setResourceType(Integer.valueOf(row.getCell(1).getStringCellValue())); + obj.setLanguageCode(row.getCell(2).getStringCellValue()); + obj.setLanguageNameRdd(row.getCell(3).getStringCellValue()); + obj.setResourceKey(row.getCell(4).getStringCellValue()); + obj.setResourceValue(row.getCell(5).getStringCellValue()); + obj.setIsSystem(Integer.valueOf(row.getCell(6).getStringCellValue())); + obj.setIsValid(1); + + result.add(obj); + } + }catch (Exception e){ + LOGGER.error("Excel Sheet Name :{} Index:{} DataType Error", sheet.getSheetName(), i); + } + } + } + } + return result; + } + + + public XSSFWorkbook getWorkbook(String pathName){ + try { + InputStream in = TestExcelPermission.class.getClassLoader().getResourceAsStream(pathName); + XSSFWorkbook workbook = new XSSFWorkbook(in); + return workbook; + }catch (Exception e){ + LOGGER.error(" System Init Sys Data Excel Error file path {} error message :{}",pathName,e.getMessage()); + e.getMessage(); + return null; + } + } + +}