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