From 42aaa4ba2913b5cfde28cdc092e6d47591d5dd38 Mon Sep 17 00:00:00 2001 From: "yunhao.wang" Date: Wed, 21 Nov 2018 20:46:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E5=8F=B7=E7=94=9F=E6=88=90=E8=A7=84?= =?UTF-8?q?=E5=88=99=20=E9=82=AE=E4=BB=B6=E9=85=8D=E7=BD=AE=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=9D=A5=E6=BA=90=E6=94=B9=E4=B8=BA=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/api/iservice/busi/ISysConfigService.java | 13 ++ .../api/iservice/busi/ISysOrderNoRuleService.java | 34 ++++ .../busi/SysLocaleResourceController.java | 2 +- .../controller/busi/SysOrderNoRuleController.java | 132 +++++++++++++ .../core/apiservice/mq/MailQueueReceiver.java | 14 +- .../serviceimpl/busi/SysConfigService.java | 18 ++ .../serviceimpl/busi/SysOrderNoRuleService.java | 90 +++++++++ .../i3plus/core/apiservice/util/MailUtil.java | 32 ++-- .../core/apiservice/util/OrderNoMakeUtil.java | 59 ++++++ .../apiservice/mq/{MailUtil.java => TestMQ.java} | 7 +- .../core/apiservice/serviceimpl/busi/TestBase.java | 4 + .../serviceimpl/busi/TestSysConfigService.java | 204 ++++++++++----------- .../i3plus/core/apiservice/util/TestMailUtil.java | 29 +++ .../core/apiservice/util/TestOrderNoMakeUtil.java | 33 ++++ 14 files changed, 544 insertions(+), 127 deletions(-) create mode 100644 modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrderNoRuleService.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrderNoRuleService.java create mode 100644 modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/OrderNoMakeUtil.java rename modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/mq/{MailUtil.java => TestMQ.java} (90%) create mode 100644 modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestMailUtil.java create mode 100644 modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestOrderNoMakeUtil.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 69d2a6d..e4a2a68 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 @@ -51,4 +51,17 @@ public interface ISysConfigService { * @return */ ListPager querySysConfigByPager(SysConfig sysConfig, Pager pager); + + /** + * 根据code查询系统配置 + * @param code + * @return + */ + SysConfig getSysConfigByCode(String code); + + /** + * 查询系统邮件配置 + * @return + */ + List findMailConfig(); } diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrderNoRuleService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrderNoRuleService.java new file mode 100644 index 0000000..8bc6802 --- /dev/null +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrderNoRuleService.java @@ -0,0 +1,34 @@ +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.SysOrderNoRule; +import io.swagger.annotations.ApiOperation; + +/** + * @Description : 单号生成规则服务器 + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-11-21 19:57 + * @Modify: + **/ +public interface ISysOrderNoRuleService { + + @ApiOperation(value = "添加单号规则") + SysOrderNoRule insertSysOrderNoRule(SysOrderNoRule sysOrderNoRule); + + @ApiOperation(value = "修改单号规则") + void updateSysOrderNoRule(SysOrderNoRule sysOrderNoRule); + + @ApiOperation(value = "根据id删除单号规则") + void deleteSysOrderNoRuleById(Long id); + + @ApiOperation(value = "根据id查询单号规则") + SysOrderNoRule getSysOrderNoRuleById(Long id); + + @ApiOperation(value = "单号规则复杂查询,分页,排序") + ListPager querySysOrderNoRuleByPager(SysOrderNoRule sysOrderNoRule, Pager pager); + + @ApiOperation(value = "根据code查询单号规则") + SysOrderNoRule getSysOrderNoRuleCode(String code); +} diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java index fdd55c4..1f7978a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysLocaleResourceController.java @@ -176,7 +176,7 @@ public class SysLocaleResourceController extends CoreBaseController { .setErrorDetail("请选择需要删除的资源。") .build(); } - System.out.println(sysLocaleResourcesList); + sysLocaleResourceService.insertSysLocaleResourceList(sysLocaleResourcesList); return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java new file mode 100644 index 0000000..31764fb --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrderNoRuleController.java @@ -0,0 +1,132 @@ +package cn.estsh.i3plus.core.apiservice.controller.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ISysOrderNoRuleService; +import cn.estsh.i3plus.core.apiservice.util.OrderNoMakeUtil; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +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.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.*; + +/** + * @Description :系统单号规则管理服务 + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-11-21 18:20 + * @Modify: + **/ +@RestController +@Api(description = "系统单号规则管理服务") +@RequestMapping(CoreBaseController.BASE_URL + "/sys-order-no-rule") +public class SysOrderNoRuleController { + + @Autowired + ISysOrderNoRuleService sysOrderNoRuleService; + + @PostMapping(value = "/insert") + @ApiOperation(value = "新增单号规则") + public ResultBean insertSysOrderNoRule(SysOrderNoRule sysOrderNoRule){ + try { + ValidatorBean.beginValid(sysOrderNoRule) + .notNull("name",sysOrderNoRule.getName()) + .notNull("orderNoRuleCode",sysOrderNoRule.getOrderNoRuleCode()) + .notNull("orderNoRule",sysOrderNoRule.getOrderNoRule()) + .checkNotZero("serialNoSeed",sysOrderNoRule.getSerialNoSeed()) + .checkNotZero("serialNoIncrement",sysOrderNoRule.getSerialNoIncrement()) + .checkNotZero("serialNoLength",sysOrderNoRule.getSerialNoLength()) + .checkNotZero("isCycle",sysOrderNoRule.getIsCycle()); + + sysOrderNoRuleService.insertSysOrderNoRule(sysOrderNoRule); + return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep.getErrorShow()); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @PutMapping(value = "/update") + @ApiOperation(value = "修改单号规则") + public ResultBean updateSysOrderNoRule(SysOrderNoRule sysOrderNoRule){ + try { + ValidatorBean.beginValid(sysOrderNoRule) + .notNull("id",sysOrderNoRule.getId()) + .notNull("name",sysOrderNoRule.getName()) + .notNull("orderNoRuleCode",sysOrderNoRule.getOrderNoRuleCode()) + .notNull("orderNoRule",sysOrderNoRule.getOrderNoRule()) + .checkNotZero("serialNoSeed",sysOrderNoRule.getSerialNoSeed()) + .checkNotZero("serialNoIncrement",sysOrderNoRule.getSerialNoIncrement()) + .checkNotZero("serialNoLength",sysOrderNoRule.getSerialNoLength()) + .checkNotZero("isCycle",sysOrderNoRule.getIsCycle()); + + sysOrderNoRuleService.updateSysOrderNoRule(sysOrderNoRule); + return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep.getErrorShow()); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping(value = "/get/{id}") + @ApiOperation(value = "根据id获取编号规则") + public ResultBean getSysOrderNoRuleById(@PathVariable("id") String idStr){ + try { + ValidatorBean.checkNotNull(idStr,"id不能为空"); + + SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.getSysOrderNoRuleById(Long.parseLong(idStr)); + if (sysOrderNoRule != null) { + return ResultBean.success("查询成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }else { + return ResultBean.fail("数据不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); + } + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep.getErrorShow()); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @DeleteMapping(value = "/delete/{id}") + @ApiOperation(value = "根据id删除单号规则") + public ResultBean deleteSysOrderNoRuleById(@PathVariable("id") String idStr){ + try { + ValidatorBean.checkNotNull(idStr,"id不能为空"); + + sysOrderNoRuleService.deleteSysOrderNoRuleById(Long.parseLong(idStr)); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep.getErrorShow()); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping(value = "/get-order-no/{code}") + @ApiOperation(value = "根据单号规则代码,获取单号") + public ResultBean getOrderNo(@PathVariable("code") String code){ + try { + ValidatorBean.checkNotNull(code,"code不能为空"); + + SysOrderNoRule sysOrderNoRule = sysOrderNoRuleService.getSysOrderNoRuleCode(code); + if (sysOrderNoRule == null) { + return ResultBean.fail("单号规则不存在").setCode(ResourceEnumUtil.MESSAGE.EMPTY.getCode()); + }else { + sysOrderNoRule = OrderNoMakeUtil.next(sysOrderNoRule); + sysOrderNoRuleService.updateSysOrderNoRule(sysOrderNoRule); + } + return ResultBean.success("查询成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + }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/mq/MailQueueReceiver.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/mq/MailQueueReceiver.java index fef02f1..f36e509 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,8 +2,6 @@ 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.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; @@ -51,12 +49,12 @@ public class MailQueueReceiver { SysMessage sysMessage = sysMessageService.getSysMessageById(msg.getMessageId()); SysUser sysUser = sysUserService.getSysUserById(msg.getReceiverId()); - 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(); +// 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(); //信息已处理 channel.basicAck(message.getMessageProperties().getDeliveryTag(),false); 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 d6c7b4d..d75988d 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 @@ -12,6 +12,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -71,4 +72,21 @@ public class SysConfigService implements ISysConfigService { } } + @Override + public SysConfig getSysConfigByCode(String code) { + return SysConfigRDao.getByProperty("configCode",code); + } + + @Override + 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)); + + return mailConfig; + } + } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrderNoRuleService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrderNoRuleService.java new file mode 100644 index 0000000..1d7c5ec --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrderNoRuleService.java @@ -0,0 +1,90 @@ +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ISysOrderNoRuleService; +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.CommonEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule; +import cn.estsh.i3plus.pojo.platform.repository.SysOrderNoRuleRepository; +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 org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * @Description : 系统单号生成规则接口实现 + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-11-21 20:04 + * @Modify: + **/ +@Service +public class SysOrderNoRuleService implements ISysOrderNoRuleService { + + public static final Logger LOGGER = LoggerFactory.getLogger(SysOrderNoRuleService.class); + + @Autowired + private SysOrderNoRuleRepository sysOrderNoRuleRDao; + + @Override + public SysOrderNoRule insertSysOrderNoRule(SysOrderNoRule sysOrderNoRule) { + if(sysOrderNoRuleRDao.isExitByProperty("orderNoRuleCode",sysOrderNoRule.getOrderNoRuleCode())){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("规则代码已存在") + .setErrorSolution("请重新输入规则代码") + .build(); + } + return sysOrderNoRuleRDao.insert(sysOrderNoRule); + } + + @Override + public void updateSysOrderNoRule(SysOrderNoRule sysOrderNoRule) { + // 校验唯一 + String hqlPack = CoreHqlPack.packHqlSysOrderNoRuleCode(sysOrderNoRule); + long repeatCount = sysOrderNoRuleRDao.findByHqlWhereCount(hqlPack); + if (repeatCount > 0){ + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_EXIT.getCode()) + .setErrorDetail("规则代码已存在") + .setErrorSolution("请重新输入规则代码") + .build(); + } + sysOrderNoRuleRDao.update(sysOrderNoRule); + } + + @Override + public void deleteSysOrderNoRuleById(Long id) { + sysOrderNoRuleRDao.deleteById(id); + } + + @Override + public SysOrderNoRule getSysOrderNoRuleById(Long id) { + return sysOrderNoRuleRDao.getById(id); + } + + @Override + public ListPager querySysOrderNoRuleByPager(SysOrderNoRule sysOrderNoRule, Pager pager) { + if(sysOrderNoRule == null) { + pager = PagerHelper.getPager(pager, sysOrderNoRuleRDao.listCount()); + return new ListPager(sysOrderNoRuleRDao.listPager(pager),pager); + }else { + String hqlPack = CoreHqlPack.packHqlSysOrderNoRule(sysOrderNoRule); + pager = PagerHelper.getPager(pager, sysOrderNoRuleRDao.findByHqlWhereCount(hqlPack)); + return new ListPager(sysOrderNoRuleRDao.findByHqlWherePage(hqlPack + sysOrderNoRule.orderBy(),pager),pager); + } + } + + @Override + public SysOrderNoRule getSysOrderNoRuleCode(String code) { + return sysOrderNoRuleRDao.getByProperty("code",code); + } + + +} 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 d780b0b..8051c06 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 @@ -1,16 +1,18 @@ package cn.estsh.i3plus.core.apiservice.util; +import cn.estsh.i3plus.core.api.iservice.busi.ISysConfigService; +import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.core.io.support.PropertiesLoaderUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import javax.mail.*; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeUtility; -import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.Properties; @@ -21,6 +23,7 @@ import java.util.Properties; * @CreateDate : 2018-11-14 19:24 * @Modify: **/ +@Component public class MailUtil { public static final Logger LOGGER = LoggerFactory.getLogger(MailUtil.class); @@ -39,21 +42,20 @@ public class MailUtil { private String smtpPassword = ""; private boolean isAuthenticationSMTP = false; + @Autowired + private ISysConfigService sysConfigService; //初始化服务器邮箱参数 - public MailUtil() { - try { - Properties mailInfo = PropertiesLoaderUtils.loadAllProperties("mail.properties"); - this.smtpHost = mailInfo.get("mail.host").toString(); - this.smtpPort = Integer.parseInt(mailInfo.get("mail.port").toString()); - this.from = mailInfo.get("mail.user") + ""; - this.nick = mailInfo.get("mail.nick") + ""; - this.smtpUser = mailInfo.get("mail.user") + ""; - this.smtpPassword = mailInfo.get("mail.password") + ""; - this.isAuthenticationSMTP = true; - } catch (IOException e) { - e.printStackTrace(); - } + public MailUtil init() { + this.smtpHost = sysConfigService.getSysConfigByCode(PlatformConstWords.MAIL_HOST).getConfigValue(); + this.smtpPort = Integer.parseInt(sysConfigService.getSysConfigByCode(PlatformConstWords.MAIL_PORT).getConfigValue()); + this.from = sysConfigService.getSysConfigByCode(PlatformConstWords.MAIL_USER).getConfigValue(); + this.nick = sysConfigService.getSysConfigByCode(PlatformConstWords.MAIL_NICK).getConfigValue(); + this.smtpUser = sysConfigService.getSysConfigByCode(PlatformConstWords.MAIL_USER).getConfigValue(); + this.smtpPassword = sysConfigService.getSysConfigByCode(PlatformConstWords.MAIL_PASSWORD).getConfigValue(); + this.isAuthenticationSMTP = true; + + return this; } /** diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/OrderNoMakeUtil.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/OrderNoMakeUtil.java new file mode 100644 index 0000000..ebda193 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/OrderNoMakeUtil.java @@ -0,0 +1,59 @@ +package cn.estsh.i3plus.core.apiservice.util; + +import cn.estsh.i3plus.platform.common.util.PlatformConstWords; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule; + +import java.text.MessageFormat; +import java.text.SimpleDateFormat; + +/** + * @Description : 单号生成工具类 + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-11-21 13:26 + * @Modify: + **/ +public class OrderNoMakeUtil { + + public static SysOrderNoRule next(SysOrderNoRule orderNoRule) { + StringBuilder orderNo = new StringBuilder(orderNoRule.getOrderNoRule()); + + String[] dateTime = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss").format(System.currentTimeMillis()).split("-"); + replace(orderNo, PlatformConstWords.YEAR, dateTime[0]); + replace(orderNo, PlatformConstWords.MONTH, dateTime[1]); + replace(orderNo, PlatformConstWords.DAY, dateTime[2]); + replace(orderNo, PlatformConstWords.HOUR, dateTime[3]); + replace(orderNo, PlatformConstWords.MINUTE, dateTime[4]); + replace(orderNo, PlatformConstWords.SECOND, dateTime[5]); + + // 流水号长度补全 + String serialNumberFormatStr = MessageFormat.format(PlatformConstWords.SERIAL_NO_FORMAT, orderNoRule.getSerialNoLength()); + + if (orderNoRule.getLastMakeSerialNo() > 0) { + int serialNo = orderNoRule.getLastMakeSerialNo() + orderNoRule.getSerialNoIncrement(); + // 达到最大值后循环或继续 + if(orderNoRule.getSerialNoLength().intValue() < String.valueOf(serialNo).length() + && orderNoRule.getIsCycle() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){ + orderNoRule.setLastMakeSerialNo(orderNoRule.getSerialNoSeed()); + } else { + orderNoRule.setLastMakeSerialNo(orderNoRule.getLastMakeSerialNo() + orderNoRule.getSerialNoIncrement()); + } + } else { + orderNoRule.setLastMakeSerialNo(orderNoRule.getSerialNoSeed()); + } + replace(orderNo, PlatformConstWords.SERIAL_NO, String.format(serialNumberFormatStr, orderNoRule.getLastMakeSerialNo())); + + orderNoRule.setLastMakeOrderNo(orderNo.toString()); + return orderNoRule; + } + + private static StringBuilder replace(StringBuilder no, String constant, String param) { + int day = no.indexOf(constant); + if (day != -1) { + no.replace(day, day + constant.length(), param); + } + return no; + } + +} diff --git a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/mq/MailUtil.java b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/mq/TestMQ.java similarity index 90% rename from modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/mq/MailUtil.java rename to modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/mq/TestMQ.java index 6a5d078..d1176f5 100644 --- a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/mq/MailUtil.java +++ b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/mq/TestMQ.java @@ -1,6 +1,7 @@ package cn.estsh.i3plus.core.apiservice.mq; import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase; +import cn.estsh.i3plus.core.apiservice.util.MailUtil; import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysMessage; import org.junit.Test; @@ -14,7 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; * @CreateDate : 2018-11-15 13:22 * @Modify: **/ -public class MailUtil extends TestBase { +public class TestMQ extends TestBase { /** * rabbitMQ队列 @@ -22,6 +23,9 @@ public class MailUtil extends TestBase { @Autowired private RabbitTemplate rabbitTemplate; + @Autowired + private MailUtil mailUtil; + @Test public void sendMail() throws InterruptedException { @@ -42,4 +46,5 @@ public class MailUtil extends TestBase { } } + } diff --git a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java index 521a0bb..379178e 100644 --- a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java +++ b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestBase.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; +import cn.estsh.i3plus.core.api.iservice.busi.ISysConfigService; import cn.estsh.impp.framework.boot.init.ApplicationProperties; import org.junit.After; import org.junit.Before; @@ -27,6 +28,9 @@ public class TestBase { @Autowired private ApplicationProperties app; + @Autowired + private ISysConfigService sysConfigService; + @Before public void init() { System.out.println("-----------------开始测试-----------------"); diff --git a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysConfigService.java b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysConfigService.java index c4ce0e7..1ca0c30 100644 --- a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysConfigService.java +++ b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestSysConfigService.java @@ -1,102 +1,102 @@ -//package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; -// -//import cn.estsh.i3plus.core.api.iservice.busi.ISysConfigService; -//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 com.alibaba.fastjson.JSON; -//import org.junit.Test; -//import org.springframework.beans.factory.annotation.Autowired; -//import org.springframework.test.annotation.Rollback; -// -//import javax.transaction.Transactional; -//import java.util.List; -// -///** -// * @Description : 系统参数服务测试 -// * @Reference : -// * @Author : yunhao -// * @Date : 2018-10-30 10:49 -// * @Modify : -// **/ -//public class TestSysConfigService extends TestBase { -// -// @Autowired -// private ISysConfigService sysConfigService; -// -// /** -// * 测试 查询所有系统参数 -// */ -// @Test -// @Transactional -// public void testListSysConfig() { -// List list = sysConfigService.ListSysConfig(); -// System.out.println(JSON.toJSONString(list)); -// } -// -// /** -// * 测试 根据id查询系统参数 -// */ -// @Test -// @Transactional -// public void testGetSysConfigById() { -// SysConfig sysConfig = sysConfigService.getSysConfigById("1057110061127700480"); -// System.out.println(JSON.toJSONString(sysConfig)); -// } -// -// /** -// * 测试 添加系统参数 -// */ -// @Test -// @Transactional -// @Rollback(false) -// public void testInsertSysConfig() { -// SysConfig sysConfig = new SysConfig(); -// sysConfig.setName("系统名称"); -// sysConfig.setConfigCode("sys_name"); -// sysConfig.setConfigTypeId(1); -// sysConfig.setConfigValue("IMPP"); -// sysConfig.setConfigDescription("系统名称"); -// -// sysConfigService.insertSysConfig(sysConfig); -// System.out.println(JSON.toJSONString(sysConfig)); -// -// } -// -// /** -// * 测试 修改系统参数 -// */ -// @Test -// @Transactional -// public void testUpdateSysConfig(){ -// SysConfig sysConfig = sysConfigService.getSysConfigById("1057110613261684736"); -// sysConfig.setConfigDescription("测试修改"); -// -// sysConfigService.updateSysConfig(sysConfig); -// } -// -// /** -// * 测试 根据id删除系统参数 -// */ -// @Test -// @Transactional -// public void testDeleteSysConfigById(){ -// sysConfigService.deleteSysConfigById("1057111616417566720"); -// } -// -// /** -// * 测试 复制查询 -// */ -// @Test -// @Transactional -// public void testQuerySysConfigByPager(){ -// SysConfig sysConfig = new SysConfig(); -// -// Pager pager = new Pager(); -// pager.setPageSize(10); -// pager.setCurrentPage(1); -// -// ListPager list = sysConfigService.querySysConfigByPager(sysConfig,pager); -// System.out.println(list); -// } -//} +package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.core.api.iservice.busi.ISysConfigService; +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 com.alibaba.fastjson.JSON; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.annotation.Rollback; + +import javax.transaction.Transactional; +import java.util.List; + +/** + * @Description : 系统参数服务测试 + * @Reference : + * @Author : yunhao + * @Date : 2018-10-30 10:49 + * @Modify : + **/ +public class TestSysConfigService extends TestBase { + + @Autowired + private ISysConfigService sysConfigService; + + /** + * 测试 查询所有系统参数 + */ + @Test + @Transactional + public void testListSysConfig() { + List list = sysConfigService.ListSysConfig(); + System.out.println(JSON.toJSONString(list)); + } + + /** + * 测试 根据id查询系统参数 + */ + @Test + @Transactional + public void testGetSysConfigById() { + SysConfig sysConfig = sysConfigService.getSysConfigById(1057110061127700480L); + System.out.println(JSON.toJSONString(sysConfig)); + } + + /** + * 测试 添加系统参数 + */ + @Test + @Transactional + @Rollback(false) + public void testInsertSysConfig() { + SysConfig sysConfig = new SysConfig(); + sysConfig.setName("系统名称"); + sysConfig.setConfigCode("sys_name"); + sysConfig.setConfigType(1); + sysConfig.setConfigValue("IMPP"); + sysConfig.setConfigDescription("系统名称"); + + sysConfigService.insertSysConfig(sysConfig); + System.out.println(JSON.toJSONString(sysConfig)); + + } + + /** + * 测试 修改系统参数 + */ + @Test + @Transactional + public void testUpdateSysConfig(){ + SysConfig sysConfig = sysConfigService.getSysConfigById(1057110613261684736L); + sysConfig.setConfigDescription("测试修改"); + + sysConfigService.updateSysConfig(sysConfig); + } + + /** + * 测试 根据id删除系统参数 + */ + @Test + @Transactional + public void testDeleteSysConfigById(){ + sysConfigService.deleteSysConfigById(1057111616417566720L); + } + + /** + * 测试 复制查询 + */ + @Test + @Transactional + public void testQuerySysConfigByPager(){ + SysConfig sysConfig = new SysConfig(); + + Pager pager = new Pager(); + pager.setPageSize(10); + pager.setCurrentPage(1); + + ListPager list = sysConfigService.querySysConfigByPager(sysConfig,pager); + System.out.println(list); + } +} diff --git a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestMailUtil.java b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestMailUtil.java new file mode 100644 index 0000000..0de9cef --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestMailUtil.java @@ -0,0 +1,29 @@ +package cn.estsh.i3plus.core.apiservice.util; + +import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase; +import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil; +import org.junit.Test; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-11-21 19:44 + * @Modify: + **/ +public class TestMailUtil extends TestBase { + + @Autowired + MailUtil mailUtil; + + @Test + public void TestSendMail(){ + mailUtil.setTo("yunhao.wang@estsh.com"); + mailUtil.setSubject("中文"); + mailUtil.setContentType(ImppEnumUtil.MESSAGE_CONTENT_TYPE.HTML.getDescription()); + mailUtil.setBody("内容"); + mailUtil.send(); + + } +} diff --git a/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestOrderNoMakeUtil.java b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestOrderNoMakeUtil.java new file mode 100644 index 0000000..2195fc7 --- /dev/null +++ b/modules/i3plus-core-apiservice/src/test/java/cn/estsh/i3plus/core/apiservice/util/TestOrderNoMakeUtil.java @@ -0,0 +1,33 @@ +package cn.estsh.i3plus.core.apiservice.util; + +import cn.estsh.i3plus.core.apiservice.serviceimpl.busi.TestBase; +import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule; +import org.junit.Test; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2018-11-21 19:45 + * @Modify: + **/ +public class TestOrderNoMakeUtil extends TestBase { + + @Test + public void TestMakeOrderNO() { + SysOrderNoRule sysOrderNoRule = new SysOrderNoRule(); + sysOrderNoRule.setName("一号单据"); + sysOrderNoRule.setOrderNoRule("GG-{yyyy}{MM}{dd}{serialNo}"); + sysOrderNoRule.setSerialNoSeed(1); + sysOrderNoRule.setSerialNoIncrement(1); + sysOrderNoRule.setSerialNoLength(4); + sysOrderNoRule.setLastMakeSerialNo(9999); + sysOrderNoRule.setIsCycle(1); + + System.out.println(OrderNoMakeUtil.next(sysOrderNoRule)); + +// String d= MessageFormat.format("%0{0}d", 3); +// System.out.println(d); + } + +}