对接3方系统,开通同事特权

This commit is contained in:
2026-05-16 20:15:57 +08:00
parent 1b811aa8af
commit 9171a93e46
4 changed files with 62 additions and 10 deletions

View File

@@ -44,18 +44,29 @@ public class HxrAdminUserService {
/**
* VIP 到期时间:以 {@code applyDate} 为起算日,若当天为周六、周日则先顺延到下一工作日,再顺延 2 个工作日;
* 时刻与调用时「当前时刻」的时分秒相同(仅调整日期)。
* 时刻与调用时「当前时刻」的时分秒相同(仅调整日期)。用于开通同事特权。
*/
public static LocalDateTime computeVipExpireTime(LocalDate applyDate) {
return computeVipExpireTime(applyDate, 2);
}
/**
* VIP 到期时间:以 {@code applyDate} 为起算日,若当天为周六、周日则先顺延到下一工作日,
* 再顺延 {@code workdaysAfterAlign} 个工作日;时刻与当前时分秒一致。
*/
public static LocalDateTime computeVipExpireTime(LocalDate applyDate, int workdaysAfterAlign) {
if (applyDate == null) {
throw new IllegalArgumentException("applyDate不能为空");
}
if (workdaysAfterAlign < 0) {
throw new IllegalArgumentException("workdaysAfterAlign不能为负");
}
LocalDateTime now = LocalDateTime.now();
LocalDate d = applyDate;
while (IsoWorkdayUtils.isWeekend(d)) {
d = d.plusDays(1);
}
for (int i = 0; i < 2; i++) {
for (int i = 0; i < workdaysAfterAlign; i++) {
d = d.plusDays(1);
while (IsoWorkdayUtils.isWeekend(d)) {
d = d.plusDays(1);