更新登录接口
CI / changes (push) Successful in 12s
CI / docker-bff (push) Has been skipped
CI / docker-product (push) Has been skipped
CI / docker-admin (push) Successful in 30s
CI / docker-user (push) Has been skipped
CI / docker-ad (push) Has been skipped
CI / docker-chore (push) Has been skipped
CI / docker-express (push) Has been skipped
CI / docker-sale (push) Has been skipped

This commit is contained in:
2026-08-28 16:34:16 +08:00
parent 4e470b527c
commit 23ea6659c2
5 changed files with 43 additions and 31 deletions
@@ -4,6 +4,7 @@ import (
"context"
"lone-services/pkg/modelbase"
"lone-services/pkg/utils"
product "lone-services/rpc/product/pb"
"lone-services/services/order/internal/dao"
"lone-services/services/order/internal/model"
"lone-services/services/order/validator"
@@ -68,7 +69,8 @@ func (l *OrderCreateLogic) OrderCreate(in *order.AdminCreateOrderRequest) (*orde
ww := modelbase.Params{
Eq: map[string]string{
"type": strconv.Itoa(dao.OrderTypeStore),
"type": strconv.Itoa(dao.OrderTypeStore),
"store_id": strconv.FormatInt(adminInfo.ID, utils.NumberTen),
},
}
data.StoreId = int(adminInfo.ID)
@@ -79,7 +81,6 @@ func (l *OrderCreateLogic) OrderCreate(in *order.AdminCreateOrderRequest) (*orde
data.SaleProvince = int(adminInfo.SaleProvince)
data.CreateType = dao.OrderTypeStore
data.Type = dao.OrderTypeStore
ww.Eq["store_id"] = strconv.FormatInt(adminInfo.ID, utils.NumberTen)
data.OrderSn = svc.GetOrderSn(strconv.Itoa(dao.OrderTypeStore), adminInfo.ID)
var cart dao.Cart
@@ -96,6 +97,8 @@ func (l *OrderCreateLogic) OrderCreate(in *order.AdminCreateOrderRequest) (*orde
var totalPrice float64
errData := make(map[int64]int64)
productItems := []dao.OrderProductCreate{}
NumItems := make([]*product.NumberItem, utils.NumberZero)
for _, item := range products.Items {
if buyNum, ok := ids[item.Id]; ok {
if buyNum > int64(item.Number) {
@@ -103,6 +106,8 @@ func (l *OrderCreateLogic) OrderCreate(in *order.AdminCreateOrderRequest) (*orde
return l.out(utils.Fail,
item.Name+"购买数量超出库存,目前可以够买:"+strconv.Itoa(int(item.Number)))
} else {
numItem := &product.NumberItem{Id: item.Id, Number: uint32(buyNum)}
NumItems = append(NumItems, numItem)
keys = append(keys, strconv.Itoa(int(item.Id)))
totalPrice += item.Price * float64(buyNum)
productItems = append(productItems, dao.OrderProductCreate{
@@ -143,20 +148,19 @@ func (l *OrderCreateLogic) OrderCreate(in *order.AdminCreateOrderRequest) (*orde
return l.fail(utils.Fail)
}
//TODO 扣库存接口
//cli, err := svc.GetRpcClient(l.svcCtx.ProductSvcName)
//if err != nil {
// mobileObj.Rollback()
// return l.fail(utils.Fail)
//}
cli, err := svc.GetRpcClient(l.svcCtx.ProductSvcName)
if err != nil {
mobileObj.Rollback()
return l.fail(utils.Fail)
}
//productClient := product.NewProductClient(cli.Conn())
//_, err = productClient.Number(l.ctx, &product.NumberReq{Id: item.Id, Type: utils.NumberOne, Number: buyNum})
//if err != nil {
// mobileObj.Rollback()
// logx.Errorf("get products err: %v", err)
// return l.fail(utils.Fail, "产品库存不足")
//}
productClient := product.NewProductClient(cli.Conn())
_, err = productClient.NumberItems(l.ctx, &product.NumberItemsReq{Type: utils.NumberOne, Items: NumItems})
if err != nil {
mobileObj.Rollback()
logx.Errorf("get products err: %v", err)
return l.out(utils.Fail, "产品库存不足")
}
mobileObj.Commit()
@@ -126,7 +126,7 @@ func (l *WebCreateLogic) WebCreate(in *order.CreateOrderRequest) (*order.Respons
errData := make(map[int64]int64)
productItems := []dao.OrderProductCreate{}
NumItems := make([]*product.NumberItem, 0)
NumItems := make([]*product.NumberItem, utils.NumberZero)
for _, item := range products.Items {
if buyNum, ok := ids[item.Id]; ok {
if buyNum > int64(item.Number) {