TokenService.java 2.2 KB

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