fix: add start date and end date of ads

This commit is contained in:
ericprd 2025-03-13 11:44:00 +08:00
parent ce17e9dc73
commit 47085ca0ae
3 changed files with 23 additions and 15 deletions

View File

@ -3,9 +3,11 @@ package database
import "time" import "time"
type Ads struct { type Ads struct {
ID string `gorm:"primaryKey;not null" json:"id"` ID string `gorm:"primaryKey;not null" json:"id"`
ImageUrl string `gorm:"not null" json:"image_url"` ImageUrl string `gorm:"not null" json:"image_url"`
Url string `gorm:"not null" json:"url"` Url string `gorm:"not null" json:"url"`
CreatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"created_at"` StartDate *time.Time `gorm:"default:null" json:"start_date"`
UpdatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"updated_at"` EndDate *time.Time `gorm:"default:null" json:"end_date"`
CreatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"created_at"`
UpdatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"updated_at"`
} }

View File

@ -5,14 +5,18 @@ import (
) )
type Ads struct { type Ads struct {
ID string `gorm:"primaryKey;not null" json:"id"` ID string `json:"id"`
ImageUrl string `gorm:"not null" json:"image_url"` ImageUrl string `json:"image_url"`
Url string `gorm:"not null" json:"url"` Url string `json:"url"`
CreatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"created_at"` StartDate *time.Time `json:"start_date"`
UpdatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP" json:"updated_at"` EndDate *time.Time `json:"end_date"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
} }
type AdsReq struct { type AdsReq struct {
Image string `json:"image" validate:"required"` Image string `json:"image" validate:"required"`
URL string `json:"url" validate:"required"` URL string `json:"url" validate:"required"`
StartDate *time.Time `json:"start_date" validate:"required"`
EndDate *time.Time `json:"end_date" validate:"required"`
} }

View File

@ -18,9 +18,11 @@ func (i *impl) Create(spec adsdomain.AdsReq) error {
} }
newSpec := adsdomain.Ads{ newSpec := adsdomain.Ads{
ID: uuid.NewString(), ID: uuid.NewString(),
ImageUrl: spec.Image, ImageUrl: spec.Image,
Url: spec.URL, Url: spec.URL,
StartDate: spec.StartDate,
EndDate: spec.EndDate,
} }
return i.adsRepo.Create(newSpec) return i.adsRepo.Create(newSpec)