From fd97cde3d994a3aa6898ba862cd20d0c081012c3 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 18 六月 2024 18:44:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java |   56 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 37 insertions(+), 19 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
index 0e7ea2a..bd78592 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -52,6 +52,7 @@
 import com.ruoyi.system.api.domain.dto.MemberDTO;
 import com.ruoyi.system.api.domain.dto.MemberOrderDTO;
 import com.ruoyi.system.api.domain.dto.MemberOrderListDTO;
+import com.ruoyi.system.api.domain.dto.MgtAfterSaleSettingDTO;
 import com.ruoyi.system.api.domain.dto.OrderDTO;
 import com.ruoyi.system.api.domain.dto.updMembeOneDTO;
 import com.ruoyi.system.api.domain.vo.Express100VO;
@@ -250,6 +251,7 @@
         BigDecimal pice=new BigDecimal(0);
 
         Order order=new Order();
+        order.setMemberId(memberOrderDTO.getMemberId());
         if (memberOrderDTO.getOrderFrom()==1){
             order.setOrderFrom(OrderFromEnum.COMMODITY_ORDER);
             order.setOrderNo(OrderUtil.getOrderNoForPrefix("SP"));
@@ -416,7 +418,7 @@
             order.setOrderRemark(memberOrderDTO.getOrderRemark());
         }if (memberOrderDTO.getGoodsQuantity()!=null){
             if (order.getOrderFrom().getCode()==1){
-                GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(memberOrderDTO.getGoodsSkuId(), SecurityConstants.INNER).getData();
+                GoodsSku goodsSku = goodsSkuClient.getGoodsSkuOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData();
                 if (goodsSku.getStock()<memberOrderDTO.getGoodsQuantity()){
                     throw new ServiceException("对不起,购买数大于库存");
                 }else{
@@ -518,25 +520,24 @@
             CouponMemberDTO couponMemberDTO=new CouponMemberDTO();
             couponMemberDTO.setId(memberOrderDTO.getCouponId());
             CouponMember data = promotionClient.getCouponMember(couponMemberDTO, SecurityConstants.INNER).getData();
-
-
-            if (order.getCouponId()!=null){
+            if (order.getCouponId()!=0){
                 CouponMemberDTO couponMemberDTO1=new CouponMemberDTO();
                 couponMemberDTO1.setId(memberOrderDTO.getCouponId());
-                couponMemberDTO1.setCouponStatus(1);
+                couponMemberDTO1.setCouponStatus(0);
                 promotionClient.updCouponMember(couponMemberDTO1, SecurityConstants.INNER);
             }
 
+            order.setCouponId(data.getId());
 
             if (data.getCouponType().getCode()==1){
                 if (pice.doubleValue()>=data.getFullReductionAmount().doubleValue()){
-                    pice.subtract(data.getReductionAmount());
+                    pice=pice.subtract(data.getReductionAmount());
                     order.setDiscountMoney(data.getReductionAmount());
                 }
             }
             if (data.getCouponType().getCode()==2){
                 pice= order.getTotalAmount();
-                pice.subtract(data.getVoucherAmount());
+                pice=pice.subtract(data.getVoucherAmount());
                 order.setDiscountMoney(data.getVoucherAmount());
             }
             if (data.getCouponType().getCode()==3){
@@ -557,11 +558,17 @@
             order.setCouponId(memberOrderDTO.getCouponId());
             CouponMemberDTO couponMemberDTO2=new CouponMemberDTO();
             couponMemberDTO2.setId(memberOrderDTO.getCouponId());
-            couponMemberDTO2.setCouponStatus(2);
+            couponMemberDTO2.setCouponStatus(1);
             promotionClient.updCouponMember(couponMemberDTO2, SecurityConstants.INNER);
-
-
-
+        }else{
+            if (order.getCouponId()!=null&&order.getCouponId()!=0){
+                CouponMemberDTO couponMemberDTO1=new CouponMemberDTO();
+                couponMemberDTO1.setCouponStatus(0);
+                couponMemberDTO1.setId(order.getCouponId());
+                promotionClient.updCouponMember(couponMemberDTO1, SecurityConstants.INNER);
+            }
+            order.setCouponId(0L);
+            order.setDiscountMoney(new BigDecimal(0));
         }
         order.setTotalAmount(pice);
 
@@ -588,7 +595,7 @@
         memberOrderVO.setReceiverCity(order.getReceiverCity());
         memberOrderVO.setReceiverDetailAddress(order.getReceiverDetailAddress());
         memberOrderVO.setReceiverphone(order.getReceiverPhone());
-        memberOrderVO.setYouhiPrice(order.getDiscountMoney());
+        memberOrderVO.setDiscountMoney(order.getDiscountMoney());
 
         return memberOrderVO;
     }
@@ -618,8 +625,12 @@
                     Wrappers.lambdaQuery(OrderReturnRequest.class)
                             .eq(OrderReturnRequest::getOrderId,
                                     MemberOrderList.getId()).last("limit 1"));
-            if (StringUtils.isNotNull(orderReturnRequest)) {
+            if (StringUtils.isNotNull(orderReturnRequest)&&orderReturnRequest!=null) {
                 MemberOrderList.setStatus(orderReturnRequest.getStatus());
+                MemberOrderList.setRequestId(orderReturnRequest.getId());
+                MemberOrderList.setIsRequest(2);
+            }else{
+                MemberOrderList.setIsRequest(1);
             }
             LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery();
             wrapper3.eq(OrderAuctionBond::getOrderId,MemberOrderList.getId());
@@ -654,8 +665,12 @@
                     Wrappers.lambdaQuery(OrderReturnRequest.class)
                             .eq(OrderReturnRequest::getOrderId,
                                     orderVO.getId()).last("limit 1"));
-            if (StringUtils.isNotNull(orderReturnRequest)) {
+            if (StringUtils.isNotNull(orderReturnRequest)&&orderReturnRequest!=null) {
                 orderVO.setStatus(orderReturnRequest.getStatus());
+                orderVO.setRequestId(orderReturnRequest.getId());
+                orderVO.setIsRequest(2);
+            }else{
+                orderVO.setIsRequest(1);
             }
 
             LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery();
@@ -1051,9 +1066,7 @@
             boolean result = handleRefund(paymentMethod, paylog, orderNo);
             if (result) {
                 paylog.setState(3);// 已退款
-                order.setOrderStatus(OrderStatusEnum.REFUNDED);
                 iPaylogService.updateById(paylog);
-                this.updateById(order);
             }
             OrderReturnRequest orderReturnRequest = new OrderReturnRequest();
             orderReturnRequest.setOrderId(id);
@@ -1096,12 +1109,17 @@
     @Override
     public void refundReturn(Long id) {
         Order order = getOrder(id);
-        if (order.getOrderStatus() == OrderStatusEnum.TO_BE_SHIPPED
-                || order.getOrderStatus() == OrderStatusEnum.GOODS_TO_BE_RECEIVED
-                || order.getOrderStatus() == OrderStatusEnum.FINISHED) {
+        if (order.getOrderStatus() == OrderStatusEnum.FINISHED) {
             OrderReturnRequest orderReturnRequest = new OrderReturnRequest();
             order.setOrderStatus(OrderStatusEnum.AFTER_SALE);
             this.updateById(order);
+            MgtAfterSaleSettingDTO data = sysUserClient.getAfterSaleSetting().getData();
+            if (StringUtils.isNull(data)) {
+                throw new ServiceException("获取售后退货信息失败");
+            }
+            orderReturnRequest.setRecipientName(data.getReceiverName());
+            orderReturnRequest.setRecipientPhone(data.getReceiverPhone());
+            orderReturnRequest.setDetailedAddress(data.getReceiverAddress());
             orderReturnRequest.setOrderId(id);
             orderReturnRequest.setRequestTime(LocalDateTime.now());
             orderReturnRequest.setRequestType(RequestTypeEnum.REFUNDS_AND_RETURNS);

--
Gitblit v1.7.1