From 92e9408785cf86da63afc70605926c6cb51c4441 Mon Sep 17 00:00:00 2001
From: landaiqing <3517283258@qq.com>
Date: Tue, 23 Jul 2024 13:36:12 +0800
Subject: [PATCH 1/6] =?UTF-8?q?feat:=20=E7=B3=BB=E7=BB=9F=E6=A8=A1?=
=?UTF-8?q?=E5=9D=97=E5=88=A0=E9=99=A4xxl-job?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../pom.xml | 161 +++++++++---------
.../system/domain/config/XxlJobConfig.java | 78 ---------
.../src/main/resources/application.yml | 14 --
3 files changed, 78 insertions(+), 175 deletions(-)
delete mode 100644 schisandra-cloud-storage-system/schisandra-cloud-storage-system-domain/src/main/java/com/schisandra/system/domain/config/XxlJobConfig.java
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 454ccaa..4fdc3be 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
@@ -82,17 +82,3 @@ mybatis-flex:
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: 9998
- logpath: /data/applogs/xxl-job/jobhandler
- logretentiondays: 30
-
From 35aa50d6632af289bc8628100ded864e77d655dc Mon Sep 17 00:00:00 2001
From: landaiqing <3517283258@qq.com>
Date: Tue, 23 Jul 2024 13:47:23 +0800
Subject: [PATCH 2/6] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9redis=E8=BF=9E?=
=?UTF-8?q?=E6=8E=A5=E8=B6=85=E6=97=B6=E6=97=B6=E9=97=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/resources/application.yml | 2 +-
.../src/main/resources/application.yml | 2 +-
.../src/main/resources/application.yml | 2 +-
.../src/main/resources/application.yml | 2 +-
.../src/main/resources/application.yml | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
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 1dd4355..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:
# 连接池最大连接数
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 f83a09b..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:
# 连接池最大连接数
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-starter/src/main/resources/application.yml b/schisandra-cloud-storage-system/schisandra-cloud-storage-system-starter/src/main/resources/application.yml
index 4fdc3be..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
@@ -38,7 +38,7 @@ spring:
# Redis服务器连接密码(默认为空)
password: LDQ20020618xxx
# 连接超时时间
- timeout: 2s
+ timeout: 10s
lettuce:
pool:
# 连接池最大连接数
diff --git a/schisandra-cloud-storage-wechat/src/main/resources/application.yml b/schisandra-cloud-storage-wechat/src/main/resources/application.yml
index 070a958..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:
# 连接池最大连接数
From e11f654ced629079c937cde9090805d358257789 Mon Sep 17 00:00:00 2001
From: landaiqing <3517283258@qq.com>
Date: Tue, 23 Jul 2024 14:17:41 +0800
Subject: [PATCH 3/6] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=A4=9A?=
=?UTF-8?q?=E7=BA=BF=E7=A8=8B=E9=85=8D=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../application/config/GlobalConfig.java | 38 ++++++++++++++
.../application/config/ThreadPoolConfig.java | 28 +++++++++++
.../factory/CustomNameThreadFactory.java | 49 +++++++++++++++++++
...chisandraShareCircleDomainServiceImpl.java | 28 ++++++-----
.../mapper/SchisandraShareUrlDao.xml | 1 +
.../application/config/GlobalConfig.java | 38 ++++++++++++++
.../application/config/ThreadPoolConfig.java | 29 +++++++++++
.../factory/CustomNameThreadFactory.java | 49 +++++++++++++++++++
8 files changed, 248 insertions(+), 12 deletions(-)
create mode 100644 schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/config/GlobalConfig.java
create mode 100644 schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/config/ThreadPoolConfig.java
create mode 100644 schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/factory/CustomNameThreadFactory.java
create mode 100644 schisandra-cloud-storage-system/schisandra-cloud-storage-system-application/schisandra-cloud-storage-system-application-controller/src/main/java/com/schisandra/system/application/config/GlobalConfig.java
create mode 100644 schisandra-cloud-storage-system/schisandra-cloud-storage-system-application/schisandra-cloud-storage-system-application-controller/src/main/java/com/schisandra/system/application/config/ThreadPoolConfig.java
create mode 100644 schisandra-cloud-storage-system/schisandra-cloud-storage-system-application/schisandra-cloud-storage-system-application-controller/src/main/java/com/schisandra/system/application/factory/CustomNameThreadFactory.java
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/config/GlobalConfig.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/config/GlobalConfig.java
new file mode 100644
index 0000000..3e844eb
--- /dev/null
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/config/GlobalConfig.java
@@ -0,0 +1,38 @@
+package com.schisandra.share.application.config;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
+
+import java.util.List;
+
+/**
+ * @Classname GlobalConfig
+ * @BelongsProject: schisandra-cloud-storage
+ * @BelongsPackage: com.schisandra.auth.application.common
+ * @Author: schisandra
+ * @CreateTime: 2024-02-16 15:57
+ * @Description: MVC全局处理
+ * @Version: 1.0
+ */
+@Configuration
+public class GlobalConfig extends WebMvcConfigurationSupport {
+
+ @Override
+ protected void configureMessageConverters(List> converters) {
+ super.configureMessageConverters(converters);
+ converters.add(mappingJackson2HttpMessageConverter());
+ }
+
+ private MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
+ ObjectMapper objectMapper = new ObjectMapper();
+ objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
+ objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
+ MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(objectMapper);
+ return converter;
+ }
+}
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/config/ThreadPoolConfig.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/config/ThreadPoolConfig.java
new file mode 100644
index 0000000..71cd44f
--- /dev/null
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/config/ThreadPoolConfig.java
@@ -0,0 +1,28 @@
+package com.schisandra.share.application.config;
+
+
+import com.schisandra.share.application.factory.CustomNameThreadFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.concurrent.LinkedBlockingDeque;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * 线程池的config管理
+ *
+ * @author: landaiqing
+ * @date: 2024/2/18
+ */
+@Configuration
+public class ThreadPoolConfig {
+
+ @Bean(name = "rotateCaptchaThreadPool")
+ public ThreadPoolExecutor getLabelThreadPool() {
+ return new ThreadPoolExecutor(20, 100, 5,
+ TimeUnit.SECONDS, new LinkedBlockingDeque<>(40),
+ new CustomNameThreadFactory("rotateCaptcha"),
+ new ThreadPoolExecutor.CallerRunsPolicy());
+ }
+}
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/factory/CustomNameThreadFactory.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/factory/CustomNameThreadFactory.java
new file mode 100644
index 0000000..8dd8145
--- /dev/null
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/factory/CustomNameThreadFactory.java
@@ -0,0 +1,49 @@
+package com.schisandra.share.application.factory;
+
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.concurrent.ThreadFactory;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * 自定义名称的线程工厂
+ *
+ * @author: landaiqing
+ * @date: 2024/2/18
+ */
+public class CustomNameThreadFactory implements ThreadFactory {
+
+ private static final AtomicInteger poolNumber = new AtomicInteger(1);
+ private final ThreadGroup group;
+ private final AtomicInteger threadNumber = new AtomicInteger(1);
+ private final String namePrefix;
+
+ public CustomNameThreadFactory(String name) {
+ SecurityManager s = System.getSecurityManager();
+ group = (s != null) ? s.getThreadGroup() :
+ Thread.currentThread().getThreadGroup();
+ if (StringUtils.isBlank(name)) {
+ name = "pool";
+ }
+ namePrefix = name + "-" +
+ poolNumber.getAndIncrement() +
+ "-thread-";
+ }
+
+ @Override
+ public Thread newThread(Runnable r) {
+ Thread t = new Thread(group, r,
+ namePrefix + threadNumber.getAndIncrement(),
+ 0);
+ // 设置线程为非守护线程
+ if (t.isDaemon()){
+ t.setDaemon(false);
+ }
+ // 设置线程优先级为正常优先级
+ if (t.getPriority() != Thread.NORM_PRIORITY){
+ t.setPriority(Thread.NORM_PRIORITY);
+ }
+ return t;
+ }
+
+}
diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareCircleDomainServiceImpl.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareCircleDomainServiceImpl.java
index 0430e29..a528866 100644
--- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareCircleDomainServiceImpl.java
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareCircleDomainServiceImpl.java
@@ -1,20 +1,20 @@
package com.schisandra.share.domain.service.impl;
import com.schisandra.share.common.enums.IsDeletedFlagEnum;
-import com.schisandra.share.domain.convert.SchisandraShareCircleBOConverter;
import com.schisandra.share.domain.bo.SchisandraShareCircleBO;
+import com.schisandra.share.domain.convert.SchisandraShareCircleBOConverter;
import com.schisandra.share.domain.service.SchisandraShareCircleDomainService;
import com.schisandra.share.infra.basic.entity.SchisandraShareCircle;
import com.schisandra.share.infra.basic.service.SchisandraShareCircleService;
import com.schisandra.share.infra.entity.AuthUserInfoEntity;
import com.schisandra.share.infra.rpc.UserRpc;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
-import java.util.List;
import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
/**
* 分享圈 领域service实现了
@@ -63,8 +63,12 @@ public class SchisandraShareCircleDomainServiceImpl implements SchisandraShareCi
List schisandraShareCircleBO_list = SchisandraShareCircleBOConverter.INSTANCE.convertEntityToBOList(schisandraShareCircleService.queryAll());
ArrayList arrayList = new ArrayList<>();
for (SchisandraShareCircleBO schisandraShareCircleBO : schisandraShareCircleBO_list) {
+ CompletableFuture futurePrice = CompletableFuture.supplyAsync(() -> {
+ AuthUserInfoEntity info = userRpc.getUserInfo(schisandraShareCircleBO.getUserId());
+ return info;
+ });
+ AuthUserInfoEntity userInfo = futurePrice.join();
SchisandraShareCircleBO shareCircleBO = new SchisandraShareCircleBO();
- AuthUserInfoEntity info = userRpc.getUserInfo(schisandraShareCircleBO.getUserId());
shareCircleBO.setUserId(schisandraShareCircleBO.getUserId());
shareCircleBO.setParentId(schisandraShareCircleBO.getParentId());
shareCircleBO.setId(schisandraShareCircleBO.getId());
@@ -73,8 +77,8 @@ public class SchisandraShareCircleDomainServiceImpl implements SchisandraShareCi
shareCircleBO.setViews(schisandraShareCircleBO.getViews());
shareCircleBO.setCount(schisandraShareCircleBO.getCount());
shareCircleBO.setName(schisandraShareCircleBO.getName());
- shareCircleBO.setAvatar(info.getAvatar());
- shareCircleBO.setNickName(info.getNickName());
+ shareCircleBO.setAvatar(userInfo.getAvatar());
+ shareCircleBO.setNickName(userInfo.getNickName());
arrayList.add(shareCircleBO);
}
return arrayList;
@@ -83,18 +87,18 @@ public class SchisandraShareCircleDomainServiceImpl implements SchisandraShareCi
@Override
public Boolean updateCircleViews(String Id, Boolean isView) {
if (isView) {
- return schisandraShareCircleService.addView(Id)>0;
- }else {
- return schisandraShareCircleService.delView(Id)>0;
+ return schisandraShareCircleService.addView(Id) > 0;
+ } else {
+ return schisandraShareCircleService.delView(Id) > 0;
}
}
@Override
public Boolean updateCircleCounts(String Id, Boolean isCount) {
if (isCount) {
- return schisandraShareCircleService.addCount(Id)>0;
- }else {
- return schisandraShareCircleService.delCount(Id)>0;
+ return schisandraShareCircleService.addCount(Id) > 0;
+ } else {
+ return schisandraShareCircleService.delCount(Id) > 0;
}
}
diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/resources/mapper/SchisandraShareUrlDao.xml b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/resources/mapper/SchisandraShareUrlDao.xml
index 40ee3b9..bb19cf2 100644
--- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/resources/mapper/SchisandraShareUrlDao.xml
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/resources/mapper/SchisandraShareUrlDao.xml
@@ -5,6 +5,7 @@
+
diff --git a/schisandra-cloud-storage-system/schisandra-cloud-storage-system-application/schisandra-cloud-storage-system-application-controller/src/main/java/com/schisandra/system/application/config/GlobalConfig.java b/schisandra-cloud-storage-system/schisandra-cloud-storage-system-application/schisandra-cloud-storage-system-application-controller/src/main/java/com/schisandra/system/application/config/GlobalConfig.java
new file mode 100644
index 0000000..03de07e
--- /dev/null
+++ b/schisandra-cloud-storage-system/schisandra-cloud-storage-system-application/schisandra-cloud-storage-system-application-controller/src/main/java/com/schisandra/system/application/config/GlobalConfig.java
@@ -0,0 +1,38 @@
+package com.schisandra.system.application.config;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
+
+import java.util.List;
+
+/**
+ * @Classname GlobalConfig
+ * @BelongsProject: schisandra-cloud-storage
+ * @BelongsPackage: com.schisandra.auth.application.common
+ * @Author: schisandra
+ * @CreateTime: 2024-02-16 15:57
+ * @Description: MVC全局处理
+ * @Version: 1.0
+ */
+@Configuration
+public class GlobalConfig extends WebMvcConfigurationSupport {
+
+ @Override
+ protected void configureMessageConverters(List> converters) {
+ super.configureMessageConverters(converters);
+ converters.add(mappingJackson2HttpMessageConverter());
+ }
+
+ private MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
+ ObjectMapper objectMapper = new ObjectMapper();
+ objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
+ objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
+ MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(objectMapper);
+ return converter;
+ }
+}
diff --git a/schisandra-cloud-storage-system/schisandra-cloud-storage-system-application/schisandra-cloud-storage-system-application-controller/src/main/java/com/schisandra/system/application/config/ThreadPoolConfig.java b/schisandra-cloud-storage-system/schisandra-cloud-storage-system-application/schisandra-cloud-storage-system-application-controller/src/main/java/com/schisandra/system/application/config/ThreadPoolConfig.java
new file mode 100644
index 0000000..a355b95
--- /dev/null
+++ b/schisandra-cloud-storage-system/schisandra-cloud-storage-system-application/schisandra-cloud-storage-system-application-controller/src/main/java/com/schisandra/system/application/config/ThreadPoolConfig.java
@@ -0,0 +1,29 @@
+package com.schisandra.system.application.config;
+
+
+
+import com.schisandra.system.application.factory.CustomNameThreadFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.concurrent.LinkedBlockingDeque;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * 线程池的config管理
+ *
+ * @author: landaiqing
+ * @date: 2024/2/18
+ */
+@Configuration
+public class ThreadPoolConfig {
+
+ @Bean(name = "rotateCaptchaThreadPool")
+ public ThreadPoolExecutor getLabelThreadPool() {
+ return new ThreadPoolExecutor(20, 100, 5,
+ TimeUnit.SECONDS, new LinkedBlockingDeque<>(40),
+ new CustomNameThreadFactory("rotateCaptcha"),
+ new ThreadPoolExecutor.CallerRunsPolicy());
+ }
+}
diff --git a/schisandra-cloud-storage-system/schisandra-cloud-storage-system-application/schisandra-cloud-storage-system-application-controller/src/main/java/com/schisandra/system/application/factory/CustomNameThreadFactory.java b/schisandra-cloud-storage-system/schisandra-cloud-storage-system-application/schisandra-cloud-storage-system-application-controller/src/main/java/com/schisandra/system/application/factory/CustomNameThreadFactory.java
new file mode 100644
index 0000000..85ba64c
--- /dev/null
+++ b/schisandra-cloud-storage-system/schisandra-cloud-storage-system-application/schisandra-cloud-storage-system-application-controller/src/main/java/com/schisandra/system/application/factory/CustomNameThreadFactory.java
@@ -0,0 +1,49 @@
+package com.schisandra.system.application.factory;
+
+import org.apache.commons.lang3.StringUtils;
+
+import java.util.concurrent.ThreadFactory;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * 自定义名称的线程工厂
+ *
+ * @author: landaiqing
+ * @date: 2024/2/18
+ */
+public class CustomNameThreadFactory implements ThreadFactory {
+
+ private static final AtomicInteger poolNumber = new AtomicInteger(1);
+ private final ThreadGroup group;
+ private final AtomicInteger threadNumber = new AtomicInteger(1);
+ private final String namePrefix;
+
+ public CustomNameThreadFactory(String name) {
+ SecurityManager s = System.getSecurityManager();
+ group = (s != null) ? s.getThreadGroup() :
+ Thread.currentThread().getThreadGroup();
+ if (StringUtils.isBlank(name)) {
+ name = "pool";
+ }
+ namePrefix = name + "-" +
+ poolNumber.getAndIncrement() +
+ "-thread-";
+ }
+
+ @Override
+ public Thread newThread(Runnable r) {
+ Thread t = new Thread(group, r,
+ namePrefix + threadNumber.getAndIncrement(),
+ 0);
+ // 设置线程为非守护线程
+ if (t.isDaemon()){
+ t.setDaemon(false);
+ }
+ // 设置线程优先级为正常优先级
+ if (t.getPriority() != Thread.NORM_PRIORITY){
+ t.setPriority(Thread.NORM_PRIORITY);
+ }
+ return t;
+ }
+
+}
From ed11089c34b2d713c88ccc481c1b207371d0c1d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BB=BA=E6=98=8E=20=E6=B2=88?= <2431685932@qq.com>
Date: Tue, 23 Jul 2024 14:24:34 +0800
Subject: [PATCH 4/6] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../share/common/enums/TypeName.java | 56 +++++++++++++++++++
.../impl/SchisandraShareUrlServiceImpl.java | 7 ++-
2 files changed, 62 insertions(+), 1 deletion(-)
create mode 100644 schisandra-cloud-storage-share/schisandra-cloud-storage-share-common/src/main/java/com/schisandra/share/common/enums/TypeName.java
diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-common/src/main/java/com/schisandra/share/common/enums/TypeName.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-common/src/main/java/com/schisandra/share/common/enums/TypeName.java
new file mode 100644
index 0000000..673dfe1
--- /dev/null
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-common/src/main/java/com/schisandra/share/common/enums/TypeName.java
@@ -0,0 +1,56 @@
+package com.schisandra.share.common.enums;
+
+public enum TypeName {
+ /**
+ * 阿里oss
+ */
+ 阿里云OSS("ali"),
+ /**
+ * Minio oss
+ */
+ MinIO("minio"),
+ /**
+ * 又拍OSS
+ */
+ 又拍云USS("up"),
+ /**
+ * SFTP
+ */
+ sftp("sftp"),
+ /**
+ * 腾讯OSS
+ */
+ 腾讯云COS("tencent"),
+ /**
+ * 百度OSS
+ */
+ 百度云BOS("baidu"),
+ /**
+ * 华为OSS
+ */
+ 华为云OBS("huawei"),
+ /**
+ * 网易 OSS
+ */
+ 网易云NOS("wangyi"),
+ /**
+ * 七牛 oss
+ */
+ 七牛云Kodo("qiniu");
+
+
+ public String type;
+
+
+ TypeName(String type) {
+ this.type = type;
+ }
+ public static TypeName getByType(String type) {
+ for (TypeName resultKeyEnum : TypeName.values()) {
+ if (resultKeyEnum.type.equals(type)) {
+ return resultKeyEnum;
+ }
+ }
+ return null;
+ }
+}
diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraShareUrlServiceImpl.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraShareUrlServiceImpl.java
index 3e8e138..c9af07b 100644
--- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraShareUrlServiceImpl.java
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraShareUrlServiceImpl.java
@@ -1,6 +1,6 @@
package com.schisandra.share.infra.basic.service.impl;
-import com.schisandra.share.infra.basic.entity.SchisandraShareTags;
+import com.schisandra.share.common.enums.TypeName;
import com.schisandra.share.infra.basic.entity.SchisandraShareUrl;
import com.schisandra.share.infra.basic.dao.SchisandraShareUrlDao;
import com.schisandra.share.infra.basic.service.SchisandraShareUrlService;
@@ -72,6 +72,11 @@ public class SchisandraShareUrlServiceImpl implements SchisandraShareUrlService
@Override
public int insertBatch(List schisandraShareUrls) {
+ for (SchisandraShareUrl schisandraShareUrl : schisandraShareUrls) {
+ if(schisandraShareUrl.getTypeName()!=null){
+ schisandraShareUrl.setTypeName(String.valueOf(TypeName.getByType(schisandraShareUrl.getTypeName())));
+ }else continue;
+ }
return this.schisandraShareUrlDao.insertBatch(schisandraShareUrls);
}
From 9bf18813107b1de04160fa335ce6b3029b81a85e Mon Sep 17 00:00:00 2001
From: landaiqing <3517283258@qq.com>
Date: Tue, 23 Jul 2024 14:53:52 +0800
Subject: [PATCH 5/6] =?UTF-8?q?fix:=20bug=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../application/config/ThreadPoolConfig.java | 2 +-
.../SchisandraShareDetailController.java | 5 +-
.../share/common/enums/TypeName.java | 22 ++++---
.../SchisandraShareDetailDomainService.java | 6 +-
...chisandraShareDetailDomainServiceImpl.java | 66 +++++++++----------
.../service/SchisandraShareDetailService.java | 2 +
.../SchisandraShareDetailServiceImpl.java | 9 +++
.../impl/SchisandraShareUrlServiceImpl.java | 10 +--
8 files changed, 62 insertions(+), 60 deletions(-)
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/config/ThreadPoolConfig.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/config/ThreadPoolConfig.java
index 71cd44f..32a4d60 100644
--- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/config/ThreadPoolConfig.java
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-application/schisandra-cloud-storage-share-application-controller/src/main/java/com/schisandra/share/application/config/ThreadPoolConfig.java
@@ -22,7 +22,7 @@ public class ThreadPoolConfig {
public ThreadPoolExecutor getLabelThreadPool() {
return new ThreadPoolExecutor(20, 100, 5,
TimeUnit.SECONDS, new LinkedBlockingDeque<>(40),
- new CustomNameThreadFactory("rotateCaptcha"),
+ new CustomNameThreadFactory("share"),
new ThreadPoolExecutor.CallerRunsPolicy());
}
}
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/SchisandraShareDetailController.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/SchisandraShareDetailController.java
index 222623c..5725920 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/SchisandraShareDetailController.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/SchisandraShareDetailController.java
@@ -105,7 +105,8 @@ public class SchisandraShareDetailController {
@GetMapping("returncount")
public Result returncount(String detailId) {
try {
- return Result.ok(schisandraShareDetailDomainService.getDetailsById(detailId).getCommentCount());
+ Long count = schisandraShareDetailDomainService.getDetailsCommentCount(detailId);
+ return Result.ok(count);
} catch (Exception e) {
return Result.fail("获取评论数量失败!!!");
}
@@ -178,7 +179,7 @@ public class SchisandraShareDetailController {
@GetMapping("get_detail")
public Result selectDetail(@RequestParam("Id") String Id,String userId) {
try {
- SchisandraShareDetailBO resultList = schisandraShareDetailDomainService.getDetailsById2(Id,userId);
+ SchisandraShareDetailBO resultList = schisandraShareDetailDomainService.getDetailsById(Id,userId);
HashMap map = new HashMap<>();
map.put("Id", Id);
map.put("Views", true);
diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-common/src/main/java/com/schisandra/share/common/enums/TypeName.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-common/src/main/java/com/schisandra/share/common/enums/TypeName.java
index 673dfe1..4bfa468 100644
--- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-common/src/main/java/com/schisandra/share/common/enums/TypeName.java
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-common/src/main/java/com/schisandra/share/common/enums/TypeName.java
@@ -4,46 +4,48 @@ public enum TypeName {
/**
* 阿里oss
*/
- 阿里云OSS("ali"),
+ ali("ali","阿里云OSS"),
/**
* Minio oss
*/
- MinIO("minio"),
+ minio("minio","MinIO"),
/**
* 又拍OSS
*/
- 又拍云USS("up"),
+ up("up","又拍OSS"),
/**
* SFTP
*/
- sftp("sftp"),
+ sftp("sftp","sftp"),
/**
* 腾讯OSS
*/
- 腾讯云COS("tencent"),
+ tencent("tencent","腾讯云COS"),
/**
* 百度OSS
*/
- 百度云BOS("baidu"),
+ baidu("baidu","百度网盘"),
/**
* 华为OSS
*/
- 华为云OBS("huawei"),
+ huawei("huawei","华为云OSS"),
/**
* 网易 OSS
*/
- 网易云NOS("wangyi"),
+ wangyi("wangyi","网易云"),
/**
* 七牛 oss
*/
- 七牛云Kodo("qiniu");
+ qiniu("qiniu","七牛云OSS");
public String type;
+ public String typeName;
- TypeName(String type) {
+ TypeName(String type,String typeName) {
this.type = type;
+ this.typeName = typeName;
}
public static TypeName getByType(String type) {
for (TypeName resultKeyEnum : TypeName.values()) {
diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/SchisandraShareDetailDomainService.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/SchisandraShareDetailDomainService.java
index 43519f9..c4cb439 100644
--- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/SchisandraShareDetailDomainService.java
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/SchisandraShareDetailDomainService.java
@@ -29,9 +29,7 @@ public interface SchisandraShareDetailDomainService {
List list(String circleId,String userId);
- SchisandraShareDetailBO getDetailsById2(String Id,String userId);
-
- SchisandraShareDetailBO getDetailsById(String Id);
+ SchisandraShareDetailBO getDetailsById(String Id,String userId);
Boolean addDetail(SchisandraShareDetailBO schisandraShareDetailBO);
@@ -43,4 +41,6 @@ public interface SchisandraShareDetailDomainService {
Boolean updateDetailLikes(String id,Boolean isLike);
List queryAllDetails();
+
+ Long getDetailsCommentCount(String detailId);
}
diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareDetailDomainServiceImpl.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareDetailDomainServiceImpl.java
index a7cec08..05dbd39 100644
--- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareDetailDomainServiceImpl.java
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareDetailDomainServiceImpl.java
@@ -14,10 +14,14 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
import javax.annotation.Resource;
+import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
+import java.util.Objects;
import java.util.stream.Collectors;
+import static com.schisandra.share.common.enums.TypeName.getByType;
+
/**
* 分享详情表 领域service实现了
*
@@ -70,7 +74,7 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
@Transactional
@Override
- public List list(String circleId,String userId) {
+ public List list(String circleId, String userId) {
List schisandraShareDetails = schisandraShareDetailService.queryByCircleId(circleId);
List shareDetailBOList = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetails);
LinkedList resultList = new LinkedList<>();
@@ -79,7 +83,7 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
SchisandraShareDetailBO schisandraShareDetailBO = new SchisandraShareDetailBO();
SchisandraUserLikesComment schisandraUserLikesComment =
schisandraUserLikesCommentService.queryByuserIdAndCommentId(shareDetailBO.getId(), userId);
- if(schisandraUserLikesComment!=null){
+ if (schisandraUserLikesComment != null) {
schisandraShareDetailBO.setIsLike(true);
}
schisandraShareDetailBO.setCircleId(shareDetailBO.getCircleId());
@@ -106,17 +110,17 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
}
@Override
- public SchisandraShareDetailBO getDetailsById2(String Id,String userId) {
+ public SchisandraShareDetailBO getDetailsById(String Id, String userId) {
SchisandraShareDetail schisandraShareDetails = schisandraShareDetailService.queryById(Id);
SchisandraShareDetailBO schisandraShareDetailBO = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBO(schisandraShareDetails);
SchisandraUserFavorites schisandraUserFavorites = schisandraUserFavoritesService.selectFavor(Id, userId);
- if(schisandraUserFavorites!=null){
+ if (schisandraUserFavorites != null) {
schisandraShareDetailBO.setIsFavor(true);
}
SchisandraUserLikesDetail schisandraUserLikesDetail = schisandraUserLikesDetailService.selectLike(Id, userId);
- if(schisandraUserLikesDetail!=null){
+ if (schisandraUserLikesDetail != null) {
schisandraShareDetailBO.setIsLike(true);
}
@@ -142,35 +146,6 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
return schisandraShareDetailBO;
}
-
- @Override
- public SchisandraShareDetailBO getDetailsById(String Id) {
- SchisandraShareDetail schisandraShareDetails = schisandraShareDetailService.queryById(Id);
- SchisandraShareDetailBO schisandraShareDetailBO = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBO(schisandraShareDetails);
-
- AuthUserInfoEntity userInfo = userRpc.getUserInfo(schisandraShareDetailBO.getUserId());
- schisandraShareDetailBO.setAvatar(userInfo.getAvatar());
- schisandraShareDetailBO.setNickname(userInfo.getNickName());
-
- List schisandraShareUrlDetailS = schisandraShareUrlDetailService.queryByDetailId(Id);
- List schisandraShareUrlDetailBOS = SchisandraShareUrlDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareUrlDetailS);
- Assert.notNull(schisandraShareUrlDetailBOS.stream().map(SchisandraShareUrlDetailBO::getUrlId).collect(Collectors.toList()), "分享链接为空");
- List urlIds = schisandraShareUrlDetailBOS.stream().map(SchisandraShareUrlDetailBO::getUrlId).collect(Collectors.toList());
-
- List schisandraShareUrlS = schisandraShareUrlService.queryByIds(urlIds);
- List schisandraShareUrlBOS = SchisandraShareUrlBOConverter.INSTANCE.convertEntityToBOList(schisandraShareUrlS);
- schisandraShareDetailBO.setUrls(schisandraShareUrlBOS);
-
- List schisandraShareDetailTags = schisandraShareDetailTagService.queryTagIdsByDetailId(schisandraShareDetailBO.getId());
- List shareDetailTagBOList = SchisandraShareDetailTagBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetailTags);
- List tagIds = shareDetailTagBOList.stream().map(SchisandraShareDetailTagBO::getTagId).collect(Collectors.toList());
- List shareTagList = schisandraShareTagsService.queryByIds(tagIds);
- List shareTagsBOList = SchisandraShareTagsBOConverter.INSTANCE.convertEntityToBOList(shareTagList);
- schisandraShareDetailBO.setTags(shareTagsBOList);
-
- return schisandraShareDetailBO;
- }
-
@Override
public Boolean addDetail(SchisandraShareDetailBO schisandraShareDetailBO) {
SchisandraShareDetail schisandraShareDetail = SchisandraShareDetailBOConverter.INSTANCE.convertBOToEntity(schisandraShareDetailBO);
@@ -186,10 +161,23 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
schisandraShareDetailTagService.insert(schisandraShareDetailTag);
}
-
List urls_list = schisandraShareDetailBO.getUrls();
List urls = SchisandraShareUrlBOConverter.INSTANCE.convertBOToEntityList(urls_list);
- schisandraShareUrlService.insertBatch(urls);
+ ArrayList newUrls = new ArrayList<>();
+ urls.forEach(url -> {
+ SchisandraShareUrl schisandraShareUrl = new SchisandraShareUrl();
+ schisandraShareUrl.setUrl(url.getUrl());
+ schisandraShareUrl.setDescription(url.getDescription());
+ schisandraShareUrl.setType(url.getType());
+ if (url.getPassword() == null) {
+ schisandraShareUrl.setPassword("");
+ }
+ schisandraShareUrl.setPassword(url.getPassword());
+ schisandraShareUrl.setTypeName(Objects.requireNonNull(getByType(url.getType())).typeName);
+ newUrls.add(schisandraShareUrl);
+ });
+ int insertBatch = schisandraShareUrlService.insertBatch(newUrls);
+ assert insertBatch > 0;
for (SchisandraShareUrl url : urls) {
SchisandraShareUrlDetail schisandraShareUrlDetail = new SchisandraShareUrlDetail();
schisandraShareUrlDetail.setUrlId(url.getId());
@@ -264,4 +252,10 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
List shareDetailBOList = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetails);
return shareDetailBOList;
}
+
+ @Override
+ public Long getDetailsCommentCount(String detailId) {
+ Long count = schisandraShareDetailService.getDetailsCommentCount(detailId);
+ return count;
+ }
}
diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/SchisandraShareDetailService.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/SchisandraShareDetailService.java
index 2556f5d..5859d56 100644
--- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/SchisandraShareDetailService.java
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/SchisandraShareDetailService.java
@@ -75,4 +75,6 @@ public interface SchisandraShareDetailService {
List queryAllDeatiles();
List queryByIds(List Ids);
+
+ Long getDetailsCommentCount(String detailId);
}
diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraShareDetailServiceImpl.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraShareDetailServiceImpl.java
index 3abdf99..cae5bda 100644
--- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraShareDetailServiceImpl.java
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraShareDetailServiceImpl.java
@@ -1,5 +1,6 @@
package com.schisandra.share.infra.basic.service.impl;
+import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.update.UpdateWrapper;
import com.mybatisflex.core.util.UpdateEntity;
import com.schisandra.share.infra.basic.dao.SchisandraShareDetailDao;
@@ -142,6 +143,14 @@ public class SchisandraShareDetailServiceImpl implements SchisandraShareDetailSe
return this.schisandraShareDetailDao.selectListByIds(ids);
}
+ @Override
+ public Long getDetailsCommentCount(String detailId) {
+ QueryWrapper queryWrapper = new QueryWrapper();
+ queryWrapper.select(SchisandraShareDetailTableDef.SCHISANDRA_SHARE_DETAIL.COMMENT_COUNT).from(SchisandraShareDetailTableDef.SCHISANDRA_SHARE_DETAIL).where(SchisandraShareDetailTableDef.SCHISANDRA_SHARE_DETAIL.ID.eq(detailId));
+
+ return this.schisandraShareDetailDao.selectOneByQueryAs(queryWrapper, Long.class);
+ }
+
@Override
public List queryAllDeatiles() {
return schisandraShareDetailDao.selectAll();
diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraShareUrlServiceImpl.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraShareUrlServiceImpl.java
index c9af07b..f8c6086 100644
--- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraShareUrlServiceImpl.java
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-infra/src/main/java/com/schisandra/share/infra/basic/service/impl/SchisandraShareUrlServiceImpl.java
@@ -1,8 +1,7 @@
package com.schisandra.share.infra.basic.service.impl;
-import com.schisandra.share.common.enums.TypeName;
-import com.schisandra.share.infra.basic.entity.SchisandraShareUrl;
import com.schisandra.share.infra.basic.dao.SchisandraShareUrlDao;
+import com.schisandra.share.infra.basic.entity.SchisandraShareUrl;
import com.schisandra.share.infra.basic.service.SchisandraShareUrlService;
import org.springframework.stereotype.Service;
@@ -51,7 +50,7 @@ public class SchisandraShareUrlServiceImpl implements SchisandraShareUrlService
*/
@Override
public int update(SchisandraShareUrl schisandraShareUrl) {
- return this.schisandraShareUrlDao.update(schisandraShareUrl,true);
+ return this.schisandraShareUrlDao.update(schisandraShareUrl, true);
}
/**
@@ -72,11 +71,6 @@ public class SchisandraShareUrlServiceImpl implements SchisandraShareUrlService
@Override
public int insertBatch(List schisandraShareUrls) {
- for (SchisandraShareUrl schisandraShareUrl : schisandraShareUrls) {
- if(schisandraShareUrl.getTypeName()!=null){
- schisandraShareUrl.setTypeName(String.valueOf(TypeName.getByType(schisandraShareUrl.getTypeName())));
- }else continue;
- }
return this.schisandraShareUrlDao.insertBatch(schisandraShareUrls);
}
From 4e92d262f629903c4b39f5b5e9c7f77379cd6c6b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BB=BA=E6=98=8E=20=E6=B2=88?= <2431685932@qq.com>
Date: Tue, 23 Jul 2024 15:20:47 +0800
Subject: [PATCH 6/6] =?UTF-8?q?feat:=20=E5=A4=9A=E7=BA=BF=E7=A8=8B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...SchisandraShareCommentReplyController.java | 2 --
...draShareCommentReplyDomainServiceImpl.java | 31 ++++++++++++-------
...chisandraShareDetailDomainServiceImpl.java | 15 +++++++--
3 files changed, 33 insertions(+), 15 deletions(-)
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/SchisandraShareCommentReplyController.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/SchisandraShareCommentReplyController.java
index c5db61f..d67dcdf 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/SchisandraShareCommentReplyController.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/SchisandraShareCommentReplyController.java
@@ -252,8 +252,6 @@ public class SchisandraShareCommentReplyController {
Preconditions.checkNotNull(schisandraShareCommentReplyDTO.getDetailId(), "分享文章id不能为空");
Preconditions.checkNotNull(schisandraShareCommentReplyDTO.getUserId(), "发布人id不能为空");
SchisandraShareCommentReplyBO schisandraShareCommentReplyBO = SchisandraShareCommentReplyDTOConverter.INSTANCE.convertDTOToBO(schisandraShareCommentReplyDTO);
-// String result = SensitiveWordHelper.replace(schisandraShareCommentReplyBO.getContent());
-// schisandraShareCommentReplyBO.setContent(result);
caffeineUtil.caffeineBuild().invalidate("listcommenthot" + schisandraShareCommentReplyBO.getDetailId());
caffeineUtil.caffeineBuild().invalidate("listcomment" + schisandraShareCommentReplyBO.getDetailId());
return Result.ok(schisandraShareCommentReplyDomainService.addComment(schisandraShareCommentReplyBO));
diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareCommentReplyDomainServiceImpl.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareCommentReplyDomainServiceImpl.java
index 0abdb3b..1033ead 100644
--- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareCommentReplyDomainServiceImpl.java
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareCommentReplyDomainServiceImpl.java
@@ -1,8 +1,5 @@
package com.schisandra.share.domain.service.impl;
-import com.jd.platform.async.executor.Async;
-import com.jd.platform.async.worker.WorkResult;
-import com.jd.platform.async.wrapper.WorkerWrapper;
import com.schisandra.share.common.enums.IsDeletedFlagEnum;
import com.schisandra.share.domain.bo.SchisandraShareCommentReplyBO;
import com.schisandra.share.domain.convert.SchisandraShareCommentReplyBOConverter;
@@ -20,8 +17,8 @@ import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import javax.annotation.Resource;
-import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.CompletableFuture;
/**
@@ -97,23 +94,27 @@ public class SchisandraShareCommentReplyDomainServiceImpl implements SchisandraS
public List listComment(String detailId, String userId) {
List schisandraShareComments = schisandraShareCommentReplyService.listComment(detailId);
List schisandraShareCommentBOS = SchisandraShareCommentReplyBOConverter.INSTANCE.convertEntityToBOList(schisandraShareComments);
- schisandraShareCommentBOS.forEach(schisandraShareCommentReplyBO -> {
+ for (SchisandraShareCommentReplyBO schisandraShareCommentReplyBO : schisandraShareCommentBOS) {
SchisandraUserLikesComment schisandraUserLikesComment =
schisandraUserLikesCommentService.queryByuserIdAndCommentId(schisandraShareCommentReplyBO.getId(), userId);
- if(schisandraUserLikesComment!=null){
+ if (schisandraUserLikesComment != null) {
schisandraShareCommentReplyBO.setIsLike(true);
}
- AuthUserInfoEntity userInfo = userRpc.getUserInfo(schisandraShareCommentReplyBO.getUserId());
+ CompletableFuture futurePrice = CompletableFuture.supplyAsync(() -> {
+ AuthUserInfoEntity info = userRpc.getUserInfo(schisandraShareCommentReplyBO.getUserId());
+ return info;
+ });
+ AuthUserInfoEntity userInfo = futurePrice.join();
schisandraShareCommentReplyBO.setNick(userInfo.getNickName());
schisandraShareCommentReplyBO.setAvatar(userInfo.getAvatar());
AuthUserAddressEntity userAddress = addressRpc.getUserAddress(schisandraShareCommentReplyBO.getUserId());
- if(userAddress!=null){
+ if (userAddress != null) {
schisandraShareCommentReplyBO.setLocation(userAddress.getLocation());
schisandraShareCommentReplyBO.setBrowser(userAddress.getBrowser());
schisandraShareCommentReplyBO.setBrowserVersion(userAddress.getBrowserVersion());
}
- });
+ }
return schisandraShareCommentBOS;
}
@@ -127,7 +128,11 @@ public class SchisandraShareCommentReplyDomainServiceImpl implements SchisandraS
if(schisandraUserLikesComment!=null){
schisandraShareCommentReplyBO.setIsLike(true);
}
- AuthUserInfoEntity userInfo = userRpc.getUserInfo(schisandraShareCommentReplyBO.getUserId());
+ CompletableFuture futurePrice = CompletableFuture.supplyAsync(() -> {
+ AuthUserInfoEntity info = userRpc.getUserInfo(schisandraShareCommentReplyBO.getUserId());
+ return info;
+ });
+ AuthUserInfoEntity userInfo = futurePrice.join();
schisandraShareCommentReplyBO.setNick(userInfo.getNickName());
schisandraShareCommentReplyBO.setAvatar(userInfo.getAvatar());
AuthUserAddressEntity userAddress = addressRpc.getUserAddress(schisandraShareCommentReplyBO.getUserId());
@@ -150,7 +155,11 @@ public class SchisandraShareCommentReplyDomainServiceImpl implements SchisandraS
if(schisandraUserLikesComment!=null){
schisandraShareReplyBO.setIsLike(true);
}
- AuthUserInfoEntity userInfo = userRpc.getUserInfo(schisandraShareReplyBO.getUserId());
+ CompletableFuture futurePrice = CompletableFuture.supplyAsync(() -> {
+ AuthUserInfoEntity info = userRpc.getUserInfo(schisandraShareReplyBO.getUserId());
+ return info;
+ });
+ AuthUserInfoEntity userInfo = futurePrice.join();
if (schisandraShareReplyBO.getReplyUser() != null) {
AuthUserInfoEntity userInfo2 = userRpc.getUserInfo(schisandraShareReplyBO.getReplyUser());
diff --git a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareDetailDomainServiceImpl.java b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareDetailDomainServiceImpl.java
index 05dbd39..0c4fde5 100644
--- a/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareDetailDomainServiceImpl.java
+++ b/schisandra-cloud-storage-share/schisandra-cloud-storage-share-domain/src/main/java/com/schisandra/share/domain/service/impl/SchisandraShareDetailDomainServiceImpl.java
@@ -18,6 +18,7 @@ import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
+import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
import static com.schisandra.share.common.enums.TypeName.getByType;
@@ -79,7 +80,13 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
List shareDetailBOList = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetails);
LinkedList resultList = new LinkedList<>();
shareDetailBOList.forEach(shareDetailBO -> {
- AuthUserInfoEntity userInfo = userRpc.getUserInfo(shareDetailBO.getUserId());
+
+ CompletableFuture futurePrice = CompletableFuture.supplyAsync(() -> {
+ AuthUserInfoEntity info = userRpc.getUserInfo(shareDetailBO.getUserId());
+ return info;
+ });
+ AuthUserInfoEntity userInfo = futurePrice.join();
+
SchisandraShareDetailBO schisandraShareDetailBO = new SchisandraShareDetailBO();
SchisandraUserLikesComment schisandraUserLikesComment =
schisandraUserLikesCommentService.queryByuserIdAndCommentId(shareDetailBO.getId(), userId);
@@ -193,7 +200,11 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
List shareDetailBOList = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetails);
LinkedList resultList = new LinkedList<>();
shareDetailBOList.forEach(shareDetailBO -> {
- AuthUserInfoEntity userInfo = userRpc.getUserInfo(shareDetailBO.getUserId());
+ CompletableFuture futurePrice = CompletableFuture.supplyAsync(() -> {
+ AuthUserInfoEntity info = userRpc.getUserInfo(shareDetailBO.getUserId());
+ return info;
+ });
+ AuthUserInfoEntity userInfo = futurePrice.join();
SchisandraShareDetailBO schisandraShareDetailBO = new SchisandraShareDetailBO();
schisandraShareDetailBO.setCircleId(shareDetailBO.getCircleId());
schisandraShareDetailBO.setIcon(shareDetailBO.getIcon());