feat: sale manager

This commit is contained in:
zzw
2026-08-28 10:49:09 +08:00
parent 97eba7ad48
commit 6f567319be
82 changed files with 4491 additions and 182 deletions
+32 -12
View File
@@ -2,12 +2,11 @@ package logic
import (
"context"
"fmt"
"lone-services/pkg/rpcclient"
"lone-services/pkg/utils"
chore "lone-services/rpc/chore/pb"
product "lone-services/rpc/product/pb"
sale "lone-services/rpc/sale/pb"
"lone-services/services/chore/internal/svc"
"github.com/zeromicro/go-zero/core/logx"
@@ -33,8 +32,10 @@ func NewTestLogic(ctx context.Context, svcCtx *svc.ServiceContext) *TestLogic {
func (l *TestLogic) Test(in *chore.TestReq) (*chore.Response, error) {
cli, err := rpcclient.Get(l.svcCtx.ProductSvcName)
// cli, err := rpcclient.Get(l.svcCtx.SaleSvcName)
if err != nil {
l.Errorf("get product rpc: %v", err)
l.Errorf("get rpc: %v", err)
return failResponse(utils.ErrorInternalServer), nil
}
@@ -53,21 +54,40 @@ func (l *TestLogic) Test(in *chore.TestReq) (*chore.Response, error) {
// fmt.Println(res.GetName())
// 获取多个产品详情
res, err := product.NewProductClient(cli.Conn()).ItemsByIds(l.ctx, &product.ItemsByIdsReq{
Ids: in.GetIds(),
// res, err := product.NewProductClient(cli.Conn()).ItemsByIds(l.ctx, &product.ItemsByIdsReq{
// Ids: in.GetIds(),
// })
// for _, item := range res.GetItems() {
// fmt.Println(item.GetName())
// }
// 销售 names
res, err := sale.NewSaleClient(cli.Conn()).NamesInternal(l.ctx, &sale.NamesReq{
Type: in.GetNumber(),
Level: uint32(in.GetId()),
})
for _, item := range res.GetItems() {
fmt.Println(item.GetName())
}
// TODO: 批量扣减库存
// items := make([]*product.NumberItem, 0, len(in.GetIds()))
// for _, id := range in.GetIds() {
// items = append(items, &product.NumberItem{
// Id: id,
// Number: in.GetNumber(),
// })
// }
// _, err = product.NewProductClient(cli.Conn()).NumberItems(l.ctx, &product.NumberItemsReq{
// Type: productNumberTypeDecr,
// Items: items,
// })
if err != nil {
l.Errorf("错误信息: %v", err)
l.Errorf("XXXXXXXXXXX: %v", err)
return failResponse(utils.ErrorInternalServer), nil
}
if res == nil {
l.Errorf("res为空")
l.Errorf("XXXXXXXXXXX res为空")
return failResponse(utils.Fail), nil
}
return okResponse(res), nil
return okResponse(nil), nil
}