fix: bug修复

This commit is contained in:
landaiqing
2024-07-23 14:53:52 +08:00
parent ed11089c34
commit 9bf1881310
8 changed files with 62 additions and 60 deletions

View File

@@ -22,7 +22,7 @@ public class ThreadPoolConfig {
public ThreadPoolExecutor getLabelThreadPool() { public ThreadPoolExecutor getLabelThreadPool() {
return new ThreadPoolExecutor(20, 100, 5, return new ThreadPoolExecutor(20, 100, 5,
TimeUnit.SECONDS, new LinkedBlockingDeque<>(40), TimeUnit.SECONDS, new LinkedBlockingDeque<>(40),
new CustomNameThreadFactory("rotateCaptcha"), new CustomNameThreadFactory("share"),
new ThreadPoolExecutor.CallerRunsPolicy()); new ThreadPoolExecutor.CallerRunsPolicy());
} }
} }

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

@@ -4,46 +4,48 @@ public enum TypeName {
/** /**
* 阿里oss * 阿里oss
*/ */
阿里云OSS("ali"), ali("ali","阿里云OSS"),
/** /**
* Minio oss * Minio oss
*/ */
MinIO("minio"), minio("minio","MinIO"),
/** /**
* 又拍OSS * 又拍OSS
*/ */
又拍云USS("up"), up("up","又拍OSS"),
/** /**
* SFTP * SFTP
*/ */
sftp("sftp"), sftp("sftp","sftp"),
/** /**
* 腾讯OSS * 腾讯OSS
*/ */
腾讯云COS("tencent"), tencent("tencent","腾讯云COS"),
/** /**
* 百度OSS * 百度OSS
*/ */
百度云BOS("baidu"), baidu("baidu","百度网盘"),
/** /**
* 华为OSS * 华为OSS
*/ */
华为云OBS("huawei"), huawei("huawei","华为云OSS"),
/** /**
* 网易 OSS * 网易 OSS
*/ */
网易云NOS("wangyi"), wangyi("wangyi","网易云"),
/** /**
* 七牛 oss * 七牛 oss
*/ */
七牛云Kodo("qiniu"); qiniu("qiniu","七牛云OSS");
public String type; public String type;
public String typeName;
TypeName(String type) { TypeName(String type,String typeName) {
this.type = type; this.type = type;
this.typeName = typeName;
} }
public static TypeName getByType(String type) { public static TypeName getByType(String type) {
for (TypeName resultKeyEnum : TypeName.values()) { for (TypeName resultKeyEnum : TypeName.values()) {

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

@@ -14,10 +14,14 @@ 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.stream.Collectors; import java.util.stream.Collectors;
import static com.schisandra.share.common.enums.TypeName.getByType;
/** /**
* 分享详情表 领域service实现了 * 分享详情表 领域service实现了
* *
@@ -70,7 +74,7 @@ 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<>();
@@ -79,7 +83,7 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
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 +110,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 +146,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 +161,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());
@@ -264,4 +252,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.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.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);
} }
/** /**
@@ -72,11 +71,6 @@ public class SchisandraShareUrlServiceImpl implements SchisandraShareUrlService
@Override @Override
public int insertBatch(List<SchisandraShareUrl> schisandraShareUrls) { public int insertBatch(List<SchisandraShareUrl> schisandraShareUrls) {
for (SchisandraShareUrl schisandraShareUrl : schisandraShareUrls) {
if(schisandraShareUrl.getTypeName()!=null){
schisandraShareUrl.setTypeName(String.valueOf(TypeName.getByType(schisandraShareUrl.getTypeName())));
}else continue;
}
return this.schisandraShareUrlDao.insertBatch(schisandraShareUrls); return this.schisandraShareUrlDao.insertBatch(schisandraShareUrls);
} }