TokenService.java 2.1 KB

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