1
0

TokenService.java 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package com.kmall.api.service;
  2. import com.kmall.api.cache.UserTokenCache;
  3. import com.kmall.api.entity.TokenEntity;
  4. import com.kmall.common.utils.CharUtil;
  5. import org.springframework.stereotype.Service;
  6. import java.util.Date;
  7. import java.util.HashMap;
  8. import java.util.Map;
  9. @Service
  10. public class TokenService {
  11. //12小时后过期
  12. private final static int EXPIRE = 3600 * 12;
  13. public Map<String, Object> createAndUpdateToken(String openId, Long storeId, Long userId) {
  14. //生成一个token
  15. String token = CharUtil.getRandomString(32);
  16. //当前时间
  17. Date now = new Date();
  18. //过期时间
  19. Date expireTime = new Date(now.getTime() + EXPIRE * 1000);
  20. //判断是否生成过token
  21. // TokenEntity tokenEntity = queryByUserId(userId);
  22. TokenEntity tokenEntity = UserTokenCache.getUserTokenByUserId(userId);
  23. if (tokenEntity == null) {
  24. tokenEntity = new TokenEntity();
  25. tokenEntity.setUserId(userId);
  26. tokenEntity.setOpenId(openId);
  27. tokenEntity.setToken(token);
  28. tokenEntity.setUpdateTime(now);
  29. tokenEntity.setExpireTime(expireTime);
  30. tokenEntity.setStoreId(storeId);
  31. //保存token
  32. // save(tokenEntity);
  33. UserTokenCache.putUserToken(tokenEntity);
  34. } else {
  35. token = tokenEntity.getToken();
  36. // tokenEntity.setToken(token);
  37. tokenEntity.setUpdateTime(now);
  38. tokenEntity.setExpireTime(expireTime);
  39. if (null != storeId) {
  40. tokenEntity.setStoreId(storeId);
  41. }
  42. //更新token
  43. // update(tokenEntity);
  44. UserTokenCache.putUserToken(tokenEntity);
  45. }
  46. Map<String, Object> map = new HashMap();
  47. map.put("token", token);
  48. map.put("expire", EXPIRE);
  49. return map;
  50. }
  51. }