fix: 修复oss bean加载问题

This commit is contained in:
zlg
2024-05-15 13:04:54 +08:00
parent 2b45768b19
commit a522e11872
10 changed files with 121 additions and 76 deletions

View File

@@ -4,10 +4,12 @@ import com.alibaba.fastjson.JSON;
import com.schisandra.auth.application.convert.SchisandraAuthUserDTOConverter; import com.schisandra.auth.application.convert.SchisandraAuthUserDTOConverter;
import com.schisandra.auth.application.dto.SchisandraAuthUserDTO; import com.schisandra.auth.application.dto.SchisandraAuthUserDTO;
import com.schisandra.auth.common.entity.Result; import com.schisandra.auth.common.entity.Result;
import com.schisandra.auth.common.redis.RedisUtil;
import com.schisandra.auth.domain.bo.SchisandraAuthUserBO; import com.schisandra.auth.domain.bo.SchisandraAuthUserBO;
import com.schisandra.auth.domain.service.SchisandraAuthUserDomainService; import com.schisandra.auth.domain.service.SchisandraAuthUserDomainService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
/** /**
@@ -25,13 +27,41 @@ import javax.annotation.Resource;
public class SchisandraAuthUserController { public class SchisandraAuthUserController {
@Resource @Resource
private SchisandraAuthUserDomainService schisandraAuthUserDomainService; private SchisandraAuthUserDomainService schisandraAuthUserDomainService;
@Resource
private RedisUtil redisUtil;
/** /**
* @description 更新用户信息
* @param schisandraAuthUserDTO * @param schisandraAuthUserDTO
* @return com.schisandra.auth.common.entity.Result<java.lang.Boolean> * @return com.schisandra.auth.common.entity.Result<java.lang.Boolean>
* @description 更新用户信息
* @author schisandra * @author schisandra
* @date 2024/3/21 23:06 * @date 2024/3/21 23:06
*/ */
@PostMapping("register")
public Result register(@RequestBody SchisandraAuthUserDTO schisandraAuthUserDTO) {
if (log.isInfoEnabled()) {
log.info("UserController.register.dto:{}", JSON.toJSONString(schisandraAuthUserDTO));
}
if (redisUtil.exist("auth.phone."+schisandraAuthUserDTO.getPhone())){
if (redisUtil.get("auth.phone."+schisandraAuthUserDTO.getPhone())!=schisandraAuthUserDTO.getAvatar()){
return Result.fail("验证码错误,请重新验证");
}
}else {
return Result.fail("验证码错误,请重新验证");
}
try {
checkUserInfo(schisandraAuthUserDTO);
SchisandraAuthUserBO authUserBO = SchisandraAuthUserDTOConverter.INSTANCE.convertDTOToBO(schisandraAuthUserDTO);
if (schisandraAuthUserDomainService.register(authUserBO)==1){
return Result.fail("注册用户成功");
}else {
return Result.fail("注册用户失败");
}
} catch (Exception e) {
return Result.fail("注册用户失败");
}
}
@PostMapping("update") @PostMapping("update")
public Result update(@RequestBody SchisandraAuthUserDTO schisandraAuthUserDTO) { public Result update(@RequestBody SchisandraAuthUserDTO schisandraAuthUserDTO) {
try { try {
@@ -46,10 +76,11 @@ public class SchisandraAuthUserController {
return Result.fail("更新用户信息失败"); return Result.fail("更新用户信息失败");
} }
} }
/** /**
* @description 查询用户信息
* @param schisandraAuthUserDTO * @param schisandraAuthUserDTO
* @return * @return
* @description 查询用户信息
* @author msz * @author msz
* @date 2024/4/3 22:05 * @date 2024/4/3 22:05
*/ */
@@ -67,10 +98,11 @@ public class SchisandraAuthUserController {
return Result.fail("查询用户信息失败"); return Result.fail("查询用户信息失败");
} }
} }
/** /**
* @description 添加用户信息
* @param schisandraAuthUserDTO * @param schisandraAuthUserDTO
* @return * @return
* @description 添加用户信息
* @author msz * @author msz
* @date 2024/4/3 22:12 * @date 2024/4/3 22:12
*/ */
@@ -88,10 +120,11 @@ public class SchisandraAuthUserController {
return Result.fail("添加用户信息失败"); return Result.fail("添加用户信息失败");
} }
} }
/** /**
* @description 删除用户信息
* @param id * @param id
* @return * @return
* @description 删除用户信息
* @author msz * @author msz
* @date 2024/4/3 22:12 * @date 2024/4/3 22:12
*/ */
@@ -107,10 +140,11 @@ public class SchisandraAuthUserController {
return Result.fail("删除用户信息失败"); return Result.fail("删除用户信息失败");
} }
} }
/** /**
* @description 用户信息断言校验
* @param schisandraAuthUserDTO * @param schisandraAuthUserDTO
* @return void * @return void
* @description 用户信息断言校验
* @author schisandra * @author schisandra
* @date 2024/3/21 23:09 * @date 2024/3/21 23:09
*/ */

