mitao
2024-06-26 884f5c68ac8c738f90f1ca257605cfbb5d7f12db
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java
@@ -25,6 +25,7 @@
import com.ruoyi.system.api.feignClient.GoodsSkuClient;
import com.ruoyi.system.api.feignClient.MemberClient;
import io.seata.common.util.StringUtils;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -77,8 +78,9 @@
        memberInvoice.setCorporationPhone(memberInvoiceDTO.getCorporationPhone());
        memberInvoice.setCorporationOpen(memberInvoiceDTO.getCorporationOpen());
        memberInvoice.setRiseType(memberInvoiceDTO.getRiseType());
        this.save(memberInvoice);
        BigDecimal pice=new BigDecimal(0.0);
        this.save(memberInvoice);
       List<Long> memberInvoiceOrderList=memberInvoiceDTO.getOrderId();
       for (Long memberInvoiceOrder:memberInvoiceOrderList){
           MemberInvoiceOrder memberInvoiceOrder1=new MemberInvoiceOrder();
@@ -92,7 +94,10 @@
           OrderName=order.getSkuName();
           memberInvoiceOrder1.setOrderName(OrderName);
           iMemberInvoiceOrderService.save(memberInvoiceOrder1);
           pice.add(order.getTotalAmount());
       }
        memberInvoice.setInvoiceMoney(pice);
        this.updateById(memberInvoice);
    }
    @Override
@@ -134,7 +139,8 @@
                .in(com.ruoyi.common.core.utils.StringUtils.isNotEmpty(memberIdSet),
                        MemberInvoice::getMemberId, memberIdSet)
                .eq(query.getInvoiceStatus() != null, MemberInvoice::getInvoiceStatus,
                        query.getInvoiceStatus()).page(page);
                        query.getInvoiceStatus()).orderByDesc(MemberInvoice::getCreateTime)
                .page(page);
        if (page.getRecords().isEmpty()) {
            return PageDTO.empty(page);
        }
@@ -208,5 +214,18 @@
            memberInvoice.setRemark(dto.getRemark());
        }
        this.updateById(memberInvoice);
        // 更新关联订单状态
        List<MemberInvoiceOrder> memberInvoiceOrderList = iMemberInvoiceOrderService.lambdaQuery()
                .eq(MemberInvoiceOrder::getInvoiceId, memberInvoice)
                .list();
        Set<Long> orderIdSet = memberInvoiceOrderList.stream()
                .map(MemberInvoiceOrder::getOrderId)
                .collect(Collectors.toSet());
        if (!orderIdSet.isEmpty()) {
            iOrderService.lambdaUpdate()
                    .set(Order::getInvoiceStatus, dto.getInvoiceStatus() == 2 ? 3 : 4)
                    .in(Order::getId, orderIdSet).update();
        }
    }
}