diff --git a/mallchat-common/pom.xml b/mallchat-common/pom.xml index 9f6b423..79db425 100644 --- a/mallchat-common/pom.xml +++ b/mallchat-common/pom.xml @@ -24,10 +24,6 @@ cn.hutool hutool-all - - io.swagger - swagger-annotations - org.mybatis diff --git a/mallchat-common/src/main/java/com/abin/mallchat/common/common/aspect/RedissonLockAspect.java b/mallchat-common/src/main/java/com/abin/mallchat/common/common/aspect/RedissonLockAspect.java index 4e69769..db30d45 100644 --- a/mallchat-common/src/main/java/com/abin/mallchat/common/common/aspect/RedissonLockAspect.java +++ b/mallchat-common/src/main/java/com/abin/mallchat/common/common/aspect/RedissonLockAspect.java @@ -14,6 +14,7 @@ import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.reflect.MethodSignature; +import org.aspectj.weaver.ast.Test; import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.DefaultParameterNameDiscoverer; @@ -27,6 +28,7 @@ import org.springframework.stereotype.Component; import java.lang.reflect.Method; import java.util.*; +import java.util.concurrent.TimeUnit; /** * Description: 分布式锁切面 diff --git a/mallchat-common/src/main/java/com/abin/mallchat/common/common/utils/RedisUtils.java b/mallchat-common/src/main/java/com/abin/mallchat/common/common/utils/RedisUtils.java index 6a84799..4de8b02 100644 --- a/mallchat-common/src/main/java/com/abin/mallchat/common/common/utils/RedisUtils.java +++ b/mallchat-common/src/main/java/com/abin/mallchat/common/common/utils/RedisUtils.java @@ -23,7 +23,6 @@ import java.util.stream.Collectors; @Slf4j @Component public class RedisUtils { - private static final ObjectMapper jsonMapper = new ObjectMapper(); public RedisTemplate redisTemplate; private static StringRedisTemplate stringRedisTemplate; @@ -219,9 +218,24 @@ public class RedisUtils { private static String get(String key) { return key == null ? null : stringRedisTemplate.opsForValue().get(key); } - + /** + * 普通缓存放入 + * + * @param key 键 + * @param value 值 + * @return true成功 false失败 + */ + public static boolean set(String key, Object value) { + try { + stringRedisTemplate.opsForValue().set(key, objToStr(value)); + return true; + } catch (Exception e) { + log.error(e.getMessage(), e); + return false; + } + } public static String getStr(String key) { - return get(key,String.class); + return get(key, String.class); } public static T get(String key, Class tClass) { @@ -239,11 +253,7 @@ public class RedisUtils { } public static String objToStr(Object o) { - try { - return jsonMapper.writeValueAsString(o); - } catch (Exception e) { - throw new UnsupportedOperationException(e); - } + return JsonUtils.toStr(o); } public static void mset(Map map, long time) { @@ -254,22 +264,7 @@ public class RedisUtils { }); } - /** - * 普通缓存放入 - * - * @param key 键 - * @param value 值 - * @return true成功 false失败 - */ - public static boolean set(String key, Object value) { - try { - stringRedisTemplate.opsForValue().set(key, objToStr(value)); - return true; - } catch (Exception e) { - log.error(e.getMessage(), e); - return false; - } - } + /** * 普通缓存放入并设置时间 diff --git a/mallchat-common/src/main/java/com/abin/mallchat/common/user/service/impl/UserBackpackServiceImpl.java b/mallchat-common/src/main/java/com/abin/mallchat/common/user/service/impl/UserBackpackServiceImpl.java index 03bc00b..dcf1a4d 100644 --- a/mallchat-common/src/main/java/com/abin/mallchat/common/user/service/impl/UserBackpackServiceImpl.java +++ b/mallchat-common/src/main/java/com/abin/mallchat/common/user/service/impl/UserBackpackServiceImpl.java @@ -39,7 +39,7 @@ public class UserBackpackServiceImpl implements IUserBackpackService { private ApplicationEventPublisher applicationEventPublisher; @Override - @RedissonLock(key = "#uid") + @RedissonLock(key = "#uid",waitTime = 5000)//相同用户会同时发奖,需要排队不能直接拒绝 public void acquireItem(Long uid, Long itemId, IdempotentEnum idempotentEnum, String businessId) { String idempotent = getIdempotent(itemId, idempotentEnum, businessId); UserBackpack userBackpack = userBackpackDao.getByIdp(idempotent); @@ -57,6 +57,7 @@ public class UserBackpackServiceImpl implements IUserBackpackService { } //发物品 UserBackpack insert = UserBackpack.builder() + .uid(uid) .itemId(itemId) .status(YesOrNoEnum.NO.getStatus()) .idempotent(idempotent) diff --git a/mallchat-common/src/main/resources/application.yml b/mallchat-common/src/main/resources/application.yml index 8b61c74..4fc6110 100644 --- a/mallchat-common/src/main/resources/application.yml +++ b/mallchat-common/src/main/resources/application.yml @@ -12,7 +12,7 @@ mybatis-plus: spring: profiles: #运行的环境 - active: test + active: my-prod application: name: mallchat datasource: diff --git a/mallchat-custom-server/src/main/java/com/abin/mallchat/custom/common/event/listener/UserRegisterListener.java b/mallchat-custom-server/src/main/java/com/abin/mallchat/custom/common/event/listener/UserRegisterListener.java index 450611a..ddc1ac6 100644 --- a/mallchat-custom-server/src/main/java/com/abin/mallchat/custom/common/event/listener/UserRegisterListener.java +++ b/mallchat-custom-server/src/main/java/com/abin/mallchat/custom/common/event/listener/UserRegisterListener.java @@ -38,7 +38,7 @@ public class UserRegisterListener { @EventListener(classes = UserRegisterEvent.class) public void sendBadge(UserRegisterEvent event) { User user = event.getUser(); - int count = userDao.count(); + int count = userDao.count();//todo 性能瓶颈,等注册用户多了直接删掉 if (count <= 10) { iUserBackpackService.acquireItem(user.getId(), ItemEnum.REG_TOP10_BADGE.getId(), IdempotentEnum.UID, user.getId().toString()); } else if (count <= 100) { diff --git a/pom.xml b/pom.xml index 5e36959..eab49bf 100644 --- a/pom.xml +++ b/pom.xml @@ -30,7 +30,6 @@ 5.8.18 3.0.0 1.6.0 - 1.6.0 3.4.1 3.5.10 8.0.29 @@ -80,11 +79,6 @@ hutool-all ${hutool.version} - - io.swagger - swagger-annotations - ${swagger-annotations.version} - org.mybatis