feiyu02
2024-08-15 196bb14112448857a885e32dc4149e308e00b01a
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
package cn.flightfeather.supervision.bgtask.sysnotice
 
import cn.flightfeather.supervision.domain.entity.Userinfo
import cn.flightfeather.supervision.lightshare.service.AuthService
import org.springframework.scheduling.annotation.Async
import org.springframework.stereotype.Component
 
@Component
class NoticeTrigger(
    private val sysNoticeManager: SysNoticeManager,
    private val authService: AuthService
) {
 
    inner class Sys() {
        /**
         * 用户登录提醒
         */
        @Async
        fun login(user: Userinfo) {
            //身份验证(个人和企业认证)、初始密码修改判断
//        val authStatus = authService.authStatus(null, user.guid).data
//        if (authStatus?.get(0) == true && authStatus[2] && user.remark == "pwChanged") return
            //是否首次登录
            if (user.uiLoginTime == null) {
                sysNoticeManager.send(SysNoticeTemplate.Login, listOf(user))
            }
        }
 
        /**
         * 认证完成通知
         */
        @Async
        fun authed(user: Userinfo) {
            sysNoticeManager.send(SysNoticeTemplate.Authed, listOf(user))
        }
 
        /**
         * 密码修改通知
         */
        @Async
        fun passwordChanged(user: Userinfo) {
            sysNoticeManager.send(SysNoticeTemplate.PasswordChanged, listOf(user))
        }
 
        /**
         * 密码重置通知
         */
        @Async
        fun passwordReset(user: Userinfo) {
            sysNoticeManager.send(SysNoticeTemplate.PasswordReset, listOf(user))
        }
 
        /**
         * 学习资源提醒
         */
        @Async
        fun resources(user: Userinfo) {
            sysNoticeManager.send(SysNoticeTemplate.Resources, listOf(user))
        }
    }
 
    inner class Ledger() {
        @Async
        fun complete(user: Userinfo) {
            sysNoticeManager.send(LedgerNoticeTemplate.Complete, listOf(user))
        }
    }
}