Files
qitongxue-api/internal/controller/coupon.go
2026-09-29 10:57:01 +08:00

69 lines
2.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package controller
import (
"context"
adminv1 "tool-api/api/admin/v1"
userv1 "tool-api/api/user/v1"
"tool-api/internal/logic"
)
// ============================================================================
// 优惠券控制器
//
// 拆成两个对象分别挂到 UserAuth / AdminAuth 两组:
// - Coupon 用户端(P5 /coupon/my、P6 /coupon/validate、P7 /coupon/usable)
// - AdminCoupon 管理端(A6–A11)
// ============================================================================
// cCoupon 用户端优惠券接口(需用户登录)
type cCoupon struct{}
// cAdminCoupon 管理端优惠券接口(需管理员登录)
type cAdminCoupon struct{}
var (
Coupon = &cCoupon{}
AdminCoupon = &cAdminCoupon{}
)
// ===== 用户端 =====
func (c *cCoupon) CouponMy(ctx context.Context, req *userv1.CouponMyReq) (res *userv1.CouponMyRes, err error) {
return logic.CouponMy(ctx, req.Status)
}
func (c *cCoupon) CouponValidate(ctx context.Context, req *userv1.CouponValidateReq) (res *userv1.CouponValidateRes, err error) {
return logic.CouponValidate(ctx, req.UserCouponId, req.OrderType, req.TargetKey)
}
func (c *cCoupon) CouponUsable(ctx context.Context, req *userv1.CouponUsableReq) (res *userv1.CouponUsableRes, err error) {
return logic.CouponUsable(ctx, req.OrderType, req.TargetKey, req.OutTradeNo)
}
// ===== 管理端 =====
func (c *cAdminCoupon) CouponTemplateList(ctx context.Context, req *adminv1.CouponTemplateListReq) (res *adminv1.CouponTemplateListRes, err error) {
return logic.AdminCouponTemplateList(ctx, req)
}
func (c *cAdminCoupon) CouponTemplateSave(ctx context.Context, req *adminv1.CouponTemplateSaveReq) (res *adminv1.CouponTemplateSaveRes, err error) {
return logic.AdminCouponTemplateSave(ctx, req)
}
func (c *cAdminCoupon) CouponTemplateToggle(ctx context.Context, req *adminv1.CouponTemplateToggleReq) (res *adminv1.CouponTemplateToggleRes, err error) {
return logic.AdminCouponTemplateToggle(ctx, req.Id, req.Status)
}
func (c *cAdminCoupon) CouponGrant(ctx context.Context, req *adminv1.CouponGrantReq) (res *adminv1.CouponGrantRes, err error) {
return logic.AdminCouponGrant(ctx, req)
}
func (c *cAdminCoupon) CouponRecordList(ctx context.Context, req *adminv1.CouponRecordListReq) (res *adminv1.CouponRecordListRes, err error) {
return logic.AdminCouponRecordList(ctx, req)
}
func (c *cAdminCoupon) CouponRedeem(ctx context.Context, req *adminv1.CouponRedeemReq) (res *adminv1.CouponRedeemRes, err error) {
return logic.AdminCouponRedeem(ctx, req.UserCouponId, req.Remark)
}