1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package com.kmall.api.service;
- 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 = new HashMap();
- map.put("token", token);
- map.put("expire", EXPIRE);
- return map;
- }
- }
|