|
|
@ -7,6 +7,7 @@ import com.chanjet.openapi.sdk.java.response.RefreshTokenResponse;
|
|
|
|
import com.chanko.yunxi.mes.module.biz.config.ChanjetOpenApiConfig;
|
|
|
|
import com.chanko.yunxi.mes.module.biz.config.ChanjetOpenApiConfig;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
|
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
|
|
|
|
|
@ -27,23 +28,34 @@ public class ChanjetTokenHolder {
|
|
|
|
public static String REFRESH_TOKEN = null;
|
|
|
|
public static String REFRESH_TOKEN = null;
|
|
|
|
public static String APP_KEY = null;
|
|
|
|
public static String APP_KEY = null;
|
|
|
|
public static String APP_SECRET = null;
|
|
|
|
public static String APP_SECRET = null;
|
|
|
|
|
|
|
|
public static final String MAJOYS_CHANJET_TOKEN_KEY = "MAJOYS_CHANJET_TOKEN_KEY";
|
|
|
|
|
|
|
|
public static final String MAJOYS_CHANJET_REFRESH_TOKEN_KEY = "MAJOYS_CHANJET_REFRESH_TOKEN_KEY";
|
|
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
private ChanjetSpi chanjetSpi;
|
|
|
|
private ChanjetSpi chanjetSpi;
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
private ChanjetOpenApiConfig chanjetOpenApiConfig;
|
|
|
|
private ChanjetOpenApiConfig chanjetOpenApiConfig;
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
|
|
|
private RedisTemplate<String,String> redisTemplate;
|
|
|
|
|
|
|
|
|
|
|
|
@PostConstruct
|
|
|
|
@PostConstruct
|
|
|
|
public void init(){
|
|
|
|
public void init(){
|
|
|
|
APP_KEY = chanjetOpenApiConfig.getAppKey();
|
|
|
|
APP_KEY = chanjetOpenApiConfig.getAppKey();
|
|
|
|
APP_SECRET = chanjetOpenApiConfig.getAppSecret();
|
|
|
|
APP_SECRET = chanjetOpenApiConfig.getAppSecret();
|
|
|
|
|
|
|
|
if(redisTemplate.hasKey(MAJOYS_CHANJET_TOKEN_KEY)){
|
|
|
|
|
|
|
|
TOKEN = redisTemplate.opsForValue().get(MAJOYS_CHANJET_TOKEN_KEY);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if(redisTemplate.hasKey(MAJOYS_CHANJET_REFRESH_TOKEN_KEY)){
|
|
|
|
|
|
|
|
REFRESH_TOKEN = redisTemplate.opsForValue().get(MAJOYS_CHANJET_REFRESH_TOKEN_KEY);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public static void setToken(GetTokenResponse response) {
|
|
|
|
public void installToken(GetTokenResponse response) {
|
|
|
|
log.debug("ChanjetTokenHolder.setToken: {}", JSON.toJSONString(response));
|
|
|
|
log.debug("ChanjetTokenHolder.setToken: {}", JSON.toJSONString(response));
|
|
|
|
if("200".equals(response.getCode())){
|
|
|
|
if("200".equals(response.getCode())){
|
|
|
|
TOKEN = response.getResult().getAccessToken();
|
|
|
|
setToken(response.getResult().getAccessToken());
|
|
|
|
REFRESH_TOKEN = response.getResult().getRefreshToken();
|
|
|
|
setRefreshToken(response.getResult().getRefreshToken());
|
|
|
|
}else{
|
|
|
|
}else{
|
|
|
|
log.error("ChanjetTokenHolder.setToken error: {}", JSON.toJSONString(response));
|
|
|
|
log.error("ChanjetTokenHolder.setToken error: {}", JSON.toJSONString(response));
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -58,18 +70,28 @@ public class ChanjetTokenHolder {
|
|
|
|
public void refreshToken() throws ChanjetApiException {
|
|
|
|
public void refreshToken() throws ChanjetApiException {
|
|
|
|
if(!StringUtils.isEmpty(REFRESH_TOKEN)){
|
|
|
|
if(!StringUtils.isEmpty(REFRESH_TOKEN)){
|
|
|
|
RefreshTokenResponse refreshTokenResponse = chanjetSpi.refreshToken(REFRESH_TOKEN);
|
|
|
|
RefreshTokenResponse refreshTokenResponse = chanjetSpi.refreshToken(REFRESH_TOKEN);
|
|
|
|
setToken(refreshTokenResponse);
|
|
|
|
installToken(refreshTokenResponse);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void setToken(RefreshTokenResponse response) {
|
|
|
|
private void installToken(RefreshTokenResponse response) {
|
|
|
|
log.debug("ChanjetTokenHolder.refreshToken: {}", JSON.toJSONString(response));
|
|
|
|
log.debug("ChanjetTokenHolder.refreshToken: {}", JSON.toJSONString(response));
|
|
|
|
if("200".equals(response.getCode())){
|
|
|
|
if("200".equals(response.getCode())){
|
|
|
|
TOKEN = response.getResult().getAccessToken();
|
|
|
|
setToken(response.getResult().getAccessToken());
|
|
|
|
REFRESH_TOKEN = response.getResult().getRefreshToken();
|
|
|
|
setRefreshToken(response.getResult().getRefreshToken());
|
|
|
|
}else{
|
|
|
|
}else{
|
|
|
|
log.error("ChanjetTokenHolder.refreshToken error: {}", JSON.toJSONString(response));
|
|
|
|
log.error("ChanjetTokenHolder.refreshToken error: {}", JSON.toJSONString(response));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void setToken(String token){
|
|
|
|
|
|
|
|
TOKEN = token;
|
|
|
|
|
|
|
|
redisTemplate.opsForValue().set(MAJOYS_CHANJET_TOKEN_KEY, token);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void setRefreshToken(String refreshToken) {
|
|
|
|
|
|
|
|
REFRESH_TOKEN = refreshToken;
|
|
|
|
|
|
|
|
redisTemplate.opsForValue().set(MAJOYS_CHANJET_REFRESH_TOKEN_KEY, refreshToken);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|