feat: 添加用户优惠券列表接口及相关数据结构
This commit is contained in:
14
backend/app/http/v1/dto/coupon.go
Normal file
14
backend/app/http/v1/dto/coupon.go
Normal file
@@ -0,0 +1,14 @@
|
||||
package dto
|
||||
|
||||
type UserCouponItem struct {
|
||||
ID string `json:"id"`
|
||||
CouponID string `json:"coupon_id"`
|
||||
Title string `json:"title"`
|
||||
Description string `json:"description"`
|
||||
Type string `json:"type"`
|
||||
Value int64 `json:"value"`
|
||||
MinOrderAmount int64 `json:"min_order_amount"`
|
||||
StartAt string `json:"start_at"`
|
||||
EndAt string `json:"end_at"`
|
||||
Status string `json:"status"`
|
||||
}
|
||||
@@ -237,6 +237,11 @@ func (r *Routes) Register(router fiber.Router) {
|
||||
router.Get("/v1/me"[len(r.Path()):], DataFunc0(
|
||||
r.user.Me,
|
||||
))
|
||||
r.log.Debugf("Registering route: Get /v1/me/coupons -> user.MyCoupons")
|
||||
router.Get("/v1/me/coupons"[len(r.Path()):], DataFunc1(
|
||||
r.user.MyCoupons,
|
||||
QueryParam[string]("status"),
|
||||
))
|
||||
r.log.Debugf("Registering route: Get /v1/me/favorites -> user.Favorites")
|
||||
router.Get("/v1/me/favorites"[len(r.Path()):], DataFunc0(
|
||||
r.user.Favorites,
|
||||
|
||||
@@ -241,3 +241,18 @@ func (u *User) Following(ctx fiber.Ctx) ([]dto.TenantProfile, error) {
|
||||
func (u *User) Notifications(ctx fiber.Ctx, typeArg string, page int) (*requests.Pager, error) {
|
||||
return services.Notification.List(ctx.Context(), page, typeArg)
|
||||
}
|
||||
|
||||
// List my coupons
|
||||
//
|
||||
// @Router /v1/me/coupons [get]
|
||||
// @Summary List coupons
|
||||
// @Description List my coupons
|
||||
// @Tags UserCenter
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param status query string false "Status (unused, used, expired)"
|
||||
// @Success 200 {array} dto.UserCouponItem
|
||||
// @Bind status query
|
||||
func (u *User) MyCoupons(ctx fiber.Ctx, status string) ([]dto.UserCouponItem, error) {
|
||||
return services.Coupon.ListUserCoupons(ctx.Context(), status)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user