Browse Source

报警数据无限制查询

siked 11 months ago
parent
commit
4e42a75929
5 changed files with 320 additions and 91 deletions
  1. 22 2
      models/Warning/Warning.go
  2. 54 65
      models/Warning/WarningBack.go
  3. 154 0
      models/Warning/WarningDB.go
  4. 77 22
      tests/Merge.go
  5. 13 2
      tests/default_test.go

+ 22 - 2
models/Warning/Warning.go

@@ -193,8 +193,28 @@ func Add_Warning(m Warning) (id int64, err error) {
 	if err != nil {
 		logs.PrintlnError("Add_Warning err:", err)
 	}
-	// 插入备份表
-	INSERT("warning_"+m.T_Ut.Format("2006_01"), m.Id)
+
+	// 插入分表
+	warningDB := WarningDB{
+		T_pid:      int32(m.T_pid),
+		T_tp:       m.T_tp,
+		T_sn:       m.T_sn,
+		T_D_name:   m.T_D_name,
+		T_id:       int32(m.T_id),
+		T_DS_name:  m.T_DS_name,
+		T_Remark:   m.T_Remark,
+		T_Ut:       m.T_Ut,
+		T_fUt:      m.T_fUt,
+		T_Text:     m.T_Text,
+		T_Log:      m.T_Log,
+		T_Msid:     m.T_Msid,
+		T_State:    m.T_State,
+		CreateTime: m.CreateTime,
+		UpdateTime: m.UpdateTime,
+	}
+	warningDB.Create("warning_" + m.T_Ut.Format("2006_01"))
+
+	//INSERT("warning_"+m.T_Ut.Format("2006_01"), m.Id)   # 旧 备份
 
 	return id, err
 }

+ 54 - 65
models/Warning/WarningBack.go

@@ -1,40 +1,29 @@
 package Warning
 
-import (
-	"Cold_mqtt/conf"
-	"Cold_mqtt/logs"
-	"github.com/jinzhu/gorm"
-	_ "github.com/jinzhu/gorm/dialects/mysql"
-	"log"
-	"strings"
-	"sync"
-	"time"
-)
-
-var Db *gorm.DB
-var SysSeekCREATE sync.Map
-
-func init() {
-	// 连接数据库
-	var err error
-	Db, err = gorm.Open("mysql", conf.MysqlServer_Username+":"+conf.MysqlServer_Password+"@tcp("+conf.MysqlServer_UrlPort+")/"+conf.MysqlServer_Database+"?charset=utf8mb4&loc=Local&parseTime=True")
-	if err != nil {
-		log.Fatal(err)
-	}
-	// SetMaxIdleConns 设置空闲连接池中的最大连接数。
-	Db.DB().SetMaxIdleConns(10)
-
-	// SetMaxOpenConns 设置数据库连接最大打开数。
-	Db.DB().SetMaxOpenConns(600)
-
-	// SetConnMaxLifetime 设置可重用连接的最长时间
-	Db.DB().SetConnMaxLifetime(time.Hour)
-	//Db.AutoMigrate(&DeviceWarning{})
-	// 开启 Logger, 以展示详细的日志
-	Db.LogMode(true)
-	Db.SetLogger(log.New(logs.LogxOrm, "\r\nWarningBack:", 0))
-
-}
+//var Db *gorm.DB
+//var SysSeekCREATE sync.Map
+//
+//func init() {
+//	// 连接数据库
+//	var err error
+//	Db, err = gorm.Open("mysql", conf.MysqlServer_Username+":"+conf.MysqlServer_Password+"@tcp("+conf.MysqlServer_UrlPort+")/"+conf.MysqlServer_Database+"?charset=utf8mb4&loc=Local&parseTime=True")
+//	if err != nil {
+//		log.Fatal(err)
+//	}
+//	// SetMaxIdleConns 设置空闲连接池中的最大连接数。
+//	Db.DB().SetMaxIdleConns(10)
+//
+//	// SetMaxOpenConns 设置数据库连接最大打开数。
+//	Db.DB().SetMaxOpenConns(600)
+//
+//	// SetConnMaxLifetime 设置可重用连接的最长时间
+//	Db.DB().SetConnMaxLifetime(time.Hour)
+//	//Db.AutoMigrate(&DeviceWarning{})
+//	// 开启 Logger, 以展示详细的日志
+//	Db.LogMode(true)
+//	Db.SetLogger(log.New(logs.LogxOrm, "\r\nWarningBack:", 0))
+//
+//}
 
 //func Close() {
 //	Db.Close()
