init
This commit is contained in:
@@ -11,4 +11,5 @@ import com.ruoyi.xq.domain.DynamicImage;
|
||||
*/
|
||||
public interface DynamicImageService extends IService<DynamicImage> {
|
||||
|
||||
void removeByDynamicId(Long dynamicId);
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.ruoyi.xq.dto.admin.dynamic.DynamicAdminVo;
|
||||
import com.ruoyi.xq.dto.app.dynamic.AddDynamicReq;
|
||||
import com.ruoyi.xq.dto.app.dynamic.DynamicListVo;
|
||||
import com.ruoyi.xq.dto.app.dynamic.DynamicQuery;
|
||||
import com.ruoyi.xq.dto.app.dynamic.MyDynamicListVo;
|
||||
|
||||
/**
|
||||
* 动态审核Service接口
|
||||
@@ -26,4 +27,8 @@ public interface DynamicService extends IService<Dynamic> {
|
||||
void auditSuccess(String ids);
|
||||
|
||||
void auditFail(Long id, String auditRemark);
|
||||
|
||||
Page<MyDynamicListVo> currentPage(PageQuery pageQuery);
|
||||
|
||||
void removeDynamicOfApp(Long id);
|
||||
}
|
||||
|
||||
@@ -8,6 +8,8 @@ import com.ruoyi.xq.dto.app.dynamic.DynamicListVo;
|
||||
import com.ruoyi.xq.dto.app.dynamic.MyStarDynamicListVO;
|
||||
import com.ruoyi.xq.dto.app.dynamic.MyStarDynamicQuery;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 动态点赞Service接口
|
||||
*
|
||||
@@ -20,6 +22,9 @@ public interface DynamicStarService extends IService<DynamicStar> {
|
||||
|
||||
void unStar(Long dynamicId, Long starUserId);
|
||||
|
||||
List<DynamicStar> isStarList(List<Long> dynamicId, Long userId);
|
||||
|
||||
Page<MyStarDynamicListVO> myStarDynamic(PageQuery pageQuery, MyStarDynamicQuery dynamicQuery);
|
||||
|
||||
void removeByDynamicId(Long dynamicId);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.ruoyi.xq.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.xq.domain.DynamicImage;
|
||||
import com.ruoyi.xq.mapper.DynamicImageMapper;
|
||||
@@ -17,4 +18,8 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class DynamicImageServiceImpl extends ServiceImpl<DynamicImageMapper,DynamicImage> implements DynamicImageService {
|
||||
|
||||
@Override
|
||||
public void removeByDynamicId(Long dynamicId) {
|
||||
this.remove(Wrappers.lambdaQuery(DynamicImage.class).eq(DynamicImage::getDynamicId,dynamicId));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,21 +4,22 @@ 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.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.helper.LoginHelper;
|
||||
import com.ruoyi.common.utils.ServletUtils;
|
||||
import com.ruoyi.xq.domain.Dynamic;
|
||||
import com.ruoyi.xq.domain.DynamicImage;
|
||||
import com.ruoyi.xq.domain.User;
|
||||
import com.ruoyi.xq.domain.UserInfoAudit;
|
||||
import com.ruoyi.xq.domain.*;
|
||||
import com.ruoyi.xq.dto.admin.dynamic.DynamicAdminVo;
|
||||
import com.ruoyi.xq.dto.app.auth.LoginUser;
|
||||
import com.ruoyi.xq.dto.app.dynamic.AddDynamicReq;
|
||||
import com.ruoyi.xq.dto.app.dynamic.DynamicListVo;
|
||||
import com.ruoyi.xq.dto.app.dynamic.DynamicQuery;
|
||||
import com.ruoyi.xq.dto.app.dynamic.MyDynamicListVo;
|
||||
import com.ruoyi.xq.enums.common.AuditEnum;
|
||||
import com.ruoyi.xq.enums.user.UserInfoAuditTypeEnum;
|
||||
import com.ruoyi.xq.mapper.DynamicMapper;
|
||||
import com.ruoyi.xq.service.DynamicImageService;
|
||||
import com.ruoyi.xq.service.DynamicService;
|
||||
import com.ruoyi.xq.service.DynamicStarService;
|
||||
import com.ruoyi.xq.service.UserService;
|
||||
import com.ruoyi.xq.util.AgeUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -31,6 +32,7 @@ import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -47,6 +49,8 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper,Dynamic> imple
|
||||
private UserService userService;
|
||||
@Autowired
|
||||
private DynamicImageService dynamicImageService;
|
||||
@Autowired
|
||||
private DynamicStarService dynamicStarService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@@ -69,6 +73,44 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper,Dynamic> imple
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<MyDynamicListVo> currentPage(PageQuery pageQuery) {
|
||||
Long currentUserId = LoginHelper.getUserId();
|
||||
Page<MyDynamicListVo> page = baseMapper.currentPage(pageQuery.build(), currentUserId);
|
||||
List<MyDynamicListVo> records = page.getRecords();
|
||||
if(CollectionUtils.isEmpty(records)){
|
||||
return page;
|
||||
}
|
||||
List<Long> dynamicIds = records.stream().map(MyDynamicListVo::getId).collect(Collectors.toList());
|
||||
List<DynamicImage> list = dynamicImageService.list(Wrappers.lambdaQuery(DynamicImage.class).in(DynamicImage::getDynamicId, dynamicIds));
|
||||
Map<Long, List<DynamicImage>> map = list.stream().collect(Collectors.groupingBy(DynamicImage::getDynamicId));
|
||||
for (MyDynamicListVo record : records) {
|
||||
record.setAge(AgeUtil.getAge(record.getBirthday()));
|
||||
List<DynamicImage> images = map.get(record.getId());
|
||||
if(images == null){
|
||||
images = new ArrayList<>();
|
||||
}
|
||||
record.setImageList(images.stream().map(DynamicImage::getUrl).collect(Collectors.toList()));
|
||||
}
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeDynamicOfApp(Long id) {
|
||||
Dynamic dynamic = this.getById(id);
|
||||
if(dynamic == null){
|
||||
throw new ServiceException("动态不存在");
|
||||
}
|
||||
Long userId = LoginHelper.getUserId();
|
||||
if(dynamic.getUserId().equals(userId)){
|
||||
throw new ServiceException("只能删除自己的动态哦");
|
||||
}
|
||||
this.removeById(id);
|
||||
dynamicImageService.removeByDynamicId(id);
|
||||
dynamicStarService.removeByDynamicId(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery dynamicQuery) {
|
||||
Page<DynamicListVo> page = baseMapper.pageApp(pageQuery.build(), dynamicQuery);
|
||||
@@ -76,7 +118,10 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper,Dynamic> imple
|
||||
if(CollectionUtils.isEmpty(records)){
|
||||
return page;
|
||||
}
|
||||
Long currentUserId = LoginHelper.getUserId();
|
||||
List<Long> dynamicIds = records.stream().map(DynamicListVo::getId).collect(Collectors.toList());
|
||||
List<DynamicStar> starList = dynamicStarService.isStarList(dynamicIds, currentUserId);
|
||||
Set<Long> starDynamicSet = starList.stream().map(DynamicStar::getDynamicId).collect(Collectors.toSet());
|
||||
List<DynamicImage> list = dynamicImageService.list(Wrappers.lambdaQuery(DynamicImage.class).in(DynamicImage::getDynamicId, dynamicIds));
|
||||
Map<Long, List<DynamicImage>> map = list.stream().collect(Collectors.groupingBy(DynamicImage::getDynamicId));
|
||||
for (DynamicListVo record : records) {
|
||||
@@ -86,6 +131,7 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper,Dynamic> imple
|
||||
images = new ArrayList<>();
|
||||
}
|
||||
record.setImageList(images.stream().map(DynamicImage::getUrl).collect(Collectors.toList()));
|
||||
record.setStar(starDynamicSet.contains(currentUserId));
|
||||
}
|
||||
return page;
|
||||
}
|
||||
@@ -138,4 +184,6 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper,Dynamic> imple
|
||||
.set(Dynamic::getAuditTime, LocalDateTime.now())
|
||||
.set(Dynamic::getAuditRemark, auditRemark));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.xq.domain.DynamicImage;
|
||||
import com.ruoyi.xq.domain.DynamicStar;
|
||||
import com.ruoyi.xq.dto.app.dynamic.DynamicListVo;
|
||||
import com.ruoyi.xq.dto.app.dynamic.MyStarDynamicListVO;
|
||||
import com.ruoyi.xq.dto.app.dynamic.MyStarDynamicQuery;
|
||||
import com.ruoyi.xq.dto.common.user.MinUser;
|
||||
@@ -14,13 +13,13 @@ import com.ruoyi.xq.mapper.DynamicStarMapper;
|
||||
import com.ruoyi.xq.service.DynamicImageService;
|
||||
import com.ruoyi.xq.service.DynamicStarService;
|
||||
import com.ruoyi.xq.service.UserService;
|
||||
import com.ruoyi.xq.util.AgeUtil;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -59,6 +58,16 @@ public class DynamicStarServiceImpl extends ServiceImpl<DynamicStarMapper,Dynami
|
||||
.eq(DynamicStar::getStarUserId, starUserId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<DynamicStar> isStarList(List<Long> dynamicId, Long userId){
|
||||
if(CollectionUtils.isEmpty(dynamicId)){
|
||||
return Collections.emptyList();
|
||||
}
|
||||
List<DynamicStar> list = this.list(Wrappers.lambdaUpdate(DynamicStar.class).eq(DynamicStar::getStarUserId, userId)
|
||||
.in(DynamicStar::getDynamicId, dynamicId));
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<MyStarDynamicListVO> myStarDynamic(PageQuery pageQuery, MyStarDynamicQuery dynamicQuery) {
|
||||
Page<MyStarDynamicListVO> result = baseMapper.myStarDynamic(pageQuery.build(), dynamicQuery);
|
||||
@@ -78,4 +87,9 @@ public class DynamicStarServiceImpl extends ServiceImpl<DynamicStarMapper,Dynami
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeByDynamicId(Long dynamicId) {
|
||||
this.remove(Wrappers.lambdaQuery(DynamicStar.class).eq(DynamicStar::getDynamicId,dynamicId));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user