package models import ( "time" "github.com/beego/beego/v2/client/orm" ) type SysMessageReport struct { SysMessageReportId int `orm:"pk" description:"消息id"` UserId int `description:"到期用户id"` ReceiveSysUserId int `description:"接收系统用户id"` MessageType int `description:"消息类型"` Content string `description:"内容"` Remark string `description:"备注"` IsRead bool `description:"是否已读"` CreateTime time.Time `description:"创建时间"` ModifyTime time.Time `description:"修改时间"` } type SysMessageReportView struct { SysMessageReportId int `orm:"pk" description:"消息id"` UserId int `description:"到期用户id"` ReceiveSysUserId int `description:"接收系统用户id"` MessageType int `description:"消息类型"` Content string `description:"内容"` Remark string `description:"备注"` IsRead bool `description:"是否已读"` CreateTime string `description:"创建时间"` ModifyTime string `description:"修改时间"` } func (s *SysMessageReport) Update(cols []string) (err error) { o := orm.NewOrm() _, err = o.Update(s, cols...) return } func UpdateReadSysMessageReportByUserId(userId int) (err error) { o := orm.NewOrm() sql := `UPDATE sys_message_report SET is_read=1 WHERE receive_sys_user_id=? AND is_read=0` _, err = o.Raw(sql, userId).Exec() return } func GetSysMessageReportCountBySysUserId(sysUserId int) (count int, err error) { o := orm.NewOrm() sql := `SELECT COUNT(*) AS count FROM sys_message_report WHERE receive_sys_user_id=?` err = o.Raw(sql, sysUserId).QueryRow(&count) return } func GetSysMessageReportBySysUserId(sysUserId, startSize, pageSize int) (item []*SysMessageReport, err error) { o := orm.NewOrm() sql := `SELECT * FROM sys_message_report WHERE receive_sys_user_id=? ORDER BY is_read ASC, create_time DESC LIMIT ?,?` _, err = o.Raw(sql, sysUserId, startSize, pageSize).QueryRows(&item) return } func InsertMultiSysMessageReport(sysMessageReportList []*SysMessageReport) (err error) { o := orm.NewOrm() _, err = o.InsertMulti(500, sysMessageReportList) return } func GetSysMessageReportListById(sysMessageReportIds []int) (items []*SysMessageReport, err error) { o := orm.NewOrm() _, err = o.QueryTable(&SysMessageReport{}). Filter("sys_message_report_id__in", sysMessageReportIds). All(&items) return } func GetSysMessageReportCount(sysUserId, userId, messageType int) (count int, err error) { o := orm.NewOrm() sql := `SELECT COUNT(*) AS count FROM sys_message_report WHERE user_id=? AND message_type=? ` err = o.Raw(sql, userId, messageType).QueryRow(&count) return } func GetSysMessageReportByCondition(condition string, pars []interface{}) (items []*SysMessageReport, err error) { o := orm.NewOrm() sql := `SELECT * FROM sys_message_report WHERE 1=1` if condition != "" { sql += condition } _, err = o.Raw(sql, pars...).QueryRows(&items) return } func GetSysMessageReportCountByCondition(condition string, pars []interface{}) (count int, err error) { o := orm.NewOrm() sql := `SELECT COUNT(*) AS count FROM sys_message_report ` if condition != "" { sql += condition } err = o.Raw(sql, pars...).QueryRow(&count) return }