feiyu02
2026-01-21 fe031e01cc1737c2f05a133fde7c36c7a2a7b4b4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package cn.flightfeather.supervision.domain.repository
 
import cn.flightfeather.supervision.domain.mapper.UserSettingMapper
import cn.flightfeather.supervision.domain.mapper.UserSettingRecordMapper
import org.springframework.stereotype.Repository
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.ZoneId
 
/**
 *
 * @date 2026/1/20
 * @author feiyu02
 */
@Repository
class UserSettingRep(
    private val userSettingMapper: UserSettingMapper,
    private val userSettingRecordMapper: UserSettingRecordMapper,
) {
 
    /**
     * 查询用户自巡查承诺是否有效
     * 签署时间的当年内为有效
     */
    fun checkIsSelfPatrolPromised(userId: String): Boolean {
        val record = userSettingRecordMapper.selectByPrimaryKey(userId) ?: return false
        record.lastPromisedTime ?: return false
        val now = LocalDate.now().year
        val recordYear = LocalDateTime.ofInstant(record.lastPromisedTime.toInstant(), ZoneId.systemDefault()).year
        return record.selfPatrolPromised && (now == recordYear)
    }
}