From 99903892ce17ac598b1ceadf9bb145fb1527540b Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 19 Jan 2024 16:09:19 +0800
Subject: [PATCH] fapiao

---
 src/main/java/cc/mrbird/febs/mall/service/impl/MallInvoiceServiceImpl.java |   57 ++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 44 insertions(+), 13 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallInvoiceServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallInvoiceServiceImpl.java
index c2d42ef..6d55625 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/MallInvoiceServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallInvoiceServiceImpl.java
@@ -4,6 +4,7 @@
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.enumerates.OrderStatusEnum;
 import cc.mrbird.febs.common.utils.LoginUserUtil;
+import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.mall.dto.AdminMallInvoiceDto;
 import cc.mrbird.febs.mall.dto.ApiMallInvoiceDto;
 import cc.mrbird.febs.mall.entity.MallInvoice;
@@ -34,6 +35,7 @@
 
     private final MallOrderInfoMapper mallOrderInfoMapper;
     private final MallOrderItemMapper mallOrderItemMapper;
+    private final RedisUtils redisUtils;
     @Override
     public FebsResponse getInvoices(ApiMallInvoiceDto apiMallInvoiceDto) {
         MallMember member = LoginUserUtil.getLoginUser();
@@ -65,26 +67,28 @@
             String payOrderNo = mallOrderInfo.getPayOrderNo();
             List<MallInvoice> mallInvoices = this.baseMapper.selectByFapiaoApplyIdAndMemberId(payOrderNo, memberId);
             if(CollUtil.isNotEmpty(mallInvoices)){
-                continue;
+                MallInvoice mallInvoice = mallInvoices.get(0);
+                mallInvoice.setStatus(mallOrderInfo.getStatus());
+                this.baseMapper.updateById(mallInvoice);
+            }else{
+                MallInvoice mallInvoice = new MallInvoice();
+                mallInvoice.setMemberId(memberId);
+                mallInvoice.setFapiaoApplyId(payOrderNo);
+                mallInvoice.setOrderNo(mallOrderInfo.getOrderNo());
+                mallInvoice.setOrderId(mallOrderInfo.getId());
+                mallInvoice.setStatus(mallOrderInfo.getStatus());
+                mallInvoice.setAmount(mallOrderInfo.getAmount());
+                List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(mallOrderInfo.getId());
+                mallInvoice.setGoodsImg(mallOrderItemList.get(0).getSkuImage());
+                mallInvoice.setState(0);
+                this.baseMapper.insert(mallInvoice);
             }
-            MallInvoice mallInvoice = new MallInvoice();
-            mallInvoice.setMemberId(memberId);
-            mallInvoice.setFapiaoApplyId(payOrderNo);
-            mallInvoice.setOrderNo(mallOrderInfo.getOrderNo());
-            mallInvoice.setOrderId(mallOrderInfo.getId());
-            mallInvoice.setStatus(mallOrderInfo.getStatus());
-            mallInvoice.setAmount(mallOrderInfo.getAmount());
-            List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectListByOrderId(mallOrderInfo.getId());
-            mallInvoice.setGoodsImg(mallOrderItemList.get(0).getSkuImage());
-            mallInvoice.setState(0);
-            this.baseMapper.insert(mallInvoice);
 
             /**
              * 更新订单为已开票
              */
             mallOrderInfo.setIsInvoice(1);
             mallOrderInfoMapper.updateById(mallOrderInfo);
-
         }
 
     }
@@ -94,4 +98,31 @@
         Page<MallInvoice> page = new Page<>(request.getPageNum(), request.getPageSize());
         return  this.baseMapper.getInvoiceListInPage(page, mallInvoiceDto);
     }
+
+    @Override
+    public List<MallOrderItem> invoiceItemList() {
+        Long existToken = Long.parseLong(redisUtils.getString("ADMIN_INVOICE_ID"));
+        MallInvoice mallInvoice = this.baseMapper.selectById(existToken);
+        if(ObjectUtil.isEmpty(mallInvoice)){
+            return null;
+        }
+        return this.baseMapper.getInvoiceItemList(mallInvoice);
+    }
+
+    @Override
+    public FebsResponse addInvoiceUrl(MallInvoice mallInvoice) {
+        Long id = mallInvoice.getId();
+        MallInvoice mallInvoiceOld = this.baseMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallInvoiceOld)){
+            return new FebsResponse().fail().message("开票信息异常。");
+        }
+        Integer status = mallInvoiceOld.getStatus();
+        if(OrderStatusEnum.FINISH.getValue() != status){
+            return new FebsResponse().fail().message("订单还未完成,请勿开发票。");
+        }
+        mallInvoiceOld.setInvoiceUrl(mallInvoice.getInvoiceUrl());
+        mallInvoiceOld.setState(2);
+        this.baseMapper.updateById(mallInvoiceOld);
+        return new FebsResponse().success();
+    }
 }

--
Gitblit v1.9.1