123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- package System
- import (
- "ERP_user/logs"
- "encoding/json"
- "fmt"
- "git.baozhida.cn/ERP_libs/lib"
- "github.com/beego/beego/v2/adapter/orm"
- orm2 "github.com/beego/beego/v2/client/orm"
- "time"
- )
- type SysLogs struct {
- Id int `orm:"column(ID);size(11);auto;pk"`
- T_class string `orm:"size(256);null"` //
- T_title string `orm:"size(256);null"` // 标题
- T_txt string `orm:"type(text);null"` // 详情
- CreateTime time.Time `orm:"auto_now_add;type(datetime)"` //auto_now 每次 model 保存时都会对时间自动更新
- }
- type SysLogs_R struct {
- T_class string `orm:"size(256);null"` //
- T_title string `orm:"size(256);null"` // 标题
- T_txt string `orm:"type(text);null"` // 详情
- CreateTime string
- }
- func (t *SysLogs) TableName() string {
- return "sys_logs" // 数据库名称 // ************** 替换 FormulaList **************
- }
- func init() {
- //注册模型
- orm.RegisterModel(new(SysLogs))
- //go func() {
- // time.Sleep(3 * time.Second)
- // Add_SysLogs("系统", "服务启动", "")
- //}()
- }
- func SysLogsToSysLogs_R(r SysLogs) (m SysLogs_R) {
- m.T_class = r.T_class
- m.T_title = r.T_title
- m.T_txt = r.T_txt
- m.CreateTime = r.CreateTime.Format("2006-01-02 15:04:05")
- return
- }
- // 添加 System.Add_SysLogs("MqttServer","参数请求 [Rt_Parameter]","base")
- func Add_SysLogs(SysLogs_class string, SysLogs_title string, SysLogs_txt string) {
- o := orm.NewOrm()
- m := SysLogs{T_class: SysLogs_class, T_title: SysLogs_title, T_txt: SysLogs_txt}
- _, err := o.Insert(&m)
- if err != nil {
- logs.Error(lib.FuncName(), err)
- }
- }
- // 添加 System.Add_SysLogs("MqttServer","参数请求 [Rt_Parameter]","base")
- func Add_SysLogs_T(SysLogs_class string, SysLogs_title string, Logs_Txt_T interface{}) {
- o := orm.NewOrm()
- jsonStu, err := json.Marshal(Logs_Txt_T)
- if err != nil {
- logs.Error(lib.FuncName(), err)
- }
- m := SysLogs{T_class: SysLogs_class, T_title: SysLogs_title, T_txt: string(jsonStu)}
- _, err = o.Insert(&m)
- if err != nil {
- logs.Error(lib.FuncName(), err)
- }
- }
- // 获取列表
- func Read_SysLogs_List(SysLogs_class string, SysLogs_title string, page int, page_z int) (r_ []SysLogs_R, cnt int64) {
- o := orm.NewOrm()
- // 也可以直接使用 Model 结构体作为表名
- qs := o.QueryTable(new(SysLogs))
- var offset int64
- if page <= 1 {
- offset = 0
- } else {
- offset = int64((page - 1) * page_z)
- }
- // 过滤
- cond := orm.NewCondition()
- cond1 := cond //.And("T_State", 1) .AndNot("status__in", 1).Or("profile__age__gt", 2000)
- if len(SysLogs_class) > 0 {
- //cond1.AndCond(cond.And("T_class", class))
- cond1 = cond1.And("T_class", SysLogs_class)
- }
- if len(SysLogs_title) > 0 {
- //cond1.AndCond(cond.And("T_class", class))
- cond1 = cond1.And("T_title", SysLogs_title)
- }
- // 查询
- var r []SysLogs
- qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&r)
- cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
- for _, v := range r {
- r_ = append(r_, SysLogsToSysLogs_R(v))
- }
- return r_, cnt
- }
- // 获取列表
- func Read_SysLogs_Class() (lists orm2.ParamsList) {
- o := orm.NewOrm()
- var pl_lists orm2.ParamsList
- num, err := o.Raw("SELECT DISTINCT t_class FROM SysLogs LIMIT 0,1000").ValuesFlat(&pl_lists)
- if err == nil {
- fmt.Println("user nums: ", num)
- }
- fmt.Println(len(pl_lists))
- return pl_lists
- }
|