qixiaoning
2025-07-08 fe724b50b3f1b3dfe2219eb9af4bcca96c89a158
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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)
}