From 1618807b80fbb851438faeb8ffdad9cabc993d38 Mon Sep 17 00:00:00 2001 From: landaiqing <3517283258@qq.com> Date: Mon, 27 May 2024 21:16:21 +0800 Subject: [PATCH] feat: OAuth update --- .../controller/SchisandraOauthController.java | 25 ++--- .../auth/common/enums/OauthType.java | 16 ++-- .../SchisandraAuthUserDomainService.java | 3 +- .../SchisandraAuthUserDomainServiceImpl.java | 96 ++++++++++--------- .../src/main/resources/application.yml | 2 +- .../SchisandraOssMinioController.java | 20 ++-- .../oss/core/minio/MinioOssConfiguration.java | 57 +++++------ 7 files changed, 109 insertions(+), 110 deletions(-) diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/controller/SchisandraOauthController.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/controller/SchisandraOauthController.java index 2e127af..d43c8b1 100644 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/controller/SchisandraOauthController.java +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-application/schisandra-cloud-storage-auth-application-controller/src/main/java/com/schisandra/auth/application/controller/SchisandraOauthController.java @@ -10,6 +10,7 @@ import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import me.zhyd.oauth.model.AuthCallback; import me.zhyd.oauth.model.AuthResponse; +import me.zhyd.oauth.model.AuthToken; import me.zhyd.oauth.model.AuthUser; import me.zhyd.oauth.request.AuthRequest; import me.zhyd.oauth.utils.AuthStateUtils; @@ -47,8 +48,6 @@ public class SchisandraOauthController { @Value("${web.url}") private String url; - private static final String OAUTH_KEY_PREFIX = "oauth.user"; - /** * @description: 获取授权链接并跳转到第三方授权页面 @@ -84,23 +83,13 @@ public class SchisandraOauthController { AuthRequest authRequest = getAuthRequest(type); AuthResponse authResponse = authRequest.login(callback); AuthUser data = authResponse.getData(); - schisandraAuthUserDomainService.insertAuthUserByOauth(data, type); - response.sendRedirect(url + "loading"); - } - - @GetMapping("userInfo") - public Result getUserInfo() { - String tokenValue = StpUtil.getTokenValue(); - String key = redisUtil.buildKey(OAUTH_KEY_PREFIX, tokenValue); - if (redisUtil.exist(key)) { - String userId = redisUtil.get(key); - HashMap map = new HashMap<>(); - map.put("userId", userId); - map.put("token", tokenValue); - return Result.ok(map); + AuthToken token = data.getToken(); + Result result = schisandraAuthUserDomainService.insertAuthUserByOauth(data, type); + if (result.getSuccess()){ + response.sendRedirect(url + "loading?token=" + token.getAccessToken() + "&userId=" + StpUtil.getLoginIdAsString()); + }else{ + log.error("登录失败"); } - return Result.fail("用户信息过期或回去失败!"); - } diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-common/src/main/java/com/schisandra/auth/common/enums/OauthType.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-common/src/main/java/com/schisandra/auth/common/enums/OauthType.java index d6fe5c0..2b28659 100644 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-common/src/main/java/com/schisandra/auth/common/enums/OauthType.java +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-common/src/main/java/com/schisandra/auth/common/enums/OauthType.java @@ -17,35 +17,35 @@ public enum OauthType { /** * 微信登录 */ - WECHAT("WECHAT"), + WECHAT("wechat"), /** * QQ登录 */ - QQ("QQ"), + QQ("qq"), /** * 微博登录 */ - WEIBO("WEIBO"), + WEIBO("weibo"), /** * 支付宝登录 */ - ALIPAY("ALIPAY"), + ALIPAY("alipay"), /** * 钉钉登录 */ - DINGTALK("DINGTALK"), + DINGTALK("dingtalk"), /** * 企业微信登录 */ - WORK_WEIXIN("WORK_WEIXIN"), + WORK_WEIXIN("work_weixin"), /** * Github */ - GitHUB("GITHUB"), + GitHUB("github"), /** * Gitee */ - Gitee("GITEE"); + Gitee("gitee"); public String type; diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/SchisandraAuthUserDomainService.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/SchisandraAuthUserDomainService.java index 785f1d8..c66c89e 100644 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/SchisandraAuthUserDomainService.java +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/SchisandraAuthUserDomainService.java @@ -1,6 +1,7 @@ package com.schisandra.auth.domain.service; +import com.schisandra.auth.common.entity.Result; import com.schisandra.auth.domain.bo.SchisandraAuthUserBO; import me.zhyd.oauth.model.AuthUser; @@ -46,7 +47,7 @@ public interface SchisandraAuthUserDomainService { * @author: landaiqing * @date: 2024/5/26 17:27 */ - void insertAuthUserByOauth(AuthUser data, String type); + Result insertAuthUserByOauth(AuthUser data, String type); /** * @description: 通过id查询用户信息 diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/impl/SchisandraAuthUserDomainServiceImpl.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/impl/SchisandraAuthUserDomainServiceImpl.java index 84924a6..6b5f325 100644 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/impl/SchisandraAuthUserDomainServiceImpl.java +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-domain/src/main/java/com/schisandra/auth/domain/service/impl/SchisandraAuthUserDomainServiceImpl.java @@ -5,6 +5,7 @@ import cn.dev33.satoken.stp.SaLoginConfig; import cn.dev33.satoken.stp.SaTokenInfo; import cn.dev33.satoken.stp.StpUtil; import com.alibaba.fastjson.JSONObject; +import com.schisandra.auth.common.entity.Result; import com.schisandra.auth.common.enums.IsDeletedFlagEnum; import com.schisandra.auth.common.enums.UserRoleEnum; import com.schisandra.auth.common.enums.UserStatusEnum; @@ -163,12 +164,49 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo */ @Override @Transactional - public void insertAuthUserByOauth(AuthUser data, String type) { + public Result insertAuthUserByOauth(AuthUser data, String type) { String uuid = data.getUuid(); AuthToken token = data.getToken(); SchisandraAuthSocialUser authSocialUser = schisandraAuthSocialUserService.selectByUuidAndType(uuid, type); - Long socialUserId = authSocialUser.getId(); - if (ObjectUtils.isEmpty(authSocialUser)) { + if (ObjectUtils.isNotEmpty(authSocialUser)) { + // 更新社会用户信息表 + SchisandraAuthSocialUserBO schisandraAuthSocialUserBO = new SchisandraAuthSocialUserBO(); + schisandraAuthSocialUserBO.setAccessToken(token.getAccessToken()); + schisandraAuthSocialUserBO.setSource(data.getSource()); + schisandraAuthSocialUserBO.setUid(token.getUid()); + schisandraAuthSocialUserBO.setOpenId(token.getOpenId()); + schisandraAuthSocialUserBO.setCode(token.getCode()); + schisandraAuthSocialUserBO.setAccessCode(token.getAccessCode()); + schisandraAuthSocialUserBO.setExpireIn(token.getExpireIn()); + schisandraAuthSocialUserBO.setIdToken(token.getIdToken()); + schisandraAuthSocialUserBO.setMacAlgorithm(token.getMacAlgorithm()); + schisandraAuthSocialUserBO.setMacKey(token.getMacKey()); + schisandraAuthSocialUserBO.setOauthToken(token.getOauthToken()); + schisandraAuthSocialUserBO.setOauthTokenSecret(token.getOauthTokenSecret()); + schisandraAuthSocialUserBO.setRefreshToken(token.getRefreshToken()); + schisandraAuthSocialUserBO.setId(authSocialUser.getId()); + SchisandraAuthSocialUser schisandraAuthSocialUser = SchisandraAuthSocialUserBOConverter.INSTANCE.convertBOToEntity(schisandraAuthSocialUserBO); + int update = schisandraAuthSocialUserService.updateByOauth(schisandraAuthSocialUser); + if (update <= 0) { + if (log.isInfoEnabled()) { + log.error("schisandraAuthSocialUserService.update fail, param:{}", JSONObject.toJSONString(schisandraAuthSocialUser)); + } + return Result.fail("Social User update fail"); + } + SchisandraAuthSocialUserMapper schisandraAuthSocialUserMapper = new SchisandraAuthSocialUserMapper(); + schisandraAuthSocialUserMapper.setSocialUserId(authSocialUser.getId()); + SchisandraAuthSocialUserMapper result = schisandraAuthSocialUserMapperService.queryByCondition(schisandraAuthSocialUserMapper); + if (ObjectUtils.isEmpty(result)) { + if (log.isInfoEnabled()) { + log.error("schisandraAuthSocialUserMapperService.queryByCondition fail, param:{}", JSONObject.toJSONString(schisandraAuthSocialUserMapper)); + } + return Result.fail("Social Mapper is empty"); + } + Long userId = result.getUserId(); + StpUtil.login(userId, SaLoginConfig.setToken(token.getAccessToken())); + return Result.ok(); + } else { + // 插入用户信息表 SchisandraAuthUserBO schisandraAuthUserBO = new SchisandraAuthUserBO(); schisandraAuthUserBO.setAvatar(data.getAvatar()); schisandraAuthUserBO.setBlog(data.getBlog()); @@ -187,8 +225,9 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo if (log.isInfoEnabled()) { log.error("insertAuthUserByOauth fail, param:{}", JSONObject.toJSONString(schisandraAuthUser)); } - return; + return Result.fail("insertAuthUserByOauth.insertAuthUserByOauth fail"); } + // 插入社会用户信息表 SchisandraAuthSocialUserBO schisandraAuthSocialUserBO = new SchisandraAuthSocialUserBO(); schisandraAuthSocialUserBO.setUuid(data.getUuid()); schisandraAuthSocialUserBO.setAccessToken(token.getAccessToken()); @@ -215,11 +254,12 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo if (log.isInfoEnabled()) { log.error("insertAuthSocialUserByOauth fail, param:{}", JSONObject.toJSONString(schisandraAuthSocialUserBO)); } - return; + return Result.fail("schisandraAuthSocialUserService insert fail"); } - Long authUserId = schisandraAuthUser.getId(); - Long authSocialUserId = schisandraAuthSocialUserBO.getId(); + // 建立用户与社会信息映射关系 + Long authUserId = schisandraAuthUser.getId(); + Long authSocialUserId = schisandraAuthSocialUser.getId(); SchisandraAuthSocialUserMapperBO schisandraAuthSocialUserMapperBO = new SchisandraAuthSocialUserMapperBO(); schisandraAuthSocialUserMapperBO.setUserId(authUserId); schisandraAuthSocialUserMapperBO.setSocialUserId(authSocialUserId); @@ -230,8 +270,9 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo if (log.isInfoEnabled()) { log.error("insertAuthSocialUserMapperByOauth fail, param:{}", JSONObject.toJSONString(schisandraAuthSocialUserMapperBO)); } - return; + return Result.fail("insertAuthSocialUserMapperByOauth fail"); } + // 建立用户与角色映射关系 SchisandraAuthUserRoleBO schisandraAuthUserRoleBO = new SchisandraAuthUserRoleBO(); schisandraAuthUserRoleBO.setUserId(authUserId); schisandraAuthUserRoleBO.setRoleId((long) UserRoleEnum.normal_user.getCode()); @@ -242,43 +283,12 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo if (log.isInfoEnabled()) { log.error("insertUserRole fail, param:{}", JSONObject.toJSONString(schisandraAuthUserRole)); } - return; + return Result.fail("insertUserRole fail"); } - StpUtil.login(data.getUuid(), SaLoginConfig.setToken(token.getAccessToken())); - String key = redisUtil.buildKey(OAUTH_KEY_PREFIX, token.getAccessToken()+"."+token.getUid()); - redisUtil.setNx(key, String.valueOf(authUserId), 60L * 5, SECONDS); + StpUtil.login(authUserId, SaLoginConfig.setToken(token.getAccessToken())); + return Result.ok(); } - SchisandraAuthSocialUserBO schisandraAuthSocialUserBO = new SchisandraAuthSocialUserBO(); - schisandraAuthSocialUserBO.setAccessToken(token.getAccessToken()); - schisandraAuthSocialUserBO.setSource(data.getSource()); - schisandraAuthSocialUserBO.setUid(token.getUid()); - schisandraAuthSocialUserBO.setOpenId(token.getOpenId()); - schisandraAuthSocialUserBO.setCode(token.getCode()); - schisandraAuthSocialUserBO.setAccessCode(token.getAccessCode()); - schisandraAuthSocialUserBO.setExpireIn(token.getExpireIn()); - schisandraAuthSocialUserBO.setIdToken(token.getIdToken()); - schisandraAuthSocialUserBO.setMacAlgorithm(token.getMacAlgorithm()); - schisandraAuthSocialUserBO.setMacKey(token.getMacKey()); - schisandraAuthSocialUserBO.setOauthToken(token.getOauthToken()); - schisandraAuthSocialUserBO.setOauthTokenSecret(token.getOauthTokenSecret()); - schisandraAuthSocialUserBO.setRefreshToken(token.getRefreshToken()); - schisandraAuthSocialUserBO.setId(socialUserId); - SchisandraAuthSocialUser schisandraAuthSocialUser = SchisandraAuthSocialUserBOConverter.INSTANCE.convertBOToEntity(schisandraAuthSocialUserBO); - int update = schisandraAuthSocialUserService.updateByOauth(schisandraAuthSocialUser); - if (update <= 0) { - if (log.isInfoEnabled()) { - log.error("schisandraAuthSocialUserService.update fail, param:{}", JSONObject.toJSONString(schisandraAuthSocialUser)); - } - return; - } - Long socialId = schisandraAuthSocialUser.getId(); - SchisandraAuthSocialUserMapper schisandraAuthSocialUserMapper = new SchisandraAuthSocialUserMapper(); - schisandraAuthSocialUserMapper.setSocialUserId(socialId); - SchisandraAuthSocialUserMapper result = schisandraAuthSocialUserMapperService.queryByCondition(schisandraAuthSocialUserMapper); - Long userId = result.getUserId(); - StpUtil.login(data.getUuid(), SaLoginConfig.setToken(token.getAccessToken())); - String key = redisUtil.buildKey(OAUTH_KEY_PREFIX, token.getAccessToken()+"."+token.getUid()); - redisUtil.setNx(key, String.valueOf(userId), 60L * 5, SECONDS); + } } diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-starter/src/main/resources/application.yml b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-starter/src/main/resources/application.yml index 5115dfe..48a5ea5 100644 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-starter/src/main/resources/application.yml +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-starter/src/main/resources/application.yml @@ -61,7 +61,7 @@ sa-token: # token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结 active-timeout: -1 # 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录) - is-concurrent: true + is-concurrent: false # 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token) is-share: true # token 风格(默认可取值:uuid、simple-uuid、random-32、random-64、random-128、tik) diff --git a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java index 9a51e27..9ed772d 100644 --- a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java +++ b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/controller/SchisandraOssMinioController.java @@ -40,7 +40,6 @@ public class SchisandraOssMinioController { @Resource RedisUtil redisUtil; - private final String MINIO_OSS_CLIENT_CONFIG_KEY = "oss.minio.init"; /** * @description: minio 初始化 @@ -51,29 +50,25 @@ public class SchisandraOssMinioController { */ @PostMapping("init") public void initMinio(@RequestParam String userId) { - if (log.isInfoEnabled()) { log.info("SchisandraOssMinioController.init.userId:{}", userId); } Preconditions.checkNotNull(userId, "用户id不能为空!"); - try { - String key = redisUtil.buildKey(MINIO_OSS_CLIENT_CONFIG_KEY, userId); - boolean exists = redisUtil.exist(key); - if (exists) { - log.info("用户: " + userId + "-> minio 已经初始化!"); - return; - } - minioOssConfiguration.minioOssClient(userId); + + Result result = minioOssConfiguration.minioOssClient(userId); + if (result.getSuccess()) { log.info("用户: " + userId + "-> minio 初始化完成!"); - } catch (Exception e) { - log.error("用户: " + userId + "-> minio 初始化失败!", e.getMessage(), e); + } else { + log.error("用户: " + userId + "-> minio 初始化完成!"); } } + @NeedDecrypt @PostMapping("get") public SchisandraOssMinioDTO getMinioOss(@RequestParam String userId) { return SchisandraOssMinioDTOConverter.INSTANCE.convertBOToDTO(schisandraOssMinioDomainService.getMinioConfig(Long.valueOf(userId))); } + /** * 新增 */ @@ -146,6 +141,7 @@ public class SchisandraOssMinioController { } return Result.ok(bean.getBaseInfo(fileName)); } + @GetMapping("getAllMinioInfo") public Result> getAllMinioInfo() { List allMinioInfo = schisandraOssMinioDomainService.getAllMinioInfo(); diff --git a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/MinioOssConfiguration.java b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/MinioOssConfiguration.java index f8493f8..19cd636 100644 --- a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/MinioOssConfiguration.java +++ b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-application/schisandra-cloud-storage-oss-application-controller/src/main/java/com/schisandra/oss/application/oss/core/minio/MinioOssConfiguration.java @@ -7,6 +7,7 @@ import com.schisandra.oss.application.dto.SchisandraOssMinioDTO; import com.schisandra.oss.application.oss.core.StandardOssClient; import com.schisandra.oss.application.oss.core.minio.model.MinioOssClientConfig; import com.schisandra.oss.application.oss.core.minio.model.MinioOssConfig; +import com.schisandra.oss.common.entity.Result; import com.schisandra.oss.common.redis.RedisUtil; import com.schisandra.oss.domain.bo.SchisandraOssMinioBO; import com.schisandra.oss.domain.service.SchisandraOssMinioDomainService; @@ -37,36 +38,38 @@ public class MinioOssConfiguration { @Resource private SchisandraOssMinioDomainService schisandraOssMinioDomainService; - public StandardOssClient minioOssClient(String userId) { - SchisandraOssMinioDTO minio = minioOssConfiguration.getSchisandraOssMinioDTO(userId); - if (minio == null) return null; - MinioOssConfig minioOssConfig = new MinioOssConfig(); - minioOssConfig.setBasePath(minio.getBasePath()); - minioOssConfig.setBucketName(minio.getBucketName()); - minioOssConfig.setAccessKey(minio.getAccessKey()); - minioOssConfig.setSecretKey(minio.getSecretKey()); - minioOssConfig.setEndpoint(minio.getEndpoint()); - minioOssConfig.init(); - if (Boolean.parseBoolean(minio.getOpenAdvancedSetup())) { - MinioOssClientConfig minioOssClientConfig = new MinioOssClientConfig(); - minioOssClientConfig.setWriteTimeout(minio.getWriteTimeout()); - minioOssClientConfig.setConnectTimeout(minio.getConnectTimeout()); - minioOssClientConfig.setReadTimeout(minio.getReadTimeout()); - minioOssClientConfig.setFollowSslRedirects(Boolean.parseBoolean(minio.getFollowSslRedirects())); - minioOssClientConfig.setRetryOnConnectionFailure(Boolean.parseBoolean(minio.getRetryOnConnectionFailure())); - minioOssClientConfig.setPingInterval(minio.getPingInterval()); - minioOssClientConfig.setFollowRedirects(Boolean.parseBoolean(minio.getFollowRedirects())); - minioOssClientConfig.setCallTimeout(minio.getCallTimeout()); - minioOssConfig.setClientConfig(minioOssClientConfig); + public Result minioOssClient(String userId) { + try { + SchisandraOssMinioDTO minio = minioOssConfiguration.getSchisandraOssMinioDTO(userId); + if (minio == null) return null; + MinioOssConfig minioOssConfig = new MinioOssConfig(); + minioOssConfig.setBasePath(minio.getBasePath()); + minioOssConfig.setBucketName(minio.getBucketName()); + minioOssConfig.setAccessKey(minio.getAccessKey()); + minioOssConfig.setSecretKey(minio.getSecretKey()); + minioOssConfig.setEndpoint(minio.getEndpoint()); + minioOssConfig.init(); + if (Boolean.parseBoolean(minio.getOpenAdvancedSetup())) { + MinioOssClientConfig minioOssClientConfig = new MinioOssClientConfig(); + minioOssClientConfig.setWriteTimeout(minio.getWriteTimeout()); + minioOssClientConfig.setConnectTimeout(minio.getConnectTimeout()); + minioOssClientConfig.setReadTimeout(minio.getReadTimeout()); + minioOssClientConfig.setFollowSslRedirects(Boolean.parseBoolean(minio.getFollowSslRedirects())); + minioOssClientConfig.setRetryOnConnectionFailure(Boolean.parseBoolean(minio.getRetryOnConnectionFailure())); + minioOssClientConfig.setPingInterval(minio.getPingInterval()); + minioOssClientConfig.setFollowRedirects(Boolean.parseBoolean(minio.getFollowRedirects())); + minioOssClientConfig.setCallTimeout(minio.getCallTimeout()); + minioOssConfig.setClientConfig(minioOssClientConfig); + } + SpringUtil.registerBean(userId, minioOssClient(minioOssConfig)); + return Result.ok(); + } catch (Exception e) { + log.error("MinioOssConfiguration.minioOssClient:{}", e.getMessage(), e); + return Result.fail(); } - SpringUtil.registerBean(userId,minioOssClient(minioOssConfig)); - return minioOssClient(minioOssConfig); - - } - @NeedDecrypt public SchisandraOssMinioDTO getSchisandraOssMinioDTO(String userId) { CompletableFuture futurePrice = CompletableFuture.supplyAsync(() -> { @@ -83,7 +86,7 @@ public class MinioOssConfiguration { } public StandardOssClient minioOssClient(MinioOssConfig minioOssConfig) { - return new MinioOssClient(minioClient(minioOssConfig),minioOssConfig); + return new MinioOssClient(minioClient(minioOssConfig), minioOssConfig); } public MinioClient minioClient(MinioOssConfig minioOssConfig) {