Administrator
2025-05-21 31aa25676f11048c538bb5e92bc65cd33170de94
src/main/java/cc/mrbird/febs/mall/service/impl/MallMemberCollectionServiceImpl.java
@@ -1,11 +1,14 @@
package cc.mrbird.febs.mall.service.impl;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.mall.dto.AddCollectionDto;
import cc.mrbird.febs.mall.dto.MemberCollectionListDto;
import cc.mrbird.febs.mall.entity.MallGoods;
import cc.mrbird.febs.mall.entity.MallMember;
import cc.mrbird.febs.mall.entity.MallMemberCollection;
import cc.mrbird.febs.mall.mapper.MallMemberCollectionMapper;
import cc.mrbird.febs.mall.service.IApiMallGoodsService;
import cc.mrbird.febs.mall.service.IMallMemberCollectionService;
import cc.mrbird.febs.mall.vo.AddCollectionVo;
import cc.mrbird.febs.mall.vo.CollectionListVo;
@@ -29,15 +32,27 @@
@RequiredArgsConstructor
public class MallMemberCollectionServiceImpl extends ServiceImpl<MallMemberCollectionMapper, MallMemberCollection> implements IMallMemberCollectionService {
    private final IApiMallGoodsService apiMallGoodsService;
    @Override
    public void add(AddCollectionDto addCollectionDto) {
        MallMember member = LoginUserUtil.getLoginUser();
        MallMemberCollection collection = new MallMemberCollection();
        collection.setMemberId(member.getId());
        collection.setGoodsId(addCollectionDto.getGoodsId());
        MallGoods mallgoods = apiMallGoodsService.getById(addCollectionDto.getGoodsId());
        if (mallgoods == null) {
            throw new FebsException("商品不存在");
        }
        this.baseMapper.insert(collection);
        LambdaQueryWrapper<MallMemberCollection> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(MallMemberCollection::getMemberId, member.getId());
        queryWrapper.eq(MallMemberCollection::getGoodsId, addCollectionDto.getGoodsId());
        List<MallMemberCollection> mallMemberCollections = this.baseMapper.selectList(queryWrapper);
        if (CollUtil.isEmpty(mallMemberCollections)) {
            MallMemberCollection collection = new MallMemberCollection();
            collection.setMemberId(member.getId());
            collection.setGoodsId(addCollectionDto.getGoodsId());
            this.baseMapper.insert(collection);
        }
    }
    @Override
@@ -58,8 +73,20 @@
    @Override
    public void del(String ids) {
        MallMember member = LoginUserUtil.getLoginUser();
        List<String> idsList = StrUtil.split(ids, ',');
        List<String> goodsIdList = StrUtil.split(ids, ',');
        if (CollUtil.isEmpty(goodsIdList)) {
            return;
        }
        LambdaQueryWrapper<MallMemberCollection> query = new LambdaQueryWrapper<>();
        query.in(MallMemberCollection::getGoodsId, goodsIdList);
        query.eq(MallMemberCollection::getMemberId, member.getId());
        List<MallMemberCollection> collections = this.baseMapper.selectList(query);
        if (CollUtil.isEmpty(collections)) {
            return;
        }
        List<Long> idsList = collections.stream().map(MallMemberCollection::getId).collect(Collectors.toList());
        LambdaQueryWrapper<MallMemberCollection> delQuery = new LambdaQueryWrapper<>();
        delQuery.in(MallMemberCollection::getId, idsList);
        delQuery.eq(MallMemberCollection::getMemberId, member.getId());