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