54 lines
1.9 KiB
Go
54 lines
1.9 KiB
Go
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)
|
||
}
|