假期过期提醒bug - 插入假期时未判定是否需要提醒

This commit is contained in:
aikai 2024-12-10 09:35:11 +08:00
parent 5cd5935e2f
commit 10ebdf5968

View File

@ -371,12 +371,10 @@ public class HolidayUserRecordServiceImpl implements HolidayUserRecordService {
return users;
}
private void calculateUserAllHolidays(Map<Long, Map<LocalDateTime, BigDecimal>> userQuotaMap, Long
userId, Map<Long, HolidayUserDO> holidayUserDOMap,
HolidaySettingDO holidaySetting, HolidayBalanceSettingDO
holidayBalanceSettingDO, List<HolidayUserRecordDO> newHolidayUserRecordDOList,
List<HolidayUserDO> newHolidayUserDOList, LocalDateTime now, String remark, Integer direction, String
reason) {
private void calculateUserAllHolidays(Map<Long, Map<LocalDateTime, BigDecimal>> userQuotaMap, Long userId, Map<Long, HolidayUserDO> holidayUserDOMap,
HolidaySettingDO holidaySetting, HolidayBalanceSettingDO holidayBalanceSettingDO,
List<HolidayUserRecordDO> newHolidayUserRecordDOList, List<HolidayUserDO> newHolidayUserDOList,
LocalDateTime now, String remark, Integer direction, String reason) {
Map<LocalDateTime, BigDecimal> stringBigDecimalMap = userQuotaMap.get(userId);
if (MapUtil.isNotEmpty(stringBigDecimalMap)) {
HolidayUserDO holidayUserDO = holidayUserDOMap.get(userId);
@ -395,6 +393,7 @@ public class HolidayUserRecordServiceImpl implements HolidayUserRecordService {
holidayUserRecordDO.setExpiredTime(expiredTime);
LocalDateTime expirationReminderTime = expiredTime == null ? null : expiredTime.minusDays(holidayBalanceSettingDO.getReminderTimeNum());
holidayUserRecordDO.setExpirationReminderTime(expirationReminderTime);
holidayUserRecordDO.setExpirationReminderFlag(holidayBalanceSettingDO.getExpirationReminderFlag() == 0 ? 1 : 0);
holidayUserRecordDO.setRemainingBalance(localDateTimeBigDecimalEntry.getValue());
holidayUserRecordDO.setRemark(remark + localDateTimeBigDecimalEntry.getValue() + (holidaySetting.getMinUnit() == 3 ? "小时" : "") + holidaySetting.getName());
holidayUserRecordDO.setReason(reason);
@ -425,12 +424,10 @@ public class HolidayUserRecordServiceImpl implements HolidayUserRecordService {
}
private void calculateUserHolidays(Map<Long, BigDecimal> userQuotaMap, Long
userId, Map<Long, HolidayUserDO> holidayUserDOMap,
HolidaySettingDO holidaySetting, HolidayBalanceSettingDO
holidayBalanceSettingDO, List<HolidayUserRecordDO> newHolidayUserRecordDOList,
List<HolidayUserDO> newHolidayUserDOList, LocalDateTime now, String remark, Integer direction, String
reason) {
private void calculateUserHolidays(Map<Long, BigDecimal> userQuotaMap, Long userId, Map<Long, HolidayUserDO> holidayUserDOMap,
HolidaySettingDO holidaySetting, HolidayBalanceSettingDO holidayBalanceSettingDO,
List<HolidayUserRecordDO> newHolidayUserRecordDOList, List<HolidayUserDO> newHolidayUserDOList,
LocalDateTime now, String remark, Integer direction, String reason) {
BigDecimal quota = userQuotaMap.get(userId);
// -- 如果是0的话就不记录了
if (quota == null || BigDecimal.ZERO.compareTo(quota) == 0) {
@ -451,7 +448,7 @@ public class HolidayUserRecordServiceImpl implements HolidayUserRecordService {
holidayUserRecordDO.setExpiredTime(expiredTime);
LocalDateTime expirationReminderTime = expiredTime == null ? null : expiredTime.minusDays(holidayBalanceSettingDO.getReminderTimeNum());
holidayUserRecordDO.setExpirationReminderTime(expirationReminderTime);
holidayUserRecordDO.setExpirationReminderFlag(expirationReminderTime == null ? 1 : 0);
holidayUserRecordDO.setExpirationReminderFlag(holidayBalanceSettingDO.getExpirationReminderFlag() == 0 ? 1 : (expirationReminderTime == null ? 1 : 0));
holidayUserRecordDO.setRemainingBalance(quota);
} else {
// -- 如果是扣除or提醒的话 这里直接是1 避免计算过期的时候再把他查出来