69 lines
2.5 KiB
Go
69 lines
2.5 KiB
Go
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)
|
||
}
|