package com.ruoyi.other.service.impl;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.other.api.domain.ShopPoint;
|
import com.ruoyi.other.api.enums.PointChangeType;
|
import com.ruoyi.other.mapper.ShopPointMapper;
|
import com.ruoyi.other.service.ShopPointService;
|
import com.ruoyi.other.vo.ShopPointStatistics;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
|
/**
|
* <p>
|
* 服务实现类
|
* </p>
|
*
|
* @author luodangjia
|
* @since 2024-11-20
|
*/
|
@Service
|
public class ShopPointServiceImpl extends ServiceImpl<ShopPointMapper, ShopPoint> implements ShopPointService {
|
|
@Override
|
public ShopPointStatistics statistics(IPage<ShopPoint> page, ShopPoint shopPoint) {
|
List<ShopPoint> shopPoints = this.baseMapper.selectShopPointList(shopPoint);
|
Map<Integer, Integer> shopPointMap = shopPoints.stream()
|
.collect(Collectors.groupingBy(
|
ShopPoint::getType,
|
Collectors.summingInt(ShopPoint::getVariablePoint)
|
));
|
|
ShopPointStatistics shopPointStatistics = new ShopPointStatistics();
|
int sPoint = shopPointMap.getOrDefault(PointChangeType.SHOP_ACHIEVEMENT.getCode(), 0);
|
int shopCommissionPoint = shopPointMap.getOrDefault(PointChangeType.SHOP_REBATE.getCode(), 0);
|
int subShopCommissionPoint = shopPointMap.getOrDefault(PointChangeType.JUNIOR_SHOP_REBATE.getCode(), 0);
|
shopPointStatistics.setTotalPoint(sPoint + shopCommissionPoint + subShopCommissionPoint);
|
shopPointStatistics.setShopPoint(sPoint);
|
shopPointStatistics.setShopCommissionPoint(shopCommissionPoint);
|
shopPointStatistics.setSubShopCommissionPoint(subShopCommissionPoint);
|
|
IPage<ShopPoint> shopPointIPage = this.baseMapper.queryShpointPage(page, shopPoint);
|
shopPointStatistics.setShopPointIPage(shopPointIPage);
|
|
return shopPointStatistics;
|
}
|
}
|