From 2183407bd1b17af9e8c478b0937f46275a988c6e Mon Sep 17 00:00:00 2001 From: Burce Date: Tue, 20 Aug 2019 19:58:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=94=9F=E6=97=A5=E7=A7=AF?= =?UTF-8?q?=E5=88=86=E5=80=8D=E7=8E=87=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/schedule/CouponSendSchedule.java | 2 +- .../java/com/iformall/utils/CreditUtil.java | 2 +- .../java/com/iformall/utils/DateUtils.java | 20 +++++++++++++++---- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java index 1933a23a8..f79b738d7 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java @@ -287,7 +287,7 @@ public class CouponSendSchedule { continue; } //提前n天发送生日券,不满足跳过不执行 - if (DateUtils.daysBetween(cu.getBirthdate(), new Date()) == beforeDays) { + if (DateUtils.birthdaysBetween(cu.getBirthdate()) == beforeDays) { continue; } if (cs.getRemainInventory() <= 0) { diff --git a/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java b/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java index 91916eace..909d8315a 100644 --- a/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java +++ b/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java @@ -36,7 +36,7 @@ public class CreditUtil { // 获取生日积分倍率: int birthdayScale = WxScoreRules.DEFAULT_SCALE; //判断是否生日当天 - if (Objects.nonNull(wxCUserBasicInfo.getBirthdate()) && DateUtils.daysBetween(new Date(), wxCUserBasicInfo.getBirthdate()) == 0) { + if (Objects.nonNull(wxCUserBasicInfo.getBirthdate()) && DateUtils.birthdaysBetween(wxCUserBasicInfo.getBirthdate()) == 0) { WxScoreRules rules = wxScoreRulesService.getScoreRules(wxCUser.getTenantId()); if (Objects.nonNull(rules) && Objects.nonNull(rules.getScale())) { birthdayScale = rules.getScale(); diff --git a/mallinkService/src/main/java/com/iformall/utils/DateUtils.java b/mallinkService/src/main/java/com/iformall/utils/DateUtils.java index 4f4501f1b..2fa8a9be6 100755 --- a/mallinkService/src/main/java/com/iformall/utils/DateUtils.java +++ b/mallinkService/src/main/java/com/iformall/utils/DateUtils.java @@ -5,10 +5,7 @@ import java.sql.Timestamp; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.Period; -import java.time.ZoneId; +import java.time.*; import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Calendar; @@ -1080,6 +1077,21 @@ public class DateUtils { return 0; } + /** + * 日期距离今天还有几天 + * + * @param date + * @return <0 今后n天? + */ + public static int birthdaysBetween(Date date) { + Date today = new Date() ; + date.setYear(today.getYear()); + Calendar todayCal = Calendar.getInstance(); + Calendar birthdayCal = Calendar.getInstance(); + birthdayCal.setTime(date); + return todayCal.get(Calendar.DAY_OF_YEAR) - birthdayCal.get(Calendar.DAY_OF_YEAR) ; + } + /** * 获取指定日期n个月后的第一天 * @return