en_video_cover.go 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package models
  2. import (
  3. sql2 "database/sql"
  4. "eta/eta_api/global"
  5. "eta/eta_api/utils"
  6. "github.com/rdlucklib/rdluck_tools/paging"
  7. "time"
  8. )
  9. // EnglishVideoCover 英文研报视频封面库
  10. type EnglishVideoCover struct {
  11. Id int `gorm:"column:id;primaryKey;autoIncrement" description:"封面ID"`
  12. CoverName string `description:"封面名称"`
  13. CoverUrl string `description:"封面图地址"`
  14. IsDeleted int `description:"是否已删除 0-否 1-是"`
  15. CreateTime time.Time `description:"创建时间"`
  16. ModifyTime time.Time `description:"修改时间"`
  17. DeleteTime time.Time `description:"删除时间"`
  18. }
  19. func (item *EnglishVideoCover) TableName() string {
  20. return "english_video_cover"
  21. }
  22. func (item *EnglishVideoCover) Add() (err error) {
  23. err = global.DbMap[utils.DbNameReport].Create(item).Error
  24. return
  25. }
  26. func (item *EnglishVideoCover) Update(cols []string) (err error) {
  27. err = global.DbMap[utils.DbNameReport].Select(cols).Updates(item).Error
  28. return
  29. }
  30. // GetEnglishVideoCoverById 主键获取封面
  31. func GetEnglishVideoCoverById(coverId int) (item *EnglishVideoCover, err error) {
  32. sql := `SELECT * FROM english_video_cover WHERE id = ? AND is_deleted = 0 LIMIT 1`
  33. err = global.DbMap[utils.DbNameReport].Raw(sql, coverId).First(&item).Error
  34. return
  35. }
  36. // GetEnglishVideoCoverPageList 获取封面库分页列表
  37. func GetEnglishVideoCoverPageList(condition string, pars []interface{}, orderRule string, startSize, pageSize int) (total int, list []*EnglishVideoCover, err error) {
  38. sql := `SELECT * FROM english_video_cover WHERE is_deleted = 0 `
  39. sql += condition
  40. if orderRule == "" {
  41. orderRule = ` ORDER BY modify_time DESC`
  42. }
  43. sql += orderRule
  44. totalSql := `SELECT COUNT(1) total FROM (` + sql + `) z`
  45. var totalNull sql2.NullInt64
  46. err = global.DbMap[utils.DbNameReport].Raw(totalSql, pars...).Scan(&totalNull).Error
  47. if err != nil {
  48. return
  49. }
  50. if totalNull.Valid {
  51. total = int(totalNull.Int64)
  52. }
  53. sql += ` LIMIT ?,?`
  54. pars = append(pars, startSize, pageSize)
  55. err = global.DbMap[utils.DbNameReport].Raw(sql, pars...).Find(&list).Error
  56. return
  57. }
  58. // DeleteEnglishVideoCover 删除封面
  59. func DeleteEnglishVideoCover(coverId int) (err error) {
  60. sql := `UPDATE english_video_cover SET is_deleted = 1, delete_time = NOW() WHERE id = ? LIMIT 1`
  61. err = global.DbMap[utils.DbNameReport].Exec(sql, coverId).Error
  62. return
  63. }
  64. type EnglishVideoCoverListResp struct {
  65. Paging *paging.PagingItem
  66. List []*EnglishVideoCoverItem `description:"列表数据"`
  67. }
  68. type EnglishVideoCoverItem struct {
  69. Id int `description:"封面ID"`
  70. CoverName string `description:"封面名称"`
  71. CoverUrl string `description:"封面图地址"`
  72. CreateTime string `description:"提问时间"`
  73. ModifyTime string `description:"修改时间"`
  74. }
  75. type EnglishVideoCoverSaveReq struct {
  76. Id int `description:"封面ID"`
  77. CoverName string `description:"封面名称"`
  78. CoverUrl string `description:"封面图地址"`
  79. }
  80. type EnglishVideoCoverOptionReq struct {
  81. Id int `description:"封面图ID"`
  82. }