forked from kidgrow-microservices-platform

kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ProductOrderDetailServiceImpl.java
@@ -2,7 +2,6 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kidgrow.common.constant.ConsumptionConstant;
import com.kidgrow.common.model.*;
import com.kidgrow.common.service.impl.SuperServiceImpl;
import com.kidgrow.common.utils.DateUtils;
@@ -315,18 +314,22 @@
                int depCount = productOrderJoinDetailsListDep.stream().collect(Collectors.summingInt(ProductOrderJoinDetail::getAilightCount));
                //可用的总量
                userAICount = shareCount + depCount;
                //共享套餐里面的detailid
                List<Long> shareDetailId = productOrderJoinDetailListShare.stream().map(m -> m.getId()).collect(Collectors.toList());
                //私有套餐里面的detailid
                List<Long> depDetailId = productOrderJoinDetailsListDep.stream().map(m -> m.getId()).collect(Collectors.toList());
                //获取所有有效的套餐id
                List<Long> nowDetailList=shareDetailId;
                nowDetailList.addAll(depDetailId);
                //查询已预扣 未退还  未扣费的数据
                List<ConsumptionRecord> consumptionRecordList = consumptionRecordMapper.findDetailList(nowDetailList);
                //计算预扣费的总量
                Map<String, Object> selectMap = new HashMap<>();
                selectMap.put("recordType", ConsumptionConstant.BEFORE_DEDUCTION);
                List<ConsumptionRecord> consumptionRecordList = consumptionRecordMapper.findList(selectMap);;
                if (consumptionRecordList.size() > 0) {
                    //共享套餐里面的detailid
                    List<Long> shareDetailId = productOrderJoinDetailListShare.stream().map(m -> m.getId()).collect(Collectors.toList());
                    //私有套餐里面的detailid
                    List<Long> depDetailId = productOrderJoinDetailsListDep.stream().map(m -> m.getId()).collect(Collectors.toList());
                    //共享套餐里面预扣费总数
                    int shareConCount = consumptionRecordList.stream().filter(f -> shareDetailId.contains(f.getProOrderDetailId())).collect(Collectors.summingInt(ConsumptionRecord::getConsumptionCount));
                    //共享套餐里面预扣费总数
                    //私有套餐里面预扣费总数
                    int depConCount = consumptionRecordList.stream().filter(f -> depDetailId.contains(f.getProOrderDetailId())).collect(Collectors.summingInt(ConsumptionRecord::getConsumptionCount));
                    userAICount -= (shareConCount + depConCount);
                }