🎨调整定时任务执行时间,以及启动时间
Some checks reported errors
continuous-integration/drone/tag Build was killed

This commit is contained in:
coward
2024-12-05 11:49:29 +08:00
parent ca42c72e0f
commit f09d0d2994
3 changed files with 22 additions and 21 deletions

View File

@@ -15,7 +15,7 @@ import (
)
type NetworkClientImpl interface {
ClientOfflineNotify() error // 客户端离线通知
ClientOfflineNotify() // 客户端离线通知
}
type networkClient struct{}
@@ -28,35 +28,36 @@ func NetworkClient() NetworkClientImpl {
// @description: 客户端离线通知
// @receiver c
// @return error
func (c networkClient) ClientOfflineNotify() error {
// 查询出所有配置了离线通知的客户端
var clients []model.Client
if err := client.DB.Where("offline_monitoring = ?", 1).Find(&clients).Error; err != nil {
return err
}
if len(clients) <= 0 {
return nil
}
func (c networkClient) ClientOfflineNotify() {
log.Debugf("开始执行离线通知任务")
// 开始扫描已经链接过的客户端
connectedPeers, err := component.Wireguard().GetClients()
if err != nil {
log.Errorf("获取已连接客户端失败: %v", err.Error())
return err
return
}
// 查询一下通知配置
code, err := service.Setting().GetByCode("WECHAT_NOTIFY")
if err != nil {
log.Errorf("获取微信通知配置失败: %v", err.Error())
return err
return
}
// 查询出所有配置了离线通知的客户端
var clients []model.Client
if err := client.DB.Where("offline_monitoring = ?", 1).Find(&clients).Error; err != nil {
return
}
if len(clients) <= 0 {
return
}
for _, peer := range connectedPeers {
var clientName string
if !slices.ContainsFunc(clients, func(cli model.Client) bool {
isExist := peer.PublicKey.String() == jsoniter.Get([]byte(cli.Keys), "publicKey").ToString()
isExist := peer.PublicKey.String() == jsoniter.Get([]byte(cli.Keys), "PublicKey").ToString()
if isExist {
clientName = cli.Name
}
@@ -78,7 +79,7 @@ func (c networkClient) ClientOfflineNotify() error {
// 已经离线,发送通知
msg := fmt.Sprintf(`
[离线通知]
[离线通知]
客户端名称 : %v
客户端IP : %v
最后在线时间 : %v
@@ -92,5 +93,5 @@ func (c networkClient) ClientOfflineNotify() error {
}
return nil
return
}