From 137a14133feb5d8eba48673b493723b3b69063c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=AA=E4=BA=91=E6=98=8A?= Date: Mon, 24 Aug 2020 20:52:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=8D=95=E5=8F=B7=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/iservice/busi/ICoreMemTreeService.java | 6 ++ .../api/iservice/busi/ISysOrderNoRuleService.java | 29 ++++--- .../controller/base/WhiteController.java | 33 +++----- .../serviceimpl/base/SynchronizedService.java | 54 ++++++++++++- .../serviceimpl/busi/CoreMemTreeService.java | 19 +++++ .../serviceimpl/busi/SysOrderNoRuleService.java | 93 ++++++++-------------- .../serviceimpl/busi/TestTransService.java | 1 - .../i3plus/core/apiservice/util/CloneTool.java | 8 +- .../i3plus/core/apiservice/util/NoSqlPack.java | 1 + .../core/apiservice/util/OrderNoMakeUtil.java | 8 +- 10 files changed, 145 insertions(+), 107 deletions(-) diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java index 2ec503c..49fbbf1 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java @@ -161,6 +161,12 @@ public interface ICoreMemTreeService { @ApiOperation(value = "查询功能子节点",notes = "根据用户ID 查询功能树") List packTreeSysMenuByUserId(Long userId); + /** + * 根据用户ID 和 节点ID 查询功能树 + * @param userId + * @param parentId + * @return + */ @ApiOperation(value = "查询功能子节点",notes = "根据用户ID 和 节点ID 查询功能树") List packTreeSysMenuByUserIdAndParentId(Long userId,Long parentId); 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 index ce61dbb..9cdfc13 100644 --- 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 @@ -46,6 +46,15 @@ public interface ISysOrderNoRuleService { @ApiOperation(value = "根据id查询单号规则") SysOrderNoRule getSysOrderNoRuleById(Long id); + + /** + * 根据code 查询单号 + * @param code 单号code + * @return 单号信息 + */ + @ApiOperation(value = "根据code查询单号规则") + SysOrderNoRule getSysOrderNoRuleByCode(String code); + /** * 获取分页单号信息 * @param sysOrderNoRule 单号查询条件 @@ -57,19 +66,11 @@ public interface ISysOrderNoRuleService { /** * 根据单号代码获取单号信息 - * @param code 单号代码 - * @return 单号信息 - */ - @ApiOperation(value = "根据code查询最新单号规则") - SysOrderNoRule doGetSysOrderNoRuleCode(String code); - - /** - * 根据单号代码获取单号信息 - * @param code 单号代码 + * @param orderNoRule 单号代码 * @return 单号信息 */ - @ApiOperation(value = "根据code查询最新单号规则") - List doGetSysOrderNoRuleByCodeAndNum(String code,int num); + @ApiOperation(value = "根据单号代码获取单号信息") + List doGetSysOrderNoRuleByNum(SysOrderNoRule orderNoRule,int num); /** * 根据id修改单号规则状态 @@ -100,4 +101,10 @@ public interface ISysOrderNoRuleService { */ @ApiOperation(value = "批量添加编号规则") void insertSysOrderNoRuleList(List sysOrderNoRuleList); + + /** + * 除一级缓存对象,设为游离态 + * @param sysOrderNoRule + */ + void detachSysOrderNoRule(SysOrderNoRule sysOrderNoRule); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java index 36ea43f..ca3bdfa 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/WhiteController.java @@ -2,7 +2,6 @@ package cn.estsh.i3plus.core.apiservice.controller.base; import cn.estsh.i3plus.core.api.iservice.base.ISynchronizedService; import cn.estsh.i3plus.core.api.iservice.base.ISystemInitService; -import cn.estsh.i3plus.core.api.iservice.base.ISystemLoginService; import cn.estsh.i3plus.core.api.iservice.busi.*; import cn.estsh.i3plus.core.apiservice.util.SysUserPasswordUtil; import cn.estsh.i3plus.platform.common.convert.ConvertBean; @@ -32,19 +31,15 @@ import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authc.*; 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.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.locks.Lock; import java.util.stream.Collectors; -import static cn.estsh.i3plus.platform.common.util.CommonConstWords.REDIS_PREFIX_LOCK_BATCH_GET_ORDER_NO; -import static cn.estsh.i3plus.platform.common.util.CommonConstWords.REDIS_PREFIX_LOCK_GET_ORDER_NO; - /** * @Description : * @Reference : @@ -66,12 +61,6 @@ public class WhiteController extends CoreBaseController { private ISysLocaleResourceService sysLocaleResourceService; @Autowired - private ISystemLoginService systemLoginService; - - @Autowired - private ISysOrderNoRuleService sysOrderNoRuleService; - - @Autowired private ISysUserService userService; @Autowired @@ -110,6 +99,9 @@ public class WhiteController extends CoreBaseController { @Resource(name= CommonConstWords.IMPP_REDIS_SESSION) private ImppRedis redisSession; + @Autowired + private RabbitTemplate rabbitTemplate; + @GetMapping(value = "/sys-locale-language/list") @ApiOperation(value = "查询可用语言",notes = "查询可用语言") @@ -407,21 +399,15 @@ public class WhiteController extends CoreBaseController { @GetMapping(value = "/sys-order-no-rule/get-order-no/{code}") @ApiOperation(value = "根据单号规则代码,生成单号") public ResultBean getOrderNo(@PathVariable("code") String code) { - Lock lock = redisCore.getFairLock(REDIS_PREFIX_LOCK_GET_ORDER_NO); try { ValidatorBean.checkNotNull(code, "code不能为空"); - // 获取锁 - lock.lock(); - SysOrderNoRule sysOrderNoRule = synchronizedService.nextOrderNo(code); return ResultBean.success("操作成功").setResultObject(sysOrderNoRule).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); } catch (Exception e) { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } finally { - lock.unlock(); } } @@ -435,22 +421,16 @@ public class WhiteController extends CoreBaseController { @GetMapping(value = "/sys-order-no-rule/get-order-no/{code}/{num}") @ApiOperation(value = "根据单号规则代码,生成单号") public ResultBean getOrderNo(@PathVariable("code") String code, @PathVariable("num") Integer num) { - Lock lock = redisCore.getFairLock(REDIS_PREFIX_LOCK_BATCH_GET_ORDER_NO); try { ValidatorBean.checkNotNull(code, "code不能为空"); ValidatorBean.checkNotZero(num, "次数不能为零"); - // 获取锁 - lock.tryLock(15, TimeUnit.SECONDS); - List orderNoList = synchronizedService.nextOrderNo(code, num).stream().map(SysOrderNoRule::getOrderNo).collect(Collectors.toList()); return ResultBean.success("操作成功").setResultList(orderNoList).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); } catch (Exception e) { return ImppExceptionBuilder.newInstance().buildExceptionResult(e); - } finally { - lock.unlock(); } } @@ -652,4 +632,9 @@ public class WhiteController extends CoreBaseController { } } + @GetMapping(value = "/send-test-mq") + @ApiOperation(value = "测试发送mq", notes = "测试发送mq") + public void sendTestMq(String paramStr) { + rabbitTemplate.convertAndSend(PlatformConstWords.QUEUE_IMPP_DEMO, paramStr); + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SynchronizedService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SynchronizedService.java index 4edf7d5..7ee498a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SynchronizedService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/base/SynchronizedService.java @@ -2,12 +2,22 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.base; import cn.estsh.i3plus.core.api.iservice.base.ISynchronizedService; import cn.estsh.i3plus.core.api.iservice.busi.ISysOrderNoRuleService; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +import cn.estsh.i3plus.platform.common.util.CommonConstWords; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysOrderNoRule; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ImppRedis; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.math.NumberUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.List; +import static cn.estsh.i3plus.platform.common.util.CommonConstWords.REDIS_PREFIX_LOCK_GET_ORDER_NO; + /** * @Description : * @Reference : @@ -21,9 +31,21 @@ public class SynchronizedService implements ISynchronizedService { @Autowired private ISysOrderNoRuleService sysOrderNoRuleService; + @Resource(name = CommonConstWords.IMPP_REDIS_RES) + private ImppRedis redisRes; + @Override public synchronized SysOrderNoRule nextOrderNo(String code) { - return sysOrderNoRuleService.doGetSysOrderNoRuleCode(code); + List list = nextOrderNo(code, NumberUtils.INTEGER_ONE); + if (CollectionUtils.isEmpty(list)) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("[" + code + "] 生成失败") + .setErrorSolution("请重新输入规则代码") + .build(); + } + return list.stream().findFirst().get(); } /** @@ -35,6 +57,34 @@ public class SynchronizedService implements ISynchronizedService { */ @Override public synchronized List nextOrderNo(String code, int num) { - return sysOrderNoRuleService.doGetSysOrderNoRuleByCodeAndNum(code,num); + String redisKey = REDIS_PREFIX_LOCK_GET_ORDER_NO + ":" + code; + //先拿规则 + SysOrderNoRule codeRole = sysOrderNoRuleService.getSysOrderNoRuleByCode(code); + if (codeRole == null) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) + .setErrorDetail("[" + code + "]规则代码不存在存在") + .setErrorSolution("请重新输入规则代码") + .build(); + } else if (codeRole.getOrderNoRuleStatus() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("[" + code + "]单号规则已禁用") + .setErrorSolution("请重新输入规则代码") + .build(); + } + + sysOrderNoRuleService.detachSysOrderNoRule(codeRole); + + Long incr = codeRole.getSerialNoIncrement() * num; + //缓存增加 + //先判断redis是否存在,如果不存在,则用默认初始值+步长*数量,如果存在,则添加步长 * 数量 + codeRole.setSerialNo(redisRes.putObjAdditational(redisKey, codeRole.getSerialNo(), incr)-incr); + + // 生成单号更缓存 + return sysOrderNoRuleService.doGetSysOrderNoRuleByNum(codeRole, num); } + } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreMemTreeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreMemTreeService.java index d24cdff..096912b 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreMemTreeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreMemTreeService.java @@ -6,6 +6,8 @@ import cn.estsh.i3plus.pojo.base.enumutil.ModelEnumUtil; import cn.estsh.i3plus.pojo.model.platform.CommonTreeModel; import cn.estsh.i3plus.pojo.platform.bean.*; import org.apache.commons.collections.CollectionUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -24,6 +26,8 @@ import java.util.stream.Collectors; @Service public class CoreMemTreeService implements ICoreMemTreeService { + public static final Logger LOGGER = LoggerFactory.getLogger(CoreMemTreeService.class); + @Autowired private IPersonnelService personnelService; @@ -623,16 +627,31 @@ public class CoreMemTreeService implements ICoreMemTreeService { return packTreeSysMenuByUserIdAndParentId(userId, CommonEnumUtil.PARENT.DEFAULT.getValue()); } + /** + * 根据用户ID 和 节点ID 查询功能树 + * @param userId + * @param parentId + * @return + */ @Override public List packTreeSysMenuByUserIdAndParentId(Long userId, Long parentId) { + // 查询用户关联角色 + long startTime = System.currentTimeMillis(); List roleList = personnelService.findSysRefUserRole(userId); + long roleTime = System.currentTimeMillis(); + LOGGER.info("查询用户所关联的角色信息耗时:{}",roleTime - startTime); if (roleList != null && roleList.size() > 0) { + // 查询角色关联菜单 List refRoleMenuList = personnelService.findSysRefRoleMenuByRefUserRole(roleList); + long refRoleMenuTime = System.currentTimeMillis(); + LOGGER.info("查询角色关联菜单:{}",refRoleMenuTime - roleTime); if (refRoleMenuList != null && refRoleMenuList.size() > 0) { List menuList = menuService.findAll(); + // 构建菜单树 List menuRootTree = packTreeSysMenu(menuList, parentId); + // return packTreeSysMenuBySysRefRoleMenu(menuRootTree, refRoleMenuList); } } 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 index 40c4cc4..98d8195 100644 --- 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 @@ -15,7 +15,6 @@ 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 io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -78,6 +77,17 @@ public class SysOrderNoRuleService implements ISysOrderNoRuleService { return sysOrderNoRuleRDao.getById(id); } + /** + * 根据code 查询单号 + * + * @param code 单号code + * @return 单号信息 + */ + @Override + public SysOrderNoRule getSysOrderNoRuleByCode(String code) { + return sysOrderNoRuleRDao.getByProperty("orderNoRuleCode",code); + } + @Override public ListPager querySysOrderNoRuleByPager(SysOrderNoRule sysOrderNoRule, Pager pager) { if (sysOrderNoRule == null) { @@ -90,77 +100,32 @@ public class SysOrderNoRuleService implements ISysOrderNoRuleService { } } - @Override - @ApiOperation(value = "根据code查询最新单号规则") - public synchronized SysOrderNoRule doGetSysOrderNoRuleCode(String code) { - SysOrderNoRule sysOrderNoRule = sysOrderNoRuleRDao.getByProperty("orderNoRuleCode", code); - - if (sysOrderNoRule == null) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) - .setErrorDetail("[" + code + "]规则代码不存在存在") - .setErrorSolution("请重新输入规则代码") - .build(); - } else if (sysOrderNoRule.getOrderNoRuleStatus() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("[" + code + "]单号规则已禁用") - .setErrorSolution("请重新输入规则代码") - .build(); - } else { - sysOrderNoRule = OrderNoMakeUtil.next(sysOrderNoRule); - sysOrderNoRuleRDao.update(sysOrderNoRule); - return sysOrderNoRule; - } - } - /** * 根据单号代码获取单号信息 * - * @param code 单号代码 + * @param sysOrderNoRule 单号代码 * @param num * @return 单号信息 */ @Override - public synchronized List doGetSysOrderNoRuleByCodeAndNum(String code, int num) { - SysOrderNoRule sysOrderNoRule = sysOrderNoRuleRDao.getByProperty("orderNoRuleCode", code); - sysOrderNoRuleRDao.detachObject(sysOrderNoRule); + public synchronized List doGetSysOrderNoRuleByNum(SysOrderNoRule sysOrderNoRule, int num) { List resultList = new ArrayList<>(); - - if (sysOrderNoRule == null) { - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) - .setErrorDetail("[" + code + "]规则代码不存在存在") - .setErrorSolution("请重新输入规则代码") - .build(); - } else if (sysOrderNoRule.getOrderNoRuleStatus() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) { + try { + for (int i = 0; i < num; i++) { + sysOrderNoRule = OrderNoMakeUtil.next(CloneTool.clone(sysOrderNoRule)); + resultList.add(sysOrderNoRule); + } + }catch (Exception e){ + LOGGER.error("单号生成异常:",e); throw ImppExceptionBuilder.newInstance() .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) - .setErrorDetail("[" + code + "]单号规则已禁用") - .setErrorSolution("请重新输入规则代码") + .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION.getCode()) + .setErrorDetail("单号生成异常 %s",e.getMessage()) .build(); - } else { - try { - for (int i = 0; i < num; i++) { - sysOrderNoRule = OrderNoMakeUtil.next((SysOrderNoRule) CloneTool.clone(sysOrderNoRule)); - resultList.add(sysOrderNoRule); - } - }catch (Exception e){ - LOGGER.error("单号生成异常:",e); - throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.CORE.getCode()) - .setErrorCode(ImppExceptionEnum.BUSINESS_EXCEPTION.getCode()) - .setErrorDetail("单号生成异常 %s",e.getMessage()) - .build(); - } - - sysOrderNoRuleRDao.update(sysOrderNoRule); - return resultList; } + + sysOrderNoRuleRDao.update(sysOrderNoRule); + return resultList; } @Override @@ -185,5 +150,13 @@ public class SysOrderNoRuleService implements ISysOrderNoRuleService { sysOrderNoRuleRDao.saveAll(sysOrderNoRuleList); } + /** + * @param sysOrderNoRule + */ + @Override + public void detachSysOrderNoRule(SysOrderNoRule sysOrderNoRule) { + sysOrderNoRuleRDao.detachObject(sysOrderNoRule); + } + } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTransService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTransService.java index 488e71a..e42e027 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTransService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/TestTransService.java @@ -167,7 +167,6 @@ public class TestTransService implements ITestTransService { @Override public void insertRedis() { - sysDepartmentRDao.insert(new SysDepartment()); for (int i = 0; i < 1000; i++) { imppRedis.putObject(i + "", i); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/CloneTool.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/CloneTool.java index cf6b035..825ce87 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/CloneTool.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/CloneTool.java @@ -164,8 +164,8 @@ public class CloneTool { * @throws IllegalAccessException * @throws InstantiationException */ - public static Object clone(Object value) throws IllegalAccessException, InstantiationException { - return clone(value,1); + public static T clone(T value) throws IllegalAccessException, InstantiationException { + return (T) clone(value,1); } /** @@ -175,8 +175,8 @@ public class CloneTool { * @throws IllegalAccessException * @throws InstantiationException */ - public static Object deepClone(Object value) throws IllegalAccessException, InstantiationException { - return clone(value,-1); + public static T deepClone(T value) throws IllegalAccessException, InstantiationException { + return (T) clone(value,-1); } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/NoSqlPack.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/NoSqlPack.java index cfe7e62..7e1d800 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/NoSqlPack.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/util/NoSqlPack.java @@ -103,6 +103,7 @@ public class NoSqlPack { result.andStringEquals("remoteIp",bean.getRemoteIp()); // result.andStringEquals("requestUrl",bean.getRequestUrl()); result.andTextLike("requestUrl",bean.getRequestUrl()); + result.andStringLike("userLoginName",bean.getUserLoginName()); result.andStringEquals("createUser",bean.getCreateUser()); result.andStringLike("operateMessage",bean.getOperateMessage()); result.andStringDateTimeBetween("createDatetime",bean.getCreateDateTimeStart(),bean.getCreateDateTimeEnd()); 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 index 7b0dcda..b865b6b 100644 --- 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 @@ -1,16 +1,14 @@ package cn.estsh.i3plus.core.apiservice.util; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; 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 cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; -import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; -import com.alibaba.fastjson.JSON; import org.apache.commons.lang3.StringUtils; + import java.text.MessageFormat; import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Locale; /** * @Description : 单号生成工具类 @@ -59,7 +57,7 @@ public class OrderNoMakeUtil { orderNoRule.setSerialNo(orderNoRule.getSerialNo() + orderNoRule.getSerialNoIncrement()); } } else { - orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed()); + orderNoRule.setSerialNo(orderNoRule.getSerialNoSeed() * orderNoRule.getSerialNoIncrement()); } replace(orderNo, PlatformConstWords.SERIAL_NO, String.format(serialNoFormatStr, orderNoRule.getSerialNo()));