| | |
| | | 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()); |
| | | } |
| | |
| | | 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; |