View File

@@ -12,6 +12,9 @@ import com.schisandra.auth.infra.basic.entity.SchisandraAuthUser;
*/ */
public interface SchisandraAuthUserDomainService { public interface SchisandraAuthUserDomainService {
int register(SchisandraAuthUserBO schisandraAuthUserBO);
/** /**
* @description 更新用户信息 * @description 更新用户信息
* @param schisandraAuthUserBO * @param schisandraAuthUserBO

View File

@@ -16,11 +16,33 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo
@Resource @Resource
private SchisandraAuthUserService schisandraAuthUserService; private SchisandraAuthUserService schisandraAuthUserService;
/**
* @description: 注册用户
* @param: [schisandraAuthUserBO]
* @return: com.schisandra.auth.domain.bo.SchisandraAuthUserBO
* @author zlg
* @date: 2024/5/14 20:59
*/
@Override
public int register(SchisandraAuthUserBO schisandraAuthUserBO) {
SchisandraAuthUser schisandraAuthUser = schisandraAuthUserService.queryByPhone(schisandraAuthUserBO.getPhone());
if (schisandraAuthUser != null) {
return 0;
} else {
SchisandraAuthUser schisandraAuthUser1 = SchisandraAuthUserBOConverter.INSTANCE.convertBOToEntity(schisandraAuthUserBO);
if (schisandraAuthUserService.insert(schisandraAuthUser1)==null) {
return 0;
}else {
return 1;
}
}
}
/** /**
* @description 更新用户信息
* @param schisandraAuthUserBO * @param schisandraAuthUserBO
* @return java.lang.Object * @return java.lang.Object
* @description 更新用户信息
* @author schisandra * @author schisandra
* @date 2024/3/21 23:14 * @date 2024/3/21 23:14
*/ */
@@ -30,10 +52,11 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo
Integer count = schisandraAuthUserService.update(schisandraAuthUser); Integer count = schisandraAuthUserService.update(schisandraAuthUser);
return count > 0; return count > 0;
} }
/** /**
* @description 查询用户信息
* @param schisandraAuthUserBO * @param schisandraAuthUserBO
* @return * @return
* @description 查询用户信息
* @author msz * @author msz
* @date 2024/4/3 22:10 * @date 2024/4/3 22:10
*/ */
@@ -43,10 +66,11 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo
SchisandraAuthUserBO schisandraAuthUserBO1 = SchisandraAuthUserBOConverter.INSTANCE.convertEntityToBO(schisandraAuthUser); SchisandraAuthUserBO schisandraAuthUserBO1 = SchisandraAuthUserBOConverter.INSTANCE.convertEntityToBO(schisandraAuthUser);
return schisandraAuthUserBO1; return schisandraAuthUserBO1;
} }
/** /**
* @description 添加用户信息
* @param schisandraAuthUserBO * @param schisandraAuthUserBO
* @return java.lang.Object * @return java.lang.Object
* @description 添加用户信息
* @author msz * @author msz
* @date 2024/4/3 22:17 * @date 2024/4/3 22:17
*/ */
@@ -56,10 +80,11 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo
SchisandraAuthUser user = schisandraAuthUserService.insert(schisandraAuthUser); SchisandraAuthUser user = schisandraAuthUserService.insert(schisandraAuthUser);
return user != null; return user != null;
} }
/** /**
* @description 添加用户信息
* @param id * @param id
* @return java.lang.Object * @return java.lang.Object
* @description 添加用户信息
* @author msz * @author msz
* @date 2024/4/3 22:30 * @date 2024/4/3 22:30
*/ */

