From d114275c7e4c2ddf38459db58bd7bd71cf8ed3bb Mon Sep 17 00:00:00 2001 From: guohb Date: Tue, 4 Jun 2024 16:28:08 +0800 Subject: [PATCH] fix --- .../java/com/cool/store/constants/CommonConstants.java | 4 ++-- .../main/java/com/cool/store/utils/RedisUtilPool.java | 10 ++++++++++ .../store/service/impl/ApplyLicenseServiceImpl.java | 3 ++- .../store/service/impl/IntentAgreementServiceImpl.java | 5 +++-- .../com/cool/store/service/impl/PointServiceImpl.java | 2 +- .../store/service/impl/SysStoreAppServiceImpl.java | 3 ++- 6 files changed, 20 insertions(+), 7 deletions(-) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java b/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java index ddada2ade..43c06fe65 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java @@ -25,8 +25,8 @@ public class CommonConstants { public static final int NORMAL_LOCK_TIMES = 60 * 1000; public static final int AN_HOUR_SECONDS = 3600; - - public static final int TEN_SECONDS = 10; + //十秒 + public static final int TEN_SECONDS = 10000; /** * 跟进任务通知缓存时间 1小时 diff --git a/coolstore-partner-common/src/main/java/com/cool/store/utils/RedisUtilPool.java b/coolstore-partner-common/src/main/java/com/cool/store/utils/RedisUtilPool.java index 3cd7927e7..dc9da1cc5 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/utils/RedisUtilPool.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/utils/RedisUtilPool.java @@ -321,6 +321,16 @@ public class RedisUtilPool { public boolean setNxExpire(final String key, final String value, final int expire) { String res = new Executor(shardedJedisPool) { @Override + /** + * 参数定义详解,避免用错: + * set(String key, String value, String nxxx, String expx, int time) + * @key key + * @value value + * @nxxx 1.nx : not exists, 只有key 不存在时才把key value set 到redis; + * 2.xx : is exists ,只有 key 存在是,才把key value set 到redis + * @expx 1.ex : seconds 秒; 2.px : milliseconds 毫秒 + * 我们当前选用的是 nx,px,即key不存在时才set,且过期时间为毫秒 + */ String execute() { return jedis.set(key, value, SET_IF_NOT_EXIST, SET_WITH_EXPIRE_TIME, expire); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java index 282734fa8..013ea8d79 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ApplyLicenseServiceImpl.java @@ -2,6 +2,7 @@ package com.cool.store.service.impl; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; +import com.cool.store.constants.CommonConstants; import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.EnterpriseUserDAO; import com.cool.store.dao.RegionDao; @@ -96,7 +97,7 @@ public class ApplyLicenseServiceImpl implements ApplyLicenseService { String lockKey = "submitLicense:" + request.getShopId(); String lockValue = UUID.randomUUID().toString(); boolean acquired = Boolean.FALSE; - acquired = redisUtilPool.setNxExpire(lockKey, lockValue, 10); + acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS); if (!acquired) { throw new ServiceException(ErrorCodeEnum.DUPLICATE_SUBMISSION); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java index fac34de58..afeeff590 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/IntentAgreementServiceImpl.java @@ -1,6 +1,7 @@ package com.cool.store.service.impl; import com.alibaba.fastjson.JSONObject; +import com.cool.store.constants.CommonConstants; import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.LineInfoDAO; import com.cool.store.entity.*; @@ -203,7 +204,7 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten String lockValue = UUID.randomUUID().toString(); boolean acquired = false; try { - acquired = redisUtilPool.setNxExpire(lockKey, lockValue, 10); + acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS); if (Boolean.TRUE.equals(acquired)) { Map requestMap = new HashMap<>(); fillSignatureInfo(requestMap); @@ -269,7 +270,7 @@ public class IntentAgreementServiceImpl extends LineFlowService implements Inten String lockValue = UUID.randomUUID().toString(); boolean acquired = false; try { - acquired = redisUtilPool.setNxExpire(lockKey, lockValue, 10); + acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS); if (Boolean.TRUE.equals(acquired)) { Map requestMap = new HashMap<>(); fillSignatureInfo(requestMap); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java index 821d0d6d0..0e39b4f7f 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/PointServiceImpl.java @@ -759,7 +759,7 @@ public class PointServiceImpl implements PointService { public Integer lineSelectPoint(SelectPointRequest request) { Long pointId = request.getPointId(), shopId = request.getShopId(), lineId = request.getLineId(); String lockKey = MessageFormat.format(POINT_SELECT_KEY, enterpriseId, pointId); - if(!redisUtilPool.setNxExpire(lockKey, JSONObject.toJSONString(request), 30)){ + if(!redisUtilPool.setNxExpire(lockKey, JSONObject.toJSONString(request), 30*1000)){ throw new ServiceException(ErrorCodeEnum.POINT_IS_LOCK); } try { diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java index fdc887bf5..d3ebcc0f1 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SysStoreAppServiceImpl.java @@ -2,6 +2,7 @@ package com.cool.store.service.impl; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; +import com.cool.store.constants.CommonConstants; import com.cool.store.context.LoginUserInfo; import com.cool.store.dao.ShopStageInfoDAO; import com.cool.store.entity.*; @@ -97,7 +98,7 @@ public class SysStoreAppServiceImpl implements SysStoreAppService, AuditResultSe String lockValue = UUID.randomUUID().toString(); boolean acquired = false; try { - acquired = redisUtilPool.setNxExpire(lockKey, lockValue, 10); + acquired = redisUtilPool.setNxExpire(lockKey, lockValue, CommonConstants.TEN_SECONDS); if (Boolean.TRUE.equals(acquired)) { //1.操作数据库 SystemBuildingShopDO systemBuildingShopDO = SystemBuildingShopDO.convertToSystemBuildingShopDO(request);