forked from kidgrow-microservices-platform

zhaoxiaohao
2021-04-22 d6c989a5d9122e5cf969dd640a92b8e12caf8aa6
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java
@@ -519,19 +519,20 @@
            consumptionRecordNew.setCreateTime(new Date());
            if (SaveConsumptionRecord(consumptionRecordNew)) {
                //3.3 扣费成功 如果套餐id变化,则更新预扣费的套餐id
                if (consumptionRecordNew.getProOrderDetailId() != consumptionRecord.getProOrderDetailId()) {
                    consumptionRecord.setProOrderDetailId(productOrderDetail.getId());
                    consumptionRecord.setUpdateTime(new Date());
                    if (!SaveConsumptionRecord(consumptionRecord)) {
                        logger.info("业务编号:【{}】更新预扣费的套餐id!", consumptionRequest.getBusinessId());
                    }
                //3.3 扣费成功 同时更新预扣记录数据的套餐id和数据更新时间
                consumptionRecord.setProOrderDetailId(productOrderDetail.getId());
                consumptionRecord.setUpdateTime(new Date());
                if (SaveConsumptionRecord(consumptionRecord)) {
                    //消息队列通知
                    MessageToBI(consumptionRequest);
                    //已经扣费
                    logger.info("业务编号:【{}】该业务已经扣费!", consumptionRequest.getBusinessId());
                    return true;
                }
                //消息队列通知
                MessageToBI(consumptionRequest);
                //已经扣费
                logger.info("业务编号:【{}】该业务已经扣费!", consumptionRequest.getBusinessId());
                return true;
                else
                {
                    logger.info("业务编号:【{}】更新预扣费数据失败!", consumptionRequest.getBusinessId());
                }
            } else {
                logger.info("业务编号:【{}】预扣费执行失败!", consumptionRequest.getBusinessId());
            }
@@ -669,10 +670,11 @@
        if (productOrderJoinDetailList.size() > 0) {
            //合并后按id排序并筛除已用完的套餐
            List<ProductOrderJoinDetail> productOrderJoinDetailsNewList = productOrderJoinDetailList
                    .stream().filter(f -> f.getAilightCount() >= consumCount)
                    .sorted(Comparator.comparing(ProductOrderJoinDetail::getId)).collect(Collectors.toList());
                    .stream().filter(f -> f.getAilightCount() >= consumCount).collect(Collectors.toList());
            //要使用的套餐信息
            ProductOrderDetail productOrderDetail = productOrderDetailService.getById(productOrderJoinDetailsNewList.get(0).getId());
            Long firstId=productOrderJoinDetailsNewList.get(0).getId();
            logger.info("扣费要使用的套餐ID是id:【{}】", firstId);
            ProductOrderDetail productOrderDetail = productOrderDetailService.getById(firstId);
            return productOrderDetail;
        }
        return null;