From 98933984fa1353d298a5117fb2a2d044fc51af93 Mon Sep 17 00:00:00 2001 From: rentaiming <806181662@qq.com> Date: 星期六, 22 六月 2024 13:18:36 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java | 92 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 88 insertions(+), 4 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 0f6adcf..4f0fdee 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 @@ -5,7 +5,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.constant.SecurityConstants; +import com.ruoyi.common.core.exception.ServiceException; +import com.ruoyi.common.core.utils.page.BeanUtils; import com.ruoyi.common.core.utils.page.PageDTO; +import com.ruoyi.order.controller.management.dto.MgtMemberInvoicingAuditDTO; import com.ruoyi.order.controller.management.dto.MgtMemberInvoicingQuery; import com.ruoyi.order.controller.management.vo.MgtMemberInvoicingVO; import com.ruoyi.order.domain.MemberInvoice; @@ -22,11 +25,14 @@ 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; import java.util.Set; import java.util.stream.Collectors; import javax.annotation.Resource; +import org.jetbrains.annotations.NotNull; import org.springframework.stereotype.Service; /** @@ -72,10 +78,11 @@ memberInvoice.setCorporationPhone(memberInvoiceDTO.getCorporationPhone()); memberInvoice.setCorporationOpen(memberInvoiceDTO.getCorporationOpen()); memberInvoice.setRiseType(memberInvoiceDTO.getRiseType()); - this.save(memberInvoice); - List<Integer> memberInvoiceOrderList=memberInvoiceDTO.getOrderId(); - for (Integer memberInvoiceOrder:memberInvoiceOrderList){ + BigDecimal pice=new BigDecimal(0.0); + this.save(memberInvoice); + List<Long> memberInvoiceOrderList=memberInvoiceDTO.getOrderId(); + for (Long memberInvoiceOrder:memberInvoiceOrderList){ MemberInvoiceOrder memberInvoiceOrder1=new MemberInvoiceOrder(); Order order= iOrderService.getById(memberInvoiceOrder); order.setInvoiceStatus(1); @@ -87,7 +94,10 @@ OrderName=order.getSkuName(); memberInvoiceOrder1.setOrderName(OrderName); iMemberInvoiceOrderService.save(memberInvoiceOrder1); + pice.add(order.getTotalAmount()); } + memberInvoice.setInvoiceMoney(pice); + this.updateById(memberInvoice); } @Override @@ -101,6 +111,12 @@ return PageDTO.of(page1); } + /** + * 获取开票申请列表分页数据 + * + * @param query 管理后台-开票申请相关接口 + * @return PageDTO<MgtMemberInvoicingVO> + */ @Override public PageDTO<MgtMemberInvoicingVO> getMemberInvoicingPage(MgtMemberInvoicingQuery query) { Page<MemberInvoice> page = new Page<>(query.getPageCurr(), query.getPageSize()); @@ -123,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); } @@ -144,4 +161,71 @@ }); return pageVO; } + + /** + * 查看详情 + * + * @param id 开票申请id + * @return MgtMemberInvoicingVO + */ + @Override + public MgtMemberInvoicingVO getMemberInvoicingDetail(Long id) { + MemberInvoice memberInvoice = getMemberInvoice(id); + MgtMemberInvoicingVO mgtMemberInvoicingVO = BeanUtils.copyBean(memberInvoice, + MgtMemberInvoicingVO.class); + // 查询用户信息 + Member member = memberClient.getMembeOne(mgtMemberInvoicingVO.getMemberId(), + SecurityConstants.INNER).getData(); + if (Objects.nonNull(member)) { + mgtMemberInvoicingVO.setNickname(member.getNickname()); + mgtMemberInvoicingVO.setPhone(member.getPhone()); + } + // 查询关联订单 + List<MemberInvoiceOrder> memberInvoiceOrderList = iMemberInvoiceOrderService.lambdaQuery() + .eq(MemberInvoiceOrder::getInvoiceId, id).list(); + String orderNo = memberInvoiceOrderList.stream().map(MemberInvoiceOrder::getOrderNo) + .collect(Collectors.joining(",")); + mgtMemberInvoicingVO.setOrderNo(orderNo); + return mgtMemberInvoicingVO; + } + + @NotNull + private MemberInvoice getMemberInvoice(Long id) { + MemberInvoice memberInvoice = this.getById(id); + if (Objects.isNull(memberInvoice)) { + throw new ServiceException("开票申请不存在"); + } + return memberInvoice; + } + + /** + * 审核 + * + * @param dto 管理后台-开票申请审核数据传输对象 + */ + @Override + public void audit(MgtMemberInvoicingAuditDTO dto) { + MemberInvoice memberInvoice = getMemberInvoice(dto.getId()); + if (!Objects.equals(memberInvoice.getInvoiceStatus(), 1)) { + throw new ServiceException("该开票申请已被审核"); + } + memberInvoice.setInvoiceStatus(dto.getInvoiceStatus()); + if (Objects.equals(dto.getInvoiceStatus(), 3)) { + 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(); + } + + } } -- Gitblit v1.7.1