From 7eba8b9dc7090c4ed366afa365026947252c1086 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期五, 30 八月 2024 19:19:53 +0800
Subject: [PATCH] add:普通会员删除校验

---
 src/main/java/com/mzl/flower/service/payment/OrderService.java |   78 +++++++++++++++++++++++++++-----------
 1 files changed, 55 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/payment/OrderService.java b/src/main/java/com/mzl/flower/service/payment/OrderService.java
index 44149e3..c9bab5f 100644
--- a/src/main/java/com/mzl/flower/service/payment/OrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/OrderService.java
@@ -24,6 +24,7 @@
 import com.mzl.flower.entity.customer.Address;
 import com.mzl.flower.entity.customer.Customer;
 import com.mzl.flower.entity.flower.FlowerSupplierSaleNum;
+import com.mzl.flower.entity.menber.Member;
 import com.mzl.flower.entity.partner.Partner;
 import com.mzl.flower.entity.payment.*;
 import com.mzl.flower.entity.supplier.Station;
@@ -211,13 +212,18 @@
         if (ls != null && ls.size() > 0) {
             Customer customer = getCurrentCustomer();
             Long partnerId = customer.getPartnerId();
+            Long levelId = customer.getLevelId();
+            Member member = getMember(levelId);
 
             Map<Long, FlowerCartListWrapDTO> map = new HashMap<>();
             for (FlowerCartListDTO c : ls) {
                 BigDecimal price = getFinalPrice(partnerId, c.getCategory()
                         , c.getId(), c.getPrice(), c.getLevel());
                 c.setPrice(price);
+                c.setPriceMember(calculateMemberPrice(price, member));
+
                 c.setTotal(price.multiply(new BigDecimal(c.getNum())));
+                c.setTotalMember(c.getPriceMember().multiply(new BigDecimal(c.getNum())));
 
                 if (c.getSales() != null && c.getRealSales() != null) {
                     c.setSales(c.getSales() + c.getRealSales());
@@ -265,6 +271,8 @@
         List<FlowerCartListDTO> ls = flowerMapper.selectFlowerOrderList(ids);
         Customer customer = getCurrentCustomer();
         Long partnerId = customer.getPartnerId();
+        Long levelId = customer.getLevelId();
+        Member member = getMember(levelId);
 
         double totalWeight = 0D;
         int num = 0;
@@ -288,7 +296,10 @@
                     , c.getId(), c.getPrice(), c.getLevel());
             BigDecimal price = priceDTO.getPrice();
             c.setPrice(price);
+            c.setPriceMember(calculateMemberPrice(price, member));
+
             c.setTotal(price.multiply(new BigDecimal(c.getNum())));
+            c.setTotalMember(c.getPriceMember().multiply(new BigDecimal(c.getNum())));//使用会员价计算总价
 
             if (priceMap != null) {
                 priceMap.put(c.getId(), priceDTO);
@@ -347,6 +358,8 @@
             transportFee = d.getFee();
             deliveryName = d.getName();
         }
+
+        //TODO 优惠券和会员价相关修改
 
         String userId = SecurityUtils.getUserId();
         Order order = new Order();
@@ -519,7 +532,27 @@
      * 合伙人订单定时发货
      */
     public void setPartnerOrderSend() {
-        orderMapper.setPartnerOrderReceive();
+        List<Order> orders = orderMapper.getPartnerOrderReceive();
+        if(orders == null || orders.size() == 0){
+            return;
+        }
+        for (Order o : orders) {
+            //set status_backend = 'RECEIVE', status = 'RECEIVE'
+            o.setStatusBackend("RECEIVE");
+            o.setStatus("RECEIVE");
+            //发送微信发货请求
+            JSONObject jsonObject = sendWxDeliveryGood(o);
+            if (jsonObject != null && (int) jsonObject.get("errcode") == 0) {
+                o.setWxDeliveryGood(true);
+                o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject));
+            } else {
+                o.setWxDeliveryGood(false);
+                o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject));
+            }
+
+            orderMapper.updateById(o);
+        }
+        //orderMapper.setPartnerOrderReceive();
     }
 
     /**
@@ -539,6 +572,17 @@
         o.setStatus(Constants.ORDER_STATUS.RECEIVE.name());
         o.setStatusBackend(Constants.ORDER_STATUS_BACKEND.RECEIVE.name());
         o.update(SecurityUtils.getUserId());
+
+        //发送微信发货请求
+        JSONObject jsonObject = sendWxDeliveryGood(o);
+        if (jsonObject != null && (int) jsonObject.get("errcode") == 0) {
+            o.setWxDeliveryGood(true);
+            o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject));
+        } else {
+            o.setWxDeliveryGood(false);
+            o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject));
+        }
+
         orderMapper.updateById(o);
     }
 
@@ -787,17 +831,6 @@
             o.setStatusBackend(Constants.ORDER_STATUS_BACKEND.EVALUATE.name());
             o.setReceiveTime(LocalDateTime.now());
             o.update("sys");
-
-
-            //发送微信发货请求
-            JSONObject jsonObject = sendWxDeliveryGood(o);
-            if (jsonObject != null && (int) jsonObject.get("errcode") == 0) {
-                o.setWxDeliveryGood(true);
-                o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject));
-            } else {
-                o.setWxDeliveryGood(false);
-                o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject));
-            }
             orderMapper.updateById(o);
 
         }
@@ -860,17 +893,6 @@
         o.setStatusBackend(Constants.ORDER_STATUS_BACKEND.EVALUATE.name());
         o.setReceiveTime(LocalDateTime.now());
         o.update(userId);
-
-        //发送微信发货请求
-        JSONObject jsonObject = sendWxDeliveryGood(o);
-        if (jsonObject != null && (int) jsonObject.get("errcode") == 0) {
-            o.setWxDeliveryGood(true);
-            o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject));
-        } else {
-            o.setWxDeliveryGood(false);
-            o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject));
-        }
-
         orderMapper.updateById(o);
     }
 
@@ -1185,4 +1207,14 @@
         order.update(SecurityUtils.getUserId());
         orderMapper.updateById(order);
     }
+
+    /**
+     * 获取用户最后收货时间
+     * @param userId
+     * @return
+     */
+    public LocalDateTime getUserLastOrderTime(String userId){
+        Order o = orderMapper.getUserLastOrder(userId);
+        return o.getReceiveTime();
+    }
 }

--
Gitblit v1.9.3