View File

@@ -79,5 +79,7 @@ public interface SchisandraAuthUserDao {
*/ */
int deleteById(Long id); int deleteById(Long id);
SchisandraAuthUser queryByPhone(String phone);
} }

View File

@@ -53,4 +53,6 @@ public interface SchisandraAuthUserService {
*/ */
boolean deleteById(Long id); boolean deleteById(Long id);
SchisandraAuthUser queryByPhone(String phone);
} }

View File

@@ -79,4 +79,9 @@ public class SchisandraAuthUserServiceImpl implements SchisandraAuthUserService
public boolean deleteById(Long id) { public boolean deleteById(Long id) {
return this.schisandraAuthUserDao.deleteById(id) > 0; return this.schisandraAuthUserDao.deleteById(id) > 0;
} }
@Override
public SchisandraAuthUser queryByPhone(String phone) {
return this.schisandraAuthUserDao.queryByPhone(phone);
}
} }

View File

@@ -232,5 +232,11 @@
where id = #{id} where id = #{id}
</delete> </delete>
<select id="queryByPhone" resultMap="SchisandraAuthUserMap">
select id,user_name,nick_name,email,phone,password,sex,avatar,status,introduce,ext_json,created_by,created_time,update_by,update_time,is_deleted
from schisandra_auth_user
where phone = #{phone}
</select>
</mapper> </mapper>

View File

