diff --git a/api/dao/UserCoupon.go b/api/dao/UserCoupon.go index 95418e7..9413864 100644 --- a/api/dao/UserCoupon.go +++ b/api/dao/UserCoupon.go @@ -168,6 +168,42 @@ func (r *UserCouponDao) GetUserCouponPageSearch(req requests.GetUserCouponPage, query = query.Where(gorm.Expr("user_id IN (?)", subQuery)) } + // 用户手机号 + if req.UserMobile != "" { + subQuery := global.Db.Model(&model.User{}). + Select("user_id"). + Where("mobile LIKE ?", "%"+req.UserMobile+"%") + + query = query.Where(gorm.Expr("user_id IN (?)", subQuery)) + } + + // 优惠券名称 + if req.CouponName != "" { + subQuery := global.Db.Model(&model.Coupon{}). + Select("coupon_id"). + Where("coupon_name LIKE ?", "%"+req.CouponName+"%") + + query = query.Where(gorm.Expr("coupon_id IN (?)", subQuery)) + } + + // 优惠券类型 + if req.CouponType != nil { + subQuery := global.Db.Model(&model.Coupon{}). + Select("coupon_id"). + Where("coupon_type = ?", req.CouponType) + + query = query.Where(gorm.Expr("coupon_id IN (?)", subQuery)) + } + + // 适用范围 + if req.ApplicationScope != nil { + subQuery := global.Db.Model(&model.Coupon{}). + Select("coupon_id"). + Where("application_scope = ?", req.ApplicationScope) + + query = query.Where(gorm.Expr("coupon_id IN (?)", subQuery)) + } + // 排序 query = query.Order("created_at desc") diff --git a/api/requests/Coupon.go b/api/requests/Coupon.go index 3cc38df..8839714 100644 --- a/api/requests/Coupon.go +++ b/api/requests/Coupon.go @@ -37,6 +37,6 @@ type AddSystemCoupon struct { ValidDays *int `json:"valid_days" form:"valid_days" label:"有效天数" validate:"omitempty,numeric,min=1"` ValidStartTime *string `json:"valid_start_time" form:"valid_start_time" label:"开始使用时间"` // 假设转换为字符串格式 ValidEndTime *string `json:"valid_end_time" form:"valid_end_time" label:"结束使用时间"` // 假设转换为字符串格式 - SystemMemberIds []*string `json:"system_member_ids" form:"system_member_ids" label:"会员id"` // 会员id(逗号分割) + SystemMemberIds []*string `json:"system_member_ids" form:"system_member_ids" label:"会员id"` // 会员id CouponDesc string `json:"coupon_desc" form:"coupon_desc" label:"优惠券描述"` } diff --git a/api/requests/UserCoupon.go b/api/requests/UserCoupon.go index 05850bd..09bc889 100644 --- a/api/requests/UserCoupon.go +++ b/api/requests/UserCoupon.go @@ -12,4 +12,8 @@ type GetUserCouponPage struct { CouponId string `json:"coupon_id" form:"coupon_id" label:"优惠券id"` UserCouponStatus *int `json:"user_coupon_status" form:"user_coupon_status" label:"状态"` // 状态(0:未使用 1:已使用 3:已过期) UserName string `json:"user_name" form:"user_name" label:"用户名称"` + UserMobile string `json:"user_mobile" form:"user_mobile" label:"用户手机号"` + CouponName string `json:"coupon_name" form:"coupon_name" label:"优惠券名称"` + CouponType *int `json:"coupon_type" form:"coupon_type" label:"优惠券类型"` // (1:无门槛 2:满减) + ApplicationScope *int `json:"application_scope" form:"application_scope" label:"适用范围"` // 适用范围(1:全场通用 2:单项 3:会员) }