瀏覽代碼

update: 日志优化

zoie 2 年之前
父節點
當前提交
ac05dd108b

+ 5 - 5
controllers/Device.go

@@ -313,7 +313,7 @@ func (c *DeviceController) DeviceLogs() {
 	T_sn := c.GetString("T_sn")
 	c.Data["T_sn"] = T_sn
 
-	r_jsons.DeviceLogs, r_jsons.Num = Warning.Read_DeviceLogs_ALL(T_sn, page, page_z)
+	r_jsons.DeviceLogs, r_jsons.Num = Warning.Read_DeviceLogs_List(T_sn, page, page_z)
 
 	r_jsons.Page = page
 	r_jsons.Page_size = int(math.Ceil(float64(r_jsons.Num) / float64(page_z)))
@@ -1073,7 +1073,7 @@ func (c *DeviceController) DeviceWarning_List() {
 			r_jsons.Data, r_jsons.Num = Warning.Read_Admin_Warning_Backups(c.Admin_r.T_pids, T_year, T_month, T_tp, T_name, T_handle, Time_start, Time_end, page, page_z)
 		} else {
 			// 获取最新
-			r_jsons.Data, r_jsons.Num = Warning.Read_Admin_Warning(c.Admin_r.T_pids, T_tp, T_name, T_handle, Time_start, Time_end, page, page_z)
+			r_jsons.Data, r_jsons.Num = Warning.Read_Admin_Warning_List(c.Admin_r.T_pids, T_tp, T_name, T_handle, Time_start, Time_end, page, page_z)
 		}
 		c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
 		c.ServeJSON()
@@ -1085,7 +1085,7 @@ func (c *DeviceController) DeviceWarning_List() {
 		r_jsons.Data, r_jsons.Num = Warning.Read_Warning_Backups(c.T_pid, T_year, T_month, T_tp, T_name, T_handle, Time_start, Time_end, page, page_z)
 	} else {
 		// 获取最新
-		r_jsons.Data, r_jsons.Num = Warning.Read_Warning(c.T_pid, T_tp, T_name, T_handle, Time_start, Time_end, page, page_z)
+		r_jsons.Data, r_jsons.Num = Warning.Read_Warning_List(c.T_pid, T_tp, T_name, T_handle, Time_start, Time_end, page, page_z)
 	}
 
 	r_jsons.Page = page
@@ -1156,7 +1156,7 @@ func (c *DeviceController) DeviceWarning_Data_Excel() {
 	Time_end := c.GetString("Time_end")
 	T_handle, _ := c.GetInt("T_handle")
 
-	Device_data, _ := Warning.Read_Warning(c.T_pid, T_tp, T_name, T_handle, Time_start, Time_end, 0, 9999)
+	Device_data, _ := Warning.Read_Warning_List(c.T_pid, T_tp, T_name, T_handle, Time_start, Time_end, 0, 9999)
 
 	f := excelize.NewFile() // 设置单元格的值
 	// 这里设置表头
@@ -1479,7 +1479,7 @@ func (c *DeviceController) ClassBind_Add() {
 		return
 	}
 
-	if err = Device.DeviceSensor_T_Class_Add(T_sn, T_id, T_class_id); err != nil {
+	if err = Device.DeviceSensor_Bind_T_Class_Add(T_sn, T_id, T_class_id); err != nil {
 		c.Data["json"] = lib.JSONS{Code: 200, Msg: "绑定失败"}
 		c.ServeJSON()
 		return

+ 2 - 2
controllers/User.go

@@ -511,8 +511,8 @@ func (c *UserController) User_Home() {
 			Admin_ = append(Admin_, Account.Admin_RToAdmin_(v))
 		}
 		info.Admin = Admin_
-		info.WarningNum = Warning.Read_Warning_ALL_T_State_Count(admin_r.T_pid, 1, power.T_warning)
-		info.UntreatedWarningNum = Warning.Read_Warning_ALL_T_State_Count(admin_r.T_pid, 3, power.T_warning)
+		info.WarningNum = Warning.Read_Warning_ALL_T_State_Count(admin_r.T_pid, 1, power.T_warning, true)
+		info.UntreatedWarningNum = Warning.Read_Warning_ALL_T_State_Count(admin_r.T_pid, 3, power.T_warning, false)
 	}
 	if admin_r.T_pid == 0 {
 		info.WorkOrderNum, info.UntreatedWorkOrderNum = NatsServer.Read_WorkOrderT_State_Count(admin_r.T_pids)

+ 2 - 3
logs/LogPrintln.go

@@ -4,7 +4,6 @@ import (
 	"Cold_Api/conf"
 	"github.com/astaxie/beego/logs"
 	"runtime"
-	"time"
 )
 
 var logx *logs.BeeLogger
@@ -25,8 +24,8 @@ func init() {
 	}
 }
 
-func Println(v ...interface{}) {
-	logx.Info(time.Now().Format("2006-01-02 15:04:05")+">", v)
+func Println(format string, v ...interface{}) {
+	logx.Info(format, v...)
 }
 
 // Debug Log DEBUG level message.

+ 58 - 34
models/Device/Device.go

@@ -2,6 +2,7 @@ package Device
 
 import (
 	"Cold_Api/conf"
+	"Cold_Api/logs"
 	"Cold_Api/models/Account"
 	"Cold_Api/models/Product"
 	"encoding/json"
@@ -99,8 +100,8 @@ func init() {
 	var err error
 	redisCache_Device, err = cache.NewCache("redis", config)
 	if err != nil || redisCache_Device == nil {
-		errMsg := "failed to init redis"
-		fmt.Println(errMsg, err)
+		errMsg := "failed to init redis_Device"
+		logs.Error(errMsg, err)
 	}
 
 }
@@ -145,38 +146,45 @@ func DeviceToDevice_R(r Device) (t Device_R) {
 }
 
 // ---------------- Redis -------------------
-// Redis_Set(m.T_sn,m) // Redis 更新缓存
-func Redis_Set(r Device) (err error) {
+// Redis_Device_Set(m.T_sn,m) // Redis 更新缓存
+func Redis_Device_Set(r Device) (err error) {
 	//json序列化
 	str, err := json.Marshal(r)
 	if err != nil {
-		fmt.Print(err)
+		logs.Error("Redis_Device_Set", err)
 		return
 	}
 	err = redisCache_Device.Put(r.T_sn, str, 24*time.Hour)
 	if err != nil {
-		fmt.Println("set key:", r.T_sn, ",value:", str, err)
+		logs.Error("set key:", r.T_sn, ",value:", str, err)
 	}
 	return
 }
 
-// if r,is :=Redis_Get(T_sn);is{
+// if r,is :=Redis_Device_Get(T_sn);is{
 // return r,nil
 // }
-func Redis_Get(key string) (r Device, is bool) {
+func Redis_Device_Get(key string) (r Device, is bool) {
 	if redisCache_Device.IsExist(key) {
 		//println("找到key:",key)
 		v := redisCache_Device.Get(key)
 
-		json.Unmarshal(v.([]byte), &r)
+		err := json.Unmarshal(v.([]byte), &r)
+		if err != nil {
+			logs.Error("Redis_Device_Get", err)
+			return Device{}, false
+		}
 		return r, true
 	}
-	//println("没有 找到key:",key)
 	return Device{}, false
 }
 
-func Redis_DelK(key string) (err error) {
+func Redis_Device_DelK(key string) (err error) {
 	err = redisCache_Device.Delete(key)
+	if err != nil {
+		logs.Error("Redis_Device_DelK", err)
+		return
+	}
 	return
 }
 
@@ -184,21 +192,20 @@ func Redis_DelK(key string) (err error) {
 
 // 获取 ById
 func Read_Device_ByT_sn(T_sn string) (r Device, err error) {
-	if r, is := Redis_Get(T_sn); is {
-		//println("Redis_Get  OK")
+	if r, is := Redis_Device_Get(T_sn); is {
+		//println("Redis_Device_Get  OK")
 		return r, nil
 	}
-	//println("没有 Redis_Get SN")
+	//println("没有 Redis_Device_Get SN")
 	o := orm.NewOrm()
 	r = Device{T_sn: T_sn}
 	err = o.Read(&r, "T_sn") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
 	if err != nil {
-		fmt.Println(err)
-	} else {
-		Redis_Set(r) // Redis 更新缓存
+		logs.Error("Read_Device_ByT_sn", err)
+		return r, err
 	}
-
-	return r, err
+	Redis_Device_Set(r) // Redis 更新缓存
+	return r, nil
 }
 
 // 添加
@@ -206,32 +213,36 @@ func Add_Device(m Device) (err error) {
 	o := orm.NewOrm()
 	_, err = o.Insert(&m)
 	if err != nil {
-		fmt.Println(err)
-	} else {
-		Redis_Set(m) // Redis 更新缓存
+		logs.Error("Add_Device", err)
+		return err
 	}
-	return err
+	Redis_Device_Set(m) // Redis 更新缓存
+	return nil
 }
 
 // 删除
 func Delete_Device(m Device) (err error) {
 	o := orm.NewOrm()
-	if num, err := o.Delete(&m); err == nil {
-		fmt.Println("Number of records deleted in database:", num)
+	_, err = o.Delete(&m)
+	if err != nil {
+		logs.Error("Delete_Device", err)
+		return err
 	}
-	Redis_DelK(m.T_sn)
+	Redis_Device_DelK(m.T_sn)
 	return
 }
 
 // 修改
 func Update_Device(r Device, cols ...string) bool {
 	o := orm.NewOrm()
-	if num, err := o.Update(&r, cols...); err == nil {
-		fmt.Println("Number of records updated in database:", num)
-		Redis_Set(r) // Redis 更新缓存
-		return true
+	num, err := o.Update(&r, cols...)
+	if err != nil {
+		logs.Error("Update_Device", err)
+		return false
 	}
-	return false
+	fmt.Println("Number of records updated in database:", num)
+	Redis_Device_Set(r) // Redis 更新缓存
+	return true
 }
 
 // 获取列表
@@ -277,8 +288,17 @@ func Read_Device_List(admin *Account.Admin, T_pid int, T_name string, T_monitor
 
 	var rx []Device
 
-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("CreateTime").All(&rx)
-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("CreateTime").All(&rx)
+	if err != nil {
+		logs.Error("Read_Device_List", err)
+		return
+	}
+
+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	if err != nil {
+		logs.Error("Read_Device_List Count", err)
+		return
+	}
 
 	for _, v := range rx {
 		r = append(r, DeviceToDevice_R(v))
@@ -299,7 +319,11 @@ func Read_Device_List_ByT_model(T_model string) (r []Device) {
 	o := orm.NewOrm()
 	// 也可以直接使用 Model 结构体作为表名
 	qs := o.QueryTable(new(Device))
-	qs.Filter("T_model", T_model).All(&r)
+	_, err := qs.Filter("T_model", T_model).All(&r)
+	if err != nil {
+		logs.Error("Read_Device_List_ByT_model", err)
+		return
+	}
 
 	return r
 }

+ 29 - 9
models/Device/DeviceData.go

@@ -67,7 +67,7 @@ func init() {
 	var err error
 	redis_DeviceData, err = cache.NewCache("redis", config)
 	if err != nil || redis_DeviceData == nil {
-		errMsg := "failed to init redis"
+		errMsg := "failed to init redis_DeviceData"
 		fmt.Println(errMsg, err)
 	}
 }
@@ -90,7 +90,7 @@ func DeviceData_ToDeviceData_R(r DeviceData_) (t DeviceData_R) {
 }
 
 // ---------------- Redis -------------------
-// Redis_Set(m.T_sn,m) // Redis 更新缓存
+// Redis_Device_Set(m.T_sn,m) // Redis 更新缓存
 func RedisDeviceData_Set(key string, r DeviceData_) (err error) {
 	if redis_DeviceData.IsExist(key) {
 		var t DeviceData_
@@ -105,12 +105,12 @@ func RedisDeviceData_Set(key string, r DeviceData_) (err error) {
 	//json序列化
 	str, err := json.Marshal(r)
 	if err != nil {
-		fmt.Print(err)
+		logs.Error("RedisDeviceData_Set", err)
 		return
 	}
 	err = redis_DeviceData.Put(key, str, 1*time.Hour)
 	if err != nil {
-		fmt.Println("set key:", key, ",value:", str, err)
+		logs.Error("set key:", key, ",value:", str, err)
 	}
 	return
 }
@@ -118,7 +118,12 @@ func RedisDeviceData_Set(key string, r DeviceData_) (err error) {
 func RedisDeviceData_Get(key string) (r DeviceData_, is bool) {
 	if redis_DeviceData.IsExist(key) {
 		v := redis_DeviceData.Get(key)
-		json.Unmarshal(v.([]byte), &r)
+		err := json.Unmarshal(v.([]byte), &r)
+		if err != nil {
+			logs.Error("RedisDeviceData_Get", err)
+			return DeviceData_{}, false
+		}
+
 		return r, true
 	}
 	return DeviceData_{}, false
@@ -132,6 +137,7 @@ func CREATE_DeviceData(SN string) bool {
 	o := orm.NewOrm()
 	_, err := o.Raw(sql).Exec()
 	if err != nil {
+		logs.Error("CREATE_DeviceData", err)
 		return false
 	}
 	return true
@@ -145,6 +151,7 @@ func DELETE_DeviceDatar(SN string) bool {
 	o := orm.NewOrm()
 	_, err := o.Raw(sql).Exec()
 	if err != nil {
+		logs.Error("DELETE_DeviceDatar", err)
 		return false
 	}
 	return true
@@ -201,7 +208,7 @@ func Add_DeviceData(SN string, v DeviceData_T) bool {
 	fmt.Println(sql)
 	res, err := o.Raw(sql).Exec()
 	if err != nil {
-		fmt.Println(err)
+		logs.Error("Add_DeviceData", err)
 		return false
 	}
 	res.RowsAffected()
@@ -238,6 +245,7 @@ func Read_DeviceData_ById_List(SN string, T_id int, Time_start_ string, Time_end
 	fmt.Println(sql)
 	_, err := o.Raw(sql).ValuesList(&maps_z)
 	if err != nil {
+		logs.Error("Read_DeviceData_ById_List", err)
 		return r, 0
 	}
 	if len(maps_z) == 0 {
@@ -252,6 +260,10 @@ func Read_DeviceData_ById_List(SN string, T_id int, Time_start_ string, Time_end
 
 	fmt.Println(sql)
 	_, err = o.Raw(sql).QueryRows(&maps)
+	if err != nil {
+		logs.Error("Read_DeviceData_ById_List", err)
+		return r, 0
+	}
 
 	//value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", cnt), 64)
 	key, _ := strconv.Atoi(maps_z[0][0].(string))
@@ -268,7 +280,12 @@ func Read_SqlRaw(T_SQL string) []orm2.Params {
 	var lists []orm2.Params
 
 	fmt.Println(T_SQL)
-	o.Raw(T_SQL).Values(&lists)
+	_, err := o.Raw(T_SQL).Values(&lists)
+	if err != nil {
+		logs.Error("Read_SqlRaw", err)
+		return lists
+	}
+
 	fmt.Println(T_SQL+":", len(lists))
 	return lists
 }
@@ -279,7 +296,7 @@ func Read_SqlRawL(T_SQL string, T_data []string) (string, []orm2.Params) {
 	fmt.Println(T_SQL)
 	_, err := o.Raw(T_SQL, T_data).Values(&lists)
 	if err != nil {
-
+		logs.Error("Read_SqlRawL", err)
 		return err.Error(), lists
 	}
 
@@ -390,7 +407,10 @@ func Read_DeviceData_List_GROUP_BY_t_time(SN string, Time_start_ string, Time_en
 
 	sql := "SELECT DATE_FORMAT(t_time,'%Y-%c-%d %H:%i:%s') AS t_time FROM z_device_data_" + SN + " WHERE " + sql_time + "   GROUP BY t_time  ORDER BY t_time DESC "
 	fmt.Println(sql)
-	o.Raw(sql).ValuesList(&maps_z)
+	_, err := o.Raw(sql).ValuesList(&maps_z)
+	if err != nil {
+		logs.Error("Read_DeviceData_List_GROUP_BY_t_time", err)
+	}
 	return maps_z
 }
 

+ 15 - 85
models/Device/DeviceParameter.go

@@ -1,9 +1,8 @@
 package Device
 
 import (
-	"fmt"
+	"Cold_Api/logs"
 	"github.com/beego/beego/v2/adapter/orm"
-	orm2 "github.com/beego/beego/v2/client/orm"
 	_ "github.com/go-sql-driver/mysql"
 	"strconv"
 	"time"
@@ -117,23 +116,13 @@ func Add_DeviceParameter(m DeviceParameter) (DeviceParameter, bool) {
 
 	id, err := o.Insert(&m)
 	if err != nil {
-		fmt.Println(err)
+		logs.Error("Add_DeviceParameter", err)
 		return m, false
 	}
 	m.Id = int(id)
 	return m, true
 }
 
-// 修改
-func Update_DeviceParameter(r DeviceParameter, cols ...string) bool {
-	o := orm.NewOrm()
-	if num, err := o.Update(&r, cols...); err == nil {
-		fmt.Println("Number of records updated in database:", num)
-		return true
-	}
-	return false
-}
-
 // 获取列表
 func Read_DeviceParameter_SN_Msid(T_sn string, T_Msid int) (r DeviceParameter, err error) {
 
@@ -143,28 +132,11 @@ func Read_DeviceParameter_SN_Msid(T_sn string, T_Msid int) (r DeviceParameter, e
 	qs := o.QueryTable(new(DeviceParameter))
 
 	err = qs.Filter("T_sn", T_sn).Filter("T_Msid", T_Msid).One(&r)
-
-	return r, err
-}
-
-// 修改
-func Update_DeviceParameter_(m DeviceParameter) (err error) {
-	o := orm.NewOrm()
-	if num, err := o.Update(&m, "T_SendState"); err == nil {
-		fmt.Println("Number of records updated in database:", num)
-	}
-
-	return err
-}
-func DELETE_DeviceParameter(SN string) bool {
-
-	sql := "DELETE FROM `cold`.`device_parameter` WHERE `t_sn` = '" + SN + "' "
-	o := orm.NewOrm()
-	_, err := o.Raw(sql).Exec()
 	if err != nil {
-		return false
+		logs.Error("Read_DeviceParameter_SN_Msid", err)
 	}
-	return true
+
+	return r, err
 }
 
 // 获取设备参数
@@ -174,20 +146,10 @@ func Read_DeviceParameter_SN(T_sn string) (r []DeviceParameter) {
 	// 也可以直接使用 Model 结构体作为表名
 
 	qs := o.QueryTable(new(DeviceParameter))
-	qs.Limit(1, 0).Filter("T_sn", T_sn).Filter("T_State", 1).OrderBy("-Id").All(&r)
-	return r
-}
-
-// 获取列表
-func Read_DeviceParameter_SN_T_State_1(T_sn string) (r []DeviceParameter) {
-
-	o := orm.NewOrm()
-	// 也可以直接使用 Model 结构体作为表名
-
-	qs := o.QueryTable(new(DeviceParameter))
-
-	qs.Limit(3, 0).Filter("T_sn", T_sn).Filter("T_State", 2).OrderBy("-Id").All(&r)
-
+	_, err := qs.Limit(1, 0).Filter("T_sn", T_sn).Filter("T_State", 1).OrderBy("-Id").All(&r)
+	if err != nil {
+		logs.Error("Read_DeviceParameter_SN", err)
+	}
 	return r
 }
 
@@ -205,46 +167,14 @@ func Read_DeviceParameter_SN_List(T_sn string, page, page_z int) (r []DevicePara
 
 	qs := o.QueryTable(new(DeviceParameter))
 	var maps []DeviceParameter
-	qs.Limit(page_z, offset).Filter("T_sn", T_sn).Filter("T_State", 2).OrderBy("-Id").All(&maps)
+	_, err := qs.Limit(page_z, offset).Filter("T_sn", T_sn).Filter("T_State", 2).OrderBy("-Id").All(&maps)
+	if err != nil {
+		logs.Error("Read_DeviceParameter_SN_List", err)
+		return r
+	}
+
 	for _, v := range maps {
 		r = append(r, DeviceParameterToDeviceParameter_R(v))
 	}
 	return r
 }
-
-// 获取列表
-func Read_DeviceParameter_SN_T_SendState_0(T_sn string) (r []DeviceParameter) {
-
-	o := orm.NewOrm()
-	// 也可以直接使用 Model 结构体作为表名
-
-	qs := o.QueryTable(new(DeviceParameter))
-
-	qs.Limit(1, 0).Filter("T_sn", T_sn).Filter("T_State", 2).Filter("T_SendState", 0).OrderBy("-Id").All(&r)
-
-	return r
-}
-
-// 获取最新数据
-func Read_DeviceParameter_SN_T_SendState_0_sql() (maps []orm2.ParamsList) {
-	o := orm.NewOrm()
-
-	sql := "SELECT DISTINCT t_sn FROM `cold`.`device_parameter` WHERE `t__send_state` = '0' AND `t__state` = '2'"
-
-	fmt.Println(sql)
-	o.Raw(sql).ValuesList(&maps)
-
-	return maps
-}
-
-// 获取最新数据
-func UPDATE_DeviceParameter_SN_T_SendState_2_sql(T_sn string) {
-	o := orm.NewOrm()
-
-	res, err := o.Raw("UPDATE DeviceParameter SET `t__send_state` = 3 WHERE `t_sn` LIKE '%" + T_sn + "%' AND `t__send_state` = '0' AND `t__state` = '2'").Exec()
-	if err == nil {
-		num, _ := res.RowsAffected()
-		fmt.Println("mysql row affected nums: ", num)
-	}
-
-}

+ 169 - 143
models/Device/DeviceSensor.go

@@ -3,6 +3,7 @@ package Device
 import (
 	"Cold_Api/conf"
 	"Cold_Api/controllers/lib"
+	"Cold_Api/logs"
 	"Cold_Api/models/Account"
 	"encoding/json"
 	"fmt"
@@ -111,27 +112,27 @@ func init() {
 	var err error
 	redisCache_DeviceSensor, err = cache.NewCache("redis", config)
 	if err != nil || redisCache_DeviceSensor == nil {
-		errMsg := "failed to init redis"
+		errMsg := "failed to init redis_DeviceSensor"
 		fmt.Println(errMsg, err)
 	}
 
 }
 
 // ---------------- Redis -------------------
-// Redis_Set(m.T_sn,m) // Redis 更新缓存
+// Redis_Device_Set(m.T_sn,m) // Redis 更新缓存
 func Redis_DeviceSensor_Set(r DeviceSensor) (err error) {
 	key := r.T_sn + "|" + strconv.Itoa(r.T_id)
 
 	//json序列化
 	str, err := json.Marshal(r)
 	if err != nil {
-		fmt.Print(err)
+		logs.Error("Redis_DeviceSensor_Set", err)
 		return
 	}
 
 	err = redisCache_DeviceSensor.Put(key, str, 24*time.Hour)
 	if err != nil {
-		fmt.Println("set key:", key, ",value:", str, err)
+		logs.Error("set key:", key, ",value:", str, err)
 	}
 	return
 }
@@ -139,15 +140,21 @@ func Redis_DeviceSensor_Get(key string) (r DeviceSensor, is bool) {
 	if redisCache_DeviceSensor.IsExist(key) {
 		//println("找到key:",key)
 		v := redisCache_DeviceSensor.Get(key)
-		json.Unmarshal(v.([]byte), &r)
+		err := json.Unmarshal(v.([]byte), &r)
+		if err != nil {
+			logs.Error("Redis_DeviceSensor_Get", err)
+			return DeviceSensor{}, false
+		}
 		return r, true
 	}
-	//println("没有 找到key:",key)
 	return DeviceSensor{}, false
 }
 func Redis_DeviceSensor_DelK(r DeviceSensor) (err error) {
 	key := r.T_sn + "|" + strconv.Itoa(r.T_id)
 	err = redisCache_DeviceSensor.Delete(key)
+	if err != nil {
+		logs.Error("Redis_DeviceSensor_DelK", err)
+	}
 	return
 }
 
@@ -195,7 +202,11 @@ func Read_DeviceSensor_Num_ByT_sn(T_sn string) int {
 	o := orm.NewOrm()
 	// 也可以直接使用 Model 结构体作为表名
 	qs := o.QueryTable(new(DeviceSensor))
-	cnt, _ := qs.Filter("T_sn", T_sn).Count()
+	cnt, err := qs.Filter("T_sn", T_sn).Count()
+	if err != nil {
+		logs.Error("Read_DeviceSensor_Num_ByT_sn", err)
+		return 0
+	}
 	return int(cnt)
 }
 
@@ -244,14 +255,22 @@ func Read_DeviceSensorList(admin_r *Account.Admin, T_pid int, T_sn string, T_nam
 		cond1 = cond1.And("T_datashow", 1)
 	}
 
-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r)
-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r)
+	if err != nil {
+		logs.Error("Read_DeviceSensorList", err)
+		return
+	}
+
+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	if err != nil {
+		logs.Error("Read_DeviceSensorList Count", err)
+		return
+	}
 
 	for _, v := range r {
 		DeviceSensor_r = append(DeviceSensor_r, DeviceSensorToDeviceSensor_R(v))
 	}
 	return DeviceSensor_r, cnt
-	//return r, cnt
 }
 
 // 获取
@@ -264,7 +283,7 @@ func Read_DeviceSensor_ByT_sn(T_sn string, T_id int) (r DeviceSensor, is bool) {
 	r = DeviceSensor{T_sn: T_sn, T_id: T_id}
 	err := o.Read(&r, "T_sn", "T_id") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
 	if err != nil {
-		fmt.Println("Delete_DeviceSensor_ById", err)
+		logs.Error("Read_DeviceSensor_ByT_sn", err)
 		return r, false
 	}
 
@@ -282,10 +301,10 @@ func Delete_DeviceSensor_ById(T_sn string, T_id int) (err error) {
 		fmt.Println("Delete_DeviceSensor_ById", err)
 		return err
 	}
-	// ascertain id exists in the database
-	var num int64
-	if num, err = o.Delete(&DeviceSensor{Id: r.Id}); err == nil {
-		fmt.Println("Number of records deleted in database:", num)
+	_, err = o.Delete(&DeviceSensor{Id: r.Id})
+	if err != nil {
+		logs.Error("Delete_DeviceSensor_ById", err)
+		return err
 	}
 	Redis_DeviceSensor_DelK(r)
 	return
@@ -294,13 +313,15 @@ func Delete_DeviceSensor_ById(T_sn string, T_id int) (err error) {
 // 修改
 func Update_DeviceSensor(r DeviceSensor, cols ...string) bool {
 	o := orm.NewOrm()
-	if num, err := o.Update(&r, cols...); err == nil {
-		fmt.Println("Number of records updated in database:", num)
-		Redis_DeviceSensor_Set(r)
-		return true
+	num, err := o.Update(&r, cols...)
+	if err != nil {
+		logs.Error("Update_DeviceSensor", err)
+		return false
 	}
+	fmt.Println("Number of records updated in database:", num)
+	Redis_DeviceSensor_Set(r)
+	return true
 
-	return false
 }
 
 // 修改T_Class,替换为""
@@ -308,68 +329,52 @@ func DeviceSensor_Bind_T_Class_Del(T_sn string, T_id int, T_Class_id int) (err e
 	o := orm.NewOrm()
 	v := DeviceSensor{T_sn: T_sn, T_id: T_id}
 	T_Class := "C" + strconv.Itoa(T_Class_id) + "|"
-	if err = o.Read(&v, "T_sn", "T_id"); err == nil {
-		v.T_Class = strings.Replace(v.T_Class, T_Class, "", -1)
-		if _, err := o.Update(&v, "T_Class"); err == nil {
-			Redis_DeviceSensor_Set(v)
-		}
-
+	err = o.Read(&v, "T_sn", "T_id")
+	if err != nil {
+		logs.Error("DeviceSensor_Bind_T_Class_Del", err)
+		return err
+	}
+	v.T_Class = strings.Replace(v.T_Class, T_Class, "", -1)
+	_, err = o.Update(&v, "T_Class")
+	if err != nil {
+		logs.Error("DeviceSensor_Bind_T_Class_Del", err)
+		return err
 	}
-	return err
+	Redis_DeviceSensor_Set(v)
+	return nil
 
 }
 
 // 修改T_Class,追加
-func DeviceSensor_T_Class_Add(T_sn string, T_id int, T_Class_id int) (err error) {
+func DeviceSensor_Bind_T_Class_Add(T_sn string, T_id int, T_Class_id int) (err error) {
 	o := orm.NewOrm()
 	v := DeviceSensor{T_sn: T_sn, T_id: T_id}
 	T_Class := "C" + strconv.Itoa(T_Class_id) + "|"
-	if err = o.Read(&v, "T_sn", "T_id"); err == nil {
-		v.T_Class = strings.Replace(v.T_Class, T_Class, "", -1)
-		v.T_Class = v.T_Class + T_Class
-		if _, err := o.Update(&v, "T_Class"); err == nil {
-			Redis_DeviceSensor_Set(v)
-		}
+	err = o.Read(&v, "T_sn", "T_id")
+	if err != nil {
+		logs.Error("DeviceSensor_Bind_T_Class_Add", err)
+		return err
 	}
-	return err
+	v.T_Class = strings.Replace(v.T_Class, T_Class, "", -1)
+	v.T_Class = v.T_Class + T_Class
+	_, err = o.Update(&v, "T_Class")
+	if err != nil {
+		logs.Error("DeviceSensor_Bind_T_Class_Add", err)
+		return err
+	}
+	Redis_DeviceSensor_Set(v)
+	return nil
 }
 
-// 修改
-func DeviceSensor_T_Class_ALL_Del(T_Class_id int) {
-	o := orm.NewOrm()
-	qs := o.QueryTable(new(DeviceSensor))
-	var r []DeviceSensor
-	T_Class := "C" + strconv.Itoa(T_Class_id) + "|"
-	qs.Filter("T_Class__icontains", T_Class).All(&r)
-	for _, v := range r {
-		v.T_Class = strings.Replace(v.T_Class, T_Class, "", -1)
-		o.Update(&v, "T_Class")
-	}
-}
-
-//
-//// 修改
-//func Update_DeviceSensor_ByTsn_All_T_Bind(T_sn string, T_Bind string) (err error) {
-//	o := orm.NewOrm()
-//	var r_l []DeviceSensor
-//	qs := o.QueryTable(new(DeviceSensor))
-//
-//	qs.Filter("T_sn", T_sn).OrderBy("T_id").All(&r_l)
-//	for _, v := range r_l {
-//		v.T_Bind = T_Bind
-//
-//		o.Update(&v, "T_Bind")
-//	}
-//
-//	return err
-//}
-
 // 获取 ById
 func Read_DeviceSensor_ByTsn_Tid(T_sn string, T_id int) (r DeviceSensor, err error) {
 
 	o := orm.NewOrm()
 	r = DeviceSensor{T_sn: T_sn, T_id: T_id}
 	err = o.Read(&r, "T_sn", "T_id") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
+	if err != nil {
+		logs.Error("Read_DeviceSensor_ByTsn_Tid", err)
+	}
 
 	return r, err
 }
@@ -382,38 +387,18 @@ func Read_DeviceSensor_ByTsn(T_sn string) ([]DeviceSensor, int) {
 
 	qs := o.QueryTable(new(DeviceSensor))
 	var r []DeviceSensor
-	qs.Filter("T_sn", T_sn).OrderBy("T_id").All(&r)
-	cnt, _ := qs.Filter("T_sn", T_sn).Count()
-	//var DeviceSensor_r []DeviceSensor_R
-	//for _, v := range r {
-	//	DeviceSensor_r = append(DeviceSensor_r, DeviceSensorToDeviceSensor_R(v))
-	//}
-	//
-	//return DeviceSensor_r, int(cnt)
-	return r, int(cnt)
-}
-
-// 获取列表
-func Read_DeviceSensor_ALL_T_sn(T_sn string, page int, page_z int) (DeviceSensor_r []DeviceSensor_R, cnt int64) {
-
-	o := orm.NewOrm()
-	// 也可以直接使用 Model 结构体作为表名
-
-	qs := o.QueryTable(new(DeviceSensor))
-	var offset int64
-	if page <= 1 {
-		offset = 0
-	} else {
-		offset = int64((page - 1) * page_z)
+	_, err := qs.Filter("T_sn", T_sn).OrderBy("T_id").All(&r)
+	if err != nil {
+		logs.Error("Read_DeviceSensor_ByTsn", err)
+		return r, 0
 	}
-	var r []DeviceSensor
-	qs.Limit(page_z, offset).Filter("T_sn", T_sn).OrderBy("T_id").All(&r)
-	cnt, _ = qs.Filter("T_sn", T_sn).Count()
-
-	for _, v := range r {
-		DeviceSensor_r = append(DeviceSensor_r, DeviceSensorToDeviceSensor_R(v))
+	cnt, err := qs.Filter("T_sn", T_sn).Count()
+	if err != nil {
+		logs.Error("Read_DeviceSensor_ByTsn Count", err)
+		return r, 0
 	}
-	return DeviceSensor_r, cnt
+
+	return r, int(cnt)
 }
 
 // 获取列表
@@ -444,37 +429,22 @@ func Read_DeviceSensor_List_T_Class(T_pid int, T_Class_id int, T_sn string, T_na
 		cond1 = cond1.AndCond(cond.And("T_type", T_type))
 	}
 
-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r)
-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r)
+	if err != nil {
+		logs.Error("Read_DeviceSensor_List_T_Class", err)
+
+		return
+	}
+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	if err != nil {
+		logs.Error("Read_DeviceSensor_List_T_Class Count", err)
+		return
+	}
 
 	for _, v := range r {
 		DeviceSensor_r = append(DeviceSensor_r, DeviceSensorToDeviceSensor_R(v))
 	}
 	return DeviceSensor_r, cnt
-	//return r, cnt
-}
-
-// 获取列表
-func Read_DeviceSensor_Map_ALL_1(T_pid int, T_Class_id int, T_sn string, T_name string, SN_type string) (r []DeviceSensor) {
-
-	o := orm.NewOrm()
-	// 也可以直接使用 Model 结构体作为表名
-
-	qs := o.QueryTable(new(DeviceSensor))
-	//now := time.Now()
-	//// 一天前
-	//d, _ := time.ParseDuration("-1h")
-	//now = now.Add(d)
-
-	T_Class := ""
-	if T_Class_id != 0 {
-		T_Class = "C" + strconv.Itoa(T_Class_id) + "|"
-	}
-
-	fmt.Println("T_Class:", T_Class)
-	qs.Filter("T_pid", T_pid).Filter("T_Class__icontains", T_Class).Filter("T_sn__icontains", SN_type).Filter("T_sn__icontains", T_sn).Filter("T_name__icontains", T_name).OrderBy("-UpdateTime").All(&r) //.Filter("UpdateTime__gte", now)
-
-	return r
 }
 
 // 获取列表
@@ -485,7 +455,12 @@ func Read_DeviceSensor_ALL_T_sn_T_id_T_Class(T_sn string, T_id int, T_Class_id i
 
 	qs := o.QueryTable(new(DeviceSensor))
 	T_Class := "C" + strconv.Itoa(T_Class_id) + "|"
-	qs.Filter("T_Class__icontains", T_Class).Filter("T_id", T_id).Filter("T_sn", T_sn).All(&r)
+	_, err := qs.Filter("T_Class__icontains", T_Class).Filter("T_id", T_id).Filter("T_sn", T_sn).All(&r)
+
+	if err != nil {
+		logs.Error("Read_DeviceSensor_ALL_T_sn_T_id_T_Class Count", err)
+		return
+	}
 
 	return r
 }
@@ -498,7 +473,11 @@ func Read_DeviceSensor_ALL_List_T_sn(T_sn string) (r []DeviceSensor) {
 
 	qs := o.QueryTable(new(DeviceSensor))
 
-	qs.Filter("T_sn", T_sn).All(&r)
+	_, err := qs.Filter("T_sn", T_sn).All(&r)
+	if err != nil {
+		logs.Error("Read_DeviceSensor_ALL_List_T_sn", err)
+		return
+	}
 
 	return r
 }
@@ -511,7 +490,11 @@ func Read_DeviceSensor_ALL_Class_Id(T_Class_id int) (r []DeviceSensor) {
 
 	qs := o.QueryTable(new(DeviceSensor))
 	T_Class := "C" + strconv.Itoa(T_Class_id) + "|"
-	qs.Filter("T_Class__icontains", T_Class).All(&r)
+	_, err := qs.Filter("T_Class__icontains", T_Class).All(&r)
+	if err != nil {
+		logs.Error("Read_DeviceSensor_ALL_Class_Id", err)
+		return
+	}
 
 	return r
 }
@@ -522,6 +505,7 @@ func DELETE_DeviceSensor(SN string) bool {
 	o := orm.NewOrm()
 	_, err := o.Raw(sql).Exec()
 	if err != nil {
+		logs.Error("DELETE_DeviceSensor", err)
 		return false
 	}
 	return true
@@ -537,7 +521,11 @@ func Read_DeviceSensor_ALL_T_sn_T_id_T_Notice(T_sn string, T_id int, T_Notice_id
 
 	qs := o.QueryTable(new(DeviceSensor))
 	T_Notice := "N" + strconv.Itoa(T_Notice_id) + "|"
-	qs.Filter("T_Notice__icontains", T_Notice).Filter("T_id", T_id).Filter("T_sn", T_sn).All(&r)
+	_, err := qs.Filter("T_Notice__icontains", T_Notice).Filter("T_id", T_id).Filter("T_sn", T_sn).All(&r)
+	if err != nil {
+		logs.Error("Read_DeviceSensor_ALL_T_sn_T_id_T_Notice", err)
+		return
+	}
 
 	return r
 }
@@ -547,13 +535,19 @@ func DeviceSensor_Bind_T_Notice_Del(T_sn string, T_id int, T_Notice_id int) (err
 	o := orm.NewOrm()
 	v := DeviceSensor{T_sn: T_sn, T_id: T_id}
 	T_Notice := "N" + strconv.Itoa(T_Notice_id) + "|"
-	if err = o.Read(&v, "T_sn", "T_id"); err == nil {
-		v.T_Notice = strings.Replace(v.T_Notice, T_Notice, "", -1)
-		if _, err = o.Update(&v, "T_Notice"); err == nil {
-			Redis_DeviceSensor_Set(v)
-		}
+	err = o.Read(&v, "T_sn", "T_id")
+	if err != nil {
+		logs.Error("DeviceSensor_Bind_T_Notice_Del", err)
+		return
 	}
-	return err
+	v.T_Notice = strings.Replace(v.T_Notice, T_Notice, "", -1)
+	_, err = o.Update(&v, "T_Notice")
+	if err != nil {
+		logs.Error("DeviceSensor_Bind_T_Notice_Del", err)
+		return
+	}
+	Redis_DeviceSensor_Set(v)
+	return nil
 
 }
 
@@ -562,14 +556,20 @@ func DeviceSensor_Bind_T_Notice_Add(T_sn string, T_id int, T_Notice_id int) (err
 	o := orm.NewOrm()
 	v := DeviceSensor{T_sn: T_sn, T_id: T_id}
 	T_Notice := "N" + strconv.Itoa(T_Notice_id) + "|"
-	if err = o.Read(&v, "T_sn", "T_id"); err == nil {
-		v.T_Notice = strings.Replace(v.T_Notice, T_Notice, "", -1)
-		v.T_Notice = v.T_Notice + T_Notice
-		if _, err = o.Update(&v, "T_Notice"); err == nil {
-			Redis_DeviceSensor_Set(v)
-		}
+	err = o.Read(&v, "T_sn", "T_id")
+	if err != nil {
+		logs.Error("DeviceSensor_Bind_T_Notice_Add", err)
+		return
+	}
+	v.T_Notice = strings.Replace(v.T_Notice, T_Notice, "", -1)
+	v.T_Notice = v.T_Notice + T_Notice
+	_, err = o.Update(&v, "T_Notice")
+	if err != nil {
+		logs.Error("DeviceSensor_Bind_T_Notice_Add", err)
+		return
 	}
-	return err
+	Redis_DeviceSensor_Set(v)
+	return nil
 }
 
 // 获取列表
@@ -580,7 +580,11 @@ func Read_DeviceSensor_ALL_Notice_Id(T_Notice_id int) (r []DeviceSensor) {
 
 	qs := o.QueryTable(new(DeviceSensor))
 	T_Notice := "N" + strconv.Itoa(T_Notice_id) + "|"
-	qs.Filter("T_Notice__icontains", T_Notice).All(&r)
+	_, err := qs.Filter("T_Notice__icontains", T_Notice).All(&r)
+	if err != nil {
+		logs.Error("Read_DeviceSensor_ALL_Notice_Id", err)
+		return
+	}
 
 	return r
 }
@@ -613,8 +617,17 @@ func Read_DeviceSensor_List_T_Notice(T_pid int, T_Notice_id int, page int, page_
 		cond1 = cond1.AndCond(cond.And("T_type", T_type))
 	}
 
-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r)
-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r)
+	if err != nil {
+		logs.Error("Read_DeviceSensor_List_T_Notice", err)
+		return
+	}
+
+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	if err != nil {
+		logs.Error("Read_DeviceSensor_List_T_Notice Count", err)
+		return
+	}
 
 	for _, v := range r {
 		DeviceSensor_r = append(DeviceSensor_r, DeviceSensorToDeviceSensor_R(v))
@@ -691,6 +704,7 @@ func Read_DeviceSensorManageList(admin_r *Account.Admin, T_pid int, T_name strin
 	fmt.Println(sql)
 	_, err := o.Raw(sql).ValuesList(&maps_z)
 	if err != nil {
+		logs.Error("Read_DeviceSensorManageList", err)
 		return DeviceSensor_p, 0
 	}
 	if len(maps_z) == 0 {
@@ -709,6 +723,10 @@ func Read_DeviceSensorManageList(admin_r *Account.Admin, T_pid int, T_name strin
 
 	fmt.Println(sql)
 	_, err = o.Raw(sql).QueryRows(&maps)
+	if err != nil {
+		logs.Error("Read_DeviceSensorManageList", err)
+		return
+	}
 
 	key, _ := strconv.ParseInt(maps_z[0][0].(string), 10, 64)
 
@@ -753,8 +771,16 @@ func Read_DeviceSensor_List_For_Data(T_pid int, T_sn string, T_name string, T_Cl
 		cond1 = cond1.AndCond(cond.Or("T_name__icontains", T_name).Or("T_sn__icontains", T_name))
 	}
 
-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r)
-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("T_sort", "T_id").All(&r)
+	if err != nil {
+		logs.Error("Read_DeviceSensor_List_For_Data", err)
+		return
+	}
+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	if err != nil {
+		logs.Error("Read_DeviceSensor_List_For_Data Count", err)
+		return
+	}
 
 	// 实时数据页面,温度或者湿度不在正常区间,排在最前面
 	if T_RealTime == 1 {

+ 31 - 34
models/Device/DeviceSensorParameter.go

@@ -2,6 +2,7 @@ package Device
 
 import (
 	"Cold_Api/conf"
+	"Cold_Api/logs"
 	"Cold_Api/models"
 	"encoding/json"
 	"fmt"
@@ -160,38 +161,42 @@ func init() {
 	var err error
 	redisCache_DeviceSensorParameter, err = cache.NewCache("redis", config)
 	if err != nil || redisCache_DeviceSensorParameter == nil {
-		errMsg := "failed to init redis"
+		errMsg := "failed to init redis_DeviceSensorParameter"
 		fmt.Println(errMsg, err)
 	}
 
 }
 
 // ---------------- Redis -------------------
-// Redis_Set(m.T_sn,m) // Redis 更新缓存
+// Redis_Device_Set(m.T_sn,m) // Redis 更新缓存
 func Redis_DeviceSensorParameter_Set(key string, r DeviceSensorParameter_R) (err error) {
 
 	//json序列化
 	str, err := json.Marshal(r)
 	if err != nil {
-		fmt.Print(err)
+		logs.Error("Redis_DeviceSensorParameter_Set", err)
 		return
 	}
 
 	err = redisCache_DeviceSensorParameter.Put(key, str, 8*time.Hour)
 	if err != nil {
-		fmt.Println("set key:", key, ",value:", str, err)
+		logs.Error("set key:", key, ",value:", str, err)
 	}
 	return
 }
 
-// if r,is :=Redis_Get(T_sn);is{
+// if r,is :=Redis_Device_Get(T_sn);is{
 // return r,nil
 // }
 func Redis_DeviceSensorParameter_Get(key string) (r DeviceSensorParameter_R, is bool) {
 	if redisCache_DeviceSensorParameter.IsExist(key) {
 		//println("找到key:",key)
 		v := redisCache_DeviceSensorParameter.Get(key)
-		json.Unmarshal(v.([]byte), &r)
+		err := json.Unmarshal(v.([]byte), &r)
+		if err != nil {
+			logs.Error("Redis_DeviceSensorParameter_Set", err)
+			return r, false
+		}
 		return r, true
 	}
 	//println("没有 找到key:",key)
@@ -210,10 +215,13 @@ func Read_DeviceSensorParameter(T_sn string, T_id int) (t DeviceSensorParameter_
 	qs := o.QueryTable(new(DeviceSensorParameter))
 	var r []DeviceSensorParameter
 	cond := orm.NewCondition()
-	//cond = cond.And("T_sn", T_sn).And("T_id", T_id).AndCond(cond.And("T_State", 1).OrCond(cond.And("T_State", 2).And("T_SendState", 1)))
 	cond = cond.And("T_sn", T_sn).And("T_id", T_id).And("T_State", 1)
 
-	qs.Limit(1, 0).SetCond((*orm2.Condition)(cond)).OrderBy("-UpdateTime").All(&r)
+	_, err := qs.Limit(1, 0).SetCond((*orm2.Condition)(cond)).OrderBy("-UpdateTime").All(&r)
+	if err != nil {
+		logs.Error("Redis_DeviceSensorParameter_Set", err)
+		return t, false
+	}
 	// 判断是否有数据
 	if len(r) == 0 {
 		return t, false
@@ -232,7 +240,10 @@ func Read_DeviceSensorParameter_T_sn_T_id(T_sn string, T_id int) (r []DeviceSens
 	cond := orm.NewCondition()
 	cond = cond.And("T_sn", T_sn).And("T_id", T_id).And("T_State", 1)
 
-	qs.Limit(1, 0).SetCond((*orm2.Condition)(cond)).All(&r)
+	_, err := qs.Limit(1, 0).SetCond((*orm2.Condition)(cond)).All(&r)
+	if err != nil {
+		logs.Error("Read_DeviceSensorParameter_T_sn_T_id", err)
+	}
 
 	return r
 }
@@ -258,7 +269,11 @@ func Read_DeviceSensorParameter_List(T_sn string, T_id int, T_State int, page, p
 		cond = cond.And("T_State", T_State)
 	}
 	var maps []DeviceSensorParameter
-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond)).OrderBy("-Id").All(&maps)
+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond)).OrderBy("-Id").All(&maps)
+	if err != nil {
+		logs.Error("Read_DeviceSensorParameter_List", err)
+		return r
+	}
 
 	for _, v := range maps {
 		r = append(r, DeviceSensorParameterToDeviceSensorParameter_T(v))
@@ -272,34 +287,13 @@ func Add_DeviceSensorParameter(m DeviceSensorParameter) (DeviceSensorParameter,
 	o := orm.NewOrm()
 	id, err := o.Insert(&m)
 	if err != nil {
-		fmt.Println(err)
+		logs.Error("Add_DeviceSensorParameter", err)
 		return m, false
 	}
 	m.Id = int(id)
 	return m, true
 }
 
-// 修改
-func Update_DeviceSensorParameter(r DeviceSensorParameter, cols ...string) bool {
-	o := orm.NewOrm()
-	if num, err := o.Update(&r, cols...); err == nil {
-		fmt.Println("Number of records updated in database:", num)
-		return true
-	}
-	return false
-}
-
-func DELETE_DeviceSensorParameter(SN string) bool {
-
-	sql := "DELETE FROM `cold`.`device_sensor_parameter` WHERE `t_sn` = '" + SN + "' "
-	o := orm.NewOrm()
-	_, err := o.Raw(sql).Exec()
-	if err != nil {
-		return false
-	}
-	return true
-}
-
 // 获取列表  T_State  1 系统获取   2 用户提交
 func Read_DeviceSensorParameter_All_Map(T_sn string, T_id int) {
 	o := orm.NewOrm()
@@ -308,7 +302,6 @@ func Read_DeviceSensorParameter_All_Map(T_sn string, T_id int) {
 	qs := o.QueryTable(new(DeviceSensorParameter))
 	cond := orm.NewCondition()
 
-	//cond = cond.And("T_sn", T_sn).And("T_id", T_id).AndCond(cond.And("T_State", 1).OrCond(cond.And("T_State", 2).And("T_SendState", 1)))
 	cond = cond.And("T_State", 1)
 	if len(T_sn) > 0 {
 		cond = cond.And("T_sn", T_sn)
@@ -317,7 +310,11 @@ func Read_DeviceSensorParameter_All_Map(T_sn string, T_id int) {
 		cond = cond.And("T_id", T_id)
 	}
 
-	qs.SetCond((*orm2.Condition)(cond)).OrderBy("-Id").All(&list)
+	_, err := qs.SetCond((*orm2.Condition)(cond)).OrderBy("-Id").All(&list)
+	if err != nil {
+		logs.Error("Read_DeviceSensorParameter_All_Map", err)
+		return
+	}
 
 	for _, v := range list {
 		DeviceSensorParameter_list.Store(v.Id, DeviceSensorParameterToDeviceSensorParameter_M(v))

+ 6 - 1
models/Device/DeviceSensorType.go

@@ -1,6 +1,7 @@
 package Device
 
 import (
+	"Cold_Api/logs"
 	"github.com/beego/beego/v2/adapter/orm"
 	_ "github.com/go-sql-driver/mysql"
 )
@@ -30,7 +31,11 @@ func Read_DeviceSensorType_List_All() (r []DeviceSensorType) {
 	o := orm.NewOrm()
 	// 也可以直接使用 Model 结构体作为表名
 	qs := o.QueryTable(new(DeviceSensorType))
-	qs.Filter("T_State", 1).All(&r)
+	_, err := qs.Filter("T_State", 1).All(&r)
+	if err != nil {
+		logs.Error("Read_DeviceSensorType_List_All", err)
+		return
+	}
 
 	return r
 }

+ 17 - 3
models/Device/DeviceTask.go

@@ -1,6 +1,7 @@
 package Device
 
 import (
+	"Cold_Api/logs"
 	"github.com/beego/beego/v2/adapter/orm"
 	orm2 "github.com/beego/beego/v2/client/orm"
 	_ "github.com/go-sql-driver/mysql"
@@ -35,7 +36,12 @@ func Read_DeviceTask_All_Limit_1(T_sn string) (DeviceTask, bool) {
 	o := orm.NewOrm()
 	qs := o.QueryTable(new(DeviceTask))
 	var r_l []DeviceTask
-	qs.Limit(1, 0).Filter("T_sn", T_sn).OrderBy("-ID").All(&r_l)
+	_, err := qs.Limit(1, 0).Filter("T_sn", T_sn).OrderBy("-ID").All(&r_l)
+	if err != nil {
+		logs.Error("Read_DeviceTask_All_Limit_1", err)
+		return DeviceTask{}, false
+	}
+
 	if len(r_l) > 0 {
 		return r_l[0], true
 	}
@@ -62,8 +68,16 @@ func Read_DeviceTask_List(T_sn string, Time_start string, Time_end string, page
 		cond1 = cond1.And("T_Ut_end__lte", Time_end)
 	}
 
-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&r_l)
-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&r_l)
+	if err != nil {
+		logs.Error("Read_DeviceTask_List", err)
+		return
+	}
+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	if err != nil {
+		logs.Error("Read_DeviceTask_List", err)
+		return
+	}
 
 	return
 }

+ 5 - 2
models/Product/ProductType.go

@@ -62,7 +62,7 @@ func Read_ProductType_All() (r []ProductType) {
 
 // 获取全部
 func Read_ProductType_All_Map() {
-	time.Sleep(time.Second)
+	time.Sleep(time.Second * 3)
 
 	logs.Println("=========== 初始化产品类型 =========")
 
@@ -70,7 +70,10 @@ func Read_ProductType_All_Map() {
 	for true {
 		var r []ProductType
 		qs := o.QueryTable(new(ProductType))
-		qs.All(&r)
+		_, err := qs.All(&r)
+		if err != nil {
+			logs.Error("Read_ProductType_All_Map", err)
+		}
 
 		for _, v := range r {
 			ProductType_list.Store(v.T_model, v.T_name)

+ 29 - 22
models/Product/ProductUpgrade.go

@@ -2,6 +2,7 @@ package Product
 
 import (
 	"Cold_Api/conf"
+	"Cold_Api/logs"
 	"encoding/json"
 	"fmt"
 	"github.com/astaxie/beego/cache"
@@ -71,14 +72,13 @@ func Redis_ProductUpgrade_Set(r ProductUpgrade) (err error) {
 	//json序列化
 	str, err := json.Marshal(r)
 	if err != nil {
-		fmt.Print(err)
+		logs.Error("Redis_ProductUpgrade_Set", err)
 		return
 	}
 
 	err = redisCache_ProductUpgrade.Put(key, str, 2*time.Hour)
 	if err != nil {
-		fmt.Println("set key:", key, ",value:", str, err)
-		fmt.Println("set key:", key, ",value:", str, err)
+		logs.Error("set key:", key, ",value:", str, err)
 	}
 	return
 }
@@ -92,7 +92,11 @@ func Redis_ProductUpgrade_Get(key string) (ProductUpgrade, bool) {
 		//println("找到key:",key)
 		v := redisCache_ProductUpgrade.Get(key)
 		var r ProductUpgrade
-		json.Unmarshal(v.([]byte), &r)
+		err := json.Unmarshal(v.([]byte), &r)
+		if err != nil {
+			logs.Error("json Unmarshal err", err)
+			return ProductUpgrade{}, false
+		}
 
 		return r, true
 	}
@@ -101,6 +105,9 @@ func Redis_ProductUpgrade_Get(key string) (ProductUpgrade, bool) {
 }
 func Redis_ProductUpgrade_DelK(key string) (err error) {
 	err = redisCache_ProductUpgrade.Delete(key)
+	if err != nil {
+		logs.Error("Redis_ProductUpgrade_DelK", err)
+	}
 	return
 }
 
@@ -126,7 +133,7 @@ func Read_ProductUpgrade_ById(id int) (r ProductUpgrade, err error) {
 	r = ProductUpgrade{Id: id}
 	err = o.Read(&r)
 	if err != nil {
-		fmt.Println(err)
+		logs.Error("Read_ProductUpgrade_ById", err)
 		return r, err
 	}
 	//Redis_ProductUpgrade_Set(r)
@@ -138,31 +145,23 @@ func Add_ProductUpgrade(m ProductUpgrade) (id int64, err error) {
 	o := orm.NewOrm()
 	id, err = o.Insert(&m)
 	if err != nil {
-		fmt.Println(err)
+		logs.Error("Add_ProductUpgrade", err)
+		return
 	}
 	//Redis_ProductUpgrade_Set(m)
 	return
 }
 
-// 修改
-func Update_ProductUpgrade(r ProductUpgrade, cols ...string) bool {
-	o := orm.NewOrm()
-	if num, err := o.Update(&r, cols...); err == nil {
-		fmt.Println("Number of records updated in database:", num)
-		//Redis_ProductUpgrade_Set(r)
-		return true
-	}
-	return false
-}
-
 // 删除
 func Delete_ProductUpgrade_ById(id int) bool {
 	o := orm.NewOrm()
 	v := ProductUpgrade{Id: id}
-	if _, err := o.Delete(&v); err == nil {
-		return true
+	_, err := o.Delete(&v)
+	if err != nil {
+		logs.Error("Delete_ProductUpgrade_ById", err)
+		return false
 	}
-	return false
+	return true
 }
 
 // 获取列表
@@ -188,8 +187,16 @@ func Read_ProductUpgrade_List(T_model string, page int, page_z int) (r []Product
 		cond = cond.And("T_model", T_model)
 	}
 
-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond)).OrderBy("-Id").All(&map_r)
-	cnt, _ = qs.SetCond((*orm2.Condition)(cond)).Count()
+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond)).OrderBy("-Id").All(&map_r)
+	if err != nil {
+		logs.Error("Read_ProductUpgrade_List", err)
+		return
+	}
+	cnt, err = qs.SetCond((*orm2.Condition)(cond)).Count()
+	if err != nil {
+		logs.Error("Read_ProductUpgrade_List Count", err)
+		return
+	}
 
 	for _, v := range map_r {
 		r = append(r, ProductUpgradeToProductUpgrade_R(v))

+ 24 - 11
models/RawSql/RawSql.go

@@ -3,6 +3,7 @@ package RawSql
 import (
 	"Cold_Api/conf"
 	"Cold_Api/controllers/lib"
+	"Cold_Api/logs"
 	"fmt"
 	"github.com/beego/beego/v2/adapter/orm"
 	_ "github.com/go-sql-driver/mysql"
@@ -48,7 +49,7 @@ func Read_RawSql_ById(id int) (r RawSql) {
 	r = RawSql{Id: id}
 	err := o.Read(&r) // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
 	if err != nil {
-		fmt.Println(err)
+		logs.Error("Read_RawSql_ById", err)
 	}
 	return r
 }
@@ -59,7 +60,7 @@ func Read_RawSql_ByT_id(T_id string) (r RawSql) {
 	r = RawSql{T_id: T_id}
 	err := o.Read(&r, "T_id") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
 	if err != nil {
-		fmt.Println(err)
+		logs.Error("Read_RawSql_ByT_id", err)
 	}
 	return r
 }
@@ -82,7 +83,7 @@ func Add_RawSql(m RawSql) (id int64, err error) {
 	m.T_id = T_id
 	id, err = o.Insert(&m)
 	if err != nil {
-		fmt.Println(err)
+		logs.Error("Add_RawSql", err)
 	}
 	return id, err
 }
@@ -90,19 +91,23 @@ func Add_RawSql(m RawSql) (id int64, err error) {
 // 修改
 func Update_TRawSql(r RawSql, cols ...string) bool {
 	o := orm.NewOrm()
-	if num, err := o.Update(&r, cols...); err == nil {
-		fmt.Println("Number of records updated in database:", num)
-		return true
+	num, err := o.Update(&r, cols...)
+	if err != nil {
+		logs.Error("Update_TRawSql", err)
+		return false
 	}
-	return false
+	fmt.Println("Number of records updated in database:", num)
+	return true
 }
 
 // 删除
 func Delete_RawSql(m RawSql) (err error) {
 	o := orm.NewOrm()
-	if num, err := o.Delete(&m); err == nil {
-		fmt.Println("Number of records deleted in database:", num)
+	num, err := o.Delete(&m)
+	if err != nil {
+		logs.Error("Delete_RawSql", err)
 	}
+	fmt.Println("Number of records deleted in database:", num)
 	return
 }
 
@@ -122,8 +127,16 @@ func Read_RawSql_List(page int, page_z int) (t []RawSql, cnt int64) {
 		offset = int64((page - 1) * page_z)
 	}
 
-	qs.Limit(page_z, offset).OrderBy("Id").All(&t)
-	cnt, _ = qs.Count()
+	_, err := qs.Limit(page_z, offset).OrderBy("Id").All(&t)
+	if err != nil {
+		logs.Error("Read_RawSql_List", err)
+		return
+	}
+	cnt, err = qs.Count()
+	if err != nil {
+		logs.Error("Read_RawSql_List Count", err)
+		return
+	}
 
 	return t, cnt
 }

+ 19 - 8
models/RawSql/SqlLogs.go

@@ -2,7 +2,7 @@ package RawSql
 
 import (
 	"Cold_Api/conf"
-	"fmt"
+	"Cold_Api/logs"
 	"github.com/beego/beego/v2/adapter/orm"
 	orm2 "github.com/beego/beego/v2/client/orm"
 	"time"
@@ -32,7 +32,10 @@ func init() {
 func Add_SqlLogs(Logs_uuid string, Logs_class string, Logs_Txt string) {
 	o := orm.NewOrm()
 	m := SqlLogs{Logs_uuid: Logs_uuid, Logs_class: Logs_class, Logs_Txt: Logs_Txt}
-	o.Insert(&m)
+	_, err := o.Insert(&m)
+	if err != nil {
+		logs.Error("Add_SqlLogs", err)
+	}
 }
 
 // 获取列表
@@ -49,8 +52,16 @@ func Read_SqlLogs_ALL(page int, Logs_class string) (r []SqlLogs, cnt int64) {
 		offset = int64((page - 1) * conf.Page_size)
 	}
 
-	qs.Limit(conf.Page_size, offset).Filter("Logs_class__icontains", Logs_class).OrderBy("-Id").All(&r)
-	cnt, _ = qs.Filter("Logs_class__icontains", Logs_class).Count()
+	_, err := qs.Limit(conf.Page_size, offset).Filter("Logs_class__icontains", Logs_class).OrderBy("-Id").All(&r)
+	if err != nil {
+		logs.Error("Read_SqlLogs_ALL", err)
+		return
+	}
+	cnt, err = qs.Filter("Logs_class__icontains", Logs_class).Count()
+	if err != nil {
+		logs.Error("Read_SqlLogs_ALL Count", err)
+		return
+	}
 
 	return r, cnt
 }
@@ -59,11 +70,11 @@ func Read_SqlLogs_ALL(page int, Logs_class string) (r []SqlLogs, cnt int64) {
 func Read_SqlLogs_Class() (lists orm2.ParamsList) {
 	o := orm.NewOrm()
 	var pl_lists orm2.ParamsList
-	num, err := o.Raw("SELECT DISTINCT logs_class FROM SqlLogs LIMIT 0,1000").ValuesFlat(&pl_lists)
-	if err == nil {
-		fmt.Println("user nums: ", num)
+	_, err := o.Raw("SELECT DISTINCT logs_class FROM SqlLogs LIMIT 0,1000").ValuesFlat(&pl_lists)
+	if err != nil {
+		logs.Error("Read_SqlLogs_Class", err)
+		return
 	}
-	fmt.Println(len(pl_lists))
 
 	return pl_lists
 }

+ 23 - 10
models/System/Logs.go

@@ -1,8 +1,8 @@
 package System
 
 import (
+	"Cold_Api/logs"
 	"encoding/json"
-	"fmt"
 	"github.com/beego/beego/v2/adapter/orm"
 	orm2 "github.com/beego/beego/v2/client/orm"
 	"time"
@@ -32,17 +32,23 @@ func init() {
 func Add_Logs(Logs_class string, Logs_Title string, Logs_Txt string) {
 	o := orm.NewOrm()
 	m := Logs{Logs_class: Logs_class, Logs_Title: Logs_Title, Logs_Txt: Logs_Txt}
-	o.Insert(&m)
+	_, err := o.Insert(&m)
+	if err != nil {
+		logs.Error("Add_Logs", err)
+	}
 }
 
 func Add_Logs_T(Logs_class string, Logs_Title string, Logs_Txt_T interface{}) {
 	o := orm.NewOrm()
 	jsonStu, err := json.Marshal(Logs_Txt_T)
 	if err != nil {
-		fmt.Println("Add_UserLogs_T JSON ,err=", err)
+		logs.Error("Add_UserLogs_T JSON ,err=", err)
 	}
 	m := Logs{Logs_class: Logs_class, Logs_Title: Logs_Title, Logs_Txt: string(jsonStu)}
-	o.Insert(&m)
+	_, err = o.Insert(&m)
+	if err != nil {
+		logs.Error("Add_Logs_T", err)
+	}
 }
 
 // 获取列表
@@ -64,8 +70,16 @@ func Read_Logs_ALL(Logs_class string, page int, page_z int) (r []Logs, cnt int64
 		cond1 = cond1.And("Logs_class", Logs_class)
 	}
 
-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("Id").All(&r)
-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("Id").All(&r)
+	if err != nil {
+		logs.Error("Read_Logs_ALL", err)
+		return
+	}
+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	if err != nil {
+		logs.Error("Read_Logs_ALL Count", err)
+		return
+	}
 
 	return r, cnt
 }
@@ -78,11 +92,10 @@ type CLASS_lists struct {
 func Read_Logs_Class() (lists orm2.ParamsList) {
 	o := orm.NewOrm()
 	var pl_lists orm2.ParamsList
-	num, err := o.Raw("SELECT DISTINCT logs_class FROM Logs LIMIT 0,1000").ValuesFlat(&pl_lists)
-	if err == nil {
-		fmt.Println("user nums: ", num)
+	_, err := o.Raw("SELECT DISTINCT logs_class FROM Logs LIMIT 0,1000").ValuesFlat(&pl_lists)
+	if err != nil {
+		logs.Error("Read_Logs_Class", err)
 	}
-	fmt.Println(len(pl_lists))
 
 	return pl_lists
 }

+ 22 - 8
models/System/UserLogs.go

@@ -1,6 +1,7 @@
 package System
 
 import (
+	"Cold_Api/logs"
 	"encoding/json"
 	"fmt"
 	"github.com/beego/beego/v2/adapter/orm"
@@ -33,7 +34,11 @@ func init() {
 func Add_UserLogs(Logs_uuid string, Logs_class string, Logs_Title string, Logs_Txt string) {
 	o := orm.NewOrm()
 	m := UserLogs{Logs_uuid: Logs_uuid, Logs_class: Logs_class, Logs_Title: Logs_Title, Logs_Txt: Logs_Txt}
-	o.Insert(&m)
+	_, err := o.Insert(&m)
+	if err != nil {
+		logs.Error("Add_UserLogs", err)
+	}
+
 }
 func Add_UserLogs_T(Logs_uuid string, Logs_class string, Logs_Title string, Logs_Txt_T interface{}) {
 	o := orm.NewOrm()
@@ -42,7 +47,10 @@ func Add_UserLogs_T(Logs_uuid string, Logs_class string, Logs_Title string, Logs
 		fmt.Println("Add_UserLogs_T JSON ,err=", err)
 	}
 	m := UserLogs{Logs_uuid: Logs_uuid, Logs_class: Logs_class, Logs_Title: Logs_Title, Logs_Txt: string(jsonStu)}
-	o.Insert(&m)
+	_, err = o.Insert(&m)
+	if err != nil {
+		logs.Error("Add_UserLogs_T", err)
+	}
 }
 
 // 获取列表
@@ -65,8 +73,14 @@ func Read_UserLogs_ALL(Logs_uuid string, Logs_class string, page int, page_z int
 		cond1 = cond1.And("Logs_class", Logs_class)
 	}
 
-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&r)
-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&r)
+	if err != nil {
+		logs.Error("Read_UserLogs_ALL", err)
+	}
+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	if err != nil {
+		logs.Error("Read_UserLogs_ALL Count", err)
+	}
 
 	return r, cnt
 }
@@ -75,11 +89,11 @@ func Read_UserLogs_ALL(Logs_uuid string, Logs_class string, page int, page_z int
 func Read_UserLogs_Class() (lists orm2.ParamsList) {
 	o := orm.NewOrm()
 	var pl_lists orm2.ParamsList
-	num, err := o.Raw("SELECT DISTINCT logs_class FROM user_logs LIMIT 0,1000").ValuesFlat(&pl_lists)
-	if err == nil {
-		fmt.Println("user nums: ", num)
+	_, err := o.Raw("SELECT DISTINCT logs_class FROM user_logs LIMIT 0,1000").ValuesFlat(&pl_lists)
+	if err != nil {
+		logs.Error("Read_UserLogs_Class", err)
+		return
 	}
-	fmt.Println(len(pl_lists))
 
 	return pl_lists
 }

+ 64 - 147
models/Warning/Warning.go

@@ -3,6 +3,7 @@ package Warning
 import (
 	"Cold_Api/conf"
 	"Cold_Api/controllers/lib"
+	"Cold_Api/logs"
 	"Cold_Api/models"
 	"fmt"
 	"github.com/beego/beego/v2/adapter/orm"
@@ -101,7 +102,7 @@ func Read_Warning_ById(id int) (r Warning) {
 	r = Warning{Id: id}
 	err := o.Read(&r) // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
 	if err != nil {
-		fmt.Println(err)
+		logs.Error("Read_Warning_ById", err)
 	}
 	return r
 }
@@ -111,119 +112,26 @@ func Add_Warning(m Warning) (id int64, err error) {
 	o := orm.NewOrm()
 
 	id, err = o.Insert(&m)
+	if err != nil {
+		logs.Error("Read_Warning_ById", err)
+	}
 	return id, err
 }
 
 // 修改
 func Update_Warning(r Warning, cols ...string) bool {
 	o := orm.NewOrm()
-	if num, err := o.Update(&r, cols...); err == nil {
-		fmt.Println("Number of records updated in database:", num)
-		return true
+	num, err := o.Update(&r, cols...)
+	if err != nil {
+		logs.Error("Update_Warning", err)
+		return false
 	}
-	return false
-}
-
-// 修改
-func Update_Warning_ById(m Warning) (err error) {
-	o := orm.NewOrm()
-	v := Warning{Id: m.Id}
-	// ascertain id exists in the database
-	if err = o.Read(&v); err == nil {
-		var num int64
-		m.T_State = 2
-		if num, err = o.Update(&m, "T_Text"); err == nil {
-			fmt.Println("Number of records updated in database:", num)
-		}
-	}
-	return
-}
-
-// 修改
-func Update_Warning_Delete(m Warning) (err error) {
-	o := orm.NewOrm()
-	v := Warning{Id: m.Id}
-	// ascertain id exists in the database
-	if err = o.Read(&v); err == nil {
-		v.T_State = 0
-		if num, err := o.Update(&v, "T_State"); err == nil {
-			fmt.Println("Number of records updated in database:", num)
-		}
-	}
-	return
+	fmt.Println("Number of records updated in database:", num)
+	return true
 }
 
 // 获取列表
-func Read_Warning_1(T_pid int, page int, T_sn string, T_Name string, Time_start_ string, Time_end_ string) (r []Warning, cnt int64) {
-
-	o := orm.NewOrm()
-	// 也可以直接使用 Model 结构体作为表名
-
-	qs := o.QueryTable(new(Warning))
-	var offset int64
-	var page_z int64
-	page_z = int64(conf.Page_size)
-	if page <= 1 {
-		offset = 0
-	} else {
-		offset = int64((page - 1)) * page_z
-	}
-	if page == 9999 {
-		page_z = 9999
-		offset = 0
-	}
-
-	cond := orm.NewCondition()
-
-	cond1 := cond.And("T_State__gt", 0)
-
-	if T_pid > 0 {
-		cond1 = cond.AndCond(cond1).And("T_pid", T_pid)
-	}
-	if len(T_Name) > 1 {
-		cond1 = cond.AndCond(cond1).AndCond(cond.Or("T_Name__icontains", T_Name).Or("T_Title__icontains", T_Name).Or("T_Addr__icontains", T_Name).Or("T_sn__icontains", T_Name))
-	}
-
-	if len(T_sn) > 1 {
-		cond1 = cond.AndCond(cond1).And("T_sn__icontains", T_sn)
-	}
-
-	if len(Time_start_) > 1 {
-		cond1 = cond.AndCond(cond1).And("T_Ut__gte", Time_start_)
-	}
-	if len(Time_end_) > 1 {
-		cond1 = cond.AndCond(cond1).And("T_Ut__lte", Time_end_)
-	}
-
-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-T_Ut").All(&r)
-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
-	return r, cnt
-
-	//if len(Time_start_) > 1 && len(Time_end_) > 1 {
-	//	fmt.Println(Time_start_, Time_end_)
-	//	qs.Limit(page_z, offset).Filter("T_Bind__icontains", T_Bind).Filter("T_Ut__lte", Time_end_).Filter("T_Ut__gte", Time_start_).Filter("T_Name__icontains", T_Name).Filter("T_Addr__icontains", T_Name).Filter("T_sn__icontains", T_Name).Filter("T_Title__icontains", T_Name).OrderBy("-Id").All(&r)
-	//	cnt, _ = qs.Filter("T_Bind__icontains", T_Bind).Filter("T_Ut__lte", Time_end_).Filter("T_Ut__gte", Time_start_).Filter("T_Name__icontains", T_Name).Filter("T_Addr__icontains", T_Name).Filter("T_sn__icontains", T_Name).Filter("T_Title__icontains", T_Name).Count()
-	//	return r, cnt
-	//}
-	//
-	//if len(Time_start_) > 1 {
-	//	qs.Limit(page_z, offset).Filter("T_Bind__icontains", T_Bind).Filter("T_Ut__gte", Time_start_).Filter("T_Name__icontains", T_Name).Filter("T_Addr__icontains", T_Name).Filter("T_sn__icontains", T_Name).Filter("T_Title__icontains", T_Name).OrderBy("-Id").All(&r)
-	//	cnt, _ = qs.Filter("T_Bind__icontains", T_Bind).Filter("T_Ut__gte", Time_start_).Filter("T_Name__icontains", T_Name).Filter("T_Addr__icontains", T_Name).Filter("T_sn__icontains", T_Name).Filter("T_Title__icontains", T_Name).Count()
-	//	return r, cnt
-	//} else if len(Time_end_) > 1 {
-	//	qs.Limit(page_z, offset).Filter("T_Bind__icontains", T_Bind).Filter("T_Ut__lte", Time_end_).Filter("T_Name__icontains", T_Name).Filter("T_Addr__icontains", T_Name).Filter("T_sn__icontains", T_Name).Filter("T_Title__icontains", T_Name).OrderBy("-Id").All(&r)
-	//	cnt, _ = qs.Filter("T_Bind__icontains", T_Bind).Filter("T_Ut__lte", Time_end_).Filter("T_Name__icontains", T_Name).Filter("T_Addr__icontains", T_Name).Filter("T_sn__icontains", T_Name).Filter("T_Title__icontains", T_Name).Count()
-	//	return r, cnt
-	//}
-	//
-	//qs.Limit(page_z, offset).Filter("T_Bind__icontains", T_Bind).Filter("T_Name__icontains", T_Name).Filter("T_Addr__icontains", T_Name).Filter("T_sn__icontains", T_Name).Filter("T_Title__icontains", T_Name).OrderBy("-Id").All(&r)
-	//cnt, _ = qs.Filter("T_Bind__icontains", T_Bind).Filter("T_Name__icontains", T_Name).Filter("T_Addr__icontains", T_Name).Filter("T_sn__icontains", T_Name).Filter("T_Title__icontains", T_Name).Count()
-	//
-	//return r, cnt
-}
-
-// 获取列表
-func Read_Warning(T_pid int, T_tp, T_name string, T_handle int, Time_start_ string, Time_end_ string, page int, page_z int) (r []Warning_R, cnt int64) {
+func Read_Warning_List(T_pid int, T_tp, T_name string, T_handle int, Time_start_ string, Time_end_ string, page int, page_z int) (r []Warning_R, cnt int64) {
 	o := orm.NewOrm()
 	// 也可以直接使用 Model 结构体作为表名
 	var map_r []Warning
@@ -266,8 +174,16 @@ func Read_Warning(T_pid int, T_tp, T_name string, T_handle int, Time_start_ stri
 		cond1 = cond1.And("T_State", 3)
 	}
 
-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-T_Ut").All(&map_r)
-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-T_Ut").All(&map_r)
+	if err != nil {
+		logs.Error("Read_Warning_List", err)
+		return
+	}
+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	if err != nil {
+		logs.Error("Read_Warning_List Count", err)
+		return
+	}
 
 	for _, v := range map_r {
 		r = append(r, WarningToWarning_R(v))
@@ -278,7 +194,7 @@ func Read_Warning(T_pid int, T_tp, T_name string, T_handle int, Time_start_ stri
 }
 
 // 管理员报警列表
-func Read_Admin_Warning(T_pids, T_tp, T_name string, T_handle int, Time_start_ string, Time_end_ string, page int, page_z int) (r []Warning_R, cnt int64) {
+func Read_Admin_Warning_List(T_pids, T_tp, T_name string, T_handle int, Time_start_ string, Time_end_ string, page int, page_z int) (r []Warning_R, cnt int64) {
 
 	if len(T_pids) == 0 {
 		return r, cnt
@@ -329,8 +245,15 @@ func Read_Admin_Warning(T_pids, T_tp, T_name string, T_handle int, Time_start_ s
 		cond1 = cond1.And("T_State", 3)
 	}
 
-	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-T_Ut").All(&map_r)
-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	_, err := qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-T_Ut").All(&map_r)
+	if err != nil {
+		logs.Error("Read_Admin_Warning_List", err)
+	}
+	cnt, err = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	if err != nil {
+		logs.Error("Read_Admin_Warning_List Count", err)
+		return
+	}
 
 	for _, v := range map_r {
 		r = append(r, WarningToWarning_R(v))
@@ -403,6 +326,7 @@ func Read_Warning_Backups(T_pid int, T_year string, T_month string, T_tp, T_name
 	fmt.Println(sql)
 	_, err := o.Raw(sql).ValuesList(&maps_z)
 	if err != nil {
+		logs.Error("Read_Warning_Backups", err)
 		return r, 0
 	}
 	if len(maps_z) == 0 {
@@ -417,9 +341,11 @@ func Read_Warning_Backups(T_pid int, T_year string, T_month string, T_tp, T_name
 
 	fmt.Println(sql)
 	_, err = o.Raw(sql).QueryRows(&maps)
+	if err != nil {
+		logs.Error("Read_Warning_Backups", err)
+		return
+	}
 
-	//value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", cnt), 64)
-	//key, _ := strconv.Atoi(maps_z[0][0].(string))
 	key, _ := strconv.ParseInt(maps_z[0][0].(string), 10, 64)
 
 	for _, v := range maps {
@@ -498,6 +424,7 @@ func Read_Admin_Warning_Backups(T_pids string, T_year string, T_month string, T_
 	fmt.Println(sql)
 	_, err := o.Raw(sql).ValuesList(&maps_z)
 	if err != nil {
+		logs.Error("Read_Admin_Warning_Backups", err)
 		return r, 0
 	}
 	if len(maps_z) == 0 {
@@ -512,9 +439,11 @@ func Read_Admin_Warning_Backups(T_pids string, T_year string, T_month string, T_
 
 	fmt.Println(sql)
 	_, err = o.Raw(sql).QueryRows(&maps)
+	if err != nil {
+		logs.Error("Read_Admin_Warning_Backups", err)
+		return
+	}
 
-	//value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", cnt), 64)
-	//key, _ := strconv.Atoi(maps_z[0][0].(string))
 	key, _ := strconv.ParseInt(maps_z[0][0].(string), 10, 64)
 
 	for _, v := range maps {
@@ -525,40 +454,16 @@ func Read_Admin_Warning_Backups(T_pids string, T_year string, T_month string, T_
 
 }
 
-func Read_Warning_ALL_T_Bind_TIME_1d_Count(T_pid int, T_sn string) int {
-	o := orm.NewOrm()
-	var maps_z []orm2.ParamsList
-
-	now := time.Now()
-	// 一天前
-	//d, _ := time.ParseDuration("-24h")
-	//now = now.Add(d)
-
-	timeStr := now.Format("2006-01-02") + " 00:00:00"
-	timeStr1 := now.Format("2006-01-02") + " 23:59:59"
-
-	sql := "SELECT * FROM warning WHERE t__title NOT LIKE '%恢复%' AND t__title NOT LIKE '%任务%' AND t__ut > '" + timeStr + "' AND t__ut < '" + timeStr1 + "' AND t_pid = '" + strconv.Itoa(T_pid) + "%' AND t_sn  LIKE '%" + T_sn + "%' group by t_sn"
-	fmt.Println(sql)
-	_, err := o.Raw(sql).ValuesList(&maps_z)
-	if err != nil {
-		return 0
-	}
-	if len(maps_z) == 0 {
-		return 0
-	}
-
-	//value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", cnt), 64)
-
-	return len(maps_z)
-}
-
-func Read_Warning_ALL_T_State_Count(T_pid, T_handle int, T_Warning string) (cnt int64) {
+func Read_Warning_ALL_T_State_Count(T_pid, T_handle int, T_Warning string, Is_Today bool) (cnt int64) {
 	o := orm.NewOrm()
 	qs := o.QueryTable(new(Warning))
 	cond := orm.NewCondition()
+	cond1 := cond.And("T_State__gt", 0).And("T_pid", T_pid)
 
-	today := time.Now().Format("2006-01-02") + " 00:00:00"
-	cond1 := cond.And("T_State__gt", 0).And("CreateTime__gte", today).And("T_pid", T_pid)
+	if Is_Today {
+		today := time.Now().Format("2006-01-02") + " 00:00:00"
+		cond1 = cond.And("CreateTime__gte", today)
+	}
 
 	if T_Warning != "*" {
 		list := models.SplitStringIds(T_Warning, "W")
@@ -573,7 +478,11 @@ func Read_Warning_ALL_T_State_Count(T_pid, T_handle int, T_Warning string) (cnt
 	if T_handle == 3 {
 		cond1 = cond1.And("T_State", 3)
 	}
-	cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
+	cnt, err := qs.SetCond((*orm2.Condition)(cond1)).Count()
+	if err != nil {
+		logs.Error("Read_Warning_ALL_T_State_Count", err)
+	}
+
 	return cnt
 }
 
@@ -594,7 +503,7 @@ func WarningToDeviceLogs(t Warning) (r DeviceLogs) {
 }
 
 // 获取列表
-func Read_DeviceLogs_ALL(T_sn string, page, page_z int) (r []DeviceLogs, cnt int64) {
+func Read_DeviceLogs_List(T_sn string, page, page_z int) (r []DeviceLogs, cnt int64) {
 
 	o := orm.NewOrm()
 	// 也可以直接使用 Model 结构体作为表名
@@ -608,8 +517,16 @@ func Read_DeviceLogs_ALL(T_sn string, page, page_z int) (r []DeviceLogs, cnt int
 		offset = int64((page - 1) * page_z)
 	}
 
-	qs.Limit(page_z, offset).Filter("T_sn", T_sn).Filter("T_tp__lte", 10).OrderBy("-Id").All(&maps)
-	cnt, _ = qs.Filter("T_sn", T_sn).Count()
+	_, err := qs.Limit(page_z, offset).Filter("T_sn", T_sn).Filter("T_tp__in", DeviceLogType).OrderBy("-Id").All(&maps)
+	if err != nil {
+		logs.Error("Read_DeviceLogs_List", err)
+		return
+	}
+	cnt, err = qs.Filter("T_sn", T_sn).Count()
+	if err != nil {
+		logs.Error("Read_DeviceLogs_List", err)
+		return
+	}
 
 	for _, v := range maps {
 		r = append(r, WarningToDeviceLogs(v))

+ 31 - 6
models/Warning/WarningType.go

@@ -20,6 +20,8 @@ type WarningType struct {
 	T_Notice int    `orm:"size(2);default(0)"`        // 是否在报警策略通知机制处展示 0 不展示  1 展示
 }
 
+var DeviceLogType = [3]int{101, 102, 103}
+
 //3
 //tp   报警类型
 // 1  温度超上限报警
@@ -105,7 +107,11 @@ func Read_WarningType_All_T_Notice_mechanism() string {
 	o := orm.NewOrm()
 	var r []WarningType
 	qs := o.QueryTable(new(WarningType))
-	qs.Filter("T_Notice", 1).All(&r)
+	_, err := qs.Filter("T_Notice", 1).All(&r)
+	if err != nil {
+		logs.Error("Read_WarningType_All_T_Notice_mechanism", err)
+		return ""
+	}
 	str := ""
 	for _, v := range r {
 		str += v.T_Tips
@@ -119,7 +125,11 @@ func Read_WarningType_All() (r []WarningType_) {
 	o := orm.NewOrm()
 	var maps []WarningType
 	qs := o.QueryTable(new(WarningType))
-	qs.All(&maps)
+	_, err := qs.All(&maps)
+	if err != nil {
+		logs.Error("Read_WarningType_All", err)
+		return
+	}
 
 	for _, v := range maps {
 		r = append(r, WarningTypeToWarningType_(v))
@@ -133,10 +143,18 @@ func Read_WarningType_Power_All(T_warning string) (r []WarningType_) {
 	var maps []WarningType
 	qs := o.QueryTable(new(WarningType))
 	if T_warning == "*" {
-		qs.All(&maps)
+		_, err := qs.All(&maps)
+		if err != nil {
+			logs.Error("Read_WarningType_Power_All", err)
+			return
+		}
 	} else {
 		list := models.SplitStringIds(T_warning, "W")
-		qs.Filter("Id__in", list).All(&maps)
+		_, err := qs.Filter("Id__in", list).All(&maps)
+		if err != nil {
+			logs.Error("Read_WarningType_Power_All", err)
+			return
+		}
 	}
 
 	for _, v := range maps {
@@ -151,7 +169,11 @@ func Read_WarningType_All_Power_T_Warning(T_warning string) (r []WarningType_R)
 	// 也可以直接使用 Model 结构体作为表名
 	var maps []WarningType
 	qs := o.QueryTable(new(WarningType))
-	qs.OrderBy("Id").All(&maps)
+	_, err := qs.OrderBy("Id").All(&maps)
+	if err != nil {
+		logs.Error("Read_WarningType_All_Power_T_Warning", err)
+		return
+	}
 	for _, v := range maps {
 		r = append(r, WarningTypeToWarningType_R(v, T_warning))
 	}
@@ -169,7 +191,10 @@ func Read_WarningType_All_Maps() {
 	for true {
 		var r []WarningType
 		qs := o.QueryTable(new(WarningType))
-		qs.All(&r)
+		_, err := qs.All(&r)
+		if err != nil {
+			logs.Error("Read_WarningType_All_Maps", err)
+		}
 
 		for _, v := range r {
 			WarningType_list.Store(v.Id, v.T_name)