@@ -5,10 +5,12 @@ import (
5
5
6
6
"github.com/eryajf/go-ldap-admin/config"
7
7
"github.com/eryajf/go-ldap-admin/model"
8
+ "github.com/eryajf/go-ldap-admin/public/common"
8
9
"github.com/eryajf/go-ldap-admin/public/tools"
9
10
"github.com/eryajf/go-ldap-admin/service/ildap"
10
11
"github.com/eryajf/go-ldap-admin/service/isql"
11
12
jsoniter "github.com/json-iterator/go"
13
+ "github.com/robfig/cron/v3"
12
14
"github.com/tidwall/gjson"
13
15
)
14
16
@@ -304,3 +306,61 @@ func ConvertUserData(flag string, remoteData []map[string]interface{}) (users []
304
306
}
305
307
return
306
308
}
309
+
310
+ func InitCron () {
311
+ c := cron .New (cron .WithSeconds ())
312
+
313
+ if config .Conf .DingTalk .EnableSync {
314
+ //启动定时任务
315
+ _ , err := c .AddFunc ("0 1 5 * * *" , func () {
316
+ common .Log .Info ("每天凌晨5点1分0秒执行一次同步钉钉部门信息到ldap" )
317
+ DingTalk .SyncDingTalkDepts (nil , nil )
318
+ })
319
+ if err != nil {
320
+ common .Log .Errorf ("启动同步部门的定时任务失败: %v" , err )
321
+ }
322
+ //每天凌晨1点执行一次
323
+ _ , err = c .AddFunc ("0 30 5 * * *" , func () {
324
+ common .Log .Info ("每天凌晨5点30分执行一次同步钉钉用户信息到ldap" )
325
+ DingTalk .SyncDingTalkUsers (nil , nil )
326
+ })
327
+ if err != nil {
328
+ common .Log .Errorf ("启动同步用户的定时任务失败: %v" , err )
329
+ }
330
+ }
331
+ if config .Conf .WeCom .EnableSync {
332
+ _ , err := c .AddFunc ("0 1 5 * * *" , func () {
333
+ common .Log .Info ("每天凌晨5点1分0秒执行一次同步企业微信部门信息到ldap" )
334
+ WeCom .SyncWeComDepts (nil , nil )
335
+ })
336
+ if err != nil {
337
+ common .Log .Errorf ("启动同步部门的定时任务失败: %v" , err )
338
+ }
339
+ //每天凌晨1点执行一次
340
+ _ , err = c .AddFunc ("0 30 5 * * *" , func () {
341
+ common .Log .Info ("每天凌晨5点30分执行一次同步企业微信用户信息到ldap" )
342
+ WeCom .SyncWeComUsers (nil , nil )
343
+ })
344
+ if err != nil {
345
+ common .Log .Errorf ("启动同步用户的定时任务失败: %v" , err )
346
+ }
347
+ }
348
+ if config .Conf .FeiShu .EnableSync {
349
+ _ , err := c .AddFunc ("0 1 5 * * *" , func () {
350
+ common .Log .Info ("每天凌晨5点1分0秒执行一次同步飞书部门信息到ldap" )
351
+ FeiShu .SyncFeiShuDepts (nil , nil )
352
+ })
353
+ if err != nil {
354
+ common .Log .Errorf ("启动同步部门的定时任务失败: %v" , err )
355
+ }
356
+ //每天凌晨1点执行一次
357
+ _ , err = c .AddFunc ("0 30 5 * * *" , func () {
358
+ common .Log .Info ("每天凌晨5点30分执行一次同步飞书用户信息到ldap" )
359
+ FeiShu .SyncFeiShuUsers (nil , nil )
360
+ })
361
+ if err != nil {
362
+ common .Log .Errorf ("启动同步用户的定时任务失败: %v" , err )
363
+ }
364
+ }
365
+ c .Start ()
366
+ }
0 commit comments