IdempotenceUtils.java 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package com.ozs.common.utils;
  2. import com.ozs.common.core.redis.RedisCache;
  3. import com.ozs.common.utils.uuid.IdUtils;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Component;
  6. import java.util.concurrent.TimeUnit;
  7. /**
  8. * 幂等性处理工具类
  9. *
  10. * @author Administrator
  11. */
  12. @Component
  13. public class IdempotenceUtils {
  14. @Autowired
  15. private RedisCache redisCache;
  16. /**
  17. * 获取幂等性信息
  18. *
  19. * @return 幂等性Redis存储的key
  20. */
  21. public String getIdempotence(String code) {
  22. // 获取请求携带的令牌
  23. if (StringUtils.isNotEmpty(code)) {
  24. try {
  25. // 解析对应的权限
  26. return redisCache.getCacheObject(code);
  27. } catch (Exception e) {
  28. }
  29. }
  30. return null;
  31. }
  32. /**
  33. * 幂等性存储信息
  34. *
  35. * @return
  36. */
  37. public void createIdempotence(String code) {
  38. redisCache.setCacheObject(code, IdUtils.fastUUID(), 2, TimeUnit.MINUTES);
  39. }
  40. /**
  41. * 删除幂等性信息
  42. * @param code
  43. * @return
  44. */
  45. public boolean deleteIdempotence(String code) {
  46. return redisCache.deleteObject(code);
  47. }
  48. }