This commit is contained in:
dute7liang
2023-12-24 16:58:05 +08:00
parent 2f47f91b37
commit 3febb24205
19 changed files with 322 additions and 9 deletions

View File

@@ -1,8 +1,14 @@
package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiDynamic;
import com.ruoyi.cai.dto.app.query.DynamicAddRes;
import com.ruoyi.cai.dto.app.query.DynamicQuery;
import com.ruoyi.cai.dto.app.query.DynamicStarRes;
import com.ruoyi.cai.dto.app.vo.DynamicListVo;
import com.ruoyi.cai.dto.app.vo.DynamicVo;
import com.ruoyi.common.core.domain.PageQuery;
import java.util.List;
@@ -15,4 +21,8 @@ import java.util.List;
public interface CaiDynamicService extends IService<CaiDynamic> {
List<DynamicVo> selectDynamicList(Long userId, Integer limit);
Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery query);
void saveDynamic(DynamicAddRes res);
}

View File

@@ -2,6 +2,7 @@ package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiReport;
import com.ruoyi.cai.dto.app.query.UserReportRes;
/**
* 举报Service接口
@@ -11,4 +12,5 @@ import com.ruoyi.cai.domain.CaiReport;
*/
public interface CaiReportService extends IService<CaiReport> {
void report(UserReportRes reportRes);
}

View File

@@ -2,6 +2,7 @@ package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.CaiUserFollowDynamic;
import com.ruoyi.cai.dto.app.query.DynamicStarRes;
/**
* 关注动态表Service接口
@@ -11,4 +12,7 @@ import com.ruoyi.cai.domain.CaiUserFollowDynamic;
*/
public interface CaiUserFollowDynamicService extends IService<CaiUserFollowDynamic> {
void star(DynamicStarRes query);
void unStar(DynamicStarRes query);
}

View File

@@ -2,14 +2,21 @@ package com.ruoyi.cai.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiDynamic;
import com.ruoyi.cai.domain.CaiDynamicImages;
import com.ruoyi.cai.dto.app.query.DynamicAddRes;
import com.ruoyi.cai.dto.app.query.DynamicQuery;
import com.ruoyi.cai.dto.app.query.DynamicStarRes;
import com.ruoyi.cai.dto.app.vo.DynamicImageVo;
import com.ruoyi.cai.dto.app.vo.DynamicListVo;
import com.ruoyi.cai.dto.app.vo.DynamicVo;
import com.ruoyi.cai.mapper.CaiDynamicMapper;
import com.ruoyi.cai.service.CaiDynamicImagesService;
import com.ruoyi.cai.service.CaiDynamicService;
import com.ruoyi.cai.service.CaiUserFollowDynamicService;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.utils.BeanConvertUtil;
import lombok.RequiredArgsConstructor;
import net.bytebuddy.utility.JavaConstant;
@@ -18,6 +25,7 @@ import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
@@ -54,4 +62,38 @@ public class CaiDynamicServiceImpl extends ServiceImpl<CaiDynamicMapper,CaiDynam
}
return res;
}
@Override
public Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery query) {
Page<DynamicListVo> page = baseMapper.pageApp(pageQuery.build(),query);
List<DynamicListVo> records = page.getRecords();
List<Long> dynamicIds = records.stream().filter(i -> i.getIsAttach() == 1).map(DynamicVo::getId).collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(dynamicIds)){
List<CaiDynamicImages> dynamicImages = dynamicImagesService.list(Wrappers.lambdaQuery(CaiDynamicImages.class)
.in(CaiDynamicImages::getDynamicId, dynamicIds));
Map<Long, List<CaiDynamicImages>> map =
dynamicImages.stream().collect(Collectors.groupingBy(CaiDynamicImages::getDynamicId));
for (DynamicVo re : records) {
List<CaiDynamicImages> images = map.get(re.getId());
re.setImageList(BeanConvertUtil.convertListTo(images, DynamicImageVo::new));
}
}
return page;
}
@Override
public void saveDynamic(DynamicAddRes res) {
CaiDynamic caiDynamic = BeanConvertUtil.convertTo(res, CaiDynamic::new);
this.save(caiDynamic);
List<DynamicImageVo> imageList = res.getImageList();
if(CollectionUtil.isNotEmpty(imageList)){
for (DynamicImageVo imageVo : imageList) {
imageVo.setDynamicId(caiDynamic.getId());
imageVo.setUserId(caiDynamic.getUserId());
imageVo.setId(null);
}
dynamicImagesService.saveBatch(BeanConvertUtil.convertListTo(imageList, CaiDynamicImages::new));
}
}
}

View File

@@ -2,9 +2,13 @@ package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiReport;
import com.ruoyi.cai.domain.CaiReportCate;
import com.ruoyi.cai.dto.app.query.UserReportRes;
import com.ruoyi.cai.mapper.CaiReportMapper;
import com.ruoyi.cai.service.CaiReportCateService;
import com.ruoyi.cai.service.CaiReportService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
@@ -16,5 +20,18 @@ import org.springframework.stereotype.Service;
@RequiredArgsConstructor
@Service
public class CaiReportServiceImpl extends ServiceImpl<CaiReportMapper,CaiReport> implements CaiReportService {
@Autowired
private CaiReportCateService reportCateService;
@Override
public void report(UserReportRes reportRes) {
CaiReportCate reportCate = reportCateService.getById(reportRes.getCateId());
CaiReport report = new CaiReport();
report.setType(reportRes.getType());
report.setCateName(reportCate.getName());
report.setCateId(reportRes.getCateId());
report.setUserId(reportRes.getUserId());
report.setReportUid(reportRes.getReportUid());
report.setContent(reportRes.getContent());
this.save(report);
}
}

View File

@@ -1,10 +1,15 @@
package com.ruoyi.cai.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.cai.domain.CaiDynamic;
import com.ruoyi.cai.domain.CaiUserFollowDynamic;
import com.ruoyi.cai.dto.app.query.DynamicStarRes;
import com.ruoyi.cai.mapper.CaiUserFollowDynamicMapper;
import com.ruoyi.cai.service.CaiDynamicService;
import com.ruoyi.cai.service.CaiUserFollowDynamicService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
@@ -17,4 +22,29 @@ import org.springframework.stereotype.Service;
@Service
public class CaiUserFollowDynamicServiceImpl extends ServiceImpl<CaiUserFollowDynamicMapper,CaiUserFollowDynamic> implements CaiUserFollowDynamicService {
@Autowired
private CaiDynamicService dynamicService;
@Override
public void star(DynamicStarRes query) {
CaiDynamic dynamic = dynamicService.getById(query.getDynamicId());
if(dynamic == null){
return;
}
this.remove(Wrappers.lambdaQuery(CaiUserFollowDynamic.class)
.eq(CaiUserFollowDynamic::getDynamicId,query.getDynamicId())
.eq(CaiUserFollowDynamic::getUserId,query.getUserId()));
CaiUserFollowDynamic userFollowDynamic = new CaiUserFollowDynamic();
userFollowDynamic.setUserId(query.getUserId());
userFollowDynamic.setFollowUid(dynamic.getUserId());
userFollowDynamic.setDynamicId(dynamic.getId());
this.save(userFollowDynamic);
}
@Override
public void unStar(DynamicStarRes query) {
this.remove(Wrappers.lambdaQuery(CaiUserFollowDynamic.class)
.eq(CaiUserFollowDynamic::getDynamicId,query.getDynamicId())
.eq(CaiUserFollowDynamic::getUserId,query.getUserId()));
}
}