阅后即焚功能

This commit is contained in:
Harryxzy 2024-03-12 16:17:24 +08:00
parent b5afaa54df
commit 43c57cb10b
2 changed files with 13 additions and 9 deletions

View File

@ -617,6 +617,7 @@
hrsa_salary_send_info
<set>
first_reading_time = null,
<if test="po.sendStatus != null">
send_status = #{po.sendStatus},
</if>
@ -795,6 +796,9 @@
<if test="billConfirmStatus != null">
bill_confirm_status=#{billConfirmStatus},
</if>
<if test=" firstReadingTime!= null">
first_reading_time=#{firstReadingTime},
</if>
</set>
WHERE id = #{id} AND delete_type = 0
</update>

View File

@ -507,16 +507,16 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
salarySendInfo.setFirstReadingTime(firstReadingTime);
getSalarySendInfoMapper().updateIgnoreNull(salarySendInfo);
} else {
// 不是首次查看
firstReadingTime = salarySendInfo.getFirstReadingTime();
}
// 获取首次查看后多少分钟不能查看工资单0代表一旦查看后无法再次查看null代表不限制
Integer burningAfterReadingMin = getSalaryBillBaseSetService(user).getBurningAfterReadingMin();
if (burningAfterReadingMin != null) {
LocalDateTime limitTime = SalaryDateUtil.dateToLocalDateTime(firstReadingTime).plusMinutes(burningAfterReadingMin);
LocalDateTime now = SalaryDateUtil.dateToLocalDateTime(new Date());
if (limitTime.isAfter(now)) {
throw new SalaryRunTimeException("首次查看工资单" + burningAfterReadingMin + "分钟后,无法查看工资单");
// 获取首次查看后多少分钟不能查看工资单0代表一旦查看后无法再次查看null代表不限制
Integer burningAfterReadingMin = getSalaryBillBaseSetService(user).getBurningAfterReadingMin();
if (burningAfterReadingMin != null) {
LocalDateTime limitTime = SalaryDateUtil.dateToLocalDateTime(firstReadingTime).plusMinutes(burningAfterReadingMin);
LocalDateTime now = SalaryDateUtil.dateToLocalDateTime(new Date());
if (limitTime.isBefore(now)) {
throw new SalaryRunTimeException("首次查看工资单" + burningAfterReadingMin + "分钟后,无法查看工资单。首次查看时间为:" + SalaryDateUtil.getFormatLocalDateTime(firstReadingTime));
}
}
}