cc.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package repository
  2. import (
  3. "context"
  4. v1 "github.com/go-nunu/nunu-layout-advanced/api/v1"
  5. )
  6. type CcRepository interface {
  7. GetCcList(ctx context.Context, serviceId int64) ([]v1.CCList, error)
  8. GetCcId(ctx context.Context, serviceId int64, ip string) (int64, error)
  9. }
  10. func NewCcRepository(
  11. repository *Repository,
  12. ) CcRepository {
  13. return &ccRepository{
  14. Repository: repository,
  15. }
  16. }
  17. type ccRepository struct {
  18. *Repository
  19. }
  20. func (r *ccRepository) GetCcList(ctx context.Context, serviceId int64) ([]v1.CCList, error) {
  21. var req []v1.CCList
  22. if err := r.DBWithName(ctx,"cdn").Table("cloud_ip_items").Where("sourceServerId = ? AND state = 1", serviceId).Select("value,type,reason,sourceURL,sourceUserAgent,createdAt,expiredAt").Scan(&req).Error; err != nil {
  23. return nil, err
  24. }
  25. return req, nil
  26. }
  27. func (r *ccRepository) GetCcId(ctx context.Context, serviceId int64, ip string) (int64, error) {
  28. var req int64
  29. if err := r.DBWithName(ctx,"cdn").Table("cloud_ip_items").Where("sourceServerId = ? AND value = ? AND state = 1", serviceId, ip).Select("id").Scan(&req).Error; err != nil {
  30. return 0, err
  31. }
  32. return req, nil
  33. }