You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

reward_admin_log.go 1.9 kB

3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package models
  2. import (
  3. "code.gitea.io/gitea/modules/timeutil"
  4. )
  5. const (
  6. RewardAdminLogProcessing = 1
  7. RewardAdminLogSuccess = 2
  8. RewardAdminLogFailed = 3
  9. )
  10. type RewardAdminLog struct {
  11. ID int64 `xorm:"pk autoincr"`
  12. LogId string `xorm:"INDEX NOT NULL"`
  13. Amount int64 `xorm:"NOT NULL"`
  14. RewardType string
  15. Remark string
  16. Status int
  17. TargetUserId int64 `xorm:"INDEX NOT NULL"`
  18. CreatorId int64 `xorm:"NOT NULL"`
  19. CreatorName string
  20. CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"`
  21. }
  22. func (r *RewardAdminLog) ToShow() *RewardAdminLogShow {
  23. return &RewardAdminLogShow{
  24. CreatorName: r.CreatorName,
  25. }
  26. }
  27. type RewardAdminLogShow struct {
  28. CreatorName string
  29. }
  30. type AdminLogAndUser struct {
  31. AdminRewardAdminLog RewardAdminLog `xorm:"extends"`
  32. User User `xorm:"extends"`
  33. }
  34. func getRewardAdminLog(ra *RewardAdminLog) (*RewardAdminLog, error) {
  35. has, err := x.Get(ra)
  36. if err != nil {
  37. return nil, err
  38. } else if !has {
  39. return nil, ErrRecordNotExist{}
  40. }
  41. return ra, nil
  42. }
  43. func InsertRewardAdminLog(ra *RewardAdminLog) (int64, error) {
  44. return x.Insert(ra)
  45. }
  46. func UpdateRewardAdminLogStatus(logId string, oldStatus, newStatus int) error {
  47. _, err := x.Where("log_id = ? and status = ?", logId, oldStatus).Update(&RewardAdminLog{Status: newStatus})
  48. if err != nil {
  49. return err
  50. }
  51. return nil
  52. }
  53. func GetRewardAdminLogByLogIds(logIds []string) ([]*RewardAdminLog, error) {
  54. if len(logIds) == 0 {
  55. return nil, nil
  56. }
  57. adminLogs := make([]*AdminLogAndUser, 0)
  58. err := x.Table("reward_admin_log").Join("LEFT", "user", "reward_admin_log.creator_id = public.user.id").In("reward_admin_log.log_id", logIds).Find(&adminLogs)
  59. if err != nil {
  60. return nil, err
  61. }
  62. r := make([]*RewardAdminLog, len(adminLogs))
  63. for i, v := range adminLogs {
  64. temp := &v.AdminRewardAdminLog
  65. temp.CreatorName = v.User.Name
  66. r[i] = temp
  67. }
  68. return r, nil
  69. }