feiyu02
2025-09-30 6904763f0e74d9a9fa4dbc39f635d2aee39416c6
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package cn.flightfeather.supervision.bgtask.sysnotice
 
import cn.flightfeather.supervision.domain.entity.Userinfo
import cn.flightfeather.supervision.domain.repository.UserInfoRep
import cn.flightfeather.supervision.lightshare.service.AuthService
import cn.flightfeather.supervision.bgtask.BaseTimingTask
import org.springframework.stereotype.Component
import java.time.LocalDateTime
import java.time.ZoneId
 
@Component
class NoticeTimingTask(
    private val sysNoticeManager: SysNoticeManager,
    private val authService: AuthService,
    private val userInfoRep: UserInfoRep
) : BaseTimingTask() {
 
    override val period: Long = 60
 
    override fun doTask(localtime: LocalDateTime) {
        auth(localtime)
        password(localtime)
    }
 
    //认证操作提醒
    private fun auth(localtime: LocalDateTime) {
        if (localtime.dayOfMonth == 1 && localtime.hour == 1 && localtime.minute == 0) {
            val users = mutableListOf<Userinfo?>()
            authService.getUnAuthedUsers().data?.forEach {
                val cT = LocalDateTime.ofInstant(it?.uiCreateTime?.toInstant(), ZoneId.systemDefault())
                //(用户首次登录3个月后,每月提醒一次,直至完成身份验证)
                if (cT.plusMonths(3).isBefore(localtime)) {
                    users.add(it)
                }
            }
            sysNoticeManager.send(SysNoticeTemplate.Auth, users)
        }
    }
 
    //密码修改提醒
    private fun password(localtime: LocalDateTime) {
        if (localtime.dayOfMonth == 1 && localtime.hour == 1 && localtime.minute == 0) {
            val users = mutableListOf<Userinfo?>()
            userInfoRep.pdUnChangeUsers().forEach {
                val cT = LocalDateTime.ofInstant(it?.uiCreateTime?.toInstant(), ZoneId.systemDefault())
                //(用户首次登录3个月后,每月提醒一次,直至完成初始密码修改)
                if (cT.plusMonths(3).isBefore(localtime)) {
                    users.add(it)
                }
            }
            sysNoticeManager.send(SysNoticeTemplate.Password, users)
        }
    }
 
    //环保台账更新提醒
    private fun ledgerUpdate(localtime: LocalDateTime) {
        // 每月1号、4号、7号上午10:00
        if ((localtime.dayOfMonth == 1 || localtime.dayOfMonth == 4 || localtime.dayOfMonth == 7)
            && localtime.hour == 10
            && localtime.minute == 0
        ) {
            sysNoticeManager
        }
    }
 
    //环保台账到期提醒
    private fun ledgerDeadline(localtime: LocalDateTime) {
        // 每月1号、4号、7号上午10:00
        if ((localtime.dayOfMonth == 10 || localtime.dayOfMonth == 20 || localtime.dayOfMonth == 26)
            && localtime.hour == 10
            && localtime.minute == 0
        ) {
            sysNoticeManager
        }
    }
}