package com.mzl.flower.service.customer; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.mzl.flower.config.security.SecurityUtils; import com.mzl.flower.dto.response.customer.CustomerTjDTO; import com.mzl.flower.dto.response.customer.InviteDTO; import com.mzl.flower.dto.response.customer.InviteRewardDTO; import com.mzl.flower.entity.customer.BrowseHistory; import com.mzl.flower.entity.customer.Collect; import com.mzl.flower.entity.customer.Follow; import com.mzl.flower.mapper.customer.BrowseHistoryMapper; import com.mzl.flower.mapper.customer.CollectMapper; import com.mzl.flower.mapper.customer.CustomerMapper; import com.mzl.flower.mapper.customer.FollowMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.stream.Collectors; @Service @Transactional @Slf4j public class CustomerCenterService { private final FollowMapper followMapper; private final CollectMapper collectMapper; private final BrowseHistoryMapper browseHistoryMapper; private final CustomerMapper customerMapper; public CustomerCenterService(FollowMapper followMapper, CollectMapper collectMapper, BrowseHistoryMapper browseHistoryMapper, CustomerMapper customerMapper) { this.followMapper = followMapper; this.collectMapper = collectMapper; this.browseHistoryMapper = browseHistoryMapper; this.customerMapper = customerMapper; } public CustomerTjDTO customerCenterTj(String userId) { CustomerTjDTO dto = new CustomerTjDTO(); dto.setFollowNum(followMapper.selectCount(new LambdaQueryWrapper().eq(Follow::getUserId, userId))); dto.setCollectNum(collectMapper.selectCount(new LambdaQueryWrapper().eq(Collect::getUserId, userId))); dto.setBrowseNum(browseHistoryMapper.selectCount(new LambdaQueryWrapper().eq(BrowseHistory::getUserId, userId))); return dto; } //获取所有的邀请记录和当前登陆人的邀请记录 public InviteRewardDTO customerReward() { InviteRewardDTO rewardto = new InviteRewardDTO(); List reward = customerMapper.getReward(); rewardto.setSuccessInvite(reward); List myreward = reward.stream().filter(s->s!=null&&s.getUserId()== SecurityUtils.getUserId()).collect(Collectors.toList());; rewardto.setMyInvite(myreward); return rewardto; } }