package worker import ( "enterprise/common/config" "enterprise/common/dao" "enterprise/common/model" "enterprise/common/qyweixin" log "github.com/sirupsen/logrus" ) func SyncCheckin(day string) error { cfg := config.GetConfig() qyw := qyweixin.NewQyWeixin(cfg.QyWeixin.Corpid, cfg.QyWeixin.CheckinSecret) users, err := qyw.GetCheckinEmployee([]string{"1"}) if err != nil { return err } checkinDao := dao.NewCheckinDao() for _, user := range users { isNew := false checkin, err := checkinDao.GetByDay(user, day) if err != nil { log.Errorf("db error :%s", err.Error()) continue } if checkin == nil { checkin = new(model.Checkin) checkin.Day = day checkin.UserId = user isNew = true } realCheckin, err := qyw.GetCheckinData(day, user) if err != nil { log.Errorf("qyweixin get checkin error :%s", err.Error()) continue } if realCheckin.StartTime != 0 { checkin.StartTime = realCheckin.StartTime } if realCheckin.EndTime != 0 { checkin.EndTime = realCheckin.EndTime } if isNew { _, err = checkinDao.Create(checkin) } else { err = checkinDao.Update(checkin) } if err != nil { log.Errorf("db error :%s", err.Error()) } } return nil }