From 35309b932b738d5a8537e53207d28004a8da0f89 Mon Sep 17 00:00:00 2001
From: gongzuming <gongzuming>
Date: 星期五, 20 九月 2024 17:17:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master-v2'

---
 src/main/java/com/mzl/flower/service/menber/impl/GrowthValueDealService.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/menber/impl/GrowthValueDealService.java b/src/main/java/com/mzl/flower/service/menber/impl/GrowthValueDealService.java
new file mode 100644
index 0000000..df6e4ea
--- /dev/null
+++ b/src/main/java/com/mzl/flower/service/menber/impl/GrowthValueDealService.java
@@ -0,0 +1,48 @@
+package com.mzl.flower.service.menber.impl;
+
+import com.mzl.flower.entity.payment.Order;
+import com.mzl.flower.service.menber.GrowthValueDeductionStrategy;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
+
+/**
+ * packageName com.mzl.flower.service.menber.impl
+ * @author fanghaowei
+ * @version version2.0
+ * @className GrowthValueDealService
+ * @date 2024/9/2
+ * @description TODO
+ */
+
+@Service
+public class GrowthValueDealService {
+
+    @Resource
+    private GrowthValueStrategyContext growthValueStrategyContext;
+    public void deductionGrowthValue(Order order) {
+        //当前时间
+        LocalDateTime now = LocalDateTime.now();
+
+        //最后消费时间
+        LocalDateTime receiveTime = order.getReceiveTime();
+
+        // 将时间转换为LocalDate,只保留年月日部分
+        LocalDate nowDate = now.toLocalDate();
+        LocalDate receiveTimeDate = receiveTime.toLocalDate();
+        long daysBetween = ChronoUnit.DAYS.between(receiveTimeDate, nowDate);
+
+        if (daysBetween > 30 && daysBetween <= 90) {
+            GrowthValueDeductionStrategy growthInfo = growthValueStrategyContext.getGrowthInfo("SecondDeduction");
+            growthInfo.deduct(order);
+        } else if (daysBetween > 90) {
+            GrowthValueDeductionStrategy growthInfo = growthValueStrategyContext.getGrowthInfo("ThirdDeduction");
+            growthInfo.deduct(order);
+        }
+    }
+
+
+}

--
Gitblit v1.9.3