gongzuming
2024-09-19 a768dc3daa04d35fedfbe75c0a59b9b2545b85c4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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);
        }
    }
 
 
}