diff --git a/api/dao/UserCoupon.go b/api/dao/UserCoupon.go index ef669f6..95418e7 100644 --- a/api/dao/UserCoupon.go +++ b/api/dao/UserCoupon.go @@ -133,6 +133,9 @@ func (r *UserCouponDao) GetUserCouponPageSearch(req requests.GetUserCouponPage, // 构建查询条件 query := global.Db.Model(&model.UserCoupon{}) + // 用户 + query = query.Preload("User") + // 优惠卷 query = query.Preload("Coupon") diff --git a/api/dto/UserCoupon.go b/api/dto/UserCoupon.go index 7f4cc8b..0f3170f 100644 --- a/api/dto/UserCoupon.go +++ b/api/dto/UserCoupon.go @@ -17,6 +17,7 @@ type UserCouponDto struct { CreatedAt model.LocalTime `json:"created_at"` // 创建时间 UpdatedAt model.LocalTime `json:"updated_at"` // 更新时间 Coupon *CouponDto `json:"coupon"` // 优惠卷 + User *UserDto `json:"user"` // 用户 } // GetUserCouponDto 用户优惠卷详情 @@ -60,6 +61,11 @@ func GetUserCouponListDto(m []*model.UserCoupon) []*UserCouponDto { response = response.LoadCoupon(v.Coupon) } + // 加载用户数据 + if v.User != nil { + response = response.LoadCoupon(v.Coupon) + } + // 将转换后的结构体添加到新切片中 responses[i] = response } @@ -80,3 +86,12 @@ func (r *UserCouponDto) LoadCoupon(m *model.Coupon) *UserCouponDto { } return r } + +// LoadUser 加载用户数据 +func (r *UserCouponDto) LoadUser(m *model.User) *UserCouponDto { + if m != nil { + r.User = GetUserDto(m) + } + + return r +} diff --git a/api/model/UserCoupon.go b/api/model/UserCoupon.go index 91c8557..95c5d97 100644 --- a/api/model/UserCoupon.go +++ b/api/model/UserCoupon.go @@ -17,6 +17,7 @@ type UserCoupon struct { ValidEndTime LocalTime `gorm:"column:valid_end_time;type:datetime;comment:过期使用时间" json:"valid_end_time"` Model Coupon *Coupon `gorm:"foreignKey:CouponId;references:coupon_id" json:"coupon"` + User *User `gorm:"foreignKey:UserId;references:user_id" json:"user"` } func (m *UserCoupon) TableName() string {