package com.fdkankan.cloud.acl.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.aliyun.oss.ClientBuilderConfiguration; import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClient; import com.aliyun.oss.OSSClientBuilder; import com.aliyun.oss.common.auth.CredentialsProviderFactory; import com.aliyun.oss.common.utils.BinaryUtil; import com.aliyun.oss.model.MatchMode; import com.aliyun.oss.model.PolicyConditions; import com.aliyun.sts20150401.Client; import com.aliyun.sts20150401.models.AssumeRoleRequest; import com.aliyun.sts20150401.models.AssumeRoleResponse; import com.aliyun.sts20150401.models.AssumeRoleResponseBody; import com.aliyun.teautil.models.RuntimeOptions; import com.aliyuncs.auth.EnvironmentVariableCredentialsProvider; import com.fdkankan.cloud.acl.bean.StsBean; import com.fdkankan.cloud.acl.constant.RedisKey; import com.fdkankan.cloud.acl.entity.AppConfig; import com.fdkankan.cloud.acl.factory.sts.StsFactory; import com.fdkankan.cloud.acl.factory.sts.StsHandler; import com.fdkankan.cloud.acl.service.IAppConfigService; import com.fdkankan.cloud.acl.service.IStsService; import com.fdkankan.common.constant.ErrorCode; import com.fdkankan.common.constant.ServerCode; import com.fdkankan.common.exception.BusinessException; import com.fdkankan.common.util.DateExtUtil; import com.fdkankan.redis.util.RedisUtil; import com.mybatisflex.core.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.aliyun.tea.*; import java.io.File; import java.time.Instant; import java.time.ZoneId; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.ThreadPoolExecutor; @Slf4j @Service public class StsServiceImpl implements IStsService { @Autowired private IAppConfigService appConfigService; @Autowired private RedisUtil redisUtil; @Autowired private StsHandler stsHandler; @Override public StsBean genAssumeRole(String appCode) { AppConfig appConfig = appConfigService.getByAppCode(appCode); return stsHandler.init(appConfig); } @Override public StsBean getAssumeRole(String appCode) { //调用阿里云接口生成 StsBean stsBean = this.genAssumeRole(appCode); return stsBean; } }