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
|
}
|
}
|
}
|