@@ -67,38 +56,38 @@ func init() {
 //}
 
 // 创建备份报警表
-func SeekCREATE(name string) {
-	_, ok := SysSeekCREATE.Load(name)
-	if ok {
-		return
-	}
-	rows, _ := Db.Raw("select * from information_schema.TABLES where TABLE_NAME = ? ;", name).Rows() // (*sql.Rows, error)
-	defer rows.Close()
-	if !rows.Next() {
-		logs.Println("没有表:", name, " 现在新建!")
-		sql := "CREATE TABLE `warning`  (\n                            `ID` bigint NOT NULL AUTO_INCREMENT,\n                            `t_pid` int NULL DEFAULT NULL,\n                            `t_tp` int NULL DEFAULT NULL,\n                            `t_sn` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,\n                            `t__d_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,\n                            `t_id` int NULL DEFAULT NULL,\n                            `t__d_s_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,\n                            `t__remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,\n                            `t__ut` datetime NULL DEFAULT NULL,\n                            `t_f_ut` datetime NULL DEFAULT NULL,\n                            `t__text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,\n                            `t__log` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,\n                            `t__msid` bigint NULL DEFAULT NULL,\n                            `t__state` int NOT NULL DEFAULT 2,\n                            `create_time` datetime NULL DEFAULT NULL,\n                            `update_time` datetime NULL DEFAULT NULL,\n                            PRIMARY KEY (`ID`) USING BTREE,\n                            INDEX `warning_t__ut`(`t__ut`) USING BTREE,\n                            INDEX `warning_t_pid_t_tp_t__state`(`t_pid`, `t_tp`, `t__state`) USING BTREE,\n                            INDEX `warning_t_sn`(`t_sn`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 7522219 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;"
-		sql = strings.Replace(sql, "warning", name, -1)
-		Db.Exec(sql)
-
-		time.Sleep(time.Second)
-	}
-	SysSeekCREATE.Store(name, "")
-	return
-}
+//func SeekCREATE(name string) {
+//	_, ok := SysSeekCREATE.Load(name)
+//	if ok {
+//		return
+//	}
+//	rows, _ := Db.Raw("select * from information_schema.TABLES where TABLE_NAME = ? ;", name).Rows() // (*sql.Rows, error)
+//	defer rows.Close()
+//	if !rows.Next() {
+//		logs.Println("没有表:", name, " 现在新建!")
+//		sql := "CREATE TABLE `warning`  (\n                            `ID` bigint NOT NULL AUTO_INCREMENT,\n                            `t_pid` int NULL DEFAULT NULL,\n                            `t_tp` int NULL DEFAULT NULL,\n                            `t_sn` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,\n                            `t__d_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,\n                            `t_id` int NULL DEFAULT NULL,\n                            `t__d_s_name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,\n                            `t__remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,\n                            `t__ut` datetime NULL DEFAULT NULL,\n                            `t_f_ut` datetime NULL DEFAULT NULL,\n                            `t__text` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,\n                            `t__log` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,\n                            `t__msid` bigint NULL DEFAULT NULL,\n                            `t__state` int NOT NULL DEFAULT 2,\n                            `create_time` datetime NULL DEFAULT NULL,\n                            `update_time` datetime NULL DEFAULT NULL,\n                            PRIMARY KEY (`ID`) USING BTREE,\n                            INDEX `warning_t__ut`(`t__ut`) USING BTREE,\n                            INDEX `warning_t_pid_t_tp_t__state`(`t_pid`, `t_tp`, `t__state`) USING BTREE,\n                            INDEX `warning_t_sn`(`t_sn`) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 7522219 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;"
+//		sql = strings.Replace(sql, "warning", name, -1)
+//		Db.Exec(sql)
+//
+//		time.Sleep(time.Second)
+//	}
+//	SysSeekCREATE.Store(name, "")
+//	return
+//}
 
 // 插入 备份报警表
-func INSERT(name string, ID int64) {
-	SeekCREATE(name) // 创建备份报警表
-	logs.Println("导入数据:", name, " ID:", ID)
-	Db.Exec("INSERT INTO "+name+" SELECT * FROM warning WHERE ID = ? ;", ID)
-
-}
-
-func UPDATE(name string, ID int64, t__log string) {
-	logs.Println("导入数据:", name, " ID:", ID)
-	Db.Exec("UPDATE "+name+" SET t__log = ?  WHERE ID = ? ;", t__log, ID)
-
-}
+//func INSERT(name string, ID int64) {
+//	SeekCREATE(name) // 创建备份报警表
+//	logs.Println("导入数据:", name, " ID:", ID)
+//	Db.Exec("INSERT INTO "+name+" SELECT * FROM warning WHERE ID = ? ;", ID)
+//
+//}
+//
+//func UPDATE(name string, ID int64, t__log string) {
+//	logs.Println("导入数据:", name, " ID:", ID)
+//	Db.Exec("UPDATE "+name+" SET t__log = ?  WHERE ID = ? ;", t__log, ID)
+//
+//}
 
 //func DELETE(name string, currentTime string) {
 //	fmt.Println("删除数据:", name, currentTime)

+ 154 - 0
models/Warning/WarningDB.go

@@ -0,0 +1,154 @@
+package Warning
+
+import (
+	"Cold_mqtt/logs"
+	"database/sql"
+	"fmt"
+	"gorm.io/driver/mysql"
+	"gorm.io/gorm"
+	"strings"
+
+	"time"
+)
+
+var db *gorm.DB
+var sqlDB *sql.DB
+
+type WarningDB struct {
+	Id         int64     `gorm:"column:ID;type:bigint;primaryKey"`
+	T_pid      int32     `gorm:"column:t_pid;index:merge"`                        // Account.Company 绑定公司
+	T_tp       int       `gorm:"column:t_tp;index:merge"`                         // 报警类型   ->WarningList
+	T_sn       string    `gorm:"column:t_sn;index:tsn;size:256;"`                 // 设备序列号
+	T_D_name   string    `gorm:"column:t__d_name;size:256;"`                      // 设备名称
+	T_id       int32     `gorm:"column:t_id;"`                                    // 传感器 ID
+	T_DS_name  string    `gorm:"column:t__d_s_name;size:256;"`                    // 传感器名称
+	T_Remark   string    `gorm:"column:t__remark;type:longtext;"`                 // 采集内容
+	T_Ut       time.Time `gorm:"column:t__ut;type:datetime;"`                     // 采集时间
+	T_fUt      time.Time `gorm:"column:t_f_ut;type:datetime;"`                    // 首次采集时间
+	T_Text     string    `gorm:"column:t__text;type:longtext;"`                   // 处理备注
+	T_Log      string    `gorm:"column:t__log;type:longtext;"`                    // 通知日志
+	T_Msid     int64     `gorm:"column:t__msid;"`                                 // 消息ID
+	T_State    int       `gorm:"column:t__state;size:2;default:2;index:merge"`    // 0 删除   1 不处理   2 已处理   3 未处理
+	CreateTime time.Time `gorm:"column:create_time;type:datetime;autoUpdateTime"` //auto_now_add 第一次保存时才设置时间
+	UpdateTime time.Time `gorm:"column:update_time;type:datetime;autoCreateTime"` //auto_now 每次 model 保存时都会对时间自动更新
+}
+
+var MysqlServer_UrlPort = "127.0.0.1:40306"
+var MysqlServer_Database = "cold"
+var MysqlServer_Username = "cold"
+var MysqlServer_Password = "yjwyEckZS7rE5H!"
+
+func init() {
+	// 连接数据库
+	var err error
+
+	dsn := MysqlServer_Username + ":" + MysqlServer_Password + "@tcp(" + MysqlServer_UrlPort + ")/" + MysqlServer_Database + "?charset=utf8mb4&loc=Local&parseTime=True"
+	db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
+	if err != nil {
+
+		fmt.Println(err)
+
+	}
+	sqlDB, err = db.DB()
+	// SetMaxIdleConns 设置空闲连接池中的最大连接数。
+	sqlDB.SetMaxIdleConns(1)
+
+	// SetMaxOpenConns 设置数据库连接最大打开数。
+	sqlDB.SetMaxOpenConns(10)
+
+	// SetConnMaxLifetime 设置可重用连接的最长时间
+	sqlDB.SetConnMaxLifetime(time.Hour)
+	//db.AutoMigrate(&DeviceWarning{})
+
+	//db.SetLogger(log.New(logs.LogxOrm, "\r\nWarningBack:", 0))
+	fmt.Println("db init")
+}
+
+/*
+time_a  : 开始时间  "2024-01-24 08:21:40"
+time_b  : 结束时间  "2024-03-24 08:21:40"
+WHERE_t_pid  : 公司ID   > 0
+WHERE_t_tp  : 报警类型  > 0
+WHERE_t__state  :   状态   -1 无限制  0 删除   1 不处理   2 已处理   3 未处理
+WHERE_t_sn  : 设备序列号
+PageIndex  : 页码值
+PageSize  : 每页多少
+*/
+
+func Handy(time_a, time_b string, WHERE_t_pid int, WHERE_t_tp int, WHERE_t__state int, WHERE_t_sn string, PageIndex int, PageSize int) ([]WarningDB, int) {
+	var offset int // 数据起点
+	if PageIndex <= 1 {
+		offset = 0
+	} else {
+		offset = (PageIndex - 1) * PageSize
+	}
+	var TABLE = "warning_"
+	monthsArray := generateMonthArray(time_a, time_b)
+
+	var Warning_List []WarningDB
+	var Count_List []int
+	var Count_Num int // 累积数量
+	for _, v := range monthsArray {
+		var count int64
+		var countoffset int // 当前数据起点
+
+		db.Table(TABLE+v).Where("t_tp = ?", 110).Count(&count)
+		Count_List = append(Count_List, int(count))
+		fmt.Println("TABLE:", TABLE+v, count)
+		countoffset = offset - Count_Num // 当前数据起点
+		if countoffset < 0 {
+			countoffset = 0
+		}
+		Count_Num += int(count)
+		Limit := PageSize - len(Warning_List) // 还缺多少数量
+		if offset <= Count_Num && Limit > 0 {
+			var warninglist []WarningDB
+			dbW := db.Table(TABLE + v)
+			if WHERE_t_pid > 0 {
+				dbW.Where("t_tp = ? ", WHERE_t_pid)
+			}
+			if WHERE_t_tp > 0 {
+				dbW.Where("t_pid = ? ", WHERE_t_pid)
+			}
+			if WHERE_t__state != -1 {
+				dbW.Where("t__state = ? ", WHERE_t__state)
+			}
+			if len(WHERE_t_sn) > 0 {
+				dbW.Where("t__state LIKE ? ", WHERE_t_sn)
+			}
+			dbW.Order("t__ut").Offset(countoffset).Limit(Limit).Find(&warninglist)
+			Warning_List = append(Warning_List, warninglist...)
+		}
+
+	}
+	return Warning_List, Count_Num
+}
+
+func (t *WarningDB) Create(TableName string) {
+CreateSQL:
+	result := db.Table(TableName).Create(t) // 插入数据
+	if result.Error != nil {
+		if strings.Compare(result.Error.Error(), "doesn't exist") != 0 {
+			db.Table(TableName).AutoMigrate(&WarningDB{}) // 建表
+			goto CreateSQL                                // 返回 重新插入
+		}
+	}
+}
+
+func UPDATE(name string, ID int64, t__log string) {
+	logs.Println("修改数据:", name, " ID:", ID)
+	db.Exec("UPDATE "+name+" SET t__log = ?  WHERE ID = ? ;", t__log, ID)
+}
+
+func generateMonthArray(startDateStr string, endDateStr string) []string {
+	startDate, _ := time.Parse("2006-01-02 15:04:05", startDateStr)
+	endDate, _ := time.Parse("2006-01-02 15:04:05", endDateStr)
+
+	monthsArray := []string{}
+	for startDate.Before(endDate) || startDate.Equal(endDate) {
+		monthsArray = append(monthsArray, fmt.Sprintf("%d_%02d", startDate.Year(), startDate.Month()))
+		startDate = startDate.AddDate(0, 1, 0) // Add one month
+	}
+
+	return monthsArray
+}

+ 77 - 22
tests/Merge.go

@@ -15,9 +15,9 @@ var sqlDB *sql.DB
 
 type WarningDB struct {
 	Id         int64     `gorm:"column:ID;type:bigint;primaryKey"`
-	T_pid      int32     `gorm:"column:t_pid;"`                                   // Account.Company 绑定公司
-	T_tp       int       `gorm:"column:t_tp;"`                                    // 报警类型   ->WarningList
-	T_sn       string    `gorm:"column:t_sn;index;size:256;"`                     // 设备序列号
+	T_pid      int32     `gorm:"column:t_pid;index:merge"`                        // Account.Company 绑定公司
+	T_tp       int       `gorm:"column:t_tp;index:merge"`                         // 报警类型   ->WarningList
+	T_sn       string    `gorm:"column:t_sn;index:tsn;size:256;"`                 // 设备序列号
 	T_D_name   string    `gorm:"column:t__d_name;size:256;"`                      // 设备名称
 	T_id       int32     `gorm:"column:t_id;"`                                    // 传感器 ID
 	T_DS_name  string    `gorm:"column:t__d_s_name;size:256;"`                    // 传感器名称
@@ -26,8 +26,8 @@ type WarningDB struct {
 	T_fUt      time.Time `gorm:"column:t_f_ut;type:datetime;"`                    // 首次采集时间
 	T_Text     string    `gorm:"column:t__text;type:longtext;"`                   // 处理备注
 	T_Log      string    `gorm:"column:t__log;type:longtext;"`                    // 通知日志
-	T_Msid     int32     `gorm:"column:t__msid;"`                                 // 消息ID
-	T_State    int       `gorm:"column:t__state;size:2;default:2"`                // 0 删除   1 不处理   2 已处理   3 未处理
+	T_Msid     int64     `gorm:"column:t__msid;"`                                 // 消息ID
+	T_State    int       `gorm:"column:t__state;size:2;default:2;index:merge"`    // 0 删除   1 不处理   2 已处理   3 未处理
 	CreateTime time.Time `gorm:"column:create_time;type:datetime;autoUpdateTime"` //auto_now_add 第一次保存时才设置时间
 	UpdateTime time.Time `gorm:"column:update_time;type:datetime;autoCreateTime"` //auto_now 每次 model 保存时都会对时间自动更新
 }
@@ -62,31 +62,86 @@ func init() {
 	//db.SetLogger(log.New(logs.LogxOrm, "\r\nWarningBack:", 0))
 	fmt.Println("db init")
 }
-func Handy(time_a, time_b, WHERE string) {
 
-	var TABLE = "warning_2024_04"
-	//var TABLE = "my_users"
-
-	var count int64
-
-	var Warning_list []WarningDB
-
-	//rows, _ := db.Raw("SELECT * FROM  "+TABLE+" WHERE `t_tp` = ? LIMIT 10,20;", 110).Rows() // (*sql.Rows, error)
-
-	db.Table(TABLE).Where("t_tp = ?", 110).Count(&count)
-
-	db.Table(TABLE).Where("t_tp = ?", 110).Limit(10).Offset(0).Find(&Warning_list)
+/*
+time_a  : 开始时间  "2024-01-24 08:21:40"
+time_b  : 结束时间  "2024-03-24 08:21:40"
+WHERE_t_pid  : 公司ID   > 0
+WHERE_t_tp  : 报警类型  > 0
+WHERE_t__state  :   状态   -1 无限制  0 删除   1 不处理   2 已处理   3 未处理
+WHERE_t_sn  : 设备序列号
+PageIndex  : 页码值
+PageSize  : 每页多少
+*/
+
+func Handy(time_a, time_b string, WHERE_t_pid int, WHERE_t_tp int, WHERE_t__state int, WHERE_t_sn string, PageIndex int, PageSize int) ([]WarningDB, int) {
+	var offset int // 数据起点
+	if PageIndex <= 1 {
+		offset = 0
+	} else {
+		offset = (PageIndex - 1) * PageSize
+	}
+	var TABLE = "warning_"
+	monthsArray := generateMonthArray(time_a, time_b)
+
+	var Warning_List []WarningDB
+	var Count_List []int
+	var Count_Num int // 累积数量
+	for _, v := range monthsArray {
+		var count int64
+		var countoffset int // 当前数据起点
+
+		db.Table(TABLE+v).Where("t_tp = ?", 110).Count(&count)
+		Count_List = append(Count_List, int(count))
+		fmt.Println("TABLE:", TABLE+v, count)
+		countoffset = offset - Count_Num // 当前数据起点
+		if countoffset < 0 {
+			countoffset = 0
+		}
+		Count_Num += int(count)
+		Limit := PageSize - len(Warning_List) // 还缺多少数量
+		if offset <= Count_Num && Limit > 0 {
+			var warninglist []WarningDB
+			dbW := db.Table(TABLE + v)
+			if WHERE_t_pid > 0 {
+				dbW.Where("t_tp = ? ", WHERE_t_pid)
+			}
+			if WHERE_t_tp > 0 {
+				dbW.Where("t_pid = ? ", WHERE_t_pid)
+			}
+			if WHERE_t__state != -1 {
+				dbW.Where("t__state = ? ", WHERE_t__state)
+			}
+			if len(WHERE_t_sn) > 0 {
+				dbW.Where("t__state LIKE ? ", WHERE_t_sn)
+			}
+			dbW.Order("t__ut").Offset(countoffset).Limit(Limit).Find(&warninglist)
+			Warning_List = append(Warning_List, warninglist...)
+		}
 
-	return
+	}
+	return Warning_List, Count_Num
 }
 
 func (t *WarningDB) Create(TableName string) {
 CreateSQL:
-	result := db.Table(TableName).Create(t)
+	result := db.Table(TableName).Create(t) // 插入数据
 	if result.Error != nil {
 		if strings.Compare(result.Error.Error(), "doesn't exist") != 0 {
-			db.Table(TableName).AutoMigrate(&WarningDB{})
-			goto CreateSQL
+			db.Table(TableName).AutoMigrate(&WarningDB{}) // 建表
+			goto CreateSQL                                // 返回 重新插入
 		}
 	}
 }
+func generateMonthArray(startDateStr string, endDateStr string) []string {
+	startDate, _ := time.Parse("2006-01-02 15:04:05", startDateStr)
+	endDate, _ := time.Parse("2006-01-02 15:04:05", endDateStr)
+
+	monthsArray := []string{}
+	for startDate.Before(endDate) || startDate.Equal(endDate) {
+		monthsArray = append(monthsArray, fmt.Sprintf("%d_%02d", startDate.Year(), startDate.Month()))
+		startDate = startDate.AddDate(0, 1, 0) // Add one month
+	}
+
+	return monthsArray
+}

+ 13 - 2
tests/default_test.go

@@ -10,7 +10,18 @@ func TestName(t *testing.T) {
 	println(time.Now().Format("15:04:05"))
 
 	user := WarningDB{T_D_name: "Jinzhu", T_tp: 110, T_Ut: time.Now()}
-	user.Create("my_users11")
-	Handy("2024-03-24 08:21:40","2024-03-24 08:21:40","")
+	user.Create("my_users12")
+
+	/*
+		time_a  : 开始时间  "2024-01-24 08:21:40"
+		time_b  : 结束时间  "2024-03-24 08:21:40"
+		WHERE_t_pid  : 公司ID   > 0
+		WHERE_t_tp  : 报警类型  > 0
+		WHERE_t__state  :   状态   -1 无限制  0 删除   1 不处理   2 已处理   3 未处理
+		WHERE_t_sn  : 设备序列号
+		PageIndex  : 页码值
+		PageSize  : 每页多少
+	*/
+	//Handy("2024-01-24 08:21:40","2024-03-24 08:21:40",0,110,-1,"",1,10)
 
 }