Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
zlg
2024-07-23 15:29:20 +08:00
24 changed files with 471 additions and 251 deletions

View File

@@ -43,7 +43,7 @@ spring:
# Redis服务器连接密码默认为空 # Redis服务器连接密码默认为空
password: LDQ20020618xxx password: LDQ20020618xxx
# 连接超时时间 # 连接超时时间
timeout: 2s timeout: 10s
lettuce: lettuce:
pool: pool:
# 连接池最大连接数 # 连接池最大连接数

View File

@@ -43,7 +43,7 @@ spring:
# Redis服务器连接密码默认为空 # Redis服务器连接密码默认为空
password: LDQ20020618xxx password: LDQ20020618xxx
# 连接超时时间 # 连接超时时间
timeout: 2s timeout: 10s
lettuce: lettuce:
pool: pool:
# 连接池最大连接数 # 连接池最大连接数

View File

@@ -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<HttpMessageConverter<?>> 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;
}
}

View File

@@ -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("share"),
new ThreadPoolExecutor.CallerRunsPolicy());
}
}

View File

@@ -252,8 +252,6 @@ public class SchisandraShareCommentReplyController {
Preconditions.checkNotNull(schisandraShareCommentReplyDTO.getDetailId(), "分享文章id不能为空"); Preconditions.checkNotNull(schisandraShareCommentReplyDTO.getDetailId(), "分享文章id不能为空");
Preconditions.checkNotNull(schisandraShareCommentReplyDTO.getUserId(), "发布人id不能为空"); Preconditions.checkNotNull(schisandraShareCommentReplyDTO.getUserId(), "发布人id不能为空");
SchisandraShareCommentReplyBO schisandraShareCommentReplyBO = SchisandraShareCommentReplyDTOConverter.INSTANCE.convertDTOToBO(schisandraShareCommentReplyDTO); SchisandraShareCommentReplyBO schisandraShareCommentReplyBO = SchisandraShareCommentReplyDTOConverter.INSTANCE.convertDTOToBO(schisandraShareCommentReplyDTO);
// String result = SensitiveWordHelper.replace(schisandraShareCommentReplyBO.getContent());
// schisandraShareCommentReplyBO.setContent(result);
caffeineUtil.caffeineBuild().invalidate("listcommenthot" + schisandraShareCommentReplyBO.getDetailId()); caffeineUtil.caffeineBuild().invalidate("listcommenthot" + schisandraShareCommentReplyBO.getDetailId());
caffeineUtil.caffeineBuild().invalidate("listcomment" + schisandraShareCommentReplyBO.getDetailId()); caffeineUtil.caffeineBuild().invalidate("listcomment" + schisandraShareCommentReplyBO.getDetailId());
return Result.ok(schisandraShareCommentReplyDomainService.addComment(schisandraShareCommentReplyBO)); return Result.ok(schisandraShareCommentReplyDomainService.addComment(schisandraShareCommentReplyBO));

View File

@@ -105,7 +105,8 @@ public class SchisandraShareDetailController {
@GetMapping("returncount") @GetMapping("returncount")
public Result returncount(String detailId) { public Result returncount(String detailId) {
try { try {
return Result.ok(schisandraShareDetailDomainService.getDetailsById(detailId).getCommentCount()); Long count = schisandraShareDetailDomainService.getDetailsCommentCount(detailId);
return Result.ok(count);
} catch (Exception e) { } catch (Exception e) {
return Result.fail("获取评论数量失败!!!"); return Result.fail("获取评论数量失败!!!");
} }
@@ -178,7 +179,7 @@ public class SchisandraShareDetailController {
@GetMapping("get_detail") @GetMapping("get_detail")
public Result selectDetail(@RequestParam("Id") String Id,String userId) { public Result selectDetail(@RequestParam("Id") String Id,String userId) {
try { try {
SchisandraShareDetailBO resultList = schisandraShareDetailDomainService.getDetailsById2(Id,userId); SchisandraShareDetailBO resultList = schisandraShareDetailDomainService.getDetailsById(Id,userId);
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("Id", Id); map.put("Id", Id);
map.put("Views", true); map.put("Views", true);

View File

@@ -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;
}
}

View File

@@ -0,0 +1,58 @@
package com.schisandra.share.common.enums;
public enum TypeName {
/**
* 阿里oss
*/
ali("ali","阿里云OSS"),
/**
* Minio oss
*/
minio("minio","MinIO"),
/**
* 又拍OSS
*/
up("up","又拍OSS"),
/**
* SFTP
*/
sftp("sftp","sftp"),
/**
* 腾讯OSS
*/
tencent("tencent","腾讯云COS"),
/**
* 百度OSS
*/
baidu("baidu","百度网盘"),
/**
* 华为OSS
*/
huawei("huawei","华为云OSS"),
/**
* 网易 OSS
*/
wangyi("wangyi","网易云"),
/**
* 七牛 oss
*/
qiniu("qiniu","七牛云OSS");
public String type;
public String typeName;
TypeName(String type,String typeName) {
this.type = type;
this.typeName = typeName;
}
public static TypeName getByType(String type) {
for (TypeName resultKeyEnum : TypeName.values()) {
if (resultKeyEnum.type.equals(type)) {
return resultKeyEnum;
}
}
return null;
}
}

View File

@@ -29,9 +29,7 @@ public interface SchisandraShareDetailDomainService {
List<SchisandraShareDetailBO> list(String circleId,String userId); List<SchisandraShareDetailBO> list(String circleId,String userId);
SchisandraShareDetailBO getDetailsById2(String Id,String userId); SchisandraShareDetailBO getDetailsById(String Id,String userId);
SchisandraShareDetailBO getDetailsById(String Id);
Boolean addDetail(SchisandraShareDetailBO schisandraShareDetailBO); Boolean addDetail(SchisandraShareDetailBO schisandraShareDetailBO);
@@ -43,4 +41,6 @@ public interface SchisandraShareDetailDomainService {
Boolean updateDetailLikes(String id,Boolean isLike); Boolean updateDetailLikes(String id,Boolean isLike);
List<SchisandraShareDetailBO> queryAllDetails(); List<SchisandraShareDetailBO> queryAllDetails();
Long getDetailsCommentCount(String detailId);
} }

View File

@@ -1,20 +1,20 @@
package com.schisandra.share.domain.service.impl; package com.schisandra.share.domain.service.impl;
import com.schisandra.share.common.enums.IsDeletedFlagEnum; 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.bo.SchisandraShareCircleBO;
import com.schisandra.share.domain.convert.SchisandraShareCircleBOConverter;
import com.schisandra.share.domain.service.SchisandraShareCircleDomainService; import com.schisandra.share.domain.service.SchisandraShareCircleDomainService;
import com.schisandra.share.infra.basic.entity.SchisandraShareCircle; import com.schisandra.share.infra.basic.entity.SchisandraShareCircle;
import com.schisandra.share.infra.basic.service.SchisandraShareCircleService; import com.schisandra.share.infra.basic.service.SchisandraShareCircleService;
import com.schisandra.share.infra.entity.AuthUserInfoEntity; import com.schisandra.share.infra.entity.AuthUserInfoEntity;
import com.schisandra.share.infra.rpc.UserRpc; import com.schisandra.share.infra.rpc.UserRpc;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
/** /**
* 分享圈 领域service实现了 * 分享圈 领域service实现了
@@ -63,8 +63,12 @@ public class SchisandraShareCircleDomainServiceImpl implements SchisandraShareCi
List<SchisandraShareCircleBO> schisandraShareCircleBO_list = SchisandraShareCircleBOConverter.INSTANCE.convertEntityToBOList(schisandraShareCircleService.queryAll()); List<SchisandraShareCircleBO> schisandraShareCircleBO_list = SchisandraShareCircleBOConverter.INSTANCE.convertEntityToBOList(schisandraShareCircleService.queryAll());
ArrayList<SchisandraShareCircleBO> arrayList = new ArrayList<>(); ArrayList<SchisandraShareCircleBO> arrayList = new ArrayList<>();
for (SchisandraShareCircleBO schisandraShareCircleBO : schisandraShareCircleBO_list) { for (SchisandraShareCircleBO schisandraShareCircleBO : schisandraShareCircleBO_list) {
CompletableFuture<AuthUserInfoEntity> futurePrice = CompletableFuture.supplyAsync(() -> {
AuthUserInfoEntity info = userRpc.getUserInfo(schisandraShareCircleBO.getUserId());
return info;
});
AuthUserInfoEntity userInfo = futurePrice.join();
SchisandraShareCircleBO shareCircleBO = new SchisandraShareCircleBO(); SchisandraShareCircleBO shareCircleBO = new SchisandraShareCircleBO();
AuthUserInfoEntity info = userRpc.getUserInfo(schisandraShareCircleBO.getUserId());
shareCircleBO.setUserId(schisandraShareCircleBO.getUserId()); shareCircleBO.setUserId(schisandraShareCircleBO.getUserId());
shareCircleBO.setParentId(schisandraShareCircleBO.getParentId()); shareCircleBO.setParentId(schisandraShareCircleBO.getParentId());
shareCircleBO.setId(schisandraShareCircleBO.getId()); shareCircleBO.setId(schisandraShareCircleBO.getId());
@@ -73,8 +77,8 @@ public class SchisandraShareCircleDomainServiceImpl implements SchisandraShareCi
shareCircleBO.setViews(schisandraShareCircleBO.getViews()); shareCircleBO.setViews(schisandraShareCircleBO.getViews());
shareCircleBO.setCount(schisandraShareCircleBO.getCount()); shareCircleBO.setCount(schisandraShareCircleBO.getCount());
shareCircleBO.setName(schisandraShareCircleBO.getName()); shareCircleBO.setName(schisandraShareCircleBO.getName());
shareCircleBO.setAvatar(info.getAvatar()); shareCircleBO.setAvatar(userInfo.getAvatar());
shareCircleBO.setNickName(info.getNickName()); shareCircleBO.setNickName(userInfo.getNickName());
arrayList.add(shareCircleBO); arrayList.add(shareCircleBO);
} }
return arrayList; return arrayList;
@@ -83,18 +87,18 @@ public class SchisandraShareCircleDomainServiceImpl implements SchisandraShareCi
@Override @Override
public Boolean updateCircleViews(String Id, Boolean isView) { public Boolean updateCircleViews(String Id, Boolean isView) {
if (isView) { if (isView) {
return schisandraShareCircleService.addView(Id)>0; return schisandraShareCircleService.addView(Id) > 0;
}else { } else {
return schisandraShareCircleService.delView(Id)>0; return schisandraShareCircleService.delView(Id) > 0;
} }
} }
@Override @Override
public Boolean updateCircleCounts(String Id, Boolean isCount) { public Boolean updateCircleCounts(String Id, Boolean isCount) {
if (isCount) { if (isCount) {
return schisandraShareCircleService.addCount(Id)>0; return schisandraShareCircleService.addCount(Id) > 0;
}else { } else {
return schisandraShareCircleService.delCount(Id)>0; return schisandraShareCircleService.delCount(Id) > 0;
} }
} }

View File

@@ -1,8 +1,5 @@
package com.schisandra.share.domain.service.impl; 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.common.enums.IsDeletedFlagEnum;
import com.schisandra.share.domain.bo.SchisandraShareCommentReplyBO; import com.schisandra.share.domain.bo.SchisandraShareCommentReplyBO;
import com.schisandra.share.domain.convert.SchisandraShareCommentReplyBOConverter; import com.schisandra.share.domain.convert.SchisandraShareCommentReplyBOConverter;
@@ -20,8 +17,8 @@ import org.springframework.stereotype.Service;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.CompletableFuture;
/** /**
@@ -97,23 +94,27 @@ public class SchisandraShareCommentReplyDomainServiceImpl implements SchisandraS
public List<SchisandraShareCommentReplyBO> listComment(String detailId, String userId) { public List<SchisandraShareCommentReplyBO> listComment(String detailId, String userId) {
List<SchisandraShareCommentReply> schisandraShareComments = schisandraShareCommentReplyService.listComment(detailId); List<SchisandraShareCommentReply> schisandraShareComments = schisandraShareCommentReplyService.listComment(detailId);
List<SchisandraShareCommentReplyBO> schisandraShareCommentBOS = SchisandraShareCommentReplyBOConverter.INSTANCE.convertEntityToBOList(schisandraShareComments); List<SchisandraShareCommentReplyBO> schisandraShareCommentBOS = SchisandraShareCommentReplyBOConverter.INSTANCE.convertEntityToBOList(schisandraShareComments);
schisandraShareCommentBOS.forEach(schisandraShareCommentReplyBO -> { for (SchisandraShareCommentReplyBO schisandraShareCommentReplyBO : schisandraShareCommentBOS) {
SchisandraUserLikesComment schisandraUserLikesComment = SchisandraUserLikesComment schisandraUserLikesComment =
schisandraUserLikesCommentService.queryByuserIdAndCommentId(schisandraShareCommentReplyBO.getId(), userId); schisandraUserLikesCommentService.queryByuserIdAndCommentId(schisandraShareCommentReplyBO.getId(), userId);
if(schisandraUserLikesComment!=null){ if (schisandraUserLikesComment != null) {
schisandraShareCommentReplyBO.setIsLike(true); schisandraShareCommentReplyBO.setIsLike(true);
} }
AuthUserInfoEntity userInfo = userRpc.getUserInfo(schisandraShareCommentReplyBO.getUserId()); CompletableFuture<AuthUserInfoEntity> futurePrice = CompletableFuture.supplyAsync(() -> {
AuthUserInfoEntity info = userRpc.getUserInfo(schisandraShareCommentReplyBO.getUserId());
return info;
});
AuthUserInfoEntity userInfo = futurePrice.join();
schisandraShareCommentReplyBO.setNick(userInfo.getNickName()); schisandraShareCommentReplyBO.setNick(userInfo.getNickName());
schisandraShareCommentReplyBO.setAvatar(userInfo.getAvatar()); schisandraShareCommentReplyBO.setAvatar(userInfo.getAvatar());
AuthUserAddressEntity userAddress = addressRpc.getUserAddress(schisandraShareCommentReplyBO.getUserId()); AuthUserAddressEntity userAddress = addressRpc.getUserAddress(schisandraShareCommentReplyBO.getUserId());
if(userAddress!=null){ if (userAddress != null) {
schisandraShareCommentReplyBO.setLocation(userAddress.getLocation()); schisandraShareCommentReplyBO.setLocation(userAddress.getLocation());
schisandraShareCommentReplyBO.setBrowser(userAddress.getBrowser()); schisandraShareCommentReplyBO.setBrowser(userAddress.getBrowser());
schisandraShareCommentReplyBO.setBrowserVersion(userAddress.getBrowserVersion()); schisandraShareCommentReplyBO.setBrowserVersion(userAddress.getBrowserVersion());
} }
}); }
return schisandraShareCommentBOS; return schisandraShareCommentBOS;
} }
@@ -127,7 +128,11 @@ public class SchisandraShareCommentReplyDomainServiceImpl implements SchisandraS
if(schisandraUserLikesComment!=null){ if(schisandraUserLikesComment!=null){
schisandraShareCommentReplyBO.setIsLike(true); schisandraShareCommentReplyBO.setIsLike(true);
} }
AuthUserInfoEntity userInfo = userRpc.getUserInfo(schisandraShareCommentReplyBO.getUserId()); CompletableFuture<AuthUserInfoEntity> futurePrice = CompletableFuture.supplyAsync(() -> {
AuthUserInfoEntity info = userRpc.getUserInfo(schisandraShareCommentReplyBO.getUserId());
return info;
});
AuthUserInfoEntity userInfo = futurePrice.join();
schisandraShareCommentReplyBO.setNick(userInfo.getNickName()); schisandraShareCommentReplyBO.setNick(userInfo.getNickName());
schisandraShareCommentReplyBO.setAvatar(userInfo.getAvatar()); schisandraShareCommentReplyBO.setAvatar(userInfo.getAvatar());
AuthUserAddressEntity userAddress = addressRpc.getUserAddress(schisandraShareCommentReplyBO.getUserId()); AuthUserAddressEntity userAddress = addressRpc.getUserAddress(schisandraShareCommentReplyBO.getUserId());
@@ -150,7 +155,11 @@ public class SchisandraShareCommentReplyDomainServiceImpl implements SchisandraS
if(schisandraUserLikesComment!=null){ if(schisandraUserLikesComment!=null){
schisandraShareReplyBO.setIsLike(true); schisandraShareReplyBO.setIsLike(true);
} }
AuthUserInfoEntity userInfo = userRpc.getUserInfo(schisandraShareReplyBO.getUserId()); CompletableFuture<AuthUserInfoEntity> futurePrice = CompletableFuture.supplyAsync(() -> {
AuthUserInfoEntity info = userRpc.getUserInfo(schisandraShareReplyBO.getUserId());
return info;
});
AuthUserInfoEntity userInfo = futurePrice.join();
if (schisandraShareReplyBO.getReplyUser() != null) { if (schisandraShareReplyBO.getReplyUser() != null) {
AuthUserInfoEntity userInfo2 = userRpc.getUserInfo(schisandraShareReplyBO.getReplyUser()); AuthUserInfoEntity userInfo2 = userRpc.getUserInfo(schisandraShareReplyBO.getReplyUser());

View File

@@ -14,10 +14,15 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.schisandra.share.common.enums.TypeName.getByType;
/** /**
* 分享详情表 领域service实现了 * 分享详情表 领域service实现了
* *
@@ -70,16 +75,22 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
@Transactional @Transactional
@Override @Override
public List<SchisandraShareDetailBO> list(String circleId,String userId) { public List<SchisandraShareDetailBO> list(String circleId, String userId) {
List<SchisandraShareDetail> schisandraShareDetails = schisandraShareDetailService.queryByCircleId(circleId); List<SchisandraShareDetail> schisandraShareDetails = schisandraShareDetailService.queryByCircleId(circleId);
List<SchisandraShareDetailBO> shareDetailBOList = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetails); List<SchisandraShareDetailBO> shareDetailBOList = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetails);
LinkedList<SchisandraShareDetailBO> resultList = new LinkedList<>(); LinkedList<SchisandraShareDetailBO> resultList = new LinkedList<>();
shareDetailBOList.forEach(shareDetailBO -> { shareDetailBOList.forEach(shareDetailBO -> {
AuthUserInfoEntity userInfo = userRpc.getUserInfo(shareDetailBO.getUserId());
CompletableFuture<AuthUserInfoEntity> futurePrice = CompletableFuture.supplyAsync(() -> {
AuthUserInfoEntity info = userRpc.getUserInfo(shareDetailBO.getUserId());
return info;
});
AuthUserInfoEntity userInfo = futurePrice.join();
SchisandraShareDetailBO schisandraShareDetailBO = new SchisandraShareDetailBO(); SchisandraShareDetailBO schisandraShareDetailBO = new SchisandraShareDetailBO();
SchisandraUserLikesComment schisandraUserLikesComment = SchisandraUserLikesComment schisandraUserLikesComment =
schisandraUserLikesCommentService.queryByuserIdAndCommentId(shareDetailBO.getId(), userId); schisandraUserLikesCommentService.queryByuserIdAndCommentId(shareDetailBO.getId(), userId);
if(schisandraUserLikesComment!=null){ if (schisandraUserLikesComment != null) {
schisandraShareDetailBO.setIsLike(true); schisandraShareDetailBO.setIsLike(true);
} }
schisandraShareDetailBO.setCircleId(shareDetailBO.getCircleId()); schisandraShareDetailBO.setCircleId(shareDetailBO.getCircleId());
@@ -106,17 +117,17 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
} }
@Override @Override
public SchisandraShareDetailBO getDetailsById2(String Id,String userId) { public SchisandraShareDetailBO getDetailsById(String Id, String userId) {
SchisandraShareDetail schisandraShareDetails = schisandraShareDetailService.queryById(Id); SchisandraShareDetail schisandraShareDetails = schisandraShareDetailService.queryById(Id);
SchisandraShareDetailBO schisandraShareDetailBO = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBO(schisandraShareDetails); SchisandraShareDetailBO schisandraShareDetailBO = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBO(schisandraShareDetails);
SchisandraUserFavorites schisandraUserFavorites = schisandraUserFavoritesService.selectFavor(Id, userId); SchisandraUserFavorites schisandraUserFavorites = schisandraUserFavoritesService.selectFavor(Id, userId);
if(schisandraUserFavorites!=null){ if (schisandraUserFavorites != null) {
schisandraShareDetailBO.setIsFavor(true); schisandraShareDetailBO.setIsFavor(true);
} }
SchisandraUserLikesDetail schisandraUserLikesDetail = schisandraUserLikesDetailService.selectLike(Id, userId); SchisandraUserLikesDetail schisandraUserLikesDetail = schisandraUserLikesDetailService.selectLike(Id, userId);
if(schisandraUserLikesDetail!=null){ if (schisandraUserLikesDetail != null) {
schisandraShareDetailBO.setIsLike(true); schisandraShareDetailBO.setIsLike(true);
} }
@@ -142,35 +153,6 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
return schisandraShareDetailBO; 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<SchisandraShareUrlDetail> schisandraShareUrlDetailS = schisandraShareUrlDetailService.queryByDetailId(Id);
List<SchisandraShareUrlDetailBO> schisandraShareUrlDetailBOS = SchisandraShareUrlDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareUrlDetailS);
Assert.notNull(schisandraShareUrlDetailBOS.stream().map(SchisandraShareUrlDetailBO::getUrlId).collect(Collectors.toList()), "分享链接为空");
List<String> urlIds = schisandraShareUrlDetailBOS.stream().map(SchisandraShareUrlDetailBO::getUrlId).collect(Collectors.toList());
List<SchisandraShareUrl> schisandraShareUrlS = schisandraShareUrlService.queryByIds(urlIds);
List<SchisandraShareUrlBO> schisandraShareUrlBOS = SchisandraShareUrlBOConverter.INSTANCE.convertEntityToBOList(schisandraShareUrlS);
schisandraShareDetailBO.setUrls(schisandraShareUrlBOS);
List<SchisandraShareDetailTag> schisandraShareDetailTags = schisandraShareDetailTagService.queryTagIdsByDetailId(schisandraShareDetailBO.getId());
List<SchisandraShareDetailTagBO> shareDetailTagBOList = SchisandraShareDetailTagBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetailTags);
List<String> tagIds = shareDetailTagBOList.stream().map(SchisandraShareDetailTagBO::getTagId).collect(Collectors.toList());
List<SchisandraShareTags> shareTagList = schisandraShareTagsService.queryByIds(tagIds);
List<SchisandraShareTagsBO> shareTagsBOList = SchisandraShareTagsBOConverter.INSTANCE.convertEntityToBOList(shareTagList);
schisandraShareDetailBO.setTags(shareTagsBOList);
return schisandraShareDetailBO;
}
@Override @Override
public Boolean addDetail(SchisandraShareDetailBO schisandraShareDetailBO) { public Boolean addDetail(SchisandraShareDetailBO schisandraShareDetailBO) {
SchisandraShareDetail schisandraShareDetail = SchisandraShareDetailBOConverter.INSTANCE.convertBOToEntity(schisandraShareDetailBO); SchisandraShareDetail schisandraShareDetail = SchisandraShareDetailBOConverter.INSTANCE.convertBOToEntity(schisandraShareDetailBO);
@@ -186,10 +168,23 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
schisandraShareDetailTagService.insert(schisandraShareDetailTag); schisandraShareDetailTagService.insert(schisandraShareDetailTag);
} }
List<SchisandraShareUrlBO> urls_list = schisandraShareDetailBO.getUrls(); List<SchisandraShareUrlBO> urls_list = schisandraShareDetailBO.getUrls();
List<SchisandraShareUrl> urls = SchisandraShareUrlBOConverter.INSTANCE.convertBOToEntityList(urls_list); List<SchisandraShareUrl> urls = SchisandraShareUrlBOConverter.INSTANCE.convertBOToEntityList(urls_list);
schisandraShareUrlService.insertBatch(urls); ArrayList<SchisandraShareUrl> 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) { for (SchisandraShareUrl url : urls) {
SchisandraShareUrlDetail schisandraShareUrlDetail = new SchisandraShareUrlDetail(); SchisandraShareUrlDetail schisandraShareUrlDetail = new SchisandraShareUrlDetail();
schisandraShareUrlDetail.setUrlId(url.getId()); schisandraShareUrlDetail.setUrlId(url.getId());
@@ -205,7 +200,11 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
List<SchisandraShareDetailBO> shareDetailBOList = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetails); List<SchisandraShareDetailBO> shareDetailBOList = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetails);
LinkedList<SchisandraShareDetailBO> resultList = new LinkedList<>(); LinkedList<SchisandraShareDetailBO> resultList = new LinkedList<>();
shareDetailBOList.forEach(shareDetailBO -> { shareDetailBOList.forEach(shareDetailBO -> {
AuthUserInfoEntity userInfo = userRpc.getUserInfo(shareDetailBO.getUserId()); CompletableFuture<AuthUserInfoEntity> futurePrice = CompletableFuture.supplyAsync(() -> {
AuthUserInfoEntity info = userRpc.getUserInfo(shareDetailBO.getUserId());
return info;
});
AuthUserInfoEntity userInfo = futurePrice.join();
SchisandraShareDetailBO schisandraShareDetailBO = new SchisandraShareDetailBO(); SchisandraShareDetailBO schisandraShareDetailBO = new SchisandraShareDetailBO();
schisandraShareDetailBO.setCircleId(shareDetailBO.getCircleId()); schisandraShareDetailBO.setCircleId(shareDetailBO.getCircleId());
schisandraShareDetailBO.setIcon(shareDetailBO.getIcon()); schisandraShareDetailBO.setIcon(shareDetailBO.getIcon());
@@ -264,4 +263,10 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
List<SchisandraShareDetailBO> shareDetailBOList = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetails); List<SchisandraShareDetailBO> shareDetailBOList = SchisandraShareDetailBOConverter.INSTANCE.convertEntityToBOList(schisandraShareDetails);
return shareDetailBOList; return shareDetailBOList;
} }
@Override
public Long getDetailsCommentCount(String detailId) {
Long count = schisandraShareDetailService.getDetailsCommentCount(detailId);
return count;
}
} }

View File

@@ -75,4 +75,6 @@ public interface SchisandraShareDetailService {
List<SchisandraShareDetail> queryAllDeatiles(); List<SchisandraShareDetail> queryAllDeatiles();
List<SchisandraShareDetail> queryByIds(List<String> Ids); List<SchisandraShareDetail> queryByIds(List<String> Ids);
Long getDetailsCommentCount(String detailId);
} }

View File

@@ -1,5 +1,6 @@
package com.schisandra.share.infra.basic.service.impl; package com.schisandra.share.infra.basic.service.impl;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.update.UpdateWrapper; import com.mybatisflex.core.update.UpdateWrapper;
import com.mybatisflex.core.util.UpdateEntity; import com.mybatisflex.core.util.UpdateEntity;
import com.schisandra.share.infra.basic.dao.SchisandraShareDetailDao; import com.schisandra.share.infra.basic.dao.SchisandraShareDetailDao;
@@ -142,6 +143,14 @@ public class SchisandraShareDetailServiceImpl implements SchisandraShareDetailSe
return this.schisandraShareDetailDao.selectListByIds(ids); 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 @Override
public List<SchisandraShareDetail> queryAllDeatiles() { public List<SchisandraShareDetail> queryAllDeatiles() {
return schisandraShareDetailDao.selectAll(); return schisandraShareDetailDao.selectAll();

View File

@@ -1,8 +1,7 @@
package com.schisandra.share.infra.basic.service.impl; package com.schisandra.share.infra.basic.service.impl;
import com.schisandra.share.infra.basic.entity.SchisandraShareTags;
import com.schisandra.share.infra.basic.entity.SchisandraShareUrl;
import com.schisandra.share.infra.basic.dao.SchisandraShareUrlDao; 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 com.schisandra.share.infra.basic.service.SchisandraShareUrlService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -51,7 +50,7 @@ public class SchisandraShareUrlServiceImpl implements SchisandraShareUrlService
*/ */
@Override @Override
public int update(SchisandraShareUrl schisandraShareUrl) { public int update(SchisandraShareUrl schisandraShareUrl) {
return this.schisandraShareUrlDao.update(schisandraShareUrl,true); return this.schisandraShareUrlDao.update(schisandraShareUrl, true);
} }
/** /**

View File

@@ -5,6 +5,7 @@
<resultMap id="BaseResultMap" type="com.schisandra.share.infra.basic.entity.SchisandraShareUrl"> <resultMap id="BaseResultMap" type="com.schisandra.share.infra.basic.entity.SchisandraShareUrl">
<id column="id" jdbcType="VARCHAR" property="id"/> <id column="id" jdbcType="VARCHAR" property="id"/>
<result column="url" jdbcType="VARCHAR" property="url"/> <result column="url" jdbcType="VARCHAR" property="url"/>
<result column="type_name" jdbcType="VARCHAR" property="typeName"/>
<result column="type" jdbcType="VARCHAR" property="type"/> <result column="type" jdbcType="VARCHAR" property="type"/>
<result column="password" jdbcType="VARCHAR" property="password"/> <result column="password" jdbcType="VARCHAR" property="password"/>
<result column="description" jdbcType="VARCHAR" property="description"/> <result column="description" jdbcType="VARCHAR" property="description"/>

View File

@@ -38,7 +38,7 @@ spring:
# Redis服务器连接密码默认为空 # Redis服务器连接密码默认为空
password: LDQ20020618xxx password: LDQ20020618xxx
# 连接超时时间 # 连接超时时间
timeout: 2s timeout: 10s
lettuce: lettuce:
pool: pool:
# 连接池最大连接数 # 连接池最大连接数

View File

@@ -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<HttpMessageConverter<?>> 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;
}
}

View File

@@ -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());
}
}

View File

@@ -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;
}
}

View File

@@ -1,83 +1,78 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>com.schisandra.system</groupId> <groupId>com.schisandra.system</groupId>
<artifactId>schisandra-cloud-storage-system</artifactId> <artifactId>schisandra-cloud-storage-system</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</parent> </parent>
<artifactId>schisandra-cloud-storage-system-domain</artifactId> <artifactId>schisandra-cloud-storage-system-domain</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>schisandra-cloud-storage-system-domain</name> <name>schisandra-cloud-storage-system-domain</name>
<build> <build>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version> <version>3.13.0</version>
<configuration> <configuration>
<source>1.8</source> <source>1.8</source>
<target>1.8</target> <target>1.8</target>
<encoding>UTF-8</encoding> <encoding>UTF-8</encoding>
<annotationProcessorPaths> <annotationProcessorPaths>
<path> <path>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>1.18.24</version> <version>1.18.24</version>
</path> </path>
<!-- 必须要加, 否则生成不了 MapperImpl 实现类 --> <!-- 必须要加, 否则生成不了 MapperImpl 实现类 -->
<path> <path>
<groupId>org.mapstruct</groupId> <groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId> <artifactId>mapstruct-processor</artifactId>
<version>1.4.2.Final</version> <version>1.4.2.Final</version>
</path> </path>
<!-- 如果是 0.1.0 有可能出现生成了maptruct的实现类, 但该类只创建了对象, 没有进行赋值 --> <!-- 如果是 0.1.0 有可能出现生成了maptruct的实现类, 但该类只创建了对象, 没有进行赋值 -->
<path> <path>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId> <artifactId>lombok-mapstruct-binding</artifactId>
<version>0.2.0</version> <version>0.2.0</version>
</path> </path>
<path> <path>
<groupId>com.mybatis-flex</groupId> <groupId>com.mybatis-flex</groupId>
<artifactId>mybatis-flex-processor</artifactId> <artifactId>mybatis-flex-processor</artifactId>
<version>1.9.0</version> <version>1.9.0</version>
</path> </path>
</annotationProcessorPaths> </annotationProcessorPaths>
</configuration> </configuration>
</plugin> </plugin>
</plugins> </plugins>
</build> </build>
<properties> <properties>
<maven.compiler.source>8</maven.compiler.source> <maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target> <maven.compiler.target>8</maven.compiler.target>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties> </properties>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>com.schisandra.system</groupId> <groupId>com.schisandra.system</groupId>
<artifactId>schisandra-cloud-storage-system-infra</artifactId> <artifactId>schisandra-cloud-storage-system-infra</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.schisandra.system</groupId> <groupId>com.schisandra.system</groupId>
<artifactId>schisandra-cloud-storage-system-common</artifactId> <artifactId>schisandra-cloud-storage-system-common</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.xuxueli</groupId> <groupId>org.springframework</groupId>
<artifactId>xxl-job-core</artifactId> <artifactId>spring-context</artifactId>
<version>2.4.0</version> <version>5.3.27</version>
</dependency> </dependency>
<dependency> </dependencies>
<groupId>org.springframework</groupId> </project>
<artifactId>spring-context</artifactId>
<version>5.3.27</version>
</dependency>
</dependencies>
</project>

View File

@@ -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、引入依赖
* <dependency>
* <groupId>org.springframework.cloud</groupId>
* <artifactId>spring-cloud-commons</artifactId>
* <version>${version}</version>
* </dependency>
*
* 2、配置文件或者容器启动变量
* spring.cloud.inetutils.preferred-networks: 'xxx.xxx.xxx.'
*
* 3、获取IP
* String ip_ = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();
*/
}

View File

@@ -38,7 +38,7 @@ spring:
# Redis服务器连接密码默认为空 # Redis服务器连接密码默认为空
password: LDQ20020618xxx password: LDQ20020618xxx
# 连接超时时间 # 连接超时时间
timeout: 2s timeout: 10s
lettuce: lettuce:
pool: pool:
# 连接池最大连接数 # 连接池最大连接数
@@ -82,17 +82,3 @@ mybatis-flex:
mapper-locations: mapper-locations:
- "classpath*:/mapper/**/*.xml" - "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

View File

@@ -12,7 +12,7 @@ spring:
# Redis服务器连接密码默认为空 # Redis服务器连接密码默认为空
password: LDQ20020618xxx password: LDQ20020618xxx
# 连接超时时间 # 连接超时时间
timeout: 2s timeout: 10s
lettuce: lettuce:
pool: pool:
# 连接池最大连接数 # 连接池最大连接数