forked from kidgrow-microservices-platform

kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/ConsumptionRecordServiceImpl.java
@@ -6,6 +6,7 @@
import com.kidgrow.common.model.PageResult;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.common.service.impl.SuperServiceImpl;
import com.kidgrow.common.utils.AesUtils;
import com.kidgrow.common.utils.DateUtils;
import com.kidgrow.common.utils.StringUtils;
import com.kidgrow.oprationcenter.mapper.ConsumptionRecordMapper;
@@ -266,7 +267,7 @@
     */
    @Transactional(rollbackFor = Exception.class)
    @Override
    public ResultBody consumptionAIFail(ConsumptionRequest consumptionRequest) {
    public ResultBody consumptionAIFail(ConsumptionRequest consumptionRequest)  {
        //默认的业务返回码
        int bcode = -1;
        //记录类型
@@ -338,6 +339,13 @@
                        if (productOrderDetail != null) {
                            //退还金额
                            productOrderDetail.setAilightCount(productOrderDetail.getAilightCount() + consumptionRecord.getConsumptionCount());
                            // 对于读片量进行加密
                            try {
                                productOrderDetail.setAilightCountEncryption(AesUtils.encrypt(productOrderDetail.getAilightCount().toString()));
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                            productOrderDetail.setUpdateTime(new Date());
                            //退费
                            boolean consumptionRe = productOrderDetailService.saveOrUpdate(productOrderDetail);
@@ -504,6 +512,12 @@
                productOrderDetail.setAilightCount(productOrderDetail.getAilightCount() - consumptionRequest.getConsumptionCount());
            }
        }
        // 对于读片量进行加密
        try {
            productOrderDetail.setAilightCountEncryption(AesUtils.encrypt(productOrderDetail.getAilightCount().toString()));
        } catch (Exception e) {
            e.printStackTrace();
        }
        //3.1扣费!
        boolean consumptionRe = productOrderDetailService.saveOrUpdate(productOrderDetail);
        if (consumptionRe) {
@@ -520,7 +534,7 @@
            if (SaveConsumptionRecord(consumptionRecordNew)) {
                //3.3 扣费成功 如果套餐id变化,则更新预扣费的套餐id
                if (consumptionRecordNew.getProOrderDetailId() != consumptionRecord.getProOrderDetailId()) {
                if (!consumptionRecordNew.getProOrderDetailId().equals(consumptionRecord.getProOrderDetailId())) {
                    consumptionRecord.setProOrderDetailId(productOrderDetail.getId());
                    consumptionRecord.setUpdateTime(new Date());
                    if (!SaveConsumptionRecord(consumptionRecord)) {
@@ -669,8 +683,7 @@
        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());
            //要使用的套餐信息
            Long firstId=productOrderJoinDetailsNewList.get(0).getId();
            logger.info("扣费要使用的套餐ID是id:【{}】", firstId);