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<Follow>().eq(Follow::getUserId, userId)));
|
dto.setCollectNum(collectMapper.selectCount(new LambdaQueryWrapper<Collect>().eq(Collect::getUserId, userId)));
|
dto.setBrowseNum(browseHistoryMapper.selectCount(new LambdaQueryWrapper<BrowseHistory>().eq(BrowseHistory::getUserId, userId)));
|
return dto;
|
}
|
|
//获取所有的邀请记录和当前登陆人的邀请记录
|
public InviteRewardDTO customerReward() {
|
InviteRewardDTO rewardto = new InviteRewardDTO();
|
List<InviteDTO> reward = customerMapper.getReward();
|
rewardto.setSuccessInvite(reward);
|
List<InviteDTO> myreward = reward.stream().filter(s->s!=null&&s.getUserId()== SecurityUtils.getUserId()).collect(Collectors.toList());;
|
rewardto.setMyInvite(myreward);
|
return rewardto;
|
}
|
}
|