@@ -6,6 +6,7 @@ import com.schisandra.oss.application.convert.SchisandraOssMinioDTOConverter;
import com.schisandra.oss.application.dto.SchisandraOssMinioDTO; import com.schisandra.oss.application.dto.SchisandraOssMinioDTO;
import com.schisandra.oss.application.oss.core.StandardOssClient; import com.schisandra.oss.application.oss.core.StandardOssClient;
import com.schisandra.oss.application.oss.core.minio.MinioOssClient; import com.schisandra.oss.application.oss.core.minio.MinioOssClient;
import com.schisandra.oss.application.oss.core.minio.MinioOssConfiguration;
import com.schisandra.oss.application.oss.core.minio.model.MinioOssClientConfig; import com.schisandra.oss.application.oss.core.minio.model.MinioOssClientConfig;
import com.schisandra.oss.application.oss.core.minio.model.MinioOssConfig; import com.schisandra.oss.application.oss.core.minio.model.MinioOssConfig;
import com.schisandra.oss.common.entity.Result; import com.schisandra.oss.common.entity.Result;
@@ -15,6 +16,7 @@ import io.minio.MinioClient;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@@ -33,65 +35,19 @@ import java.util.concurrent.TimeUnit;
@RequestMapping("/oss/") @RequestMapping("/oss/")
@Slf4j @Slf4j
public class SchisandraOssMinioController { public class SchisandraOssMinioController {
@Autowired
MinioOssClient minioOssClient;
@Resource @Resource
private SchisandraOssMinioDomainService schisandraOssMinioDomainService; private SchisandraOssMinioDomainService schisandraOssMinioDomainService;
@Resource
// @Resource MinioOssConfiguration minioOssConfiguration;
// private MinioOssClient minioOssClient;
@PostMapping("initMinio") @PostMapping("initMinio")
public StandardOssClient initMinio() { public void initMinio() {
SchisandraOssMinioBO minioBO = schisandraOssMinioDomainService.getMinioConfig(1L); minioOssConfiguration.minioOssClient();
SchisandraOssMinioDTO minio = SchisandraOssMinioDTOConverter.INSTANCE.convertBOToDTO(minioBO);
if (ObjectUtils.isEmpty(minio)) {
log.error("minio配置信息获取失败");
}
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);
}
return minioOssClient(minioOssConfig);
} }
public StandardOssClient minioOssClient(MinioOssConfig minioOssConfig) {
return new MinioOssClient(minioClient(minioOssConfig), minioOssConfig);
}
public MinioClient minioClient(MinioOssConfig minioOssConfig) {
MinioOssClientConfig clientConfig = minioOssConfig.getClientConfig();
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.connectTimeout(clientConfig.getConnectTimeout(), TimeUnit.MILLISECONDS)
.writeTimeout(clientConfig.getWriteTimeout(), TimeUnit.MILLISECONDS)
.readTimeout(clientConfig.getReadTimeout(), TimeUnit.MILLISECONDS)
.callTimeout(clientConfig.getCallTimeout(), TimeUnit.MILLISECONDS)
.followRedirects(clientConfig.isFollowRedirects())
.followSslRedirects(clientConfig.isFollowSslRedirects())
.retryOnConnectionFailure(clientConfig.isRetryOnConnectionFailure())
.pingInterval(clientConfig.getPingInterval(), TimeUnit.MILLISECONDS)
.build();
return MinioClient.builder()
.endpoint(minioOssConfig.getEndpoint())
.credentials(minioOssConfig.getAccessKey(), minioOssConfig.getSecretKey())
.httpClient(okHttpClient)
.build();
}
/** /**
* 新增 * 新增
@@ -155,7 +111,7 @@ public class SchisandraOssMinioController {
@RequestMapping("testMinio") @RequestMapping("testMinio")
public void test() { public void test() {
// System.out.println(minioOssClient.getBasePath()); System.out.println(minioOssClient.getBasePath());
} }

View File

@@ -29,6 +29,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import okhttp3.Headers; import okhttp3.Headers;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
@@ -50,6 +51,7 @@ import java.util.*;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@Scope("Property")
@Component @Component
public class MinioOssClient implements StandardOssClient { public class MinioOssClient implements StandardOssClient {

View File

@@ -11,6 +11,9 @@ import io.minio.MinioClient;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import okhttp3.OkHttpClient; import okhttp3.OkHttpClient;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@@ -21,13 +24,16 @@ import java.util.concurrent.TimeUnit;
* Created on 2021/11/24 * Created on 2021/11/24
*/ */
//@Configuration //@Configuration
@Component
@Slf4j @Slf4j
public class MinioOssConfiguration { public class MinioOssConfiguration {
@Resource
MinioOssClient minioOssClient;
@Resource @Resource
private SchisandraOssMinioDomainService schisandraOssMinioDomainService; private SchisandraOssMinioDomainService schisandraOssMinioDomainService;
// @Bean
public StandardOssClient minioOssClient() { public StandardOssClient minioOssClient() {
SchisandraOssMinioBO minioBO = schisandraOssMinioDomainService.getMinioConfig(1L); SchisandraOssMinioBO minioBO = schisandraOssMinioDomainService.getMinioConfig(1L);
SchisandraOssMinioDTO minio = SchisandraOssMinioDTOConverter.INSTANCE.convertBOToDTO(minioBO); SchisandraOssMinioDTO minio = SchisandraOssMinioDTOConverter.INSTANCE.convertBOToDTO(minioBO);
@@ -59,7 +65,10 @@ public class MinioOssConfiguration {
} }
public StandardOssClient minioOssClient(MinioOssConfig minioOssConfig) { public StandardOssClient minioOssClient(MinioOssConfig minioOssConfig) {
return new MinioOssClient(minioClient(minioOssConfig), minioOssConfig);
minioOssClient.setMinioOssConfig(minioOssConfig);
minioOssClient.setMinioClient(minioClient(minioOssConfig));
return minioOssClient;
} }
public MinioClient minioClient(MinioOssConfig minioOssConfig) { public MinioClient minioClient(MinioOssConfig minioOssConfig) {
@@ -82,3 +91,4 @@ public class MinioOssConfiguration {
} }
} }