123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package com.kmall.api.service;
- import com.google.common.collect.Maps;
- import com.kmall.api.cache.UserTokenCache;
- import com.kmall.api.entity.TokenEntity;
- import com.kmall.common.utils.CharUtil;
- import org.apache.commons.lang.StringUtils;
- import org.springframework.stereotype.Service;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.Map;
- @Service
- public class TokenService {
- //12小时后过期
- private final static int EXPIRE = 3600 * 12;
- public Map<String, Object> createAndUpdateToken(String openId, Long storeId, Long userId,String merchSn) {
- //生成一个token
- String token = CharUtil.getRandomString(32);
- //当前时间
- Date now = new Date();
- //过期时间
- Date expireTime = new Date(now.getTime() + EXPIRE * 1000);
- //判断是否生成过token
- // TokenEntity tokenEntity = queryByUserId(userId);
- TokenEntity tokenEntity = UserTokenCache.getUserTokenByUserId(userId);
- if (tokenEntity == null) {
- tokenEntity = new TokenEntity();
- tokenEntity.setUserId(userId);
- tokenEntity.setOpenId(openId);
- tokenEntity.setToken(token);
- tokenEntity.setUpdateTime(now);
- tokenEntity.setExpireTime(expireTime);
- tokenEntity.setStoreId(storeId);
- if(StringUtils.isNotEmpty(merchSn)) {
- tokenEntity.setMerchSn(merchSn);
- }
- //保存token
- // save(tokenEntity);
- UserTokenCache.putUserToken(tokenEntity);
- } else {
- token = tokenEntity.getToken();
- // tokenEntity.setToken(token);
- tokenEntity.setUpdateTime(now);
- tokenEntity.setExpireTime(expireTime);
- if (null != storeId) {
- tokenEntity.setStoreId(storeId);
- }
- if(StringUtils.isNotEmpty(merchSn)) {
- tokenEntity.setMerchSn(merchSn);
- }
- //更新token
- // update(tokenEntity);
- UserTokenCache.putUserToken(tokenEntity);
- }
- Map<String, Object> map = Maps.newHashMap();
- map.put("token", token);
- map.put("expire", EXPIRE);
- return map;
- }
- }
|