package service import ( "errors" "time" "vamicro/compTable-service/models" ) type DbTableService struct { } func InitDbTableEnableStatus(){ time.Sleep(1 * time.Second) var dt models.Dbtables allTables, err := dt.FindAllDbTables() if err ==nil { if allTables !=nil && len(allTables)>0 { currentTime := time.Now() for _, t := range allTables { startTime := t.StartTime endTime := t.EndTime st, _ := time.ParseInLocation("2006-01-02 15:04:05", startTime, time.Local) if endTime !=""{ et, _ := time.ParseInLocation("2006-01-02 15:04:05", endTime, time.Local) if et.After(currentTime) { if st.Before(currentTime) && st.Month() == currentTime.Month() && st.Day() == currentTime.Day() {//当天开启 dt.UpdateEnableStatus(t.Id,1) } } else { //已过期 dt.UpdateEnableStatus(t.Id,0) } } else { if st.Before(currentTime) { // if t.Enable == 0 { //当前是关闭状态,判断是否需要开启 if st.Month() == currentTime.Month() && st.Day() == currentTime.Day() { dt.UpdateEnableStatus(t.Id,1) } } else { //当前是开启状态 } } else { dt.UpdateEnableStatus(t.Id,0) } } } } } } func (sv DbTableService) Add(dt models.Dbtables) (bool,error) { existList, err := dt.FindByName(dt.TableName) if err ==nil && len(existList) == 0 { return dt.Add() } return false,errors.New("dbt exist") } func (sv DbTableService) Update(dt models.Dbtables) (bool,error) { return dt.Update() } func (sv DbTableService)UpdateDbTableStatus(id string,enable int) (bool,error) { var dt models.Dbtables return dt.UpdateEnableStatus(id,enable) } func (sv DbTableService) DeleteById(id string) (bool,error) { var dt models.Dbtables return dt.DeleteById(id) } func (sv DbTableService) SelectById(id string) (dt models.Dbtables,err error) { var dtE models.Dbtables rows, err := dtE.SelectById(id) if rows > 0 && err ==nil { return dtE,nil } return dt,errors.New("dbtable not found") } func (sv DbTableService) FindByIsSync(tableName string,isSync string) (arr []models.Dbtables,err error) { var dt models.Dbtables return dt.FindByIsSync(tableName, isSync) } func (sv DbTableService) FindByDbtIds(ids []string) (arr []models.Dbtables,err error) { var dt models.Dbtables return dt.FindByDbtIds(ids) } //-1:包含已删除底库,1:查已删除,0:查未删除 func (sv DbTableService) FindAllDbTablesByCurServer(isDelete int,typ string) (arr []models.Dbtables,err error) { var dt models.Dbtables return dt.FindAllDbTablesByCurServer(isDelete, typ) } func (sv DbTableService) FindAllDbTables() (arr []models.Dbtables,err error) { var dt models.Dbtables return dt.FindAllDbTables() } func (sv DbTableService) FindAllLocalDbTables(isDelete string) (arr []models.Dbtables,err error) { var dt models.Dbtables return dt.FindAllLocalDbTables(isDelete) }