package controller import ( "context" adminv1 "tool-api/api/admin/v1" userv1 "tool-api/api/user/v1" "tool-api/internal/logic" ) // ============================================================================ // 软件开发服务控制器(迭代-2026-09-29) // // 拆成两个对象分别挂到 UserAuth / AdminAuth 两组(与优惠码同款拆分, // ⚠️ 同一 controller 对象不能同时 Bind 到两组,见 controller/promo.go 的说明): // - Goods 用户端(list / detail,需用户登录) // - AdminGoods 管理端(list / detail / save / delete) // ============================================================================ // cGoods 用户端服务接口(需用户登录) type cGoods struct{} // cAdminGoods 管理端服务接口(需管理员登录) type cAdminGoods struct{} var ( Goods = &cGoods{} AdminGoods = &cAdminGoods{} ) func (c *cGoods) GoodsList(ctx context.Context, req *userv1.GoodsListReq) (res *userv1.GoodsListRes, err error) { return logic.GoodsList(ctx, req) } func (c *cGoods) GoodsDetail(ctx context.Context, req *userv1.GoodsDetailReq) (res *userv1.GoodsDetailRes, err error) { return logic.GoodsDetail(ctx, req.Id) } func (c *cAdminGoods) GoodsList(ctx context.Context, req *adminv1.AdminGoodsListReq) (res *adminv1.AdminGoodsListRes, err error) { return logic.AdminGoodsList(ctx, req) } func (c *cAdminGoods) GoodsDetail(ctx context.Context, req *adminv1.AdminGoodsDetailReq) (res *adminv1.AdminGoodsDetailRes, err error) { return logic.AdminGoodsDetail(ctx, req.Id) } func (c *cAdminGoods) GoodsSave(ctx context.Context, req *adminv1.AdminGoodsSaveReq) (res *adminv1.AdminGoodsSaveRes, err error) { return logic.AdminGoodsSave(ctx, req) } func (c *cAdminGoods) GoodsDelete(ctx context.Context, req *adminv1.AdminGoodsDeleteReq) (res *adminv1.AdminGoodsDeleteRes, err error) { return logic.AdminGoodsDelete(ctx, req.Id) }