From 48b93f729b818575d225eaf59a9a383434154d33 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 27 Jun 2022 10:00:42 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E9=98=B2=E9=87=8D=E5=A4=8D=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=20token=E4=B8=BA=E7=A9=BA=E5=88=99=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E8=B7=B3=E8=BF=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/aop/NoRepeatSubmitAop.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java index e1716469f2..069fab515e 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java @@ -1,11 +1,13 @@ package com.epmet.commons.tools.aop; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.redis.RedisKeys; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; @@ -46,10 +48,13 @@ public class NoRepeatSubmitAop { Object result = null; RLock lock = null; try { - long leaseTime = noRepeatSubmit.leaseTime(); - //如果获取不到锁等待0秒直接返回 持锁时间为leaseTime - lock = distributedLock.getLock(RedisKeys.getNoRepeatSubmitKey(key), leaseTime, NumConstant.ZERO_L, TimeUnit.MILLISECONDS); - //因为getLock如果获取失败抛异常 所以不做锁状态的判断 + //key 为空则直接跳过 不加锁 + if (key != null){ + long leaseTime = noRepeatSubmit.leaseTime(); + //如果获取不到锁等待0秒直接返回 持锁时间为leaseTime + lock = distributedLock.getLock(RedisKeys.getNoRepeatSubmitKey(key), leaseTime, NumConstant.ZERO_L, TimeUnit.MILLISECONDS); + //因为getLock如果获取失败抛异常 所以不做锁状态的判断 + } result = pjp.proceed(); } catch (Exception e) { log.warn("noRepeatSubmit key:{},msg:{}", key, e.getMessage()); @@ -64,7 +69,10 @@ public class NoRepeatSubmitAop { } private String getKey(String keyExpress, String token) { - return keyExpress + token; + if (StringUtils.isBlank(token)) { + return null; + } + return keyExpress + StrConstant.UNDER_LINE + token; } } From 799ed4627b6a86d52a482c3a9a88e1c8a299fa76 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 27 Jun 2022 10:02:06 +0800 Subject: [PATCH 2/3] 1 --- .../java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java index 069fab515e..bbae0f1b90 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aop/NoRepeatSubmitAop.java @@ -69,9 +69,11 @@ public class NoRepeatSubmitAop { } private String getKey(String keyExpress, String token) { + log.debug("getKey param keyExpress:{},token:{}",keyExpress,token); if (StringUtils.isBlank(token)) { return null; } + return keyExpress + StrConstant.UNDER_LINE + token; } From ea5f8942d63ca560f977d8394827d34debc886f9 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 27 Jun 2022 14:51:59 +0800 Subject: [PATCH 3/3] bugfix --- .../com/epmet/service/impl/IcUserDemandRecServiceImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java index d27c32445e..c1acbcd859 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java @@ -881,7 +881,7 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl categoryCodes=demandList.stream().map(DemandRecResultDTO::getCategoryCode).collect(Collectors.toList()); List dictList=demandDictService.listByCodes(customerId,categoryCodes); - Map dictMap = dictList.stream().collect(Collectors.toMap(IcResiDemandDictEntity::getCategoryCode, IcResiDemandDictEntity::getCategoryName)); + Map dictMap = dictList.stream().filter(d->StringUtils.isNotBlank(d.getCategoryName())).collect(Collectors.toMap(IcResiDemandDictEntity::getCategoryCode, IcResiDemandDictEntity::getCategoryName)); //3、查询爱心互助志愿者 // 服务方类型:志愿者:volunteer;社会组织:social_org;社区自组织:community_org;区域党建单位:party_unit; @@ -1772,7 +1772,10 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl list = baseDao.pageListAnalysis(queryForm); // 填充信息 - fillDemandsInfo(list, customerId); + if(CollectionUtils.isNotEmpty(list)){ + fillDemandsInfo(list, customerId); + } + return new PageData<>(list, new PageInfo<>(list).getTotal()); }