| | |
| | | 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; |
| | |
| | | @RequiredArgsConstructor |
| | | public class MallMemberCollectionServiceImpl extends ServiceImpl<MallMemberCollectionMapper, MallMemberCollection> implements IMallMemberCollectionService { |
| | | |
| | | private final IApiMallGoodsService apiMallGoodsService; |
| | | |
| | | @Override |
| | | public void add(AddCollectionDto addCollectionDto) { |
| | | MallMember member = LoginUserUtil.getLoginUser(); |
| | | |
| | | MallGoods mallgoods = apiMallGoodsService.getById(addCollectionDto.getGoodsId()); |
| | | if (mallgoods == null) { |
| | | throw new FebsException("商品不存在"); |
| | | } |
| | | |
| | | 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.isNotEmpty(mallMemberCollections)) { |
| | | throw new FebsException("商品已收藏"); |
| | | } |
| | | |
| | | MallMemberCollection collection = new MallMemberCollection(); |
| | | collection.setMemberId(member.getId()); |
| | |
| | | @Override |
| | | public void del(String ids) { |
| | | MallMember member = LoginUserUtil.getLoginUser(); |
| | | List<String> idsList = StrUtil.split(ids, ','); |
| | | List<String> goodsIdList = StrUtil.split(ids, ','); |
| | | |
| | | LambdaQueryWrapper<MallMemberCollection> query = new LambdaQueryWrapper<>(); |
| | | query.in(MallMemberCollection::getGoodsId, goodsIdList); |
| | | query.eq(MallMemberCollection::getMemberId, member.getId()); |
| | | List<MallMemberCollection> collections = this.baseMapper.selectList(query); |
| | | |
| | | 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()); |