From 2183407bd1b17af9e8c478b0937f46275a988c6e Mon Sep 17 00:00:00 2001 From: Burce Date: Tue, 20 Aug 2019 19:58:34 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=94=9F=E6=97=A5?= =?UTF-8?q?=E7=A7=AF=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 From 66a27eae5ae80f4781247e6779d23cb5c2b1aa58 Mon Sep 17 00:00:00 2001 From: Burce Date: Tue, 20 Aug 2019 22:36:09 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=94=9F=E6=97=A5?= =?UTF-8?q?=E7=A7=AF=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 --- .../com/iformall/service/impl/WxScoreRulesServiceImpl.java | 2 +- .../src/main/java/com/iformall/utils/CreditUtil.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java index 2f3cb7f48..f26124f19 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java @@ -144,7 +144,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { final IdWorker idWorker = IdWorker.get(); scoreRules.setId(idWorker.nextId()); scoreRules.setRules(WxScoreRules.getCreditDefaultRules()); - + scoreRules.setScale(WxScoreRules.DEFAULT_SCALE); wxScoreRulesMapper.insertSelective(scoreRules); } diff --git a/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java b/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java index 909d8315a..6f36c7c62 100644 --- a/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java +++ b/mallinkService/src/main/java/com/iformall/utils/CreditUtil.java @@ -37,10 +37,11 @@ public class CreditUtil { int birthdayScale = WxScoreRules.DEFAULT_SCALE; //判断是否生日当天 if (Objects.nonNull(wxCUserBasicInfo.getBirthdate()) && DateUtils.birthdaysBetween(wxCUserBasicInfo.getBirthdate()) == 0) { - WxScoreRules rules = wxScoreRulesService.getScoreRules(wxCUser.getTenantId()); + WxScoreRules rules = wxScoreRulesService.getCreditRules(wxCUser.getTenantId()); if (Objects.nonNull(rules) && Objects.nonNull(rules.getScale())) { birthdayScale = rules.getScale(); } else { + log.info("会员生日券倍率配置:null"); //没有配置积分规则 } }