This commit is contained in:
张良(004796)
2024-03-25 19:13:06 +08:00
parent 0e46e316bb
commit 8a89c53258
25 changed files with 468 additions and 15 deletions

View File

@@ -0,0 +1,25 @@
package com.ruoyi.xq.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.PageQuery;
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;
/**
* 动态点赞Service接口
*
* @author 77
* @date 2024-03-25
*/
public interface DynamicStarService extends IService<DynamicStar> {
void star(Long dynamicId,Long starUserId);
void unStar(Long dynamicId, Long starUserId);
Page<MyStarDynamicListVO> myStarDynamic(PageQuery pageQuery, MyStarDynamicQuery dynamicQuery);
}

View File

@@ -0,0 +1,81 @@
package com.ruoyi.xq.service.impl;
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.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;
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.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 动态点赞Service业务层处理
*
* @author 77
* @date 2024-03-25
*/
@Service
public class DynamicStarServiceImpl extends ServiceImpl<DynamicStarMapper,DynamicStar> implements DynamicStarService {
@Autowired
private UserService userService;
@Autowired
private DynamicImageService dynamicImageService;
@Override
@Transactional(rollbackFor = Exception.class)
public void star(Long dynamicId, Long starUserId) {
MinUser user = userService.getMinUserById(starUserId);
if(user == null){
return;
}
this.remove(Wrappers.lambdaQuery(DynamicStar.class).eq(DynamicStar::getDynamicId, dynamicId)
.eq(DynamicStar::getStarUserId, starUserId));
DynamicStar dynamicStar = new DynamicStar();
dynamicStar.setStarUserId(user.getId());
dynamicStar.setStarUsercode(user.getUsercode());
dynamicStar.setDynamicId(dynamicId);
this.save(dynamicStar);
}
@Override
public void unStar(Long dynamicId, Long starUserId) {
this.remove(Wrappers.lambdaQuery(DynamicStar.class).eq(DynamicStar::getDynamicId, dynamicId)
.eq(DynamicStar::getStarUserId, starUserId));
}
@Override
public Page<MyStarDynamicListVO> myStarDynamic(PageQuery pageQuery, MyStarDynamicQuery dynamicQuery) {
Page<MyStarDynamicListVO> result = baseMapper.myStarDynamic(pageQuery.build(), dynamicQuery);
List<MyStarDynamicListVO> records = result.getRecords();
if(CollectionUtils.isEmpty(records)){
return result;
}
List<Long> dynamicIds = records.stream().map(MyStarDynamicListVO::getDynamicId).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 (MyStarDynamicListVO record : records) {
List<DynamicImage> images = map.get(record.getDynamicId());
if(images == null){
images = new ArrayList<>();
}
record.setImageList(images.stream().map(DynamicImage::getUrl).collect(Collectors.toList()));
}
return result;
}
}

View File

@@ -21,6 +21,7 @@ import com.ruoyi.xq.dto.app.user.HomePageReq;
import com.ruoyi.xq.dto.app.user.vo.HomeUserListVo;
import com.ruoyi.xq.dto.app.user.vo.HomeUserVo;
import com.ruoyi.xq.dto.common.user.MinUser;
import com.ruoyi.xq.enums.ErrorEnum;
import com.ruoyi.xq.enums.common.SystemConfigEnum;
import com.ruoyi.xq.enums.userinfo.UserGenderEnum;
import com.ruoyi.xq.manager.SystemConfigManager;
@@ -101,6 +102,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements Use
BeanConvertUtil.copyProperties(user,result);
List<UserPictures> userPicturesList = userPicturesService.listByUserIdSuccess(userId);
result.setUserPictureList(userPicturesList.stream().map(UserPictures::getPicture).collect(Collectors.toList()));
UserVip userVip = userVipService.getByUserVipMaster(user.getId());
if(userVip != null){
result.setOpenVip(true);
result.setVipType(userVip.getVipType());
}
return result;
}
@@ -187,11 +193,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements Use
vipQuery.getCarStatus() != null || StringUtils.isNotEmpty(vipQuery.getAddressCode())){
Long userId = LoginHelper.getUserId();
if(userId == null){
throw new ServiceException("开通VIP才能开通查询",600100);
throw new ServiceException(ErrorEnum.VIP_AUTH);
}
UserVip userVip = userVipService.getByUserVipMaster(userId);
if(userVip == null){
throw new ServiceException("开通VIP才能开通查询",600100);
throw new ServiceException(ErrorEnum.VIP_AUTH);
}
}
}