midjourney.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package model
  2. import "one-api/common"
  3. type Midjourney struct {
  4. Id int `json:"id"`
  5. Code int `json:"code"`
  6. UserId int `json:"user_id" gorm:"index"`
  7. Action string `json:"action"`
  8. MjId string `json:"mj_id" gorm:"index"`
  9. Prompt string `json:"prompt"`
  10. PromptEn string `json:"prompt_en"`
  11. Description string `json:"description"`
  12. State string `json:"state"`
  13. SubmitTime int64 `json:"submit_time"`
  14. StartTime int64 `json:"start_time"`
  15. FinishTime int64 `json:"finish_time"`
  16. ImageUrl string `json:"image_url"`
  17. Status string `json:"status"`
  18. Progress string `json:"progress"`
  19. FailReason string `json:"fail_reason"`
  20. ChannelId int `json:"channel_id"`
  21. }
  22. func GetAllUserTask(userId int, startIdx int, num int) []*Midjourney {
  23. var tasks []*Midjourney
  24. var err error
  25. err = DB.Where("user_id = ?", userId).Order("id desc").Limit(num).Offset(startIdx).Find(&tasks).Error
  26. if err != nil {
  27. return nil
  28. }
  29. for _, task := range tasks {
  30. task.ImageUrl = common.ServerAddress + "/mj/image/" + task.MjId
  31. }
  32. return tasks
  33. }
  34. func GetAllTasks(startIdx int, num int) []*Midjourney {
  35. var tasks []*Midjourney
  36. var err error
  37. err = DB.Order("id desc").Limit(num).Offset(startIdx).Find(&tasks).Error
  38. if err != nil {
  39. return nil
  40. }
  41. for _, task := range tasks {
  42. task.ImageUrl = common.ServerAddress + "/mj/image/" + task.MjId
  43. }
  44. return tasks
  45. }
  46. func GetAllUnFinishTasks() []*Midjourney {
  47. var tasks []*Midjourney
  48. var err error
  49. // get all tasks progress is not 100%
  50. err = DB.Where("progress != ?", "100%").Find(&tasks).Error
  51. if err != nil {
  52. return nil
  53. }
  54. return tasks
  55. }
  56. func GetByMJId(mjId string) *Midjourney {
  57. var mj *Midjourney
  58. var err error
  59. err = DB.Where("mj_id = ?", mjId).First(&mj).Error
  60. if err != nil {
  61. return nil
  62. }
  63. return mj
  64. }
  65. func GetMjByuId(id int) *Midjourney {
  66. var mj *Midjourney
  67. var err error
  68. err = DB.Where("id = ?", id).First(&mj).Error
  69. if err != nil {
  70. return nil
  71. }
  72. return mj
  73. }
  74. func UpdateProgress(id int, progress string) error {
  75. return DB.Model(&Midjourney{}).Where("id = ?", id).Update("progress", progress).Error
  76. }
  77. func (midjourney *Midjourney) Insert() error {
  78. var err error
  79. err = DB.Create(midjourney).Error
  80. return err
  81. }
  82. func (midjourney *Midjourney) Update() error {
  83. var err error
  84. err = DB.Save(midjourney).Error
  85. return err
  86. }