package models import ( "github.com/beego/beego/v2/client/orm" "github.com/rdlucklib/rdluck_tools/paging" "time" ) type ReportAuthor struct { Id int `orm:"column(id)" description:"报告作者ID"` ReportAuthor string `description:"报告作者名称"` AuthorType int `description:"类型,1:中文;2:英文"` Enable int `description:"是否启用,0:禁用,1:启用"` IsDelete int `description:"是否删除,0:未删除,1:已删除"` CreateTime time.Time `description:"创建时间"` ModifyTime time.Time `description:"更新时间"` } // GetReportAuthorList 获取报告作者列表 func GetReportAuthorList(condition string, pars []interface{}, startSize, pageSize int) (total int, items []*ReportAuthor, err error) { o := orm.NewOrmUsingDB("rddp") baseSql := ` report_author WHERE is_delete=0 ` if condition != "" { baseSql += condition } totalSql := ` SELECT count(1) total FROM ` + baseSql err = o.Raw(totalSql, pars).QueryRow(&total) if err != nil { return } sql := ` SELECT * FROM ` + baseSql + ` ORDER BY id desc LIMIT ?,? ` _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items) return } // GetReportAuthorCount 获取报告作者列表数 func GetReportAuthorCount(condition string, pars []interface{}) (total int, err error) { o := orm.NewOrmUsingDB("rddp") totalSql := ` SELECT count(1) total FROM report_author WHERE 1=1 ` if condition != "" { totalSql += condition } err = o.Raw(totalSql, pars).QueryRow(&total) return } type ReportAuthorResp struct { List []*ReportAuthor Paging *paging.PagingItem `description:"分页数据"` } // AddReportAuthorReq 新增报告作者请求体 type AddReportAuthorReq struct { Id int `description:"作者id"` AuthorType int `description:"类型,1:中文;2:英文"` Author string `description:"报告作者名称"` } // GetReportAuthorById 根据作者id获取数据 func GetReportAuthorById(authorId int) (item *ReportAuthor, err error) { o := orm.NewOrmUsingDB("rddp") sql := `SELECT * FROM report_author WHERE is_delete=0 AND id = ? ` err = o.Raw(sql, authorId).QueryRow(&item) return } // GetReportAuthorByAuthor 根据作者名称获取数据 func GetReportAuthorByAuthor(title string, authorType int) (item *ReportAuthor, err error) { o := orm.NewOrmUsingDB("rddp") sql := `SELECT * FROM report_author WHERE is_delete=0 AND report_author=? AND author_type = ? ` err = o.Raw(sql, title, authorType).QueryRow(&item) return } // GetReportAuthorByAuthorAndId 根据作者名称和作者id获取数据 func GetReportAuthorByAuthorAndId(title string, authorType, authorId int) (item *ReportAuthor, err error) { o := orm.NewOrmUsingDB("rddp") sql := `SELECT * FROM report_author WHERE is_delete=0 AND report_author=? AND author_type = ? AND id != ? ` err = o.Raw(sql, title, authorType, authorId).QueryRow(&item) return } // AddReportAuthor 新增作者 func AddReportAuthor(item *ReportAuthor) (lastId int64, err error) { o := orm.NewOrmUsingDB("rddp") lastId, err = o.Insert(item) return } // Update 更新作者基础信息 func (item *ReportAuthor) Update(cols []string) (err error) { o := orm.NewOrmUsingDB("rddp") _, err = o.Update(item, cols...) return } // EnableReportAuthorReq 启用/禁用报告作者请求体 type EnableReportAuthorReq struct { Id int `description:"作者id"` EnableType int `description:"是否启用,0:禁用,1:启用"` } // DeleteReportAuthorReq 删除报告作者请求体 type DeleteReportAuthorReq struct { Id int `description:"作者id"` }