gameshieldpublicip.go 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package repository
  2. import (
  3. "context"
  4. "github.com/go-nunu/nunu-layout-advanced/internal/model"
  5. )
  6. type GameShieldPublicIpRepository interface {
  7. GetGameShieldPublicIp(ctx context.Context, id int64) (*model.GameShieldPublicIp, error)
  8. GetGameShieldPublicUserIp(ctx context.Context, id int) (string, error)
  9. GetGameShieldPublicUserIpByNew(ctx context.Context) (model.GameShieldPublicIp, error)
  10. UpdateGameShieldPublicUserIp(ctx context.Context, id int, updateTime string) error
  11. GetGameShieldPublicUserIpByOld(ctx context.Context) (model.GameShieldPublicIp, error)
  12. }
  13. func NewGameShieldPublicIpRepository(
  14. repository *Repository,
  15. ) GameShieldPublicIpRepository {
  16. return &gameShieldPublicIpRepository{
  17. Repository: repository,
  18. }
  19. }
  20. type gameShieldPublicIpRepository struct {
  21. *Repository
  22. }
  23. func (r *gameShieldPublicIpRepository) GetGameShieldPublicIp(ctx context.Context, id int64) (*model.GameShieldPublicIp, error) {
  24. var gameShieldPublicIp model.GameShieldPublicIp
  25. return &gameShieldPublicIp, nil
  26. }
  27. func (r *gameShieldPublicIpRepository) GetGameShieldPublicUserIp(ctx context.Context, id int) (string, error) {
  28. var ip string
  29. if err := r.DB(ctx).Model(&model.GameShieldPublicIp{}).Select("ip").Where("id = ?", id).Scan(&ip).Error; err != nil {
  30. return "", err
  31. }
  32. return ip, nil
  33. }
  34. func (r *gameShieldPublicIpRepository) GetGameShieldPublicUserIpByNew(ctx context.Context) (model.GameShieldPublicIp, error) {
  35. var res model.GameShieldPublicIp
  36. if err := r.DB(ctx).Model(&model.GameShieldPublicIp{}).Select("ip").
  37. Where("update_time IS NULL").
  38. Order("id ASC").
  39. Scan(&res).Error; err != nil {
  40. return model.GameShieldPublicIp{}, err
  41. }
  42. return res, nil
  43. }
  44. func (r *gameShieldPublicIpRepository) UpdateGameShieldPublicUserIp(ctx context.Context, id int, updateTime string) error {
  45. if err := r.DB(ctx).Model(&model.GameShieldPublicIp{}).
  46. Where("id = ?", id).
  47. Update("update_time", updateTime).Error; err != nil {
  48. return err
  49. }
  50. return nil
  51. }
  52. func (r *gameShieldPublicIpRepository) GetGameShieldPublicUserIpByOld(ctx context.Context) (model.GameShieldPublicIp, error) {
  53. var res model.GameShieldPublicIp
  54. if err := r.DB(ctx).Model(&model.GameShieldPublicIp{}).
  55. Order("update_time ASC").
  56. Scan(&res).Error; err != nil {
  57. return model.GameShieldPublicIp{}, err
  58. }
  59. return res, nil
  60. }