From 9e901c9c865955b9732e3e71a5a055239101255b Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期六, 15 六月 2024 18:15:25 +0800 Subject: [PATCH] 提交【管理后台】订单管理-开票申请相关接口 --- ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java | 98 ++++++++++++++++++++++++++++++++----------------- 1 files changed, 64 insertions(+), 34 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 ac3f033..0f6adcf 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 @@ -4,25 +4,28 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.enums.OrderFromEnum; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.utils.page.PageDTO; -import com.ruoyi.order.domain.pojo.MemberInvoice; -import com.ruoyi.order.domain.pojo.MemberInvoiceOrder; -import com.ruoyi.order.domain.pojo.OrderAuction; -import com.ruoyi.order.domain.pojo.OrderMall; +import com.ruoyi.order.controller.management.dto.MgtMemberInvoicingQuery; +import com.ruoyi.order.controller.management.vo.MgtMemberInvoicingVO; +import com.ruoyi.order.domain.MemberInvoice; +import com.ruoyi.order.domain.MemberInvoiceOrder; import com.ruoyi.order.dto.MemberInvoiceDTO; import com.ruoyi.order.mapper.MemberInvoiceMapper; import com.ruoyi.order.service.IMemberInvoiceOrderService; import com.ruoyi.order.service.IMemberInvoiceService; import com.ruoyi.order.service.IOrderAuctionService; -import com.ruoyi.order.service.IOrderMallService; import com.ruoyi.order.service.IOrderService; -import com.ruoyi.system.api.domain.GoodsSeckill; -import com.ruoyi.system.api.domain.GoodsSku; +import com.ruoyi.system.api.domain.Member; import com.ruoyi.system.api.domain.Order; +import com.ruoyi.system.api.domain.dto.MemberDTO; import com.ruoyi.system.api.feignClient.GoodsSkuClient; +import com.ruoyi.system.api.feignClient.MemberClient; +import io.seata.common.util.StringUtils; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; import javax.annotation.Resource; import org.springframework.stereotype.Service; @@ -37,14 +40,11 @@ @Service public class MemberInvoiceServiceImpl extends ServiceImpl<MemberInvoiceMapper, MemberInvoice> implements IMemberInvoiceService { - @Resource - private IMemberInvoiceService iMemberInvoiceService; @Resource private IMemberInvoiceOrderService iMemberInvoiceOrderService; - @Resource - private IOrderMallService iOrderMallService; + @Resource private IOrderService iOrderService; @@ -55,6 +55,8 @@ @Resource private IOrderAuctionService iOrderAuctionService; + @Resource + private MemberClient memberClient; @Override public void saveMemberInvoice(MemberInvoiceDTO memberInvoiceDTO) { MemberInvoice memberInvoice =new MemberInvoice(); @@ -70,35 +72,19 @@ memberInvoice.setCorporationPhone(memberInvoiceDTO.getCorporationPhone()); memberInvoice.setCorporationOpen(memberInvoiceDTO.getCorporationOpen()); memberInvoice.setRiseType(memberInvoiceDTO.getRiseType()); - iMemberInvoiceService.save(memberInvoice); + this.save(memberInvoice); List<Integer> memberInvoiceOrderList=memberInvoiceDTO.getOrderId(); for (Integer memberInvoiceOrder:memberInvoiceOrderList){ MemberInvoiceOrder memberInvoiceOrder1=new MemberInvoiceOrder(); Order order= iOrderService.getById(memberInvoiceOrder); + order.setInvoiceStatus(1); + iOrderService.updateById(order); memberInvoiceOrder1.setInvoiceId(memberInvoice.getId()); memberInvoiceOrder1.setOrderMoney(order.getTotalAmount()); memberInvoiceOrder1.setOrderNo(order.getOrderNo()); String OrderName=""; - if (order.getOrderFrom().equals(OrderFromEnum.COMMODITY_ORDER)||order.getOrderFrom().equals(OrderFromEnum.SNAP_ORDERS)||order.getOrderFrom().equals(OrderFromEnum.GROUP_PURCHASE_ORDERS)){ - LambdaQueryWrapper<OrderMall> wrapper = Wrappers.lambdaQuery(); - wrapper.eq(OrderMall::getOrderId, order.getId()); - wrapper.eq(OrderMall::getDelFlag, 0); - OrderMall orderMall= iOrderMallService.getOne(wrapper); - R<GoodsSku> goodsSkuR=goodsSkuClient.getGoodsSkuOne(orderMall.getGoodsSkuId()); - GoodsSku goodsSku=goodsSkuR.getData(); - OrderName=goodsSku.getSkuName(); - }else{ - LambdaQueryWrapper<OrderAuction> wrapper = Wrappers.lambdaQuery(); - wrapper.eq(OrderAuction::getOrderId, order.getId()); - wrapper.eq(OrderAuction::getDelFlag, 0); - OrderAuction orderAuction=iOrderAuctionService.getOne(wrapper); - R<GoodsSeckill> goodsSeckillR=goodsSkuClient.getGoodsSeckillOne(orderAuction.getSalesroomGoodsId()); - GoodsSeckill goodsSeckill=goodsSeckillR.getData(); - R<GoodsSku> goodsSkuR=goodsSkuClient.getGoodsSkuOne(goodsSeckill.getGoodsSkuId()); - GoodsSku goodsSku=goodsSkuR.getData(); - OrderName=goodsSku.getSkuName(); - } + OrderName=order.getSkuName(); memberInvoiceOrder1.setOrderName(OrderName); iMemberInvoiceOrderService.save(memberInvoiceOrder1); } @@ -111,7 +97,51 @@ wrapper.eq(MemberInvoice::getMemberId, memberInvoiceDTO.getMemberId()); wrapper.eq(MemberInvoice::getDelFlag, 0); wrapper.orderByDesc(MemberInvoice::getCreateTime); - Page<MemberInvoice> page1 = iMemberInvoiceService.page(page, wrapper); + Page<MemberInvoice> page1 = this.page(page, wrapper); return PageDTO.of(page1); } + + @Override + public PageDTO<MgtMemberInvoicingVO> getMemberInvoicingPage(MgtMemberInvoicingQuery query) { + Page<MemberInvoice> page = new Page<>(query.getPageCurr(), query.getPageSize()); + Set<Long> memberIdSet = null; + if (StringUtils.isNotBlank(query.getNickname()) || StringUtils.isNotBlank( + query.getPhone())) { + MemberDTO memberDTO = new MemberDTO(); + memberDTO.setNickname(query.getNickname()); + memberDTO.setPhone(query.getPhone()); + List<Member> memberList = memberClient.getMemberListByCondition(memberDTO, + SecurityConstants.INNER).getData(); + if (memberList.isEmpty()) { + return PageDTO.empty(page); + } + memberIdSet = memberList.stream().map(Member::getId) + .collect(Collectors.toSet()); + + } + page = this.lambdaQuery() + .in(com.ruoyi.common.core.utils.StringUtils.isNotEmpty(memberIdSet), + MemberInvoice::getMemberId, memberIdSet) + .eq(query.getInvoiceStatus() != null, MemberInvoice::getInvoiceStatus, + query.getInvoiceStatus()).page(page); + if (page.getRecords().isEmpty()) { + return PageDTO.empty(page); + } + PageDTO<MgtMemberInvoicingVO> pageVO = PageDTO.of(page, + MgtMemberInvoicingVO.class); + Set<Long> memberSet = pageVO.getList().stream().map(MgtMemberInvoicingVO::getMemberId) + .collect(Collectors.toSet()); + List<Member> memberList = memberClient.getMemberListByIds(memberSet, + SecurityConstants.INNER).getData(); + Map<Long, Member> memberMap = memberList.stream() + .collect(Collectors.toMap(Member::getId, member -> member)); + pageVO.getList().forEach(vo -> { + Member member = memberMap.get(vo.getMemberId()); + if (member != null) { + vo.setNickname(member.getNickname()); + vo.setPhone(member.getPhone()); + } + }); + return pageVO; + } } -- Gitblit v1.7.1