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/SchisandraAuthUserController.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/SchisandraAuthUserController.java index 715ad78..15d89cd 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/SchisandraAuthUserController.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/SchisandraAuthUserController.java @@ -149,11 +149,21 @@ public class SchisandraAuthUserController { schisandraAuthAddressBO.setAgent(userAgent.toString()); schisandraAuthAddressBO.setUserId(result.getId()); schisandraAuthAddressBO.setIp(ip); - schisandraAuthAddressBO.setBrowser(userAgent.getBrowser().toString()); - schisandraAuthAddressBO.setBrowserVersion(userAgent.getBrowserVersion().getVersion()); + if (userAgent.getBrowser() != null) { + schisandraAuthAddressBO.setBrowser(userAgent.getBrowser().toString()); + } + if (userAgent.getBrowserVersion() != null) { + schisandraAuthAddressBO.setBrowserVersion(userAgent.getBrowserVersion().toString()); + } schisandraAuthAddressBO.setLocation(ip2region); - Boolean add = schisandraAuthAddressDomainService.add(schisandraAuthAddressBO); - assert add; + SchisandraAuthAddressBO authAddressBO = schisandraAuthAddressDomainService.queryByUserId(result.getId()); + if (ObjectUtils.isNotEmpty(authAddressBO)) { + schisandraAuthAddressBO.setId(authAddressBO.getId()); + schisandraAuthAddressDomainService.update(schisandraAuthAddressBO); + } else { + Boolean add = schisandraAuthAddressDomainService.add(schisandraAuthAddressBO); + assert add; + } map.put("user", result); if (login != null) { if (StpUtil.isLogin(result.getId())) { @@ -211,12 +221,21 @@ public class SchisandraAuthUserController { schisandraAuthAddressBO.setAgent(userAgent.toString()); schisandraAuthAddressBO.setUserId(result.getId()); schisandraAuthAddressBO.setIp(ip); - schisandraAuthAddressBO.setBrowser(userAgent.getBrowser().toString()); - schisandraAuthAddressBO.setBrowserVersion(userAgent.getBrowserVersion().getVersion()); + if (userAgent.getBrowser() != null) { + schisandraAuthAddressBO.setBrowser(userAgent.getBrowser().toString()); + } + if (userAgent.getBrowserVersion() != null) { + schisandraAuthAddressBO.setBrowserVersion(userAgent.getBrowserVersion().toString()); + } schisandraAuthAddressBO.setLocation(ip2region); - Boolean add = schisandraAuthAddressDomainService.add(schisandraAuthAddressBO); - assert add; - + SchisandraAuthAddressBO authAddressBO = schisandraAuthAddressDomainService.queryByUserId(result.getId()); + if (ObjectUtils.isNotEmpty(authAddressBO)) { + schisandraAuthAddressBO.setId(authAddressBO.getId()); + schisandraAuthAddressDomainService.update(schisandraAuthAddressBO); + } else { + Boolean add = schisandraAuthAddressDomainService.add(schisandraAuthAddressBO); + assert add; + } map.put("user", result); if (loginByPhone != null) { if (StpUtil.isLogin(result.getId())) { @@ -420,14 +439,20 @@ public class SchisandraAuthUserController { /** * 用户设置安全信息 + * * @param schisandraAuthUserDTO * @return */ @PostMapping("update") - public Result update(@RequestBody SchisandraAuthUserDTO schisandraAuthUserDTO){ + public Result update(@RequestBody SchisandraAuthUserDTO schisandraAuthUserDTO) { SchisandraAuthUserBO schisandraAuthUserBO = SchisandraAuthUserDTOConverter.INSTANCE.convertDTOToBO(schisandraAuthUserDTO); return Result.ok(schisandraAuthUserDomainService.update(schisandraAuthUserBO)); } + @PostMapping("logout") + public Result logout(@RequestParam("userId") String userId) { + StpUtil.logout(userId); + return Result.ok(); + } } 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 b7c498d..f0b528e 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 @@ -49,7 +49,7 @@ public interface SchisandraAuthUserDomainService { * @author: landaiqing * @date: 2024/5/26 17:28 */ - SchisandraAuthUserBO login(SchisandraAuthUserBO schisandraAuthUserBO); + SchisandraAuthUserBO login(SchisandraAuthUserBO schisandraAuthUserB); /** * @description: 通过手机号登录 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 2c391b8..e700403 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 @@ -235,10 +235,14 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo */ @Override public Boolean wechatRegister(String appId, String openId,String clientId, HttpServletRequest httpServletRequest) { - SchisandraSocialUser socialUser = schisandraSocialUserService.selectByOpenId(openId); + SchisandraSocialUser socialUser = schisandraSocialUserService.selectByOpenId(appId,openId); if (ObjectUtils.isNotEmpty(socialUser)) { - String userId = socialUser.getId(); - + String SocialUserId = socialUser.getId(); + SchisandraSocialUserAuth schisandraSocialUserAuth= schisandraSocialUserAuthService.queryBySocialUserId(SocialUserId); + if(ObjectUtils.isEmpty(schisandraSocialUserAuth)){ + return false; + } + String userId = schisandraSocialUserAuth.getUserId(); // 加入登录IP地址 String ip = IPUtil.getIp(httpServletRequest); @@ -250,8 +254,12 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo schisandraAuthAddressBO.setAgent(userAgent.toString()); schisandraAuthAddressBO.setUserId(userId); schisandraAuthAddressBO.setIp(ip); - schisandraAuthAddressBO.setBrowser(userAgent.getBrowser().toString()); - schisandraAuthAddressBO.setBrowserVersion(userAgent.getBrowserVersion().getVersion()); + if(userAgent.getBrowser() != null) { + schisandraAuthAddressBO.setBrowser(userAgent.getBrowser().toString()); + } + if(userAgent.getBrowserVersion() != null){ + schisandraAuthAddressBO.setBrowserVersion(userAgent.getBrowserVersion().toString()); + } schisandraAuthAddressBO.setLocation(ip2region); SchisandraAuthAddress schisandraAuthAddress = SchisandraAuthAddressBOConverter.INSTANCE.convertBOToEntity(schisandraAuthAddressBO); int insert = schisandraAuthAddressService.update(schisandraAuthAddress); @@ -268,6 +276,7 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo }else{ // 插入社会用户信息表 SchisandraSocialUserBO socialUserBO = new SchisandraSocialUserBO(); + socialUserBO.setUuid(appId); socialUserBO.setOpenId(openId); SchisandraSocialUser schisandraSocialUser = SchisandraSocialUserBOConverter.INSTANCE.convertBOToEntity(socialUserBO); int result = schisandraSocialUserService.insertSocialUser(schisandraSocialUser); @@ -299,8 +308,12 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo schisandraAuthAddressBO.setAgent(userAgent.toString()); schisandraAuthAddressBO.setUserId(authUserId); schisandraAuthAddressBO.setIp(ip); - schisandraAuthAddressBO.setBrowser(userAgent.getBrowser().toString()); - schisandraAuthAddressBO.setBrowserVersion(userAgent.getBrowserVersion().getVersion()); + if(userAgent.getBrowser() != null) { + schisandraAuthAddressBO.setBrowser(userAgent.getBrowser().toString()); + } + if(userAgent.getBrowserVersion() != null){ + schisandraAuthAddressBO.setBrowserVersion(userAgent.getBrowserVersion().toString()); + } schisandraAuthAddressBO.setLocation(ip2region); SchisandraAuthAddress schisandraAuthAddress = SchisandraAuthAddressBOConverter.INSTANCE.convertBOToEntity(schisandraAuthAddressBO); int insertIp = schisandraAuthAddressService.insert(schisandraAuthAddress); @@ -359,6 +372,12 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo AuthToken token = data.getToken(); SchisandraSocialUser socialUser = schisandraSocialUserService.selectByUuidAndType(uuid, type); if (ObjectUtils.isNotEmpty(socialUser)) { + + SchisandraSocialUserAuth schisandraSocialUserAuth= schisandraSocialUserAuthService.queryBySocialUserId(socialUser.getId()); + if(ObjectUtils.isEmpty(schisandraSocialUserAuth)){ + return Result.fail(); + } + String userId = schisandraSocialUserAuth.getUserId(); // 更新用户信息 SchisandraSocialUserBO socialUserBO = new SchisandraSocialUserBO(); socialUserBO.setAccessToken(token.getAccessToken()); @@ -383,7 +402,6 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo } return Result.fail("Social User update fail"); } - String userId = socialUser.getId(); // 加入登录IP地址 String ip = IPUtil.getIp(httpServletRequest); @@ -395,8 +413,12 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo schisandraAuthAddressBO.setAgent(userAgent.toString()); schisandraAuthAddressBO.setUserId(userId); schisandraAuthAddressBO.setIp(ip); - schisandraAuthAddressBO.setBrowser(userAgent.getBrowser().toString()); - schisandraAuthAddressBO.setBrowserVersion(userAgent.getBrowserVersion().getVersion()); + if(userAgent.getBrowser() != null) { + schisandraAuthAddressBO.setBrowser(userAgent.getBrowser().toString()); + } + if(userAgent.getBrowserVersion() != null){ + schisandraAuthAddressBO.setBrowserVersion(userAgent.getBrowserVersion().toString()); + } schisandraAuthAddressBO.setLocation(ip2region); SchisandraAuthAddress schisandraAuthAddress = SchisandraAuthAddressBOConverter.INSTANCE.convertBOToEntity(schisandraAuthAddressBO); int insert = schisandraAuthAddressService.update(schisandraAuthAddress); @@ -463,8 +485,12 @@ public class SchisandraAuthUserDomainServiceImpl implements SchisandraAuthUserDo schisandraAuthAddressBO.setAgent(userAgent.toString()); schisandraAuthAddressBO.setUserId(authUserId); schisandraAuthAddressBO.setIp(ip); - schisandraAuthAddressBO.setBrowser(userAgent.getBrowser().toString()); - schisandraAuthAddressBO.setBrowserVersion(userAgent.getBrowserVersion().getVersion()); + if(userAgent.getBrowser() != null) { + schisandraAuthAddressBO.setBrowser(userAgent.getBrowser().toString()); + } + if(userAgent.getBrowserVersion() != null){ + schisandraAuthAddressBO.setBrowserVersion(userAgent.getBrowserVersion().toString()); + } schisandraAuthAddressBO.setLocation(ip2region); SchisandraAuthAddress schisandraAuthAddress = SchisandraAuthAddressBOConverter.INSTANCE.convertBOToEntity(schisandraAuthAddressBO); int insertIp = schisandraAuthAddressService.insert(schisandraAuthAddress); diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/SchisandraSocialUserAuthService.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/SchisandraSocialUserAuthService.java index 00a2faf..4952730 100644 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/SchisandraSocialUserAuthService.java +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/SchisandraSocialUserAuthService.java @@ -43,4 +43,5 @@ public interface SchisandraSocialUserAuthService { boolean deleteById(String id); + SchisandraSocialUserAuth queryBySocialUserId(String socialUserId); } diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/SchisandraSocialUserService.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/SchisandraSocialUserService.java index 2986bbd..2b96ae8 100644 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/SchisandraSocialUserService.java +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/SchisandraSocialUserService.java @@ -53,5 +53,5 @@ public interface SchisandraSocialUserService { int insertSocialUser(SchisandraSocialUser schisandraSocialUser); - SchisandraSocialUser selectByOpenId(String openId); + SchisandraSocialUser selectByOpenId(String appId,String openId); } diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/impl/SchisandraSocialUserAuthServiceImpl.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/impl/SchisandraSocialUserAuthServiceImpl.java index 43b5088..f2a8906 100644 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/impl/SchisandraSocialUserAuthServiceImpl.java +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/impl/SchisandraSocialUserAuthServiceImpl.java @@ -1,14 +1,15 @@ package com.schisandra.auth.infra.basic.service.impl; -import com.schisandra.auth.infra.basic.entity.SchisandraSocialUserAuth; import com.schisandra.auth.infra.basic.dao.SchisandraSocialUserAuthDao; +import com.schisandra.auth.infra.basic.entity.SchisandraSocialUserAuth; +import com.schisandra.auth.infra.basic.entity.table.SchisandraSocialUserAuthTableDef; import com.schisandra.auth.infra.basic.service.SchisandraSocialUserAuthService; import org.springframework.stereotype.Service; import javax.annotation.Resource; /** - * 表服务实现类 + * 表服务实现类 * * @author landaiqing * @since 2024-06-24 11:10:08 @@ -49,7 +50,7 @@ public class SchisandraSocialUserAuthServiceImpl implements SchisandraSocialUser */ @Override public int update(SchisandraSocialUserAuth schisandraSocialUserAuth) { - return this.schisandraSocialUserAuthDao.update(schisandraSocialUserAuth,true); + return this.schisandraSocialUserAuthDao.update(schisandraSocialUserAuth, true); } /** @@ -63,5 +64,10 @@ public class SchisandraSocialUserAuthServiceImpl implements SchisandraSocialUser return this.schisandraSocialUserAuthDao.deleteById(id) > 0; } + @Override + public SchisandraSocialUserAuth queryBySocialUserId(String socialUserId) { + return this.schisandraSocialUserAuthDao.selectOneByCondition(SchisandraSocialUserAuthTableDef.SCHISANDRA_SOCIAL_USER_AUTH.SOCIAL_USER_ID.eq(socialUserId)); + } + } diff --git a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/impl/SchisandraSocialUserServiceImpl.java b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/impl/SchisandraSocialUserServiceImpl.java index 70f7e76..f9708ed 100644 --- a/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/impl/SchisandraSocialUserServiceImpl.java +++ b/schisandra-cloud-storage-auth/schisandra-cloud-storage-auth-infra/src/main/java/com/schisandra/auth/infra/basic/service/impl/SchisandraSocialUserServiceImpl.java @@ -115,8 +115,8 @@ public class SchisandraSocialUserServiceImpl implements SchisandraSocialUserServ * @date: 2024/6/27 下午3:05 */ @Override - public SchisandraSocialUser selectByOpenId(String openId) { - return schisandraSocialUserDao.selectOneByCondition(SchisandraSocialUserTableDef.SCHISANDRA_SOCIAL_USER.OPEN_ID.eq(openId)); + public SchisandraSocialUser selectByOpenId(String appId,String openId) { + return schisandraSocialUserDao.selectOneByCondition(SchisandraSocialUserTableDef.SCHISANDRA_SOCIAL_USER.OPEN_ID.eq(openId).and(SchisandraSocialUserTableDef.SCHISANDRA_SOCIAL_USER.UUID.eq(appId))); } 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 5244454..ec6f3a5 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 @@ -43,7 +43,7 @@ spring: # Redis服务器连接密码(默认为空) password: LDQ20020618xxx # 连接超时时间 - timeout: 2s + timeout: 10s lettuce: pool: # 连接池最大连接数 @@ -102,7 +102,7 @@ mybatis-flex: # 前端地址 web: - url: http://127.0.0.1:5173/ + url: https://landaiqing.cn/ # MD5加密salt cipher: 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 915fe62..d723419 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 @@ -3,30 +3,20 @@ package com.schisandra.oss.application.controller; import cn.hutool.core.util.ZipUtil; import cn.hutool.extra.spring.SpringUtil; import com.alibaba.fastjson.JSON; -import com.github.benmanes.caffeine.cache.Cache; -import com.github.benmanes.caffeine.cache.Caffeine; import com.google.common.base.Preconditions; -import com.google.gson.Gson; -import com.mybatisflex.annotation.RelationOneToMany; import com.schisandra.oss.application.convert.SchisandraOssMinioDTOConverter; -import com.schisandra.oss.application.convert.SchisandraOssQiniuDTOConverter; import com.schisandra.oss.application.dto.SchisandraOssMinioDTO; -import com.schisandra.oss.application.dto.SchisandraOssQiniuDTO; import com.schisandra.oss.application.oss.constant.OssConstant; import com.schisandra.oss.application.oss.core.minio.MinioOssClient; import com.schisandra.oss.application.oss.core.minio.MinioOssConfiguration; import com.schisandra.oss.application.oss.model.OssInfo; import com.schisandra.oss.common.entity.Result; import com.schisandra.oss.common.utils.CaffeineUtil; -import com.schisandra.oss.domain.bo.SchisandraOssAliBO; import com.schisandra.oss.domain.bo.SchisandraOssMinioBO; import com.schisandra.oss.domain.redis.RedisUtil; import com.schisandra.oss.domain.service.SchisandraOssMinioDomainService; import io.minio.errors.*; import lombok.extern.slf4j.Slf4j; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.cache.annotation.Caching; import org.springframework.http.MediaType; import org.springframework.util.StreamUtils; import org.springframework.web.bind.annotation.*; @@ -42,7 +32,6 @@ import java.net.URLEncoder; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.text.SimpleDateFormat; -import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -81,23 +70,23 @@ public class SchisandraOssMinioController { public Result returnOneById(String Id) { SchisandraOssMinioBO bo = schisandraOssMinioDomainService.selectOneById(Id); SchisandraOssMinioDTO dto = SchisandraOssMinioDTOConverter.INSTANCE.convertBOToDTO(bo); - if(dto == null){ + if (dto == null) { return Result.fail("查询失败"); } return Result.ok(dto); } - /** * 返回当前用户minio表所有数据 + * * @param userId * @return */ @GetMapping("return_online") public Result returnOnline(String userId) { List list = schisandraOssMinioDomainService.selectAllPresent(userId); - if(list.isEmpty()){ + if (list.isEmpty()) { return Result.fail(); } return Result.ok(SchisandraOssMinioDTOConverter.INSTANCE.convertBOToDTOList(list)); @@ -178,12 +167,12 @@ public class SchisandraOssMinioController { Preconditions.checkNotNull(userId, "不能为空"); MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId); bean.getMinioOssConfig().setBucketName(bucket); - List object= (List) caffeineUtil.caffeineBuild().getIfPresent(userId+bucket+dirName); + List object = (List) caffeineUtil.caffeineBuild().getIfPresent(userId + bucket + dirName); if (object != null) { return Result.ok(object); - }else { - List list=bean.listDir(bucket,dirName); - caffeineUtil.caffeineBuild().put(userId+bucket+dirName, list); + } else { + List list = bean.listDir(bucket, dirName); + caffeineUtil.caffeineBuild().put(userId + bucket + dirName, list); return Result.ok(list); } @@ -245,7 +234,7 @@ public class SchisandraOssMinioController { Preconditions.checkNotNull(bucket, "不能为空"); Preconditions.checkNotNull(userId, "不能为空"); Preconditions.checkNotNull(filePath, "不能为空"); - int index=filePath.lastIndexOf("/"); + int index = filePath.lastIndexOf("/"); String fileName = filePath.substring(index + 1); caffeineUtil.caffeineBuild().invalidate("MinioListDir" + userId + bucket + fileName); MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId); @@ -262,17 +251,17 @@ public class SchisandraOssMinioController { * @date: 2024/6/26 14:34 */ @PostMapping(value = "uploadFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public Result uploadMinioFile(SchisandraOssMinioDTO schisandraOssMinioDTO,@RequestParam MultipartFile file) throws IOException { - String path=schisandraOssMinioDTO.getPath(); - String bucket=schisandraOssMinioDTO.getBucketName(); - String userId=schisandraOssMinioDTO.getUserId(); + public Result uploadMinioFile(SchisandraOssMinioDTO schisandraOssMinioDTO, @RequestParam MultipartFile file) throws IOException { + String path = schisandraOssMinioDTO.getPath(); + String bucket = schisandraOssMinioDTO.getBucketName(); + String userId = schisandraOssMinioDTO.getUserId(); Preconditions.checkNotNull(path, "path不能为空"); Preconditions.checkNotNull(bucket, "bucket不能为空"); Preconditions.checkNotNull(userId, "userId不能为空"); if (path.lastIndexOf("") == path.length() - 1) { - path=path+file.getName(); - }else{ - path=path+"/"+file.getOriginalFilename(); + path = path + file.getName(); + } else { + path = path + "/" + file.getOriginalFilename(); } // 获取文件输入流 InputStream is = file.getInputStream(); @@ -290,7 +279,7 @@ public class SchisandraOssMinioController { map.put("time", formattedDate); if (bean.upLoad(is, path, true) != null) { redisUtil.setNx(key, map, 30L, TimeUnit.DAYS); - caffeineUtil.caffeineBuild().invalidate("MinioListDir"+userId+bucket+schisandraOssMinioDTO.getPath()); + caffeineUtil.caffeineBuild().invalidate("MinioListDir" + userId + bucket + schisandraOssMinioDTO.getPath()); return Result.ok(); } else { return Result.fail(); @@ -312,7 +301,7 @@ public class SchisandraOssMinioController { Preconditions.checkNotNull(bucket, "不能为空"); Preconditions.checkNotNull(oldFileName, "不能为空"); Preconditions.checkNotNull(newFileName, "不能为空"); - String path=oldFileName.substring(0,oldFileName.lastIndexOf("/")+1); + String path = oldFileName.substring(0, oldFileName.lastIndexOf("/") + 1); MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId); bean.getMinioOssConfig().setBucketName(bucket); try { @@ -320,7 +309,7 @@ public class SchisandraOssMinioController { } catch (Exception e) { return Result.fail(e.getMessage()); } - caffeineUtil.caffeineBuild().invalidate("MinioListDir"+userId+bucket+path); + caffeineUtil.caffeineBuild().invalidate("MinioListDir" + userId + bucket + path); return Result.ok(); } @@ -340,14 +329,14 @@ public class SchisandraOssMinioController { Preconditions.checkNotNull(oldFilePath, "不能为空"); Preconditions.checkNotNull(newFilePath, "不能为空"); MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId); - String path=oldFilePath.substring(0,oldFilePath.lastIndexOf("/")+1); + String path = oldFilePath.substring(0, oldFilePath.lastIndexOf("/") + 1); bean.getMinioOssConfig().setBucketName(bucket); try { bean.copy(oldFilePath, newFilePath); } catch (Exception e) { return Result.fail(e.getMessage()); } - caffeineUtil.caffeineBuild().invalidate("MinioListDir"+userId+bucket+path); + caffeineUtil.caffeineBuild().invalidate("MinioListDir" + userId + bucket + path); return Result.ok(); } @@ -415,28 +404,28 @@ public class SchisandraOssMinioController { public Result seleteBucket(@RequestParam String userId) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException { Preconditions.checkNotNull(userId, "不能为空"); MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId); - List>list= (List>) caffeineUtil.caffeineBuild().getIfPresent("MinioBucket"+userId); - if (list!=null){ + List> list = (List>) caffeineUtil.caffeineBuild().getIfPresent("MinioBucket" + userId); + if (list != null) { return Result.ok(list); } - list=bean.selectAllBucket(); - if (list==null){ + list = bean.selectAllBucket(); + if (list == null) { return Result.fail(); } - caffeineUtil.caffeineBuild().put("MinioBucket",list); + caffeineUtil.caffeineBuild().put("MinioBucket", list); return Result.ok(list); } @PostMapping("getBucketSize") public Result getBucketSize(@RequestParam String userId, @RequestParam String bucket) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException { Preconditions.checkNotNull(userId, "不能为空"); - MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO+userId); - String size= (String) caffeineUtil.caffeineBuild().getIfPresent("MinioBucket"+userId+bucket); - if (size!=null){ + MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId); + String size = (String) caffeineUtil.caffeineBuild().getIfPresent("MinioBucket" + userId + bucket); + if (size != null) { return Result.ok(size); } - size=bean.getMinioBucketSize(bucket); - caffeineUtil.caffeineBuild().put("MinioBucket"+userId+bucket,size); + size = bean.getMinioBucketSize(bucket); + caffeineUtil.caffeineBuild().put("MinioBucket" + userId + bucket, size); return Result.ok(size); } @@ -453,7 +442,7 @@ public class SchisandraOssMinioController { Preconditions.checkNotNull(bucket, "不能为空"); MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId); bean.getMinioOssConfig().setBucketName(bucket); - caffeineUtil.caffeineBuild().invalidate("MinioBucket"+userId); + caffeineUtil.caffeineBuild().invalidate("MinioBucket" + userId); return Result.ok(bean.createBucket(bucket)); } @@ -471,7 +460,7 @@ public class SchisandraOssMinioController { Preconditions.checkNotNull(bucket, "不能为空"); MinioOssClient bean = SpringUtil.getBean(OssConstant.OssType.MINIO + userId); bean.getMinioOssConfig().setBucketName(bucket); - caffeineUtil.caffeineBuild().invalidate("MinioBucket"+userId); + caffeineUtil.caffeineBuild().invalidate("MinioBucket" + userId); return Result.ok(bean.deleteBucket(bucket)); } diff --git a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-starter/src/main/resources/application.yml b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-starter/src/main/resources/application.yml index 1fb613d..47587af 100644 --- a/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-starter/src/main/resources/application.yml +++ b/schisandra-cloud-storage-oss/schisandra-cloud-storage-oss-starter/src/main/resources/application.yml @@ -43,7 +43,7 @@ spring: # Redis服务器连接密码(默认为空) password: LDQ20020618xxx # 连接超时时间 - timeout: 2s + timeout: 10s lettuce: pool: # 连接池最大连接数 @@ -78,6 +78,6 @@ xxl: appname: schisandra-cloud-storage-oss address: ip: 1.95.0.111 - port: 9998 + port: 9997 logpath: /data/applogs/xxl-job/jobhandler logretentiondays: 30 \ No newline at end of file diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/controller/SchisandraShareCircleController.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/controller/SchisandraShareCircleController.java index 8f0632e..b331407 100644 --- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/controller/SchisandraShareCircleController.java +++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/controller/SchisandraShareCircleController.java @@ -73,7 +73,6 @@ public class SchisandraShareCircleController { /** * 分享圈列表返回 */ - @Cacheable(value = "sharelist", key = "'sharelist'") @GetMapping("sharelist") public Result> getShareList() { try { diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-starter/src/main/resources/application.yml b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-starter/src/main/resources/application.yml index 1cebdf4..db06de5 100644 --- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-starter/src/main/resources/application.yml +++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-starter/src/main/resources/application.yml @@ -38,7 +38,7 @@ spring: # Redis服务器连接密码(默认为空) password: LDQ20020618xxx # 连接超时时间 - timeout: 2s + timeout: 10s lettuce: pool: # 连接池最大连接数 diff --git a/schisandra-cloud-storage-system/schisandra-cloud-storage-system-domain/pom.xml b/schisandra-cloud-storage-system/schisandra-cloud-storage-system-domain/pom.xml index fc1fd10..915e75c 100644 --- a/schisandra-cloud-storage-system/schisandra-cloud-storage-system-domain/pom.xml +++ b/schisandra-cloud-storage-system/schisandra-cloud-storage-system-domain/pom.xml @@ -1,83 +1,78 @@ - - 4.0.0 - - com.schisandra.system - schisandra-cloud-storage-system - 1.0-SNAPSHOT - - - schisandra-cloud-storage-system-domain - jar - - schisandra-cloud-storage-system-domain - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.13.0 - - 1.8 - 1.8 - UTF-8 - - - org.projectlombok - lombok - 1.18.24 - - - - org.mapstruct - mapstruct-processor - 1.4.2.Final - - - - org.projectlombok - lombok-mapstruct-binding - 0.2.0 - - - com.mybatis-flex - mybatis-flex-processor - 1.9.0 - - - - - - - - - 8 - 8 - 1.8 - UTF-8 - UTF-8 - - - - - com.schisandra.system - schisandra-cloud-storage-system-infra - 1.0-SNAPSHOT - - - com.schisandra.system - schisandra-cloud-storage-system-common - 1.0-SNAPSHOT - - - com.xuxueli - xxl-job-core - 2.4.0 - - - org.springframework - spring-context - 5.3.27 - - - + + 4.0.0 + + com.schisandra.system + schisandra-cloud-storage-system + 1.0-SNAPSHOT + + + schisandra-cloud-storage-system-domain + jar + + schisandra-cloud-storage-system-domain + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.13.0 + + 1.8 + 1.8 + UTF-8 + + + org.projectlombok + lombok + 1.18.24 + + + + org.mapstruct + mapstruct-processor + 1.4.2.Final + + + + org.projectlombok + lombok-mapstruct-binding + 0.2.0 + + + com.mybatis-flex + mybatis-flex-processor + 1.9.0 + + + + + + + + + 8 + 8 + 1.8 + UTF-8 + UTF-8 + + + + + com.schisandra.system + schisandra-cloud-storage-system-infra + 1.0-SNAPSHOT + + + com.schisandra.system + schisandra-cloud-storage-system-common + 1.0-SNAPSHOT + + + org.springframework + spring-context + 5.3.27 + + + diff --git a/schisandra-cloud-storage-system/schisandra-cloud-storage-system-domain/src/main/java/com/schisandra/system/domain/config/XxlJobConfig.java b/schisandra-cloud-storage-system/schisandra-cloud-storage-system-domain/src/main/java/com/schisandra/system/domain/config/XxlJobConfig.java deleted file mode 100644 index 7fa6dca..0000000 --- a/schisandra-cloud-storage-system/schisandra-cloud-storage-system-domain/src/main/java/com/schisandra/system/domain/config/XxlJobConfig.java +++ /dev/null @@ -1,78 +0,0 @@ -package com.schisandra.system.domain.config; - -import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * xxl-job config - * - * @author xuxueli 2017-04-28 - */ -@Configuration -public class XxlJobConfig { - private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class); - - @Value("${xxl.job.admin.addresses}") - private String adminAddresses; - - @Value("${xxl.job.accessToken}") - private String accessToken; - - @Value("${xxl.job.executor.appname}") - private String appname; - - @Value("${xxl.job.executor.address}") - private String address; - - @Value("${xxl.job.executor.ip}") - private String ip; - - @Value("${xxl.job.executor.port}") - private int port; - - @Value("${xxl.job.executor.logpath}") - private String logPath; - - @Value("${xxl.job.executor.logretentiondays}") - private int logRetentionDays; - - - @Bean - public XxlJobSpringExecutor xxlJobExecutor() { - logger.info(">>>>>>>>>>> xxl-job config init."); - XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); - xxlJobSpringExecutor.setAdminAddresses(adminAddresses); - xxlJobSpringExecutor.setAppname(appname); - xxlJobSpringExecutor.setAddress(address); - xxlJobSpringExecutor.setIp(ip); - xxlJobSpringExecutor.setPort(port); - xxlJobSpringExecutor.setAccessToken(accessToken); - xxlJobSpringExecutor.setLogPath(logPath); - xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays); - - return xxlJobSpringExecutor; - } - - /** - * 针对多网卡、容器内部署等情况,可借助 "spring-cloud-commons" 提供的 "InetUtils" 组件灵活定制注册IP; - * - * 1、引入依赖: - * - * org.springframework.cloud - * spring-cloud-commons - * ${version} - * - * - * 2、配置文件,或者容器启动变量 - * spring.cloud.inetutils.preferred-networks: 'xxx.xxx.xxx.' - * - * 3、获取IP - * String ip_ = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress(); - */ - - -} \ No newline at end of file diff --git a/schisandra-cloud-storage-system/schisandra-cloud-storage-system-starter/src/main/resources/application.yml b/schisandra-cloud-storage-system/schisandra-cloud-storage-system-starter/src/main/resources/application.yml index 71f5915..5ec83c1 100644 --- a/schisandra-cloud-storage-system/schisandra-cloud-storage-system-starter/src/main/resources/application.yml +++ b/schisandra-cloud-storage-system/schisandra-cloud-storage-system-starter/src/main/resources/application.yml @@ -1,98 +1,84 @@ -server: - port: 5000 -spring: - datasource: - username: root - password: BZbVbGDBePiA2q8/mt0eMxKNpHniDzxBtOxFadQiAOTDzCDlopC4qOKwwBEi9CAZcuFsCrRJdwn0wP6jwsnzxw== - driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://1.95.0.111:3306/schisandra-cloud-storage?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=true - type: com.alibaba.druid.pool.DruidDataSource - druid: - initial-size: 20 - min-idle: 20 - max-active: 100 - max-wait: 60000 - connectionProperties: config.decrypt=true;config.decrypt.key=${publicKey}; - stat-view-servlet: - enabled: true - url-pattern: /druid/* - login-username: admin - login-password: 123456 - filter: - stat: - enabled: true - slow-sql-millis: 2000 - log-slow-sql: true - wall: - enabled: true - config: - enabled: true - # redis配置 - redis: - # Redis数据库索引(默认为0) - database: 1 - # Redis服务器地址 - host: 1.95.0.111 - # Redis服务器连接端口 - port: 6379 - # Redis服务器连接密码(默认为空) - password: LDQ20020618xxx - # 连接超时时间 - timeout: 2s - lettuce: - pool: - # 连接池最大连接数 - max-active: 200 - # 连接池最大阻塞等待时间(使用负值表示没有限制) - max-wait: -1ms - # 连接池中的最大空闲连接 - max-idle: 10 - # 连接池中的最小空闲连接 - min-idle: 0 -publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANUVxjcrVoirBZaNmDrUqatHEW4FOHbO5ynW6zvhIbRMo6hEFGgglbURkjuHOlgEduxJVz6Xa+sG+FMrxTguOJECAwEAAQ== -logging: - config: classpath:log4j2-spring.xml -############## Sa-Token 配置 (文档: https://sa-token.cc) ############## -sa-token: - # token 名称(同时也是 cookie 名称) - token-name: token - # token 有效期(单位:秒) 默认30天,-1 代表永久有效 - timeout: 2592000 - # token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结 - active-timeout: -1 - # 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录) - is-concurrent: true - # 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token) - is-share: true - # token 风格(默认可取值:uuid、simple-uuid、random-32、random-64、random-128、tik) - token-style: random-32 - # 是否输出操作日志 - is-log: false - token-prefix: schisandra - is-print: false - -mybatis-flex: - global-config: - print-banner: false - key-config: - key-type: generator - normal-value-of-logic-delete: 0 - deleted-value-of-logic-delete: 1 - logic-delete-column: is_deleted - mapper-locations: - - "classpath*:/mapper/**/*.xml" - -# xxl-job配置 -xxl: - job: - admin: - addresses: http://1.95.0.111:8088/xxl-job-admin - accessToken: default_token - executor: - appname: schisandra-cloud-storage-system - address: - ip: 1.95.0.111 - port: 9999 - logpath: /data/applogs/xxl-job/jobhandler - logretentiondays: 30 - +server: + port: 5000 +spring: + datasource: + username: root + password: BZbVbGDBePiA2q8/mt0eMxKNpHniDzxBtOxFadQiAOTDzCDlopC4qOKwwBEi9CAZcuFsCrRJdwn0wP6jwsnzxw== + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://1.95.0.111:3306/schisandra-cloud-storage?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=true + type: com.alibaba.druid.pool.DruidDataSource + druid: + initial-size: 20 + min-idle: 20 + max-active: 100 + max-wait: 60000 + connectionProperties: config.decrypt=true;config.decrypt.key=${publicKey}; + stat-view-servlet: + enabled: true + url-pattern: /druid/* + login-username: admin + login-password: 123456 + filter: + stat: + enabled: true + slow-sql-millis: 2000 + log-slow-sql: true + wall: + enabled: true + config: + enabled: true + # redis配置 + redis: + # Redis数据库索引(默认为0) + database: 1 + # Redis服务器地址 + host: 1.95.0.111 + # Redis服务器连接端口 + port: 6379 + # Redis服务器连接密码(默认为空) + password: LDQ20020618xxx + # 连接超时时间 + timeout: 10s + lettuce: + pool: + # 连接池最大连接数 + max-active: 200 + # 连接池最大阻塞等待时间(使用负值表示没有限制) + max-wait: -1ms + # 连接池中的最大空闲连接 + max-idle: 10 + # 连接池中的最小空闲连接 + min-idle: 0 +publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANUVxjcrVoirBZaNmDrUqatHEW4FOHbO5ynW6zvhIbRMo6hEFGgglbURkjuHOlgEduxJVz6Xa+sG+FMrxTguOJECAwEAAQ== +logging: + config: classpath:log4j2-spring.xml +############## Sa-Token 配置 (文档: https://sa-token.cc) ############## +sa-token: + # token 名称(同时也是 cookie 名称) + token-name: token + # token 有效期(单位:秒) 默认30天,-1 代表永久有效 + timeout: 2592000 + # token 最低活跃频率(单位:秒),如果 token 超过此时间没有访问系统就会被冻结,默认-1 代表不限制,永不冻结 + active-timeout: -1 + # 是否允许同一账号多地同时登录 (为 true 时允许一起登录, 为 false 时新登录挤掉旧登录) + is-concurrent: true + # 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token) + is-share: true + # token 风格(默认可取值:uuid、simple-uuid、random-32、random-64、random-128、tik) + token-style: random-32 + # 是否输出操作日志 + is-log: false + token-prefix: schisandra + is-print: false + +mybatis-flex: + global-config: + print-banner: false + key-config: + key-type: generator + normal-value-of-logic-delete: 0 + deleted-value-of-logic-delete: 1 + logic-delete-column: is_deleted + mapper-locations: + - "classpath*:/mapper/**/*.xml" + diff --git a/schisandra-cloud-storage-wechat/src/main/resources/application.yml b/schisandra-cloud-storage-wechat/src/main/resources/application.yml index 6d30230..3b0ea53 100644 --- a/schisandra-cloud-storage-wechat/src/main/resources/application.yml +++ b/schisandra-cloud-storage-wechat/src/main/resources/application.yml @@ -12,7 +12,7 @@ spring: # Redis服务器连接密码(默认为空) password: LDQ20020618xxx # 连接超时时间 - timeout: 2s + timeout: 10s lettuce: pool: # 连接池最大连接数 @@ -28,8 +28,8 @@ spring: wx: mp: token: LDQ20020618xxx - appid: wx55251c2f83b9fc25 - secret: d511800cd53d248afe1260bb8aeed230 + appid: wx7c3b1f52f460e5dd + secret: f924c42c90223a0013908e204863c3b8 codeExpire: 3600 encodingAESKey: @@ -37,12 +37,12 @@ wx: xxl: job: admin: - addresses: http://127.0.0.1:8081/xxl-job-admin + addresses: http://1.95.0.111:8088/xxl-job-admin accessToken: default_token executor: appname: schisandra-cloud-storage-wechat address: - ip: 127.0.0.1 - port: 9998 + ip: 1.95.0.111 + port: 9996 logpath: /data/applogs/xxl-job/jobhandler logretentiondays: 30