fix: sale create fields
CI / changes (push) Successful in 14s
CI / docker-bff (push) Successful in 3s
CI / docker-product (push) Successful in 24s
CI / docker-admin (push) Has been skipped
CI / docker-user (push) Has been skipped
CI / docker-ad (push) Has been skipped
CI / docker-chore (push) Successful in 25s
CI / docker-express (push) Has been skipped
CI / docker-sale (push) Successful in 26s

This commit is contained in:
zzw
2026-08-28 15:35:33 +08:00
parent 914a11d05a
commit 53d203ee14
20 changed files with 542 additions and 251 deletions
+35
View File
@@ -1,10 +1,13 @@
package logic
import (
"context"
"strconv"
"lone-services/pkg/modelbase"
"lone-services/pkg/rpcclient"
"lone-services/pkg/utils"
chore "lone-services/rpc/chore/pb"
"lone-services/services/sale/internal/dao"
"lone-services/services/sale/internal/model"
"lone-services/services/sale/validator"
@@ -26,6 +29,38 @@ func buildRegion(province, city, district string) dao.RegionNames {
}
}
func fetchRegionNames(ctx context.Context, choreSvcName string, ids ...int64) (map[int64]string, error) {
seen := make(map[int64]struct{}, len(ids))
reqIds := make([]int64, 0, len(ids))
for _, id := range ids {
if id < utils.NumberOne {
continue
}
if _, ok := seen[id]; ok {
continue
}
seen[id] = struct{}{}
reqIds = append(reqIds, id)
}
result := make(map[int64]string, len(reqIds))
if len(reqIds) < utils.NumberOne {
return result, nil
}
cli, err := rpcclient.Get(choreSvcName)
if err != nil {
return nil, err
}
res, err := chore.NewChoreClient(cli.Conn()).RegionsByIds(ctx, &chore.RegionsByIdsReq{Ids: reqIds})
if err != nil {
return nil, err
}
for _, item := range res.GetItems() {
result[item.GetId()] = item.GetName()
}
return result, nil
}
func querySaleNames(req validator.NamesValidator) ([]dao.SaleNameItem, error) {
w := modelbase.Params{
Eq: map[string]string{"status": strconv.Itoa(int(dao.SaleStatusApproved))},