From 392b42c4891cf2e6beda57ab32c51598f290f4b7 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 14 三月 2025 20:56:27 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java | 34 +++++++++++++++++++++++----------- 1 files changed, 23 insertions(+), 11 deletions(-) diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java index 764fa7c..9b56a97 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java +++ b/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; @@ -33,6 +34,7 @@ import javax.annotation.Resource; import org.jetbrains.annotations.NotNull; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; /** * <p> @@ -64,6 +66,11 @@ private MemberClient memberClient; @Override public void saveMemberInvoice(MemberInvoiceDTO memberInvoiceDTO) { + List<Long> memberInvoiceOrderList=memberInvoiceDTO.getOrderId(); + if (memberInvoiceOrderList.size()==0){ + throw new ServiceException("无开票订单"); + } + MemberInvoice memberInvoice =new MemberInvoice(); memberInvoice.setMemberId(memberInvoiceDTO.getMemberId()); memberInvoice.setInvoiceMoney(memberInvoiceDTO.getInvoiceMoney()); @@ -78,12 +85,11 @@ memberInvoice.setCorporationOpen(memberInvoiceDTO.getCorporationOpen()); memberInvoice.setRiseType(memberInvoiceDTO.getRiseType()); this.save(memberInvoice); - - List<Long> memberInvoiceOrderList=memberInvoiceDTO.getOrderId(); - for (Long memberInvoiceOrder:memberInvoiceOrderList){ + Double pice=0.00; + for (int i=0;i<memberInvoiceOrderList.size();i++){ MemberInvoiceOrder memberInvoiceOrder1=new MemberInvoiceOrder(); - Order order= iOrderService.getById(memberInvoiceOrder); - order.setInvoiceStatus(1); + Order order= iOrderService.getById(memberInvoiceOrderList.get(i)); + order.setInvoiceStatus(2); iOrderService.updateById(order); memberInvoiceOrder1.setInvoiceId(memberInvoice.getId()); memberInvoiceOrder1.setOrderMoney(order.getTotalAmount()); @@ -92,7 +98,11 @@ OrderName=order.getSkuName(); memberInvoiceOrder1.setOrderName(OrderName); iMemberInvoiceOrderService.save(memberInvoiceOrder1); + pice=pice+order.getTotalAmount().doubleValue(); } + + memberInvoice.setInvoiceMoney(new BigDecimal(pice)); + this.updateById(memberInvoice); } @Override @@ -134,7 +144,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); } @@ -198,6 +209,7 @@ * @param dto 管理后台-开票申请审核数据传输对象 */ @Override + @Transactional(rollbackFor = Exception.class) public void audit(MgtMemberInvoicingAuditDTO dto) { MemberInvoice memberInvoice = getMemberInvoice(dto.getId()); if (!Objects.equals(memberInvoice.getInvoiceStatus(), 1)) { @@ -210,15 +222,15 @@ this.updateById(memberInvoice); // 更新关联订单状态 List<MemberInvoiceOrder> memberInvoiceOrderList = iMemberInvoiceOrderService.lambdaQuery() - .eq(MemberInvoiceOrder::getInvoiceId, memberInvoice) + .eq(MemberInvoiceOrder::getInvoiceId, memberInvoice.getId()) .list(); - Set<Long> orderIdSet = memberInvoiceOrderList.stream() - .map(MemberInvoiceOrder::getOrderId) + Set<String> orderNoSet = memberInvoiceOrderList.stream() + .map(MemberInvoiceOrder::getOrderNo) .collect(Collectors.toSet()); - if (!orderIdSet.isEmpty()) { + if (!orderNoSet.isEmpty()) { iOrderService.lambdaUpdate() .set(Order::getInvoiceStatus, dto.getInvoiceStatus() == 2 ? 3 : 4) - .in(Order::getId, orderIdSet).update(); + .in(Order::getOrderNo, orderNoSet).update(); } } -- Gitblit v1.7.1