feat: 分享圈列表,分享详情

This commit is contained in:
sjm
2024-07-15 23:14:46 +08:00
parent 5e868abcd7
commit 0cc06a171c
28 changed files with 234 additions and 115 deletions

View File

@@ -4,7 +4,6 @@ import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.schisandra.oss.application.convert.SchisandraOssAliDTOConverter; import com.schisandra.oss.application.convert.SchisandraOssAliDTOConverter;
import com.schisandra.oss.application.convert.SchisandraOssMinioDTOConverter;
import com.schisandra.oss.application.dto.SchisandraOssAliDTO; import com.schisandra.oss.application.dto.SchisandraOssAliDTO;
import com.schisandra.oss.application.oss.constant.OssConstant; import com.schisandra.oss.application.oss.constant.OssConstant;
import com.schisandra.oss.application.oss.core.ali.AliOssClient; import com.schisandra.oss.application.oss.core.ali.AliOssClient;
@@ -12,11 +11,9 @@ import com.schisandra.oss.application.oss.core.ali.AliOssConfiguration;
import com.schisandra.oss.application.oss.model.OssInfo; import com.schisandra.oss.application.oss.model.OssInfo;
import com.schisandra.oss.common.entity.Result; import com.schisandra.oss.common.entity.Result;
import com.schisandra.oss.domain.bo.SchisandraOssAliBO; import com.schisandra.oss.domain.bo.SchisandraOssAliBO;
import com.schisandra.oss.domain.bo.SchisandraOssMinioBO;
import com.schisandra.oss.domain.redis.RedisUtil; import com.schisandra.oss.domain.redis.RedisUtil;
import com.schisandra.oss.domain.service.SchisandraOssAliDomainService; import com.schisandra.oss.domain.service.SchisandraOssAliDomainService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@@ -28,7 +25,9 @@ import java.io.InputStream;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit;
/** /**
@@ -51,6 +50,37 @@ public class SchisandraOssAliController {
@Resource @Resource
RedisUtil redisUtil; RedisUtil redisUtil;
/**
* @description: 预览文件
* @param: [userId, bucket, filePath]
* @return: com.schisandra.oss.common.entity.Result<java.lang.String>
* @date: 2024/6/27 10:14
*/
@PostMapping("previewFile")
public Result<String> previewMinioFile(@RequestParam String userId, @RequestParam String bucket, @RequestParam String filePath) throws IOException {
Preconditions.checkNotNull(userId, "不能为空");
Preconditions.checkNotNull(bucket, "不能为空");
Preconditions.checkNotNull(filePath, "不能为空");
AliOssClient bean = SpringUtil.getBean(OssConstant.OssType.ALI + userId);
bean.getAliOssConfig().setBucketName(bucket);
try {
Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = dateFormat.format(date);
String key = redisUtil.buildKey(USER_OSS_PREFIX, "previewFile", formattedDate, userId, filePath);
HashMap<Object, Object> map = new HashMap<>();
String url = bean.getAliPreviewUrl(filePath);
map.put("url", url);
map.put("time", formattedDate);
redisUtil.setNx(key, map, 30L, TimeUnit.DAYS);
return Result.ok(url);
} catch (Exception e) {
return Result.fail(e.getMessage());
}
}
/** /**
* 返回ali表所有数据 * 返回ali表所有数据
* *
@@ -250,7 +280,10 @@ public class SchisandraOssAliController {
Preconditions.checkNotNull(userId, "不能为空"); Preconditions.checkNotNull(userId, "不能为空");
Preconditions.checkNotNull(fileName, "不能为空"); Preconditions.checkNotNull(fileName, "不能为空");
Preconditions.checkNotNull(bucket, "不能为空"); Preconditions.checkNotNull(bucket, "不能为空");
// 获取文件输入流
InputStream is = file.getInputStream();
AliOssClient bean = SpringUtil.getBean(OssConstant.OssType.ALI + userId);
bean.getAliOssConfig().setBucketName(bucket);
//设置热力图 //设置热力图
Date date = new Date(); Date date = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
@@ -263,10 +296,7 @@ public class SchisandraOssAliController {
} else { } else {
redisUtil.set(key, String.valueOf(1)); redisUtil.set(key, String.valueOf(1));
} }
// 获取文件输入流
InputStream is = file.getInputStream();
AliOssClient bean = SpringUtil.getBean(OssConstant.OssType.ALI + userId);
bean.getAliOssConfig().setBucketName(bucket);
if (bean.upLoad(is, fileName, true) != null) { if (bean.upLoad(is, fileName, true) != null) {
return Result.ok(bean.upLoad(is, fileName, true)); return Result.ok(bean.upLoad(is, fileName, true));
} else { } else {
@@ -276,7 +306,6 @@ public class SchisandraOssAliController {
} }
/** /**
* @description: 下载文件 * @description: 下载文件
* @param: [schisandraOssAliDTO] * @param: [schisandraOssAliDTO]

View File

@@ -8,11 +8,10 @@ import com.schisandra.share.common.entity.Result;
import com.schisandra.share.domain.bo.SchisandraShareCircleBO; import com.schisandra.share.domain.bo.SchisandraShareCircleBO;
import com.schisandra.share.domain.service.SchisandraShareCircleDomainService; import com.schisandra.share.domain.service.SchisandraShareCircleDomainService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
/** /**
* 分享圈 controller * 分享圈 controller
@@ -32,25 +31,13 @@ public class SchisandraShareCircleController {
*/ */
@RequestMapping("add") @RequestMapping("add")
public Result<Boolean> add(@RequestBody SchisandraShareCircleDTO schisandraShareCircleDTO) { public Result<Boolean> add(@RequestBody SchisandraShareCircleDTO schisandraShareCircleDTO) {
try { try {
if (log.isInfoEnabled()) { if (log.isInfoEnabled()) {
log.info("SchisandraShareCircleController.add.dto:{}", JSON.toJSONString(schisandraShareCircleDTO)); log.info("SchisandraShareCircleController.add.dto:{}", JSON.toJSONString(schisandraShareCircleDTO));
} }
Preconditions.checkNotNull(schisandraShareCircleDTO.getId(), "不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getUserId(), "不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getParentId(), "默认0父id不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getName(), "不能为空"); Preconditions.checkNotNull(schisandraShareCircleDTO.getName(), "不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getIcon(), "不能为空"); Preconditions.checkNotNull(schisandraShareCircleDTO.getIcon(), "不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getDescription(), "不能为空"); Preconditions.checkNotNull(schisandraShareCircleDTO.getDescription(), "不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getCount(), "分享总数不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getViews(), "不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getExtJson(), "不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getCreatedBy(), "创建人不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getCreatedTime(), "创建时间不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getUpdateBy(), "更新人不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getUpdateTime(), "更新时间不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getIsDeleted(), "不能为空");
SchisandraShareCircleBO SchisandraShareCircleBO = SchisandraShareCircleDTOConverter.INSTANCE.convertDTOToBO(schisandraShareCircleDTO); SchisandraShareCircleBO SchisandraShareCircleBO = SchisandraShareCircleDTOConverter.INSTANCE.convertDTOToBO(schisandraShareCircleDTO);
return Result.ok(schisandraShareCircleDomainService.add(SchisandraShareCircleBO)); return Result.ok(schisandraShareCircleDomainService.add(SchisandraShareCircleBO));
} catch (Exception e) { } catch (Exception e) {
@@ -60,6 +47,21 @@ public class SchisandraShareCircleController {
} }
/**
* 分享圈列表返回
*/
@GetMapping("sharelist")
public Result<List<SchisandraShareCircleDTO>> getShareList() {
try {
List<SchisandraShareCircleBO> result = schisandraShareCircleDomainService.queryAll();
List<SchisandraShareCircleDTO> schisandraShareCircleDTOS = SchisandraShareCircleDTOConverter.INSTANCE.convertBOToDTOList(result);
return Result.ok(schisandraShareCircleDTOS);
}catch (Exception e) {
log.error("SchisandraShareCircleController.getShareList.error:{}", e.getMessage(), e);
return Result.fail("分享圈列表获取失败");
}
}
/** /**
* 修改分享圈 * 修改分享圈
*/ */
@@ -78,12 +80,6 @@ public class SchisandraShareCircleController {
Preconditions.checkNotNull(schisandraShareCircleDTO.getDescription(), "不能为空"); Preconditions.checkNotNull(schisandraShareCircleDTO.getDescription(), "不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getCount(), "分享总数不能为空"); Preconditions.checkNotNull(schisandraShareCircleDTO.getCount(), "分享总数不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getViews(), "不能为空"); Preconditions.checkNotNull(schisandraShareCircleDTO.getViews(), "不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getExtJson(), "不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getCreatedBy(), "创建人不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getCreatedTime(), "创建时间不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getUpdateBy(), "更新人不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getUpdateTime(), "更新时间不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getIsDeleted(), "不能为空");
SchisandraShareCircleBO schisandraShareCircleBO = SchisandraShareCircleDTOConverter.INSTANCE.convertDTOToBO(schisandraShareCircleDTO); SchisandraShareCircleBO schisandraShareCircleBO = SchisandraShareCircleDTOConverter.INSTANCE.convertDTOToBO(schisandraShareCircleDTO);
return Result.ok(schisandraShareCircleDomainService.update(schisandraShareCircleBO)); return Result.ok(schisandraShareCircleDomainService.update(schisandraShareCircleBO));
} catch (Exception e) { } catch (Exception e) {
@@ -111,12 +107,7 @@ public class SchisandraShareCircleController {
Preconditions.checkNotNull(schisandraShareCircleDTO.getDescription(), "不能为空"); Preconditions.checkNotNull(schisandraShareCircleDTO.getDescription(), "不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getCount(), "分享总数不能为空"); Preconditions.checkNotNull(schisandraShareCircleDTO.getCount(), "分享总数不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getViews(), "不能为空"); Preconditions.checkNotNull(schisandraShareCircleDTO.getViews(), "不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getExtJson(), "不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getCreatedBy(), "创建人不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getCreatedTime(), "创建时间不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getUpdateBy(), "更新人不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getUpdateTime(), "更新时间不能为空");
Preconditions.checkNotNull(schisandraShareCircleDTO.getIsDeleted(), "不能为空");
SchisandraShareCircleBO schisandraShareCircleBO = SchisandraShareCircleDTOConverter.INSTANCE.convertDTOToBO(schisandraShareCircleDTO); SchisandraShareCircleBO schisandraShareCircleBO = SchisandraShareCircleDTOConverter.INSTANCE.convertDTOToBO(schisandraShareCircleDTO);
return Result.ok(schisandraShareCircleDomainService.delete(schisandraShareCircleBO)); return Result.ok(schisandraShareCircleDomainService.delete(schisandraShareCircleBO));
} catch (Exception e) { } catch (Exception e) {

View File

@@ -28,6 +28,17 @@ public class SchisandraShareDetailController {
private SchisandraShareDetailDomainService schisandraShareDetailDomainService; private SchisandraShareDetailDomainService schisandraShareDetailDomainService;
/**
*查询详细信息
*/
@PostMapping("get_detail")
public Result selectDetail(@RequestParam("Id") Long Id){
SchisandraShareDetailBO resultList = schisandraShareDetailDomainService.getDetailsById(Id);
return Result.ok(resultList);
}
/** /**
* @description: 查询分享列表 * @description: 查询分享列表
* @param: [] * @param: []
@@ -45,7 +56,7 @@ public class SchisandraShareDetailController {
/** /**
* 新增分享详情表 * 新增分享详情表
*/ */
@RequestMapping("add") @PostMapping("add")
public Result<Boolean> add(@RequestBody SchisandraShareDetailDTO schisandraShareDetailDTO) { public Result<Boolean> add(@RequestBody SchisandraShareDetailDTO schisandraShareDetailDTO) {
try { try {
@@ -80,7 +91,7 @@ public class SchisandraShareDetailController {
/** /**
* 修改分享详情表 * 修改分享详情表
*/ */
@RequestMapping("update") @PostMapping("update")
public Result<Boolean> update(@RequestBody SchisandraShareDetailDTO schisandraShareDetailDTO) { public Result<Boolean> update(@RequestBody SchisandraShareDetailDTO schisandraShareDetailDTO) {
try { try {
@@ -115,7 +126,7 @@ public class SchisandraShareDetailController {
/** /**
* 删除分享详情表 * 删除分享详情表
*/ */
@RequestMapping("delete") @PostMapping("delete")
public Result<Boolean> delete(@RequestBody SchisandraShareDetailDTO schisandraShareDetailDTO) { public Result<Boolean> delete(@RequestBody SchisandraShareDetailDTO schisandraShareDetailDTO) {
try { try {

View File

@@ -54,35 +54,10 @@ public class SchisandraShareCircleDTO implements Serializable {
*/ */
private Long views; private Long views;
/**
*
*/
private String extJson;
/** private String avatar;
* 创建人
*/
private String createdBy;
/** private String nickName;
* 创建时间
*/
private Date createdTime;
/**
* 更新人
*/
private String updateBy;
/**
* 更新时间
*/
private Date updateTime;
/**
*
*/
private Integer isDeleted;
} }

View File

@@ -83,5 +83,9 @@ public class SchisandraShareCircleBO implements Serializable {
*/ */
private Integer isDeleted; private Integer isDeleted;
private String avatar;
private String nickName;
} }

View File

@@ -95,11 +95,13 @@ public class SchisandraShareDetailBO implements Serializable {
*/ */
private Integer isDeleted; private Integer isDeleted;
List<SchisandraShareTagsBO> tags;
private String nickname; private String nickname;
private String avatar; private String avatar;
List<SchisandraShareTagsBO> tags;
List<SchisandraShareUrlBO> urls;
} }

View File

@@ -5,6 +5,8 @@ import com.schisandra.share.infra.basic.entity.SchisandraShareCircle;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import java.util.List;
/** /**
* 分享圈 bo转换器 * 分享圈 bo转换器
* *
@@ -18,5 +20,5 @@ public interface SchisandraShareCircleBOConverter {
SchisandraShareCircle convertBOToEntity(SchisandraShareCircleBO schisandraShareCircleBO); SchisandraShareCircle convertBOToEntity(SchisandraShareCircleBO schisandraShareCircleBO);
SchisandraShareCircleBO convertEntityToBO(SchisandraShareCircle schisandraShareCircle); SchisandraShareCircleBO convertEntityToBO(SchisandraShareCircle schisandraShareCircle);
List<SchisandraShareCircleBO> convertEntityToBOList(List<SchisandraShareCircle> schisandraShareCircles);
} }

View File

@@ -5,6 +5,8 @@ import com.schisandra.share.infra.basic.entity.SchisandraShareUrl;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import java.util.List;
/** /**
* 分享链接 bo转换器 * 分享链接 bo转换器
* *
@@ -19,4 +21,5 @@ public interface SchisandraShareUrlBOConverter {
SchisandraShareUrl convertBOToEntity(SchisandraShareUrlBO schisandraShareUrlBO); SchisandraShareUrl convertBOToEntity(SchisandraShareUrlBO schisandraShareUrlBO);
SchisandraShareUrlBO convertEntityToBO(SchisandraShareUrl schisandraShareUrl); SchisandraShareUrlBO convertEntityToBO(SchisandraShareUrl schisandraShareUrl);
List<SchisandraShareUrlBO> convertEntityToBOList(List<SchisandraShareUrl> schisandraShareUrlS);
} }

View File

@@ -5,6 +5,8 @@ import com.schisandra.share.infra.basic.entity.SchisandraShareUrlDetail;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers; import org.mapstruct.factory.Mappers;
import java.util.List;
/** /**
* 分享链接/分享详情映射表 bo转换器 * 分享链接/分享详情映射表 bo转换器
* *
@@ -19,4 +21,5 @@ public interface SchisandraShareUrlDetailBOConverter {
SchisandraShareUrlDetail convertBOToEntity(SchisandraShareUrlDetailBO schisandraShareUrlDetailBO); SchisandraShareUrlDetail convertBOToEntity(SchisandraShareUrlDetailBO schisandraShareUrlDetailBO);
SchisandraShareUrlDetailBO convertEntityToBO(SchisandraShareUrlDetail schisandraShareUrlDetail); SchisandraShareUrlDetailBO convertEntityToBO(SchisandraShareUrlDetail schisandraShareUrlDetail);
List<SchisandraShareUrlDetailBO> convertEntityToBOList(List<SchisandraShareUrlDetail> schisandraShareUrlDetailS);
} }

View File

@@ -27,4 +27,7 @@ public interface SchisandraShareCircleDomainService {
*/ */
Boolean delete(SchisandraShareCircleBO schisandraShareCircleBO); Boolean delete(SchisandraShareCircleBO schisandraShareCircleBO);
SchisandraShareCircleBO queryById(Long id);
List<SchisandraShareCircleBO> queryAll();
} }

View File

@@ -28,4 +28,6 @@ public interface SchisandraShareDetailDomainService {
Boolean delete(SchisandraShareDetailBO schisandraShareDetailBO); Boolean delete(SchisandraShareDetailBO schisandraShareDetailBO);
List<SchisandraShareDetailBO> list(Long circleId); List<SchisandraShareDetailBO> list(Long circleId);
SchisandraShareDetailBO getDetailsById(Long Id);
} }

View File

@@ -6,12 +6,14 @@ import com.schisandra.share.domain.bo.SchisandraShareCircleBO;
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.rpc.UserRpc;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.ArrayList;
/** /**
* 分享圈 领域service实现了 * 分享圈 领域service实现了
@@ -26,6 +28,9 @@ public class SchisandraShareCircleDomainServiceImpl implements SchisandraShareCi
@Resource @Resource
private SchisandraShareCircleService schisandraShareCircleService; private SchisandraShareCircleService schisandraShareCircleService;
@Resource
UserRpc userInfoRpc;
@Override @Override
public Boolean add(SchisandraShareCircleBO schisandraShareCircleBO) { public Boolean add(SchisandraShareCircleBO schisandraShareCircleBO) {
SchisandraShareCircle schisandraShareCircle = SchisandraShareCircleBOConverter.INSTANCE.convertBOToEntity(schisandraShareCircleBO); SchisandraShareCircle schisandraShareCircle = SchisandraShareCircleBOConverter.INSTANCE.convertBOToEntity(schisandraShareCircleBO);
@@ -47,4 +52,31 @@ public class SchisandraShareCircleDomainServiceImpl implements SchisandraShareCi
return schisandraShareCircleService.update(schisandraShareCircle) > 0; return schisandraShareCircleService.update(schisandraShareCircle) > 0;
} }
@Override
public SchisandraShareCircleBO queryById(Long id) {
return SchisandraShareCircleBOConverter.INSTANCE.convertEntityToBO(schisandraShareCircleService.queryById(id));
}
@Override
public List<SchisandraShareCircleBO> queryAll() {
List<SchisandraShareCircleBO> schisandraShareCircleBO_list = SchisandraShareCircleBOConverter.INSTANCE.convertEntityToBOList(schisandraShareCircleService.queryAll());
ArrayList<SchisandraShareCircleBO> arrayList = new ArrayList<>();
for (SchisandraShareCircleBO schisandraShareCircleBO : schisandraShareCircleBO_list) {
SchisandraShareCircleBO shareCircleBO = new SchisandraShareCircleBO();
AuthUserInfoEntity info = userInfoRpc.getUserInfo(schisandraShareCircleBO.getUserId());
shareCircleBO.setUserId(schisandraShareCircleBO.getUserId());
shareCircleBO.setParentId(schisandraShareCircleBO.getParentId());
shareCircleBO.setId(schisandraShareCircleBO.getId());
shareCircleBO.setIcon(schisandraShareCircleBO.getIcon());
shareCircleBO.setDescription(schisandraShareCircleBO.getDescription());
shareCircleBO.setViews(schisandraShareCircleBO.getViews());
shareCircleBO.setCount(schisandraShareCircleBO.getCount());
shareCircleBO.setAvatar(info.getAvatar());
shareCircleBO.setNickName(info.getNickName());
arrayList.add(shareCircleBO);
}
return arrayList;
}
} }

View File

@@ -1,19 +1,11 @@
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.bo.SchisandraShareDetailBO; import com.schisandra.share.domain.bo.*;
import com.schisandra.share.domain.bo.SchisandraShareDetailTagBO; import com.schisandra.share.domain.convert.*;
import com.schisandra.share.domain.bo.SchisandraShareTagsBO;
import com.schisandra.share.domain.convert.SchisandraShareDetailBOConverter;
import com.schisandra.share.domain.convert.SchisandraShareDetailTagBOConverter;
import com.schisandra.share.domain.convert.SchisandraShareTagsBOConverter;
import com.schisandra.share.domain.service.SchisandraShareDetailDomainService; import com.schisandra.share.domain.service.SchisandraShareDetailDomainService;
import com.schisandra.share.infra.basic.entity.SchisandraShareDetail; import com.schisandra.share.infra.basic.entity.*;
import com.schisandra.share.infra.basic.entity.SchisandraShareDetailTag; import com.schisandra.share.infra.basic.service.*;
import com.schisandra.share.infra.basic.entity.SchisandraShareTags;
import com.schisandra.share.infra.basic.service.SchisandraShareDetailService;
import com.schisandra.share.infra.basic.service.SchisandraShareDetailTagService;
import com.schisandra.share.infra.basic.service.SchisandraShareTagsService;
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;
@@ -21,6 +13,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.print.DocFlavor;
import java.util.Collections;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -39,9 +33,12 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
private SchisandraShareDetailService schisandraShareDetailService; private SchisandraShareDetailService schisandraShareDetailService;
@Resource @Resource
private SchisandraShareDetailTagService schisandraShareDetailTagService; private SchisandraShareDetailTagService schisandraShareDetailTagService;
@Resource @Resource
private SchisandraShareTagsService schisandraShareTagsService; private SchisandraShareTagsService schisandraShareTagsService;
@Resource
private SchisandraShareUrlDetailService schisandraShareUrlDetailService;
@Resource
private SchisandraShareUrlService schisandraShareUrlService;
@Resource @Resource
UserRpc userRpc; UserRpc userRpc;
@@ -98,4 +95,30 @@ public class SchisandraShareDetailDomainServiceImpl implements SchisandraShareDe
return resultList; return resultList;
} }
@Override
public SchisandraShareDetailBO getDetailsById(Long 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);
List<Long> 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<Long> 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;
}
} }

View File

@@ -4,6 +4,7 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id; import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table; import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.keygen.KeyGenerators;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@@ -22,7 +23,7 @@ public class SchisandraShareCircle implements Serializable {
/** /**
* *
*/ */
@Id(value = "id", keyType = KeyType.Auto) @Id(keyType=KeyType.Generator, value= KeyGenerators.flexId)
private Long id; private Long id;
/** /**

View File

@@ -4,6 +4,7 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id; import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table; import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.keygen.KeyGenerators;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@@ -22,7 +23,7 @@ public class SchisandraShareCommentReply implements Serializable {
/** /**
* 评论ID * 评论ID
*/ */
@Id(value = "id", keyType = KeyType.Auto) @Id(keyType=KeyType.Generator, value= KeyGenerators.flexId)
private Long id; private Long id;
/** /**

View File

@@ -4,6 +4,7 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id; import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table; import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.keygen.KeyGenerators;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@@ -22,7 +23,7 @@ public class SchisandraShareDetail implements Serializable {
/** /**
* *
*/ */
@Id(value = "id", keyType = KeyType.Auto) @Id(keyType=KeyType.Generator, value= KeyGenerators.flexId)
private Long id; private Long id;
/** /**

View File

@@ -4,6 +4,7 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id; import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table; import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.keygen.KeyGenerators;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@@ -22,7 +23,7 @@ public class SchisandraShareDetailTag implements Serializable {
/** /**
* *
*/ */
@Id(value = "id", keyType = KeyType.Auto) @Id(keyType=KeyType.Generator, value= KeyGenerators.flexId)
private Long id; private Long id;
/** /**

View File

@@ -4,6 +4,7 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id; import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table; import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.keygen.KeyGenerators;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@@ -22,7 +23,7 @@ public class SchisandraShareMessage implements Serializable {
/** /**
* 主键 * 主键
*/ */
@Id(value = "id", keyType = KeyType.Auto) @Id(keyType=KeyType.Generator, value= KeyGenerators.flexId)
private Long id; private Long id;
/** /**

View File

@@ -4,6 +4,7 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id; import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table; import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.keygen.KeyGenerators;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@@ -22,7 +23,7 @@ public class SchisandraShareSensitiveWords implements Serializable {
/** /**
* *
*/ */
@Id(value = "id", keyType = KeyType.Auto) @Id(keyType=KeyType.Generator, value= KeyGenerators.flexId)
private Long id; private Long id;
/** /**

View File

@@ -4,6 +4,7 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id; import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table; import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.keygen.KeyGenerators;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@@ -22,7 +23,7 @@ public class SchisandraShareTags implements Serializable {
/** /**
* *
*/ */
@Id(value = "id", keyType = KeyType.Auto) @Id(keyType=KeyType.Generator, value= KeyGenerators.flexId)
private Long id; private Long id;
/** /**

View File

@@ -4,6 +4,7 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id; import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table; import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.keygen.KeyGenerators;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@@ -22,7 +23,7 @@ public class SchisandraShareUrl implements Serializable {
/** /**
* *
*/ */
@Id(value = "id", keyType = KeyType.Auto) @Id(keyType=KeyType.Generator, value= KeyGenerators.flexId)
private Long id; private Long id;
/** /**

View File

@@ -4,6 +4,7 @@ import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id; import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType; import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table; import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.keygen.KeyGenerators;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@@ -22,7 +23,7 @@ public class SchisandraShareUrlDetail implements Serializable {
/** /**
* *
*/ */
@Id(value = "id", keyType = KeyType.Auto) @Id(keyType=KeyType.Generator, value= KeyGenerators.flexId)
private Long id; private Long id;
/** /**

View File

@@ -2,6 +2,8 @@ package com.schisandra.share.infra.basic.service;
import com.schisandra.share.infra.basic.entity.SchisandraShareCircle; import com.schisandra.share.infra.basic.entity.SchisandraShareCircle;
import java.util.List;
/** /**
* 分享圈 表服务接口 * 分享圈 表服务接口
* *
@@ -42,5 +44,9 @@ public interface SchisandraShareCircleService {
*/ */
boolean deleteById(Long id); boolean deleteById(Long id);
/**
* 查询所有数据
*/
List<SchisandraShareCircle> queryAll();
} }

View File

@@ -2,6 +2,8 @@ package com.schisandra.share.infra.basic.service;
import com.schisandra.share.infra.basic.entity.SchisandraShareUrlDetail; import com.schisandra.share.infra.basic.entity.SchisandraShareUrlDetail;
import java.util.List;
/** /**
* 分享链接/分享详情映射表 表服务接口 * 分享链接/分享详情映射表 表服务接口
* *
@@ -42,5 +44,5 @@ public interface SchisandraShareUrlDetailService {
*/ */
boolean deleteById(Long id); boolean deleteById(Long id);
List<SchisandraShareUrlDetail> queryByDetailId(Long detailId);
} }

View File

@@ -2,6 +2,8 @@ package com.schisandra.share.infra.basic.service;
import com.schisandra.share.infra.basic.entity.SchisandraShareUrl; import com.schisandra.share.infra.basic.entity.SchisandraShareUrl;
import java.util.List;
/** /**
* 分享链接 表服务接口 * 分享链接 表服务接口
* *
@@ -43,4 +45,5 @@ public interface SchisandraShareUrlService {
boolean deleteById(Long id); boolean deleteById(Long id);
List<SchisandraShareUrl> queryByIds(List<Long> Ids);
} }

View File

@@ -6,6 +6,7 @@ import com.schisandra.share.infra.basic.service.SchisandraShareCircleService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
/** /**
* 分享圈 表服务实现类 * 分享圈 表服务实现类
@@ -63,5 +64,10 @@ public class SchisandraShareCircleServiceImpl implements SchisandraShareCircleSe
return this.schisandraShareCircleDao.deleteById(id) > 0; return this.schisandraShareCircleDao.deleteById(id) > 0;
} }
@Override
public List<SchisandraShareCircle> queryAll() {
return this.schisandraShareCircleDao.selectAll();
}
} }

View File

@@ -2,10 +2,12 @@ package com.schisandra.share.infra.basic.service.impl;
import com.schisandra.share.infra.basic.entity.SchisandraShareUrlDetail; import com.schisandra.share.infra.basic.entity.SchisandraShareUrlDetail;
import com.schisandra.share.infra.basic.dao.SchisandraShareUrlDetailDao; import com.schisandra.share.infra.basic.dao.SchisandraShareUrlDetailDao;
import com.schisandra.share.infra.basic.entity.table.SchisandraShareUrlDetailTableDef;
import com.schisandra.share.infra.basic.service.SchisandraShareUrlDetailService; import com.schisandra.share.infra.basic.service.SchisandraShareUrlDetailService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
/** /**
* 分享链接/分享详情映射表 表服务实现类 * 分享链接/分享详情映射表 表服务实现类
@@ -63,5 +65,11 @@ public class SchisandraShareUrlDetailServiceImpl implements SchisandraShareUrlDe
return this.schisandraShareUrlDetailDao.deleteById(id) > 0; return this.schisandraShareUrlDetailDao.deleteById(id) > 0;
} }
@Override
public List<SchisandraShareUrlDetail> queryByDetailId(Long detailId) {
return this.schisandraShareUrlDetailDao.selectListByCondition(
SchisandraShareUrlDetailTableDef.SCHISANDRA_SHARE_URL_DETAIL.DETAIL_ID.eq(detailId)
);
}
} }

View File

@@ -1,11 +1,13 @@
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.entity.SchisandraShareUrl;
import com.schisandra.share.infra.basic.dao.SchisandraShareUrlDao; import com.schisandra.share.infra.basic.dao.SchisandraShareUrlDao;
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;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
/** /**
* 分享链接 表服务实现类 * 分享链接 表服务实现类
@@ -63,5 +65,8 @@ public class SchisandraShareUrlServiceImpl implements SchisandraShareUrlService
return this.schisandraShareUrlDao.deleteById(id) > 0; return this.schisandraShareUrlDao.deleteById(id) > 0;
} }
@Override
public List<SchisandraShareUrl> queryByIds(List<Long> Ids) {
return this.schisandraShareUrlDao.selectListByIds(Ids);
}
} }