package agent import ( "context" "ycc-server/app/main/api/internal/logic/query" "ycc-server/app/main/api/internal/svc" "ycc-server/app/main/api/internal/types" "github.com/pkg/errors" "ycc-server/common/ctxdata" "ycc-server/common/xerr" "github.com/zeromicro/go-zero/core/logx" ) type CheckOrderAgentLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewCheckOrderAgentLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CheckOrderAgentLogic { return &CheckOrderAgentLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *CheckOrderAgentLogic) CheckOrderAgent(req *types.CheckOrderAgentReq) (resp *types.CheckOrderAgentResp, err error) { // 获取当前用户ID userId, err := ctxdata.GetUidFromCtx(l.ctx) if err != nil { return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "获取用户ID失败: %v", err) } // 检查订单是否属于当前代理推广 isAgent, err := query.IsOrderAgent(l.ctx, l.svcCtx, userId, req.OrderId) if err != nil { return nil, err } return &types.CheckOrderAgentResp{ IsAgentOrder: isAgent, }, nil }