This commit is contained in:
2026-08-09 16:20:13 +08:00
parent 4bbed3156c
commit 4fe24d9770
65 changed files with 3 additions and 5585 deletions

View File

@@ -11,9 +11,8 @@ BSM 后端服务的 Go workspace包含基础能力、电商、财务、社交
| `module/finance` | wallet |
| `module/social` | feed、group、relation |
| `protobuf` | 跨服务共享的 protobuf 定义,目前包含 `blocks.proto` |
| `shared` | 跨模块复用的轻量公共代码(日志与 gRPC 连接抽象) |
| `cmd` | 聚合上述服务的单体启动器 |
| `go.work` | 22 个 Go 模块的 workspace 定义 |
| `go.work` | 21 个 Go 模块的 workspace 定义 |
各服务的接口、配置和部署细节见对应 `module/**/README.md`

View File

@@ -22,5 +22,4 @@ use (
./module/social/group
./module/social/relation
./protobuf
./shared
)

View File

@@ -840,6 +840,7 @@ golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4=
golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY=
golang.org/x/text v0.35.0/go.mod h1:khi/HExzZJ2pGnjenulevKNX1W67CUy0AsXcNubPGCA=
golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164=
golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=

View File

@@ -1,7 +0,0 @@
# Actions 编译部署配置文件,文件格式:YAML
#
# 微服务相关配置
service:
origin: bsm
image: golang:1.26.5-bookworm
describe: ec.delivery

View File

@@ -1,3 +0,0 @@
# delivery
配送微服务,团队或公司,车辆,配送人员。

View File

@@ -1,40 +0,0 @@
package service
import (
"log"
"net"
"bsm/full/module/ec/delivery/internal/impl"
"bsm/full/module/ec/delivery/internal/svc"
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
pb "bsm/full/module/ec/delivery/external/pb/delivery"
carServer "bsm/full/module/ec/delivery/internal/server/car"
memberServer "bsm/full/module/ec/delivery/internal/server/member"
teamServer "bsm/full/module/ec/delivery/internal/server/team"
)
const ServiceKey = "delivery"
func Run() {
if err := impl.NewService(ServiceKey); err != nil {
log.Fatal(err)
}
ctx := svc.NewServiceContext(impl.Configure)
listener, err := net.Listen("tcp", impl.Configure.ListenOn)
if err != nil {
log.Fatal(err)
}
server := grpc.NewServer()
pb.RegisterTeamServer(server, teamServer.NewTeamServer(ctx))
pb.RegisterMemberServer(server, memberServer.NewMemberServer(ctx))
pb.RegisterCarServer(server, carServer.NewCarServer(ctx))
reflection.Register(server)
log.Printf("%s listening on %s", ServiceKey, impl.Configure.ListenOn)
if err := server.Serve(listener); err != nil {
log.Fatal(err)
}
}
func main() { Run() }

View File

@@ -1,46 +0,0 @@
Name: {ServiceKey}
ListenOn: 0.0.0.0:12264
Dsn: postgres://postgres:CHANGE_ME@infra.test:5432/{Workspace}_test?sslmode=disable&TimeZone=Asia/Shanghai
# cache DB的选择请在后面直接带参数不带会自动HASH计算选择DB库。
Cache: redis://null:CHANGE_ME@infra.test:6379/
Etcd:
Hosts:
- infra.test:2379
Key: service.{Workspace}.{ServiceKey}.rpc
# 匿名访问清单,自动注入网关层
# Anonymous:
# Key: anonymous.{Workspace}
# Urls:
PayEffectiveTime: '30'
# 日志记录
Log:
ServiceName: {ServiceKey}
Mode: file
Path: logs/{ServiceKey}
Stat: false
# 性能监控, 注释将不启用此功能
#Prometheus:
# Host: 127.0.0.1
# Port: 22202
# Path: /metrics
# 链路追踪, 注释将不启用此功能
#Telemetry:
# Name: {Workspace}.{ServiceKey}.{RuntimeMode}
# Endpoint: http://127.0.0.1:14268/api/traces
# Sampler: 1.0
# Batcher: jaeger
# MQ Pulsar, 注释将不启用此功能
#Pulsar:
# Endpoints: 127.0.0.1
# Token: 9091
# Namespaces: {Workspace}

View File

@@ -1,47 +0,0 @@
Name: {ServiceKey}
ListenOn: 0.0.0.0:12264
Dsn: postgres://postgres:CHANGE_ME@infra.prod:5432/{Workspace}_prod?sslmode=disable&TimeZone=Asia/Shanghai
# cache DB的选择请在后面直接带参数不带会自动HASH计算选择DB库。
Cache: redis://null:CHANGE_ME@infra.prod:6379/
Etcd:
Hosts:
- infra.prod:2379
Key: service.{Workspace}.{ServiceKey}.rpc
# 匿名访问清单,自动注入网关层
# Anonymous:
# Key: anonymous.{Workspace}
# Urls:
# - order.Check.Hello
# 支付有效期时间
PayExpireTime: '30'
# 日志记录
Log:
ServiceName: {ServiceKey}
Mode: file
Path: logs/{ServiceKey}
Stat: false
# 性能监控, 注释将不启用此功能
#Prometheus:
# Host: 127.0.0.1
# Port: 22202
# Path: /metrics
# 链路追踪, 注释将不启用此功能
#Telemetry:
# Name: {Workspace}.{ServiceKey}.{RuntimeMode}
# Endpoint: http://127.0.0.1:14268/api/traces
# Sampler: 1.0
# Batcher: jaeger
# MQ Pulsar, 注释将不启用此功能
#Pulsar:
# Endpoints: 127.0.0.1
# Token: 9091
# Namespaces: {Workspace}

View File

@@ -1,49 +0,0 @@
Name: {ServiceKey}
ListenOn: 0.0.0.0:12264
Dsn: postgres://postgres:CHANGE_ME@infra.test:5432/{Workspace}_test?sslmode=disable&TimeZone=Asia/Shanghai
# cache DB的选择请在后面直接带参数不带会自动HASH计算选择DB库。
Cache: redis://null:CHANGE_ME@infra.test:6379/
Etcd:
Hosts:
- infra.test:2379
Key: service.{Workspace}.{ServiceKey}.rpc
# 匿名访问清单,自动注入网关层
# Anonymous:
# Key: anonymous.{Workspace}
# Urls:
# - order.Check.Hello
# 支付有效期时间
PayExpireTime: '30'
# 日志记录
Log:
ServiceName: {ServiceKey}
Mode: file
Path: logs/{ServiceKey}
Stat: false
# 性能监控, 注释将不启用此功能
#Prometheus:
# Host: 127.0.0.1
# Port: 22202
# Path: /metrics
# 链路追踪, 注释将不启用此功能
#Telemetry:
# Name: {Workspace}.{ServiceKey}.{RuntimeMode}
# Endpoint: http://127.0.0.1:14268/api/traces
# Sampler: 1.0
# Batcher: jaeger
# MQ Pulsar, 注释将不启用此功能
#Pulsar:
# Endpoints: 127.0.0.1
# Token: 9091
# Namespaces: {Workspace}

View File

@@ -1,81 +0,0 @@
// Code generated by goctl. DO NOT EDIT.
// Source: delivery.proto
package car
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/shared/grpcconn"
"google.golang.org/grpc"
)
type (
CarItem = delivery.CarItem
CarListReply = delivery.CarListReply
Empty = delivery.Empty
FetchRequest = delivery.FetchRequest
IdentRequest = delivery.IdentRequest
MemberItem = delivery.MemberItem
MemberListReply = delivery.MemberListReply
SearchRequest = delivery.SearchRequest
StatusReply = delivery.StatusReply
TeamItem = delivery.TeamItem
TeamListReply = delivery.TeamListReply
VersionRequest = delivery.VersionRequest
Car interface {
// 配送车辆列表
CarList(ctx context.Context, in *FetchRequest, opts ...grpc.CallOption) (*CarListReply, error)
// 添加配送车辆信息
CarAdd(ctx context.Context, in *CarItem, opts ...grpc.CallOption) (*StatusReply, error)
// 获取配送车辆信息
CarGet(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*CarItem, error)
// 修改配送车辆信息
CarSet(ctx context.Context, in *CarItem, opts ...grpc.CallOption) (*StatusReply, error)
// 删除配送车辆信息
CarDel(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*StatusReply, error)
}
defaultCar struct {
cli grpcconn.Provider
}
)
func NewCar(cli grpcconn.Provider) Car {
return &defaultCar{
cli: cli,
}
}
// 配送车辆列表
func (m *defaultCar) CarList(ctx context.Context, in *FetchRequest, opts ...grpc.CallOption) (*CarListReply, error) {
client := delivery.NewCarClient(m.cli.Conn())
return client.CarList(ctx, in, opts...)
}
// 添加配送车辆信息
func (m *defaultCar) CarAdd(ctx context.Context, in *CarItem, opts ...grpc.CallOption) (*StatusReply, error) {
client := delivery.NewCarClient(m.cli.Conn())
return client.CarAdd(ctx, in, opts...)
}
// 获取配送车辆信息
func (m *defaultCar) CarGet(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*CarItem, error) {
client := delivery.NewCarClient(m.cli.Conn())
return client.CarGet(ctx, in, opts...)
}
// 修改配送车辆信息
func (m *defaultCar) CarSet(ctx context.Context, in *CarItem, opts ...grpc.CallOption) (*StatusReply, error) {
client := delivery.NewCarClient(m.cli.Conn())
return client.CarSet(ctx, in, opts...)
}
// 删除配送车辆信息
func (m *defaultCar) CarDel(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*StatusReply, error) {
client := delivery.NewCarClient(m.cli.Conn())
return client.CarDel(ctx, in, opts...)
}

View File

@@ -1,81 +0,0 @@
// Code generated by goctl. DO NOT EDIT.
// Source: delivery.proto
package member
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/shared/grpcconn"
"google.golang.org/grpc"
)
type (
CarItem = delivery.CarItem
CarListReply = delivery.CarListReply
Empty = delivery.Empty
FetchRequest = delivery.FetchRequest
IdentRequest = delivery.IdentRequest
MemberItem = delivery.MemberItem
MemberListReply = delivery.MemberListReply
SearchRequest = delivery.SearchRequest
StatusReply = delivery.StatusReply
TeamItem = delivery.TeamItem
TeamListReply = delivery.TeamListReply
VersionRequest = delivery.VersionRequest
Member interface {
// 获取配送员列表
MemberList(ctx context.Context, in *FetchRequest, opts ...grpc.CallOption) (*MemberListReply, error)
// 添加配送员
MemberAdd(ctx context.Context, in *MemberItem, opts ...grpc.CallOption) (*StatusReply, error)
// 获取配送员数据
MemberGet(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*MemberItem, error)
// 修改配送员
MemberSet(ctx context.Context, in *MemberItem, opts ...grpc.CallOption) (*StatusReply, error)
// 删除配送员
MemberDel(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*StatusReply, error)
}
defaultMember struct {
cli grpcconn.Provider
}
)
func NewMember(cli grpcconn.Provider) Member {
return &defaultMember{
cli: cli,
}
}
// 获取配送员列表
func (m *defaultMember) MemberList(ctx context.Context, in *FetchRequest, opts ...grpc.CallOption) (*MemberListReply, error) {
client := delivery.NewMemberClient(m.cli.Conn())
return client.MemberList(ctx, in, opts...)
}
// 添加配送员
func (m *defaultMember) MemberAdd(ctx context.Context, in *MemberItem, opts ...grpc.CallOption) (*StatusReply, error) {
client := delivery.NewMemberClient(m.cli.Conn())
return client.MemberAdd(ctx, in, opts...)
}
// 获取配送员数据
func (m *defaultMember) MemberGet(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*MemberItem, error) {
client := delivery.NewMemberClient(m.cli.Conn())
return client.MemberGet(ctx, in, opts...)
}
// 修改配送员
func (m *defaultMember) MemberSet(ctx context.Context, in *MemberItem, opts ...grpc.CallOption) (*StatusReply, error) {
client := delivery.NewMemberClient(m.cli.Conn())
return client.MemberSet(ctx, in, opts...)
}
// 删除配送员
func (m *defaultMember) MemberDel(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*StatusReply, error) {
client := delivery.NewMemberClient(m.cli.Conn())
return client.MemberDel(ctx, in, opts...)
}

View File

@@ -1,81 +0,0 @@
// Code generated by goctl. DO NOT EDIT.
// Source: delivery.proto
package team
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/shared/grpcconn"
"google.golang.org/grpc"
)
type (
CarItem = delivery.CarItem
CarListReply = delivery.CarListReply
Empty = delivery.Empty
FetchRequest = delivery.FetchRequest
IdentRequest = delivery.IdentRequest
MemberItem = delivery.MemberItem
MemberListReply = delivery.MemberListReply
SearchRequest = delivery.SearchRequest
StatusReply = delivery.StatusReply
TeamItem = delivery.TeamItem
TeamListReply = delivery.TeamListReply
VersionRequest = delivery.VersionRequest
Team interface {
// 配送团队列表
TeamList(ctx context.Context, in *FetchRequest, opts ...grpc.CallOption) (*TeamListReply, error)
// 添加配送团队
TeamAdd(ctx context.Context, in *TeamItem, opts ...grpc.CallOption) (*StatusReply, error)
// 配送团队详情
TeamGet(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*TeamItem, error)
// 修改配送团队信息
TeamSet(ctx context.Context, in *TeamItem, opts ...grpc.CallOption) (*StatusReply, error)
// 删除配送团队
TeamDel(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*StatusReply, error)
}
defaultTeam struct {
cli grpcconn.Provider
}
)
func NewTeam(cli grpcconn.Provider) Team {
return &defaultTeam{
cli: cli,
}
}
// 配送团队列表
func (m *defaultTeam) TeamList(ctx context.Context, in *FetchRequest, opts ...grpc.CallOption) (*TeamListReply, error) {
client := delivery.NewTeamClient(m.cli.Conn())
return client.TeamList(ctx, in, opts...)
}
// 添加配送团队
func (m *defaultTeam) TeamAdd(ctx context.Context, in *TeamItem, opts ...grpc.CallOption) (*StatusReply, error) {
client := delivery.NewTeamClient(m.cli.Conn())
return client.TeamAdd(ctx, in, opts...)
}
// 配送团队详情
func (m *defaultTeam) TeamGet(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*TeamItem, error) {
client := delivery.NewTeamClient(m.cli.Conn())
return client.TeamGet(ctx, in, opts...)
}
// 修改配送团队信息
func (m *defaultTeam) TeamSet(ctx context.Context, in *TeamItem, opts ...grpc.CallOption) (*StatusReply, error) {
client := delivery.NewTeamClient(m.cli.Conn())
return client.TeamSet(ctx, in, opts...)
}
// 删除配送团队
func (m *defaultTeam) TeamDel(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*StatusReply, error) {
client := delivery.NewTeamClient(m.cli.Conn())
return client.TeamDel(ctx, in, opts...)
}

View File

@@ -1,10 +0,0 @@
package delivery
import blocks "bsm/full/protobuf"
type Empty = blocks.Empty
type FetchRequest = blocks.FetchRequest
type IdentRequest = blocks.IdentRequest
type VersionRequest = blocks.VersionRequest
type SearchRequest = blocks.SearchRequest
type StatusReply = blocks.DeliveryStatusReply

View File

@@ -1,271 +0,0 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v7.35.0
// source: module/ec/delivery/proto/car.proto
package delivery
import (
protobuf "bsm/full/protobuf"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type CarListReply struct {
state protoimpl.MessageState `protogen:"open.v1"`
Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
List []*CarItem `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CarListReply) Reset() {
*x = CarListReply{}
mi := &file_module_ec_delivery_proto_car_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CarListReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CarListReply) ProtoMessage() {}
func (x *CarListReply) ProtoReflect() protoreflect.Message {
mi := &file_module_ec_delivery_proto_car_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CarListReply.ProtoReflect.Descriptor instead.
func (*CarListReply) Descriptor() ([]byte, []int) {
return file_module_ec_delivery_proto_car_proto_rawDescGZIP(), []int{0}
}
func (x *CarListReply) GetCount() int64 {
if x != nil {
return x.Count
}
return 0
}
func (x *CarListReply) GetList() []*CarItem {
if x != nil {
return x.List
}
return nil
}
type CarItem struct {
state protoimpl.MessageState `protogen:"open.v1"`
Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` // 唯一标识
Brand string `protobuf:"bytes,2,opt,name=brand,proto3" json:"brand,omitempty"` // 品牌
Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` // 型号
LicenseNumber string `protobuf:"bytes,4,opt,name=license_number,json=licenseNumber,proto3" json:"license_number,omitempty"` // 车牌号
TeamIdentity string `protobuf:"bytes,5,opt,name=team_identity,json=teamIdentity,proto3" json:"team_identity,omitempty"` // 团队唯一标识
Contacts string `protobuf:"bytes,6,opt,name=contacts,proto3" json:"contacts,omitempty"` // 联系人姓名
Phone string `protobuf:"bytes,7,opt,name=phone,proto3" json:"phone,omitempty"` // 联系人电话
Status int64 `protobuf:"varint,8,opt,name=status,proto3" json:"status,omitempty"` // 状态1正常;-1禁用
Picture string `protobuf:"bytes,9,opt,name=picture,proto3" json:"picture,omitempty"` // 车辆图片
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CarItem) Reset() {
*x = CarItem{}
mi := &file_module_ec_delivery_proto_car_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CarItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CarItem) ProtoMessage() {}
func (x *CarItem) ProtoReflect() protoreflect.Message {
mi := &file_module_ec_delivery_proto_car_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CarItem.ProtoReflect.Descriptor instead.
func (*CarItem) Descriptor() ([]byte, []int) {
return file_module_ec_delivery_proto_car_proto_rawDescGZIP(), []int{1}
}
func (x *CarItem) GetIdentity() string {
if x != nil {
return x.Identity
}
return ""
}
func (x *CarItem) GetBrand() string {
if x != nil {
return x.Brand
}
return ""
}
func (x *CarItem) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
func (x *CarItem) GetLicenseNumber() string {
if x != nil {
return x.LicenseNumber
}
return ""
}
func (x *CarItem) GetTeamIdentity() string {
if x != nil {
return x.TeamIdentity
}
return ""
}
func (x *CarItem) GetContacts() string {
if x != nil {
return x.Contacts
}
return ""
}
func (x *CarItem) GetPhone() string {
if x != nil {
return x.Phone
}
return ""
}
func (x *CarItem) GetStatus() int64 {
if x != nil {
return x.Status
}
return 0
}
func (x *CarItem) GetPicture() string {
if x != nil {
return x.Picture
}
return ""
}
var File_module_ec_delivery_proto_car_proto protoreflect.FileDescriptor
const file_module_ec_delivery_proto_car_proto_rawDesc = "" +
"\n" +
"\"module/ec/delivery/proto/car.proto\x12\bdelivery\x1a\x15protobuf/blocks.proto\"K\n" +
"\fCarListReply\x12\x14\n" +
"\x05count\x18\x01 \x01(\x03R\x05count\x12%\n" +
"\x04list\x18\x02 \x03(\v2\x11.delivery.CarItemR\x04list\"\x85\x02\n" +
"\aCarItem\x12\x1a\n" +
"\bidentity\x18\x01 \x01(\tR\bidentity\x12\x14\n" +
"\x05brand\x18\x02 \x01(\tR\x05brand\x12\x18\n" +
"\aversion\x18\x03 \x01(\tR\aversion\x12%\n" +
"\x0elicense_number\x18\x04 \x01(\tR\rlicenseNumber\x12#\n" +
"\rteam_identity\x18\x05 \x01(\tR\fteamIdentity\x12\x1a\n" +
"\bcontacts\x18\x06 \x01(\tR\bcontacts\x12\x14\n" +
"\x05phone\x18\a \x01(\tR\x05phone\x12\x16\n" +
"\x06status\x18\b \x01(\x03R\x06status\x12\x18\n" +
"\apicture\x18\t \x01(\tR\apicture2\xac\x02\n" +
"\x03Car\x129\n" +
"\aCarList\x12\x14.blocks.FetchRequest\x1a\x16.delivery.CarListReply\"\x00\x12:\n" +
"\x06CarAdd\x12\x11.delivery.CarItem\x1a\x1b.blocks.DeliveryStatusReply\"\x00\x123\n" +
"\x06CarGet\x12\x14.blocks.IdentRequest\x1a\x11.delivery.CarItem\"\x00\x12:\n" +
"\x06CarSet\x12\x11.delivery.CarItem\x1a\x1b.blocks.DeliveryStatusReply\"\x00\x12=\n" +
"\x06CarDel\x12\x14.blocks.IdentRequest\x1a\x1b.blocks.DeliveryStatusReply\"\x00B;Z9bsm/full/module/ec/delivery/external/pb/delivery;deliveryb\x06proto3"
var (
file_module_ec_delivery_proto_car_proto_rawDescOnce sync.Once
file_module_ec_delivery_proto_car_proto_rawDescData []byte
)
func file_module_ec_delivery_proto_car_proto_rawDescGZIP() []byte {
file_module_ec_delivery_proto_car_proto_rawDescOnce.Do(func() {
file_module_ec_delivery_proto_car_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_module_ec_delivery_proto_car_proto_rawDesc), len(file_module_ec_delivery_proto_car_proto_rawDesc)))
})
return file_module_ec_delivery_proto_car_proto_rawDescData
}
var file_module_ec_delivery_proto_car_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_module_ec_delivery_proto_car_proto_goTypes = []any{
(*CarListReply)(nil), // 0: delivery.CarListReply
(*CarItem)(nil), // 1: delivery.CarItem
(*protobuf.FetchRequest)(nil), // 2: blocks.FetchRequest
(*protobuf.IdentRequest)(nil), // 3: blocks.IdentRequest
(*protobuf.DeliveryStatusReply)(nil), // 4: blocks.DeliveryStatusReply
}
var file_module_ec_delivery_proto_car_proto_depIdxs = []int32{
1, // 0: delivery.CarListReply.list:type_name -> delivery.CarItem
2, // 1: delivery.Car.CarList:input_type -> blocks.FetchRequest
1, // 2: delivery.Car.CarAdd:input_type -> delivery.CarItem
3, // 3: delivery.Car.CarGet:input_type -> blocks.IdentRequest
1, // 4: delivery.Car.CarSet:input_type -> delivery.CarItem
3, // 5: delivery.Car.CarDel:input_type -> blocks.IdentRequest
0, // 6: delivery.Car.CarList:output_type -> delivery.CarListReply
4, // 7: delivery.Car.CarAdd:output_type -> blocks.DeliveryStatusReply
1, // 8: delivery.Car.CarGet:output_type -> delivery.CarItem
4, // 9: delivery.Car.CarSet:output_type -> blocks.DeliveryStatusReply
4, // 10: delivery.Car.CarDel:output_type -> blocks.DeliveryStatusReply
6, // [6:11] is the sub-list for method output_type
1, // [1:6] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_module_ec_delivery_proto_car_proto_init() }
func file_module_ec_delivery_proto_car_proto_init() {
if File_module_ec_delivery_proto_car_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_module_ec_delivery_proto_car_proto_rawDesc), len(file_module_ec_delivery_proto_car_proto_rawDesc)),
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_module_ec_delivery_proto_car_proto_goTypes,
DependencyIndexes: file_module_ec_delivery_proto_car_proto_depIdxs,
MessageInfos: file_module_ec_delivery_proto_car_proto_msgTypes,
}.Build()
File_module_ec_delivery_proto_car_proto = out.File
file_module_ec_delivery_proto_car_proto_goTypes = nil
file_module_ec_delivery_proto_car_proto_depIdxs = nil
}

View File

@@ -1,422 +0,0 @@
// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
// source: module/ec/delivery/proto/car.proto
/*
Package delivery is a reverse proxy.
It translates gRPC into RESTful JSON APIs.
*/
package delivery
import (
"bsm/full/protobuf"
"context"
"errors"
"io"
"net/http"
"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
"github.com/grpc-ecosystem/grpc-gateway/v2/utilities"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/grpclog"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/proto"
)
// Suppress "imported and not used" errors
var (
_ codes.Code
_ io.Reader
_ status.Status
_ = errors.New
_ = runtime.String
_ = utilities.NewDoubleArray
_ = metadata.Join
)
func request_Car_CarList_0(ctx context.Context, marshaler runtime.Marshaler, client CarClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.FetchRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.CarList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Car_CarList_0(ctx context.Context, marshaler runtime.Marshaler, server CarServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.FetchRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.CarList(ctx, &protoReq)
return msg, metadata, err
}
func request_Car_CarAdd_0(ctx context.Context, marshaler runtime.Marshaler, client CarClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq CarItem
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.CarAdd(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Car_CarAdd_0(ctx context.Context, marshaler runtime.Marshaler, server CarServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq CarItem
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.CarAdd(ctx, &protoReq)
return msg, metadata, err
}
func request_Car_CarGet_0(ctx context.Context, marshaler runtime.Marshaler, client CarClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.IdentRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.CarGet(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Car_CarGet_0(ctx context.Context, marshaler runtime.Marshaler, server CarServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.IdentRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.CarGet(ctx, &protoReq)
return msg, metadata, err
}
func request_Car_CarSet_0(ctx context.Context, marshaler runtime.Marshaler, client CarClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq CarItem
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.CarSet(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Car_CarSet_0(ctx context.Context, marshaler runtime.Marshaler, server CarServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq CarItem
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.CarSet(ctx, &protoReq)
return msg, metadata, err
}
func request_Car_CarDel_0(ctx context.Context, marshaler runtime.Marshaler, client CarClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.IdentRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.CarDel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Car_CarDel_0(ctx context.Context, marshaler runtime.Marshaler, server CarServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.IdentRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.CarDel(ctx, &protoReq)
return msg, metadata, err
}
// RegisterCarHandlerServer registers the http handlers for service Car to "mux".
// UnaryRPC :call CarServer directly.
// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterCarHandlerFromEndpoint instead.
// GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call.
func RegisterCarHandlerServer(ctx context.Context, mux *runtime.ServeMux, server CarServer) error {
mux.Handle(http.MethodPost, pattern_Car_CarList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Car/CarList", runtime.WithHTTPPathPattern("/delivery.Car/CarList"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Car_CarList_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Car_CarList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Car_CarAdd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Car/CarAdd", runtime.WithHTTPPathPattern("/delivery.Car/CarAdd"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Car_CarAdd_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Car_CarAdd_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Car_CarGet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Car/CarGet", runtime.WithHTTPPathPattern("/delivery.Car/CarGet"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Car_CarGet_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Car_CarGet_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Car_CarSet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Car/CarSet", runtime.WithHTTPPathPattern("/delivery.Car/CarSet"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Car_CarSet_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Car_CarSet_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Car_CarDel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Car/CarDel", runtime.WithHTTPPathPattern("/delivery.Car/CarDel"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Car_CarDel_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Car_CarDel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
return nil
}
// RegisterCarHandlerFromEndpoint is same as RegisterCarHandler but
// automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterCarHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
conn, err := grpc.NewClient(endpoint, opts...)
if err != nil {
return err
}
defer func() {
if err != nil {
if cerr := conn.Close(); cerr != nil {
grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
}
return
}
go func() {
<-ctx.Done()
if cerr := conn.Close(); cerr != nil {
grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
}
}()
}()
return RegisterCarHandler(ctx, mux, conn)
}
// RegisterCarHandler registers the http handlers for service Car to "mux".
// The handlers forward requests to the grpc endpoint over "conn".
func RegisterCarHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
return RegisterCarHandlerClient(ctx, mux, NewCarClient(conn))
}
// RegisterCarHandlerClient registers the http handlers for service Car
// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "CarClient".
// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "CarClient"
// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
// "CarClient" to call the correct interceptors. This client ignores the HTTP middlewares.
func RegisterCarHandlerClient(ctx context.Context, mux *runtime.ServeMux, client CarClient) error {
mux.Handle(http.MethodPost, pattern_Car_CarList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Car/CarList", runtime.WithHTTPPathPattern("/delivery.Car/CarList"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Car_CarList_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Car_CarList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Car_CarAdd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Car/CarAdd", runtime.WithHTTPPathPattern("/delivery.Car/CarAdd"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Car_CarAdd_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Car_CarAdd_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Car_CarGet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Car/CarGet", runtime.WithHTTPPathPattern("/delivery.Car/CarGet"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Car_CarGet_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Car_CarGet_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Car_CarSet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Car/CarSet", runtime.WithHTTPPathPattern("/delivery.Car/CarSet"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Car_CarSet_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Car_CarSet_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Car_CarDel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Car/CarDel", runtime.WithHTTPPathPattern("/delivery.Car/CarDel"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Car_CarDel_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Car_CarDel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
return nil
}
var (
pattern_Car_CarList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Car", "CarList"}, ""))
pattern_Car_CarAdd_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Car", "CarAdd"}, ""))
pattern_Car_CarGet_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Car", "CarGet"}, ""))
pattern_Car_CarSet_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Car", "CarSet"}, ""))
pattern_Car_CarDel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Car", "CarDel"}, ""))
)
var (
forward_Car_CarList_0 = runtime.ForwardResponseMessage
forward_Car_CarAdd_0 = runtime.ForwardResponseMessage
forward_Car_CarGet_0 = runtime.ForwardResponseMessage
forward_Car_CarSet_0 = runtime.ForwardResponseMessage
forward_Car_CarDel_0 = runtime.ForwardResponseMessage
)

View File

@@ -1,286 +0,0 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.6.2
// - protoc v7.35.0
// source: module/ec/delivery/proto/car.proto
package delivery
import (
protobuf "bsm/full/protobuf"
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
Car_CarList_FullMethodName = "/delivery.Car/CarList"
Car_CarAdd_FullMethodName = "/delivery.Car/CarAdd"
Car_CarGet_FullMethodName = "/delivery.Car/CarGet"
Car_CarSet_FullMethodName = "/delivery.Car/CarSet"
Car_CarDel_FullMethodName = "/delivery.Car/CarDel"
)
// CarClient is the client API for Car service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
//
// Delivery(配送)微服务
type CarClient interface {
// 配送车辆列表
CarList(ctx context.Context, in *protobuf.FetchRequest, opts ...grpc.CallOption) (*CarListReply, error)
// 添加配送车辆信息
CarAdd(ctx context.Context, in *CarItem, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error)
// 获取配送车辆信息
CarGet(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*CarItem, error)
// 修改配送车辆信息
CarSet(ctx context.Context, in *CarItem, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error)
// 删除配送车辆信息
CarDel(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error)
}
type carClient struct {
cc grpc.ClientConnInterface
}
func NewCarClient(cc grpc.ClientConnInterface) CarClient {
return &carClient{cc}
}
func (c *carClient) CarList(ctx context.Context, in *protobuf.FetchRequest, opts ...grpc.CallOption) (*CarListReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(CarListReply)
err := c.cc.Invoke(ctx, Car_CarList_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *carClient) CarAdd(ctx context.Context, in *CarItem, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(protobuf.DeliveryStatusReply)
err := c.cc.Invoke(ctx, Car_CarAdd_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *carClient) CarGet(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*CarItem, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(CarItem)
err := c.cc.Invoke(ctx, Car_CarGet_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *carClient) CarSet(ctx context.Context, in *CarItem, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(protobuf.DeliveryStatusReply)
err := c.cc.Invoke(ctx, Car_CarSet_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *carClient) CarDel(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(protobuf.DeliveryStatusReply)
err := c.cc.Invoke(ctx, Car_CarDel_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// CarServer is the server API for Car service.
// All implementations should embed UnimplementedCarServer
// for forward compatibility.
//
// Delivery(配送)微服务
type CarServer interface {
// 配送车辆列表
CarList(context.Context, *protobuf.FetchRequest) (*CarListReply, error)
// 添加配送车辆信息
CarAdd(context.Context, *CarItem) (*protobuf.DeliveryStatusReply, error)
// 获取配送车辆信息
CarGet(context.Context, *protobuf.IdentRequest) (*CarItem, error)
// 修改配送车辆信息
CarSet(context.Context, *CarItem) (*protobuf.DeliveryStatusReply, error)
// 删除配送车辆信息
CarDel(context.Context, *protobuf.IdentRequest) (*protobuf.DeliveryStatusReply, error)
}
// UnimplementedCarServer should be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedCarServer struct{}
func (UnimplementedCarServer) CarList(context.Context, *protobuf.FetchRequest) (*CarListReply, error) {
return nil, status.Error(codes.Unimplemented, "method CarList not implemented")
}
func (UnimplementedCarServer) CarAdd(context.Context, *CarItem) (*protobuf.DeliveryStatusReply, error) {
return nil, status.Error(codes.Unimplemented, "method CarAdd not implemented")
}
func (UnimplementedCarServer) CarGet(context.Context, *protobuf.IdentRequest) (*CarItem, error) {
return nil, status.Error(codes.Unimplemented, "method CarGet not implemented")
}
func (UnimplementedCarServer) CarSet(context.Context, *CarItem) (*protobuf.DeliveryStatusReply, error) {
return nil, status.Error(codes.Unimplemented, "method CarSet not implemented")
}
func (UnimplementedCarServer) CarDel(context.Context, *protobuf.IdentRequest) (*protobuf.DeliveryStatusReply, error) {
return nil, status.Error(codes.Unimplemented, "method CarDel not implemented")
}
func (UnimplementedCarServer) testEmbeddedByValue() {}
// UnsafeCarServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to CarServer will
// result in compilation errors.
type UnsafeCarServer interface {
mustEmbedUnimplementedCarServer()
}
func RegisterCarServer(s grpc.ServiceRegistrar, srv CarServer) {
// If the following call panics, it indicates UnimplementedCarServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&Car_ServiceDesc, srv)
}
func _Car_CarList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(protobuf.FetchRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CarServer).CarList(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Car_CarList_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CarServer).CarList(ctx, req.(*protobuf.FetchRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Car_CarAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CarItem)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CarServer).CarAdd(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Car_CarAdd_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CarServer).CarAdd(ctx, req.(*CarItem))
}
return interceptor(ctx, in, info, handler)
}
func _Car_CarGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(protobuf.IdentRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CarServer).CarGet(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Car_CarGet_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CarServer).CarGet(ctx, req.(*protobuf.IdentRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Car_CarSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(CarItem)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CarServer).CarSet(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Car_CarSet_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CarServer).CarSet(ctx, req.(*CarItem))
}
return interceptor(ctx, in, info, handler)
}
func _Car_CarDel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(protobuf.IdentRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(CarServer).CarDel(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Car_CarDel_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(CarServer).CarDel(ctx, req.(*protobuf.IdentRequest))
}
return interceptor(ctx, in, info, handler)
}
// Car_ServiceDesc is the grpc.ServiceDesc for Car service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Car_ServiceDesc = grpc.ServiceDesc{
ServiceName: "delivery.Car",
HandlerType: (*CarServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "CarList",
Handler: _Car_CarList_Handler,
},
{
MethodName: "CarAdd",
Handler: _Car_CarAdd_Handler,
},
{
MethodName: "CarGet",
Handler: _Car_CarGet_Handler,
},
{
MethodName: "CarSet",
Handler: _Car_CarSet_Handler,
},
{
MethodName: "CarDel",
Handler: _Car_CarDel_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "module/ec/delivery/proto/car.proto",
}

View File

@@ -1,255 +0,0 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v7.35.0
// source: module/ec/delivery/proto/member.proto
package delivery
import (
protobuf "bsm/full/protobuf"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type MemberItem struct {
state protoimpl.MessageState `protogen:"open.v1"`
Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` // 唯一标识
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // 姓名
TeamIdentity string `protobuf:"bytes,3,opt,name=team_identity,json=teamIdentity,proto3" json:"team_identity,omitempty"` // 团队唯一标识
Picture string `protobuf:"bytes,4,opt,name=picture,proto3" json:"picture,omitempty"` // 头像
Phone string `protobuf:"bytes,5,opt,name=phone,proto3" json:"phone,omitempty"` // 联系人电话
Status int64 `protobuf:"varint,6,opt,name=status,proto3" json:"status,omitempty"` // 状态1正常;-1禁用
Turnover int64 `protobuf:"varint,7,opt,name=turnover,proto3" json:"turnover,omitempty"` // 总成交量
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MemberItem) Reset() {
*x = MemberItem{}
mi := &file_module_ec_delivery_proto_member_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MemberItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MemberItem) ProtoMessage() {}
func (x *MemberItem) ProtoReflect() protoreflect.Message {
mi := &file_module_ec_delivery_proto_member_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MemberItem.ProtoReflect.Descriptor instead.
func (*MemberItem) Descriptor() ([]byte, []int) {
return file_module_ec_delivery_proto_member_proto_rawDescGZIP(), []int{0}
}
func (x *MemberItem) GetIdentity() string {
if x != nil {
return x.Identity
}
return ""
}
func (x *MemberItem) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *MemberItem) GetTeamIdentity() string {
if x != nil {
return x.TeamIdentity
}
return ""
}
func (x *MemberItem) GetPicture() string {
if x != nil {
return x.Picture
}
return ""
}
func (x *MemberItem) GetPhone() string {
if x != nil {
return x.Phone
}
return ""
}
func (x *MemberItem) GetStatus() int64 {
if x != nil {
return x.Status
}
return 0
}
func (x *MemberItem) GetTurnover() int64 {
if x != nil {
return x.Turnover
}
return 0
}
type MemberListReply struct {
state protoimpl.MessageState `protogen:"open.v1"`
Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
List []*MemberItem `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *MemberListReply) Reset() {
*x = MemberListReply{}
mi := &file_module_ec_delivery_proto_member_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *MemberListReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MemberListReply) ProtoMessage() {}
func (x *MemberListReply) ProtoReflect() protoreflect.Message {
mi := &file_module_ec_delivery_proto_member_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MemberListReply.ProtoReflect.Descriptor instead.
func (*MemberListReply) Descriptor() ([]byte, []int) {
return file_module_ec_delivery_proto_member_proto_rawDescGZIP(), []int{1}
}
func (x *MemberListReply) GetCount() int64 {
if x != nil {
return x.Count
}
return 0
}
func (x *MemberListReply) GetList() []*MemberItem {
if x != nil {
return x.List
}
return nil
}
var File_module_ec_delivery_proto_member_proto protoreflect.FileDescriptor
const file_module_ec_delivery_proto_member_proto_rawDesc = "" +
"\n" +
"%module/ec/delivery/proto/member.proto\x12\bdelivery\x1a\x15protobuf/blocks.proto\"\xc5\x01\n" +
"\n" +
"MemberItem\x12\x1a\n" +
"\bidentity\x18\x01 \x01(\tR\bidentity\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12#\n" +
"\rteam_identity\x18\x03 \x01(\tR\fteamIdentity\x12\x18\n" +
"\apicture\x18\x04 \x01(\tR\apicture\x12\x14\n" +
"\x05phone\x18\x05 \x01(\tR\x05phone\x12\x16\n" +
"\x06status\x18\x06 \x01(\x03R\x06status\x12\x1a\n" +
"\bturnover\x18\a \x01(\x03R\bturnover\"Q\n" +
"\x0fMemberListReply\x12\x14\n" +
"\x05count\x18\x01 \x01(\x03R\x05count\x12(\n" +
"\x04list\x18\x02 \x03(\v2\x14.delivery.MemberItemR\x04list2\xca\x02\n" +
"\x06Member\x12?\n" +
"\n" +
"MemberList\x12\x14.blocks.FetchRequest\x1a\x19.delivery.MemberListReply\"\x00\x12@\n" +
"\tMemberAdd\x12\x14.delivery.MemberItem\x1a\x1b.blocks.DeliveryStatusReply\"\x00\x129\n" +
"\tMemberGet\x12\x14.blocks.IdentRequest\x1a\x14.delivery.MemberItem\"\x00\x12@\n" +
"\tMemberSet\x12\x14.delivery.MemberItem\x1a\x1b.blocks.DeliveryStatusReply\"\x00\x12@\n" +
"\tMemberDel\x12\x14.blocks.IdentRequest\x1a\x1b.blocks.DeliveryStatusReply\"\x00B;Z9bsm/full/module/ec/delivery/external/pb/delivery;deliveryb\x06proto3"
var (
file_module_ec_delivery_proto_member_proto_rawDescOnce sync.Once
file_module_ec_delivery_proto_member_proto_rawDescData []byte
)
func file_module_ec_delivery_proto_member_proto_rawDescGZIP() []byte {
file_module_ec_delivery_proto_member_proto_rawDescOnce.Do(func() {
file_module_ec_delivery_proto_member_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_module_ec_delivery_proto_member_proto_rawDesc), len(file_module_ec_delivery_proto_member_proto_rawDesc)))
})
return file_module_ec_delivery_proto_member_proto_rawDescData
}
var file_module_ec_delivery_proto_member_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_module_ec_delivery_proto_member_proto_goTypes = []any{
(*MemberItem)(nil), // 0: delivery.MemberItem
(*MemberListReply)(nil), // 1: delivery.MemberListReply
(*protobuf.FetchRequest)(nil), // 2: blocks.FetchRequest
(*protobuf.IdentRequest)(nil), // 3: blocks.IdentRequest
(*protobuf.DeliveryStatusReply)(nil), // 4: blocks.DeliveryStatusReply
}
var file_module_ec_delivery_proto_member_proto_depIdxs = []int32{
0, // 0: delivery.MemberListReply.list:type_name -> delivery.MemberItem
2, // 1: delivery.Member.MemberList:input_type -> blocks.FetchRequest
0, // 2: delivery.Member.MemberAdd:input_type -> delivery.MemberItem
3, // 3: delivery.Member.MemberGet:input_type -> blocks.IdentRequest
0, // 4: delivery.Member.MemberSet:input_type -> delivery.MemberItem
3, // 5: delivery.Member.MemberDel:input_type -> blocks.IdentRequest
1, // 6: delivery.Member.MemberList:output_type -> delivery.MemberListReply
4, // 7: delivery.Member.MemberAdd:output_type -> blocks.DeliveryStatusReply
0, // 8: delivery.Member.MemberGet:output_type -> delivery.MemberItem
4, // 9: delivery.Member.MemberSet:output_type -> blocks.DeliveryStatusReply
4, // 10: delivery.Member.MemberDel:output_type -> blocks.DeliveryStatusReply
6, // [6:11] is the sub-list for method output_type
1, // [1:6] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_module_ec_delivery_proto_member_proto_init() }
func file_module_ec_delivery_proto_member_proto_init() {
if File_module_ec_delivery_proto_member_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_module_ec_delivery_proto_member_proto_rawDesc), len(file_module_ec_delivery_proto_member_proto_rawDesc)),
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_module_ec_delivery_proto_member_proto_goTypes,
DependencyIndexes: file_module_ec_delivery_proto_member_proto_depIdxs,
MessageInfos: file_module_ec_delivery_proto_member_proto_msgTypes,
}.Build()
File_module_ec_delivery_proto_member_proto = out.File
file_module_ec_delivery_proto_member_proto_goTypes = nil
file_module_ec_delivery_proto_member_proto_depIdxs = nil
}

View File

@@ -1,422 +0,0 @@
// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
// source: module/ec/delivery/proto/member.proto
/*
Package delivery is a reverse proxy.
It translates gRPC into RESTful JSON APIs.
*/
package delivery
import (
"bsm/full/protobuf"
"context"
"errors"
"io"
"net/http"
"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
"github.com/grpc-ecosystem/grpc-gateway/v2/utilities"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/grpclog"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/proto"
)
// Suppress "imported and not used" errors
var (
_ codes.Code
_ io.Reader
_ status.Status
_ = errors.New
_ = runtime.String
_ = utilities.NewDoubleArray
_ = metadata.Join
)
func request_Member_MemberList_0(ctx context.Context, marshaler runtime.Marshaler, client MemberClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.FetchRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.MemberList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Member_MemberList_0(ctx context.Context, marshaler runtime.Marshaler, server MemberServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.FetchRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.MemberList(ctx, &protoReq)
return msg, metadata, err
}
func request_Member_MemberAdd_0(ctx context.Context, marshaler runtime.Marshaler, client MemberClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq MemberItem
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.MemberAdd(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Member_MemberAdd_0(ctx context.Context, marshaler runtime.Marshaler, server MemberServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq MemberItem
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.MemberAdd(ctx, &protoReq)
return msg, metadata, err
}
func request_Member_MemberGet_0(ctx context.Context, marshaler runtime.Marshaler, client MemberClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.IdentRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.MemberGet(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Member_MemberGet_0(ctx context.Context, marshaler runtime.Marshaler, server MemberServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.IdentRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.MemberGet(ctx, &protoReq)
return msg, metadata, err
}
func request_Member_MemberSet_0(ctx context.Context, marshaler runtime.Marshaler, client MemberClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq MemberItem
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.MemberSet(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Member_MemberSet_0(ctx context.Context, marshaler runtime.Marshaler, server MemberServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq MemberItem
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.MemberSet(ctx, &protoReq)
return msg, metadata, err
}
func request_Member_MemberDel_0(ctx context.Context, marshaler runtime.Marshaler, client MemberClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.IdentRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.MemberDel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Member_MemberDel_0(ctx context.Context, marshaler runtime.Marshaler, server MemberServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.IdentRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.MemberDel(ctx, &protoReq)
return msg, metadata, err
}
// RegisterMemberHandlerServer registers the http handlers for service Member to "mux".
// UnaryRPC :call MemberServer directly.
// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterMemberHandlerFromEndpoint instead.
// GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call.
func RegisterMemberHandlerServer(ctx context.Context, mux *runtime.ServeMux, server MemberServer) error {
mux.Handle(http.MethodPost, pattern_Member_MemberList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Member/MemberList", runtime.WithHTTPPathPattern("/delivery.Member/MemberList"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Member_MemberList_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Member_MemberList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Member_MemberAdd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Member/MemberAdd", runtime.WithHTTPPathPattern("/delivery.Member/MemberAdd"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Member_MemberAdd_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Member_MemberAdd_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Member_MemberGet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Member/MemberGet", runtime.WithHTTPPathPattern("/delivery.Member/MemberGet"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Member_MemberGet_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Member_MemberGet_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Member_MemberSet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Member/MemberSet", runtime.WithHTTPPathPattern("/delivery.Member/MemberSet"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Member_MemberSet_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Member_MemberSet_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Member_MemberDel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Member/MemberDel", runtime.WithHTTPPathPattern("/delivery.Member/MemberDel"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Member_MemberDel_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Member_MemberDel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
return nil
}
// RegisterMemberHandlerFromEndpoint is same as RegisterMemberHandler but
// automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterMemberHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
conn, err := grpc.NewClient(endpoint, opts...)
if err != nil {
return err
}
defer func() {
if err != nil {
if cerr := conn.Close(); cerr != nil {
grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
}
return
}
go func() {
<-ctx.Done()
if cerr := conn.Close(); cerr != nil {
grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
}
}()
}()
return RegisterMemberHandler(ctx, mux, conn)
}
// RegisterMemberHandler registers the http handlers for service Member to "mux".
// The handlers forward requests to the grpc endpoint over "conn".
func RegisterMemberHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
return RegisterMemberHandlerClient(ctx, mux, NewMemberClient(conn))
}
// RegisterMemberHandlerClient registers the http handlers for service Member
// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "MemberClient".
// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "MemberClient"
// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
// "MemberClient" to call the correct interceptors. This client ignores the HTTP middlewares.
func RegisterMemberHandlerClient(ctx context.Context, mux *runtime.ServeMux, client MemberClient) error {
mux.Handle(http.MethodPost, pattern_Member_MemberList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Member/MemberList", runtime.WithHTTPPathPattern("/delivery.Member/MemberList"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Member_MemberList_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Member_MemberList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Member_MemberAdd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Member/MemberAdd", runtime.WithHTTPPathPattern("/delivery.Member/MemberAdd"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Member_MemberAdd_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Member_MemberAdd_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Member_MemberGet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Member/MemberGet", runtime.WithHTTPPathPattern("/delivery.Member/MemberGet"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Member_MemberGet_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Member_MemberGet_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Member_MemberSet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Member/MemberSet", runtime.WithHTTPPathPattern("/delivery.Member/MemberSet"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Member_MemberSet_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Member_MemberSet_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Member_MemberDel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Member/MemberDel", runtime.WithHTTPPathPattern("/delivery.Member/MemberDel"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Member_MemberDel_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Member_MemberDel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
return nil
}
var (
pattern_Member_MemberList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Member", "MemberList"}, ""))
pattern_Member_MemberAdd_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Member", "MemberAdd"}, ""))
pattern_Member_MemberGet_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Member", "MemberGet"}, ""))
pattern_Member_MemberSet_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Member", "MemberSet"}, ""))
pattern_Member_MemberDel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Member", "MemberDel"}, ""))
)
var (
forward_Member_MemberList_0 = runtime.ForwardResponseMessage
forward_Member_MemberAdd_0 = runtime.ForwardResponseMessage
forward_Member_MemberGet_0 = runtime.ForwardResponseMessage
forward_Member_MemberSet_0 = runtime.ForwardResponseMessage
forward_Member_MemberDel_0 = runtime.ForwardResponseMessage
)

View File

@@ -1,286 +0,0 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.6.2
// - protoc v7.35.0
// source: module/ec/delivery/proto/member.proto
package delivery
import (
protobuf "bsm/full/protobuf"
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
Member_MemberList_FullMethodName = "/delivery.Member/MemberList"
Member_MemberAdd_FullMethodName = "/delivery.Member/MemberAdd"
Member_MemberGet_FullMethodName = "/delivery.Member/MemberGet"
Member_MemberSet_FullMethodName = "/delivery.Member/MemberSet"
Member_MemberDel_FullMethodName = "/delivery.Member/MemberDel"
)
// MemberClient is the client API for Member service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
//
// Delivery(配送)微服务
type MemberClient interface {
// 获取配送员列表
MemberList(ctx context.Context, in *protobuf.FetchRequest, opts ...grpc.CallOption) (*MemberListReply, error)
// 添加配送员
MemberAdd(ctx context.Context, in *MemberItem, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error)
// 获取配送员数据
MemberGet(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*MemberItem, error)
// 修改配送员
MemberSet(ctx context.Context, in *MemberItem, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error)
// 删除配送员
MemberDel(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error)
}
type memberClient struct {
cc grpc.ClientConnInterface
}
func NewMemberClient(cc grpc.ClientConnInterface) MemberClient {
return &memberClient{cc}
}
func (c *memberClient) MemberList(ctx context.Context, in *protobuf.FetchRequest, opts ...grpc.CallOption) (*MemberListReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(MemberListReply)
err := c.cc.Invoke(ctx, Member_MemberList_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *memberClient) MemberAdd(ctx context.Context, in *MemberItem, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(protobuf.DeliveryStatusReply)
err := c.cc.Invoke(ctx, Member_MemberAdd_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *memberClient) MemberGet(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*MemberItem, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(MemberItem)
err := c.cc.Invoke(ctx, Member_MemberGet_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *memberClient) MemberSet(ctx context.Context, in *MemberItem, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(protobuf.DeliveryStatusReply)
err := c.cc.Invoke(ctx, Member_MemberSet_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *memberClient) MemberDel(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(protobuf.DeliveryStatusReply)
err := c.cc.Invoke(ctx, Member_MemberDel_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// MemberServer is the server API for Member service.
// All implementations should embed UnimplementedMemberServer
// for forward compatibility.
//
// Delivery(配送)微服务
type MemberServer interface {
// 获取配送员列表
MemberList(context.Context, *protobuf.FetchRequest) (*MemberListReply, error)
// 添加配送员
MemberAdd(context.Context, *MemberItem) (*protobuf.DeliveryStatusReply, error)
// 获取配送员数据
MemberGet(context.Context, *protobuf.IdentRequest) (*MemberItem, error)
// 修改配送员
MemberSet(context.Context, *MemberItem) (*protobuf.DeliveryStatusReply, error)
// 删除配送员
MemberDel(context.Context, *protobuf.IdentRequest) (*protobuf.DeliveryStatusReply, error)
}
// UnimplementedMemberServer should be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedMemberServer struct{}
func (UnimplementedMemberServer) MemberList(context.Context, *protobuf.FetchRequest) (*MemberListReply, error) {
return nil, status.Error(codes.Unimplemented, "method MemberList not implemented")
}
func (UnimplementedMemberServer) MemberAdd(context.Context, *MemberItem) (*protobuf.DeliveryStatusReply, error) {
return nil, status.Error(codes.Unimplemented, "method MemberAdd not implemented")
}
func (UnimplementedMemberServer) MemberGet(context.Context, *protobuf.IdentRequest) (*MemberItem, error) {
return nil, status.Error(codes.Unimplemented, "method MemberGet not implemented")
}
func (UnimplementedMemberServer) MemberSet(context.Context, *MemberItem) (*protobuf.DeliveryStatusReply, error) {
return nil, status.Error(codes.Unimplemented, "method MemberSet not implemented")
}
func (UnimplementedMemberServer) MemberDel(context.Context, *protobuf.IdentRequest) (*protobuf.DeliveryStatusReply, error) {
return nil, status.Error(codes.Unimplemented, "method MemberDel not implemented")
}
func (UnimplementedMemberServer) testEmbeddedByValue() {}
// UnsafeMemberServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to MemberServer will
// result in compilation errors.
type UnsafeMemberServer interface {
mustEmbedUnimplementedMemberServer()
}
func RegisterMemberServer(s grpc.ServiceRegistrar, srv MemberServer) {
// If the following call panics, it indicates UnimplementedMemberServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&Member_ServiceDesc, srv)
}
func _Member_MemberList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(protobuf.FetchRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(MemberServer).MemberList(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Member_MemberList_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MemberServer).MemberList(ctx, req.(*protobuf.FetchRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Member_MemberAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(MemberItem)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(MemberServer).MemberAdd(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Member_MemberAdd_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MemberServer).MemberAdd(ctx, req.(*MemberItem))
}
return interceptor(ctx, in, info, handler)
}
func _Member_MemberGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(protobuf.IdentRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(MemberServer).MemberGet(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Member_MemberGet_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MemberServer).MemberGet(ctx, req.(*protobuf.IdentRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Member_MemberSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(MemberItem)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(MemberServer).MemberSet(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Member_MemberSet_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MemberServer).MemberSet(ctx, req.(*MemberItem))
}
return interceptor(ctx, in, info, handler)
}
func _Member_MemberDel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(protobuf.IdentRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(MemberServer).MemberDel(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Member_MemberDel_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MemberServer).MemberDel(ctx, req.(*protobuf.IdentRequest))
}
return interceptor(ctx, in, info, handler)
}
// Member_ServiceDesc is the grpc.ServiceDesc for Member service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Member_ServiceDesc = grpc.ServiceDesc{
ServiceName: "delivery.Member",
HandlerType: (*MemberServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "MemberList",
Handler: _Member_MemberList_Handler,
},
{
MethodName: "MemberAdd",
Handler: _Member_MemberAdd_Handler,
},
{
MethodName: "MemberGet",
Handler: _Member_MemberGet_Handler,
},
{
MethodName: "MemberSet",
Handler: _Member_MemberSet_Handler,
},
{
MethodName: "MemberDel",
Handler: _Member_MemberDel_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "module/ec/delivery/proto/member.proto",
}

View File

@@ -1,253 +0,0 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v7.35.0
// source: module/ec/delivery/proto/team.proto
package delivery
import (
protobuf "bsm/full/protobuf"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type TeamListReply struct {
state protoimpl.MessageState `protogen:"open.v1"`
Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
List []*TeamItem `protobuf:"bytes,2,rep,name=list,proto3" json:"list,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TeamListReply) Reset() {
*x = TeamListReply{}
mi := &file_module_ec_delivery_proto_team_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TeamListReply) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TeamListReply) ProtoMessage() {}
func (x *TeamListReply) ProtoReflect() protoreflect.Message {
mi := &file_module_ec_delivery_proto_team_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TeamListReply.ProtoReflect.Descriptor instead.
func (*TeamListReply) Descriptor() ([]byte, []int) {
return file_module_ec_delivery_proto_team_proto_rawDescGZIP(), []int{0}
}
func (x *TeamListReply) GetCount() int64 {
if x != nil {
return x.Count
}
return 0
}
func (x *TeamListReply) GetList() []*TeamItem {
if x != nil {
return x.List
}
return nil
}
type TeamItem struct {
state protoimpl.MessageState `protogen:"open.v1"`
Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` // 唯一标识
Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` // 团队名称
Owner string `protobuf:"bytes,3,opt,name=owner,proto3" json:"owner,omitempty"` // 归属者唯一标识
Contacts string `protobuf:"bytes,4,opt,name=contacts,proto3" json:"contacts,omitempty"` // 联系人姓名
Phone string `protobuf:"bytes,5,opt,name=phone,proto3" json:"phone,omitempty"` // 联系人电话
Status int64 `protobuf:"varint,6,opt,name=status,proto3" json:"status,omitempty"` // 状态1正常;-1禁用
Logo string `protobuf:"bytes,7,opt,name=logo,proto3" json:"logo,omitempty"` // 团队图标地址
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TeamItem) Reset() {
*x = TeamItem{}
mi := &file_module_ec_delivery_proto_team_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TeamItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TeamItem) ProtoMessage() {}
func (x *TeamItem) ProtoReflect() protoreflect.Message {
mi := &file_module_ec_delivery_proto_team_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TeamItem.ProtoReflect.Descriptor instead.
func (*TeamItem) Descriptor() ([]byte, []int) {
return file_module_ec_delivery_proto_team_proto_rawDescGZIP(), []int{1}
}
func (x *TeamItem) GetIdentity() string {
if x != nil {
return x.Identity
}
return ""
}
func (x *TeamItem) GetTitle() string {
if x != nil {
return x.Title
}
return ""
}
func (x *TeamItem) GetOwner() string {
if x != nil {
return x.Owner
}
return ""
}
func (x *TeamItem) GetContacts() string {
if x != nil {
return x.Contacts
}
return ""
}
func (x *TeamItem) GetPhone() string {
if x != nil {
return x.Phone
}
return ""
}
func (x *TeamItem) GetStatus() int64 {
if x != nil {
return x.Status
}
return 0
}
func (x *TeamItem) GetLogo() string {
if x != nil {
return x.Logo
}
return ""
}
var File_module_ec_delivery_proto_team_proto protoreflect.FileDescriptor
const file_module_ec_delivery_proto_team_proto_rawDesc = "" +
"\n" +
"#module/ec/delivery/proto/team.proto\x12\bdelivery\x1a\x15protobuf/blocks.proto\"M\n" +
"\rTeamListReply\x12\x14\n" +
"\x05count\x18\x01 \x01(\x03R\x05count\x12&\n" +
"\x04list\x18\x02 \x03(\v2\x12.delivery.TeamItemR\x04list\"\xb0\x01\n" +
"\bTeamItem\x12\x1a\n" +
"\bidentity\x18\x01 \x01(\tR\bidentity\x12\x14\n" +
"\x05title\x18\x02 \x01(\tR\x05title\x12\x14\n" +
"\x05owner\x18\x03 \x01(\tR\x05owner\x12\x1a\n" +
"\bcontacts\x18\x04 \x01(\tR\bcontacts\x12\x14\n" +
"\x05phone\x18\x05 \x01(\tR\x05phone\x12\x16\n" +
"\x06status\x18\x06 \x01(\x03R\x06status\x12\x12\n" +
"\x04logo\x18\a \x01(\tR\x04logo2\xb6\x02\n" +
"\x04Team\x12;\n" +
"\bTeamList\x12\x14.blocks.FetchRequest\x1a\x17.delivery.TeamListReply\"\x00\x12<\n" +
"\aTeamAdd\x12\x12.delivery.TeamItem\x1a\x1b.blocks.DeliveryStatusReply\"\x00\x125\n" +
"\aTeamGet\x12\x14.blocks.IdentRequest\x1a\x12.delivery.TeamItem\"\x00\x12<\n" +
"\aTeamSet\x12\x12.delivery.TeamItem\x1a\x1b.blocks.DeliveryStatusReply\"\x00\x12>\n" +
"\aTeamDel\x12\x14.blocks.IdentRequest\x1a\x1b.blocks.DeliveryStatusReply\"\x00B;Z9bsm/full/module/ec/delivery/external/pb/delivery;deliveryb\x06proto3"
var (
file_module_ec_delivery_proto_team_proto_rawDescOnce sync.Once
file_module_ec_delivery_proto_team_proto_rawDescData []byte
)
func file_module_ec_delivery_proto_team_proto_rawDescGZIP() []byte {
file_module_ec_delivery_proto_team_proto_rawDescOnce.Do(func() {
file_module_ec_delivery_proto_team_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_module_ec_delivery_proto_team_proto_rawDesc), len(file_module_ec_delivery_proto_team_proto_rawDesc)))
})
return file_module_ec_delivery_proto_team_proto_rawDescData
}
var file_module_ec_delivery_proto_team_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_module_ec_delivery_proto_team_proto_goTypes = []any{
(*TeamListReply)(nil), // 0: delivery.TeamListReply
(*TeamItem)(nil), // 1: delivery.TeamItem
(*protobuf.FetchRequest)(nil), // 2: blocks.FetchRequest
(*protobuf.IdentRequest)(nil), // 3: blocks.IdentRequest
(*protobuf.DeliveryStatusReply)(nil), // 4: blocks.DeliveryStatusReply
}
var file_module_ec_delivery_proto_team_proto_depIdxs = []int32{
1, // 0: delivery.TeamListReply.list:type_name -> delivery.TeamItem
2, // 1: delivery.Team.TeamList:input_type -> blocks.FetchRequest
1, // 2: delivery.Team.TeamAdd:input_type -> delivery.TeamItem
3, // 3: delivery.Team.TeamGet:input_type -> blocks.IdentRequest
1, // 4: delivery.Team.TeamSet:input_type -> delivery.TeamItem
3, // 5: delivery.Team.TeamDel:input_type -> blocks.IdentRequest
0, // 6: delivery.Team.TeamList:output_type -> delivery.TeamListReply
4, // 7: delivery.Team.TeamAdd:output_type -> blocks.DeliveryStatusReply
1, // 8: delivery.Team.TeamGet:output_type -> delivery.TeamItem
4, // 9: delivery.Team.TeamSet:output_type -> blocks.DeliveryStatusReply
4, // 10: delivery.Team.TeamDel:output_type -> blocks.DeliveryStatusReply
6, // [6:11] is the sub-list for method output_type
1, // [1:6] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_module_ec_delivery_proto_team_proto_init() }
func file_module_ec_delivery_proto_team_proto_init() {
if File_module_ec_delivery_proto_team_proto != nil {
return
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_module_ec_delivery_proto_team_proto_rawDesc), len(file_module_ec_delivery_proto_team_proto_rawDesc)),
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_module_ec_delivery_proto_team_proto_goTypes,
DependencyIndexes: file_module_ec_delivery_proto_team_proto_depIdxs,
MessageInfos: file_module_ec_delivery_proto_team_proto_msgTypes,
}.Build()
File_module_ec_delivery_proto_team_proto = out.File
file_module_ec_delivery_proto_team_proto_goTypes = nil
file_module_ec_delivery_proto_team_proto_depIdxs = nil
}

View File

@@ -1,422 +0,0 @@
// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
// source: module/ec/delivery/proto/team.proto
/*
Package delivery is a reverse proxy.
It translates gRPC into RESTful JSON APIs.
*/
package delivery
import (
"bsm/full/protobuf"
"context"
"errors"
"io"
"net/http"
"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
"github.com/grpc-ecosystem/grpc-gateway/v2/utilities"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/grpclog"
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/proto"
)
// Suppress "imported and not used" errors
var (
_ codes.Code
_ io.Reader
_ status.Status
_ = errors.New
_ = runtime.String
_ = utilities.NewDoubleArray
_ = metadata.Join
)
func request_Team_TeamList_0(ctx context.Context, marshaler runtime.Marshaler, client TeamClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.FetchRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.TeamList(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Team_TeamList_0(ctx context.Context, marshaler runtime.Marshaler, server TeamServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.FetchRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.TeamList(ctx, &protoReq)
return msg, metadata, err
}
func request_Team_TeamAdd_0(ctx context.Context, marshaler runtime.Marshaler, client TeamClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq TeamItem
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.TeamAdd(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Team_TeamAdd_0(ctx context.Context, marshaler runtime.Marshaler, server TeamServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq TeamItem
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.TeamAdd(ctx, &protoReq)
return msg, metadata, err
}
func request_Team_TeamGet_0(ctx context.Context, marshaler runtime.Marshaler, client TeamClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.IdentRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.TeamGet(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Team_TeamGet_0(ctx context.Context, marshaler runtime.Marshaler, server TeamServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.IdentRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.TeamGet(ctx, &protoReq)
return msg, metadata, err
}
func request_Team_TeamSet_0(ctx context.Context, marshaler runtime.Marshaler, client TeamClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq TeamItem
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.TeamSet(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Team_TeamSet_0(ctx context.Context, marshaler runtime.Marshaler, server TeamServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq TeamItem
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.TeamSet(ctx, &protoReq)
return msg, metadata, err
}
func request_Team_TeamDel_0(ctx context.Context, marshaler runtime.Marshaler, client TeamClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.IdentRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
if req.Body != nil {
_, _ = io.Copy(io.Discard, req.Body)
}
msg, err := client.TeamDel(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err
}
func local_request_Team_TeamDel_0(ctx context.Context, marshaler runtime.Marshaler, server TeamServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var (
protoReq blocks.IdentRequest
metadata runtime.ServerMetadata
)
if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := server.TeamDel(ctx, &protoReq)
return msg, metadata, err
}
// RegisterTeamHandlerServer registers the http handlers for service Team to "mux".
// UnaryRPC :call TeamServer directly.
// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterTeamHandlerFromEndpoint instead.
// GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call.
func RegisterTeamHandlerServer(ctx context.Context, mux *runtime.ServeMux, server TeamServer) error {
mux.Handle(http.MethodPost, pattern_Team_TeamList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Team/TeamList", runtime.WithHTTPPathPattern("/delivery.Team/TeamList"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Team_TeamList_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Team_TeamList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Team_TeamAdd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Team/TeamAdd", runtime.WithHTTPPathPattern("/delivery.Team/TeamAdd"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Team_TeamAdd_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Team_TeamAdd_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Team_TeamGet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Team/TeamGet", runtime.WithHTTPPathPattern("/delivery.Team/TeamGet"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Team_TeamGet_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Team_TeamGet_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Team_TeamSet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Team/TeamSet", runtime.WithHTTPPathPattern("/delivery.Team/TeamSet"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Team_TeamSet_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Team_TeamSet_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Team_TeamDel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
var stream runtime.ServerTransportStream
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/delivery.Team/TeamDel", runtime.WithHTTPPathPattern("/delivery.Team/TeamDel"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := local_request_Team_TeamDel_0(annotatedContext, inboundMarshaler, server, req, pathParams)
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Team_TeamDel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
return nil
}
// RegisterTeamHandlerFromEndpoint is same as RegisterTeamHandler but
// automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterTeamHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
conn, err := grpc.NewClient(endpoint, opts...)
if err != nil {
return err
}
defer func() {
if err != nil {
if cerr := conn.Close(); cerr != nil {
grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
}
return
}
go func() {
<-ctx.Done()
if cerr := conn.Close(); cerr != nil {
grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
}
}()
}()
return RegisterTeamHandler(ctx, mux, conn)
}
// RegisterTeamHandler registers the http handlers for service Team to "mux".
// The handlers forward requests to the grpc endpoint over "conn".
func RegisterTeamHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
return RegisterTeamHandlerClient(ctx, mux, NewTeamClient(conn))
}
// RegisterTeamHandlerClient registers the http handlers for service Team
// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "TeamClient".
// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "TeamClient"
// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
// "TeamClient" to call the correct interceptors. This client ignores the HTTP middlewares.
func RegisterTeamHandlerClient(ctx context.Context, mux *runtime.ServeMux, client TeamClient) error {
mux.Handle(http.MethodPost, pattern_Team_TeamList_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Team/TeamList", runtime.WithHTTPPathPattern("/delivery.Team/TeamList"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Team_TeamList_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Team_TeamList_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Team_TeamAdd_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Team/TeamAdd", runtime.WithHTTPPathPattern("/delivery.Team/TeamAdd"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Team_TeamAdd_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Team_TeamAdd_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Team_TeamGet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Team/TeamGet", runtime.WithHTTPPathPattern("/delivery.Team/TeamGet"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Team_TeamGet_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Team_TeamGet_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Team_TeamSet_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Team/TeamSet", runtime.WithHTTPPathPattern("/delivery.Team/TeamSet"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Team_TeamSet_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Team_TeamSet_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
mux.Handle(http.MethodPost, pattern_Team_TeamDel_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
ctx, cancel := context.WithCancel(req.Context())
defer cancel()
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/delivery.Team/TeamDel", runtime.WithHTTPPathPattern("/delivery.Team/TeamDel"))
if err != nil {
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
return
}
resp, md, err := request_Team_TeamDel_0(annotatedContext, inboundMarshaler, client, req, pathParams)
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
if err != nil {
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
return
}
forward_Team_TeamDel_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
})
return nil
}
var (
pattern_Team_TeamList_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Team", "TeamList"}, ""))
pattern_Team_TeamAdd_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Team", "TeamAdd"}, ""))
pattern_Team_TeamGet_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Team", "TeamGet"}, ""))
pattern_Team_TeamSet_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Team", "TeamSet"}, ""))
pattern_Team_TeamDel_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"delivery.Team", "TeamDel"}, ""))
)
var (
forward_Team_TeamList_0 = runtime.ForwardResponseMessage
forward_Team_TeamAdd_0 = runtime.ForwardResponseMessage
forward_Team_TeamGet_0 = runtime.ForwardResponseMessage
forward_Team_TeamSet_0 = runtime.ForwardResponseMessage
forward_Team_TeamDel_0 = runtime.ForwardResponseMessage
)

View File

@@ -1,286 +0,0 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.6.2
// - protoc v7.35.0
// source: module/ec/delivery/proto/team.proto
package delivery
import (
protobuf "bsm/full/protobuf"
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion9
const (
Team_TeamList_FullMethodName = "/delivery.Team/TeamList"
Team_TeamAdd_FullMethodName = "/delivery.Team/TeamAdd"
Team_TeamGet_FullMethodName = "/delivery.Team/TeamGet"
Team_TeamSet_FullMethodName = "/delivery.Team/TeamSet"
Team_TeamDel_FullMethodName = "/delivery.Team/TeamDel"
)
// TeamClient is the client API for Team service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
//
// Delivery(配送)微服务
type TeamClient interface {
// 配送团队列表
TeamList(ctx context.Context, in *protobuf.FetchRequest, opts ...grpc.CallOption) (*TeamListReply, error)
// 添加配送团队
TeamAdd(ctx context.Context, in *TeamItem, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error)
// 配送团队详情
TeamGet(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*TeamItem, error)
// 修改配送团队信息
TeamSet(ctx context.Context, in *TeamItem, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error)
// 删除配送团队
TeamDel(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error)
}
type teamClient struct {
cc grpc.ClientConnInterface
}
func NewTeamClient(cc grpc.ClientConnInterface) TeamClient {
return &teamClient{cc}
}
func (c *teamClient) TeamList(ctx context.Context, in *protobuf.FetchRequest, opts ...grpc.CallOption) (*TeamListReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(TeamListReply)
err := c.cc.Invoke(ctx, Team_TeamList_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *teamClient) TeamAdd(ctx context.Context, in *TeamItem, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(protobuf.DeliveryStatusReply)
err := c.cc.Invoke(ctx, Team_TeamAdd_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *teamClient) TeamGet(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*TeamItem, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(TeamItem)
err := c.cc.Invoke(ctx, Team_TeamGet_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *teamClient) TeamSet(ctx context.Context, in *TeamItem, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(protobuf.DeliveryStatusReply)
err := c.cc.Invoke(ctx, Team_TeamSet_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *teamClient) TeamDel(ctx context.Context, in *protobuf.IdentRequest, opts ...grpc.CallOption) (*protobuf.DeliveryStatusReply, error) {
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
out := new(protobuf.DeliveryStatusReply)
err := c.cc.Invoke(ctx, Team_TeamDel_FullMethodName, in, out, cOpts...)
if err != nil {
return nil, err
}
return out, nil
}
// TeamServer is the server API for Team service.
// All implementations should embed UnimplementedTeamServer
// for forward compatibility.
//
// Delivery(配送)微服务
type TeamServer interface {
// 配送团队列表
TeamList(context.Context, *protobuf.FetchRequest) (*TeamListReply, error)
// 添加配送团队
TeamAdd(context.Context, *TeamItem) (*protobuf.DeliveryStatusReply, error)
// 配送团队详情
TeamGet(context.Context, *protobuf.IdentRequest) (*TeamItem, error)
// 修改配送团队信息
TeamSet(context.Context, *TeamItem) (*protobuf.DeliveryStatusReply, error)
// 删除配送团队
TeamDel(context.Context, *protobuf.IdentRequest) (*protobuf.DeliveryStatusReply, error)
}
// UnimplementedTeamServer should be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedTeamServer struct{}
func (UnimplementedTeamServer) TeamList(context.Context, *protobuf.FetchRequest) (*TeamListReply, error) {
return nil, status.Error(codes.Unimplemented, "method TeamList not implemented")
}
func (UnimplementedTeamServer) TeamAdd(context.Context, *TeamItem) (*protobuf.DeliveryStatusReply, error) {
return nil, status.Error(codes.Unimplemented, "method TeamAdd not implemented")
}
func (UnimplementedTeamServer) TeamGet(context.Context, *protobuf.IdentRequest) (*TeamItem, error) {
return nil, status.Error(codes.Unimplemented, "method TeamGet not implemented")
}
func (UnimplementedTeamServer) TeamSet(context.Context, *TeamItem) (*protobuf.DeliveryStatusReply, error) {
return nil, status.Error(codes.Unimplemented, "method TeamSet not implemented")
}
func (UnimplementedTeamServer) TeamDel(context.Context, *protobuf.IdentRequest) (*protobuf.DeliveryStatusReply, error) {
return nil, status.Error(codes.Unimplemented, "method TeamDel not implemented")
}
func (UnimplementedTeamServer) testEmbeddedByValue() {}
// UnsafeTeamServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to TeamServer will
// result in compilation errors.
type UnsafeTeamServer interface {
mustEmbedUnimplementedTeamServer()
}
func RegisterTeamServer(s grpc.ServiceRegistrar, srv TeamServer) {
// If the following call panics, it indicates UnimplementedTeamServer was
// embedded by pointer and is nil. This will cause panics if an
// unimplemented method is ever invoked, so we test this at initialization
// time to prevent it from happening at runtime later due to I/O.
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
t.testEmbeddedByValue()
}
s.RegisterService(&Team_ServiceDesc, srv)
}
func _Team_TeamList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(protobuf.FetchRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TeamServer).TeamList(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Team_TeamList_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TeamServer).TeamList(ctx, req.(*protobuf.FetchRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Team_TeamAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(TeamItem)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TeamServer).TeamAdd(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Team_TeamAdd_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TeamServer).TeamAdd(ctx, req.(*TeamItem))
}
return interceptor(ctx, in, info, handler)
}
func _Team_TeamGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(protobuf.IdentRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TeamServer).TeamGet(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Team_TeamGet_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TeamServer).TeamGet(ctx, req.(*protobuf.IdentRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Team_TeamSet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(TeamItem)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TeamServer).TeamSet(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Team_TeamSet_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TeamServer).TeamSet(ctx, req.(*TeamItem))
}
return interceptor(ctx, in, info, handler)
}
func _Team_TeamDel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(protobuf.IdentRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(TeamServer).TeamDel(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: Team_TeamDel_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TeamServer).TeamDel(ctx, req.(*protobuf.IdentRequest))
}
return interceptor(ctx, in, info, handler)
}
// Team_ServiceDesc is the grpc.ServiceDesc for Team service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Team_ServiceDesc = grpc.ServiceDesc{
ServiceName: "delivery.Team",
HandlerType: (*TeamServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "TeamList",
Handler: _Team_TeamList_Handler,
},
{
MethodName: "TeamAdd",
Handler: _Team_TeamAdd_Handler,
},
{
MethodName: "TeamGet",
Handler: _Team_TeamGet_Handler,
},
{
MethodName: "TeamSet",
Handler: _Team_TeamSet_Handler,
},
{
MethodName: "TeamDel",
Handler: _Team_TeamDel_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "module/ec/delivery/proto/team.proto",
}

View File

@@ -1,43 +0,0 @@
module bsm/full/module/ec/delivery
go 1.26.5
require (
git.apinb.com/bsm-sdk/core v0.0.0-00010101000000-000000000000
github.com/grpc-ecosystem/grpc-gateway/v2 v2.30.0
google.golang.org/grpc v1.83.0
google.golang.org/protobuf v1.36.11
gopkg.in/yaml.v3 v3.0.1
gorm.io/gorm v1.31.2
)
require (
github.com/coreos/go-semver v0.3.1 // indirect
github.com/coreos/go-systemd/v22 v22.7.0 // indirect
github.com/golang-jwt/jwt/v5 v5.3.1 // indirect
github.com/golang/protobuf v1.5.4 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
github.com/jackc/pgx/v5 v5.10.0 // indirect
github.com/jackc/puddle/v2 v2.2.2 // indirect
github.com/jinzhu/inflection v1.0.0 // indirect
github.com/jinzhu/now v1.1.5 // indirect
github.com/oklog/ulid/v2 v2.1.2 // indirect
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e // indirect
go.etcd.io/etcd/api/v3 v3.7.1 // indirect
go.etcd.io/etcd/client/pkg/v3 v3.7.1 // indirect
go.etcd.io/etcd/client/v3 v3.7.1 // indirect
go.opentelemetry.io/otel/sdk/metric v1.45.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.28.0 // indirect
golang.org/x/net v0.57.0 // indirect
golang.org/x/sync v0.22.0 // indirect
golang.org/x/sys v0.47.0 // indirect
golang.org/x/text v0.40.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260807164820-c8921c73eeea // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260807164820-c8921c73eeea // indirect
gorm.io/driver/postgres v1.6.2 // indirect
)
replace git.apinb.com/bsm-sdk/core => D:/work/bsm-sdk/core

View File

@@ -1,112 +0,0 @@
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4=
github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec=
github.com/coreos/go-systemd/v22 v22.7.0 h1:LAEzFkke61DFROc7zNLX/WA2i5J8gYqe0rSj9KI28KA=
github.com/coreos/go-systemd/v22 v22.7.0/go.mod h1:xNUYtjHu2EDXbsxz1i41wouACIwT7Ybq9o0BQhMwD0w=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-logr/logr v1.4.4 h1:tG4xh9yMsRCAiodLVTxyrkzSZ9+o0L1Kg/+cPVcbP/8=
github.com/go-logr/logr v1.4.4/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/golang-jwt/jwt/v5 v5.3.1 h1:kYf81DTWFe7t+1VvL7eS+jKFVWaUnK9cB1qbwn63YCY=
github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.30.0 h1:/Tnpcb2E0Pz/tN9s3bfEY2Q8ePCEX9iuS+cneUwncnw=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.30.0/go.mod h1:zOBXOsUaBSjKgmH4OGzV1esUpR3oUSCPYVd2cUBjKYY=
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo=
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
github.com/jackc/pgx/v5 v5.10.0 h1:VhSvgU2jSli8o3AqIEOTJr7rZwAEUVo4E4XhR94Zfr0=
github.com/jackc/pgx/v5 v5.10.0/go.mod h1:mal1tBGAFfLHvZzaYh77YS/eC6IX9OWbRV1QIIM0Jn4=
github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo=
github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU=
github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/oklog/ulid/v2 v2.1.2 h1:IEclFb9JNvzYA6MW2SCxbLzcHTVsfqm3PrqGQJH5zec=
github.com/oklog/ulid/v2 v2.1.2/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ=
github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e h1:MRM5ITcdelLK2j1vwZ3Je0FKVCfqOLp5zO6trqMLYs0=
github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e/go.mod h1:XV66xRDqSt+GTGFMVlhk3ULuV0y9ZmzeVGR4mloJI3M=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
go.etcd.io/etcd/api/v3 v3.7.1 h1:KJG0/DcWGfe3Y1otDf/fsBf0TSSgpxZ5RO/L8SFt73E=
go.etcd.io/etcd/api/v3 v3.7.1/go.mod h1:8bXIpCMeV7E3/XL0Ix123ATn3dB+0V7d9zklHbB0m78=
go.etcd.io/etcd/client/pkg/v3 v3.7.1 h1:rKYsj3pRkR0eK3yjT3XOgrhqfmIfj9pzNgxjh7mfFv4=
go.etcd.io/etcd/client/pkg/v3 v3.7.1/go.mod h1:cnzZGIUzSfjEwLC6UBVsSXlEK1eepS/JUD7wE6PLRT0=
go.etcd.io/etcd/client/v3 v3.7.1 h1:0PEMMC0KuZmVIN+RAbdqfkZ45pYTgKVtmBEbRCvZFUg=
go.etcd.io/etcd/client/v3 v3.7.1/go.mod h1:ffNqALa8tRCYhYo1F9oR489y23K39Gz+BSR3ApAGYq0=
go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
go.opentelemetry.io/otel v1.45.0 h1:pdrWmLHofpubmArBv1LgFSv1Z0Ie/ppdZzu+kUN5EeU=
go.opentelemetry.io/otel v1.45.0/go.mod h1:XZxIqPapzEYnhNSScF5DIqXhm/rYi0FzCe2XddAwZfQ=
go.opentelemetry.io/otel/metric v1.45.0 h1:7Eg1uH7CJ5cXv9is6tnBe1FI6rj1nwUdbFypRm3br/M=
go.opentelemetry.io/otel/metric v1.45.0/go.mod h1:HAPbm1nd3p1PmFH7v2dR+6BjXxw+Lq4a2+pndMAm08s=
go.opentelemetry.io/otel/sdk v1.45.0 h1:4VVSMgQ83dUgW2aoX5f6JgLvHwIvzcuLnF9lUdCSpCw=
go.opentelemetry.io/otel/sdk v1.45.0/go.mod h1:Sr40LgXV7DsKMMJMKOhUWOgMWTfAaqvm2kF0g7ilwuA=
go.opentelemetry.io/otel/sdk/metric v1.45.0 h1:oVFszMfyj1Am6s24Vtc7wBb8BKLcwepJjNEYILuiE3o=
go.opentelemetry.io/otel/sdk/metric v1.45.0/go.mod h1:vUWUxDZvu1WVRj8JA8S0AdhsPrZoDpA2DdZauIh4mDA=
go.opentelemetry.io/otel/trace v1.45.0 h1:l/mP6Uv7oNO7/TblbhpbgMidxhq1uO/rPsikOyVhxag=
go.opentelemetry.io/otel/trace v1.45.0/go.mod h1:qoJJA2xNMnxRrdISU/kLtfUH2wNeQbiv+jhs/CxI8bc=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/zap v1.28.0 h1:IZzaP1Fv73/T/pBMLk4VutPl36uNC+OSUh3JLG3FIjo=
go.uber.org/zap v1.28.0/go.mod h1:rDLpOi171uODNm/mxFcuYWxDsqWSAVkFdX4XojSKg/Q=
go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw=
go.yaml.in/yaml/v3 v3.0.5/go.mod h1:HVTZu1O7/Vkt2N+BFy8Zza+lnLsABggaTM2ZpNIGuKg=
golang.org/x/net v0.57.0 h1:K5+3DljvIuDG9/Jv9rvyMywYNFCQ9RSUY6OOTTkT+tE=
golang.org/x/net v0.57.0/go.mod h1:KpXc8iv+r3XplLAG/f7Jsf9RPszJzdR0f58q9vGOuEU=
golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek=
golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs=
golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/text v0.40.0 h1:Ub2Z6/xjgF1WrYQz2nuITOEegKFtiIy+rieRJ5lHZKs=
golang.org/x/text v0.40.0/go.mod h1:hpnzDAfGV753zIKo+wk3u1bVKCGPbrnF7+7LBF/UHVY=
gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4=
gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E=
google.golang.org/genproto/googleapis/api v0.0.0-20260807164820-c8921c73eeea h1:Jifw/kjs/r3B0uszvls/m3c3tmZs2YHGM9C+rvxP9gY=
google.golang.org/genproto/googleapis/api v0.0.0-20260807164820-c8921c73eeea/go.mod h1:K/+WGbmBY7aNW1HDw1fJnKYo10i0DkAX6pows00dLig=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260807164820-c8921c73eeea h1:kVhQEPTpKQahD5+JSBTfBB19wcgQTTjAIn45MBqnyHk=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260807164820-c8921c73eeea/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
google.golang.org/grpc v1.83.0 h1:JeNZEKJFbQxArAMl+hiytHauacDNqJUllNfmIMmpqnQ=
google.golang.org/grpc v1.83.0/go.mod h1:kDyl6SKsiHKt0uylY5gtn5cEjkrIOhQOGDgIc4JGwzQ=
google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gorm.io/driver/postgres v1.6.2 h1:BvXQ/cNUg63q5TFNg672DmDcowZSFrNLkkA3Xe6GXq4=
gorm.io/driver/postgres v1.6.2/go.mod h1:0c4fQA44XhOklXDkgtuKqysHCycTa5i9e3EIpDGCwXk=
gorm.io/driver/sqlite v1.6.0 h1:WHRRrIiulaPiPFmDcod6prc4l2VGVWHz80KspNsxSfQ=
gorm.io/driver/sqlite v1.6.0/go.mod h1:AO9V1qIQddBESngQUKWL9yoH93HIeA1X6V633rBwyT8=
gorm.io/gorm v1.31.2 h1:3o8FXNo9v9S858gil+3LlZA1LkCOzgb4g5BL64FgaCo=
gorm.io/gorm v1.31.2/go.mod h1:XyQVbO2k6YkOis7C2437jSit3SsDK72s7n7rsSHd+Gs=

View File

@@ -1,54 +0,0 @@
package config
import (
"fmt"
"os"
"path/filepath"
"strings"
"git.apinb.com/bsm-sdk/core/types"
"gopkg.in/yaml.v3"
)
// Config retains the legacy delivery YAML shape so existing deployments continue to work.
// Cache and Pulsar are deprecated and intentionally ignored because the service never used them.
type Config struct {
Name string `yaml:"Name"`
ListenOn string `yaml:"ListenOn"`
DSN string `yaml:"Dsn"`
Cache string `yaml:"Cache"`
Anonymous types.AnonymousConf `yaml:"Anonymous"`
Pulsar types.PulsarConf `yaml:"Pulsar"`
}
func Load(serviceKey string) (Config, error) {
mode := strings.ToLower(envOr("BlocksMesh_RuntimeMode", "dev"))
prefix := envOr("BlocksMesh_Prefix", ".")
workspace := envOr("BlocksMesh_Workspace", "def")
path := filepath.Join(prefix, "etc", fmt.Sprintf("%s_%s.yaml", serviceKey, mode))
data, err := os.ReadFile(path)
if err != nil {
return Config{}, fmt.Errorf("read config %s: %w", path, err)
}
replacer := strings.NewReplacer(
"{ServiceKey}", serviceKey,
"{Workspace}", workspace,
"{RuntimeMode}", mode,
)
var cfg Config
if err := yaml.Unmarshal([]byte(os.ExpandEnv(replacer.Replace(string(data)))), &cfg); err != nil {
return Config{}, fmt.Errorf("parse config %s: %w", path, err)
}
if cfg.ListenOn == "" {
return Config{}, fmt.Errorf("ListenOn is required in %s", path)
}
return cfg, nil
}
func envOr(key, fallback string) string {
if value := os.Getenv(key); value != "" {
return value
}
return fallback
}

View File

@@ -1,34 +0,0 @@
package errorcode
import "fmt"
type CError struct {
ErrorCode string
Msg string
Title string
}
var (
ErrTokenAuth = CError{ErrorCode: "3801", Msg: "Token Not Found", Title: "无效token"}
ErrInvalidArgument = CError{ErrorCode: "3801", Msg: "Invalid Argument", Title: "无效参数"}
ErrorJson = CError{ErrorCode: "3802", Msg: "Json Format Error", Title: "json格式错误"}
ErrIdentityArgument = CError{ErrorCode: "3803", Msg: "Invalid parameter:identity", Title: "identity参数无效"}
ErrPasswordArgument = CError{ErrorCode: "3804", Msg: " Invalid parameter:password", Title: "password参数无效"}
ErrAuthPasswd = CError{ErrorCode: "3805", Msg: " Auth Password", Title: "password验证失败"}
ErrDBFatal = CError{ErrorCode: "3806", Msg: "DB Fatal", Title: "数据错误"}
ErrBalance = CError{ErrorCode: "3807", Msg: "Err Balance", Title: "余额异常"}
ErrNotFound = CError{ErrorCode: "3809", Msg: "Err Not Found", Title: "数据未找到"}
ErrPermissionDenied = CError{ErrorCode: "3810", Msg: "No Access", Title: "无权访问"}
)
func (e *CError) Error() string {
return fmt.Sprintf("Error Code: %s, Message: %s", e.ErrorCode, e.Msg)
}
// 函数返回自定义错误
func ContentError(err CError) error {
return &CError{
ErrorCode: err.ErrorCode,
Msg: err.Msg,
}
}

View File

@@ -1,21 +0,0 @@
package impl
import (
"fmt"
"bsm/full/module/ec/delivery/internal/config"
)
var Configure config.Config
func NewService(serviceKey string) error {
cfg, err := config.Load(serviceKey)
if err != nil {
return err
}
Configure = cfg
if err := withModel(); err != nil {
return fmt.Errorf("initialize model: %w", err)
}
return nil
}

View File

@@ -1,10 +0,0 @@
package impl
import "bsm/full/module/ec/delivery/internal/models"
func withModel() error {
if Configure.DSN == "" {
return nil
}
return models.New(Configure.DSN, nil)
}

View File

@@ -1,84 +0,0 @@
package deliverylogic
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"git.apinb.com/bsm-sdk/core/utils"
"log/slog"
"bsm/full/shared/logging"
)
type CarAddLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewCarAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CarAddLogic {
return &CarAddLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 添加配送车辆信息
func (l *CarAddLogic) CarAdd(in *delivery.CarItem) (*delivery.StatusReply, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
if err = carAddChick(in); err != nil {
return nil, err
}
data := models.DeliveryCar{
Identity: utils.ULID(),
Brand: in.Brand,
Version: in.Version,
TeamIdentity: in.TeamIdentity,
LicenseNumber: in.LicenseNumber,
Contacts: in.Contacts,
Phone: in.Phone,
Picture: in.Picture,
}
err = models.DBService.Create(&data).Error
if err != nil {
l.Logger.Error(err.Error())
return nil, errcode.ErrDB
}
return &delivery.StatusReply{Status: 200, Identity: data.Identity, Message: ""}, nil
}
func carAddChick(in *delivery.CarItem) error {
if in.GetBrand() == "" {
return errcode.ErrInvalidArgument
}
if in.GetPhone() == "" {
return errcode.ErrInvalidArgument
}
// if in.GetTeamIdentity() == "" {
// return errcode.ErrInvalidArgument
// }
if in.GetContacts() == "" {
return errcode.ErrInvalidArgument
}
if in.GetVersion() == "" {
return errcode.ErrInvalidArgument
}
if in.GetPicture() == "" {
return errcode.ErrInvalidArgument
}
if in.GetLicenseNumber() == "" {
return errcode.ErrInvalidArgument
}
return nil
}

View File

@@ -1,48 +0,0 @@
package deliverylogic
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"log/slog"
"bsm/full/shared/logging"
)
type CarDelLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewCarDelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CarDelLogic {
return &CarDelLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 删除配送车辆信息
func (l *CarDelLogic) CarDel(in *delivery.IdentRequest) (*delivery.StatusReply, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
if in.GetIdentity() == "" {
return nil, errcode.ErrInvalidArgument
}
//Todo: 删除是是否判定有未完成订单不能删除
err = models.DBService.Where("identity = ?", in.Identity).Delete(&models.DeliveryCar{}).Error
if err != nil {
l.Logger.Error(err.Error())
return nil, errcode.ErrDB
}
return &delivery.StatusReply{Status: 200, Identity: in.Identity, Message: ""}, nil
}

View File

@@ -1,53 +0,0 @@
package deliverylogic
import (
"context"
"errors"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"gorm.io/gorm"
"log/slog"
"bsm/full/shared/logging"
)
type CarGetLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewCarGetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CarGetLogic {
return &CarGetLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 获取配送车辆信息
func (l *CarGetLogic) CarGet(in *delivery.IdentRequest) (*delivery.CarItem, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
if in.GetIdentity() == "" {
return nil, errcode.ErrInvalidArgument
}
var data = delivery.CarItem{}
err = models.DBService.Model(&models.DeliveryCar{}).Where("identity = ?", in.Identity).Find(&data).Error
if err != nil {
l.Logger.Error(err.Error())
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, errcode.ErrRecordNotFound
}
return nil, errcode.ErrDB
}
return &data, nil
}

View File

@@ -1,84 +0,0 @@
package deliverylogic
import (
"context"
"errors"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"gorm.io/gorm"
"log/slog"
"bsm/full/shared/logging"
)
type CarListLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewCarListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CarListLogic {
return &CarListLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 配送车辆列表
func (l *CarListLogic) CarList(in *delivery.FetchRequest) (*delivery.CarListReply, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
var (
teamIdentity string = ""
identity string = ""
licenseNumber string = ""
status int64 = 1
cnt int64 = 0
data = make([]*delivery.CarItem, 0)
)
if in.GetParams()["identity"] != "" {
identity = in.Params["identity"]
}
if in.GetParams()["team_identity"] != "" {
teamIdentity = in.Params["team_identity"]
}
if in.GetParams()["license_number"] != "" {
licenseNumber = in.Params["license_number"]
}
if in.GetParams()["status"] == "-1" {
status = -1
}
cnt, res, err := models.DeliverycarList(identity, teamIdentity, licenseNumber, status, int(in.PageSize), int(in.PageNo))
if err != nil {
l.Logger.Error(err.Error())
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, errcode.ErrRecordNotFound
}
return nil, errcode.ErrDB
}
for _, v := range res {
item := delivery.CarItem{
Identity: v.Identity,
Brand: v.Brand,
LicenseNumber: v.LicenseNumber,
TeamIdentity: v.TeamIdentity,
Contacts: v.Contacts,
Picture: v.Picture,
Phone: v.Phone,
Status: v.Status,
Version: v.Version,
}
data = append(data, &item)
}
return &delivery.CarListReply{Count: cnt, List: data}, nil
}

View File

@@ -1,85 +0,0 @@
package deliverylogic
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"log/slog"
"bsm/full/shared/logging"
)
type CarSetLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewCarSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CarSetLogic {
return &CarSetLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 修改配送车辆信息
func (l *CarSetLogic) CarSet(in *delivery.CarItem) (*delivery.StatusReply, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
if err = carSetChick(in); err != nil {
return nil, err
}
data := models.DeliveryCar{
Brand: in.Brand,
Version: in.Version,
TeamIdentity: in.TeamIdentity,
LicenseNumber: in.LicenseNumber,
Contacts: in.Contacts,
Phone: in.Phone,
Picture: in.Picture,
}
err = models.DBService.Where("identity = ?", in.Identity).Updates(&data).Error
if err != nil {
l.Logger.Error(err.Error())
return nil, errcode.ErrDB
}
return &delivery.StatusReply{Status: 200, Identity: in.Identity, Message: ""}, nil
}
func carSetChick(in *delivery.CarItem) error {
if in.GetIdentity() == "" {
return errcode.ErrInvalidArgument
}
if in.GetBrand() == "" {
return errcode.ErrInvalidArgument
}
if in.GetPhone() == "" {
return errcode.ErrInvalidArgument
}
// if in.GetTeamIdentity() == "" {
// return errcode.ErrInvalidArgument
// }
if in.GetContacts() == "" {
return errcode.ErrInvalidArgument
}
if in.GetVersion() == "" {
return errcode.ErrInvalidArgument
}
if in.GetPicture() == "" {
return errcode.ErrInvalidArgument
}
if in.GetLicenseNumber() == "" {
return errcode.ErrInvalidArgument
}
return nil
}

View File

@@ -1,75 +0,0 @@
package deliverylogic
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"git.apinb.com/bsm-sdk/core/utils"
"log/slog"
"bsm/full/shared/logging"
)
type MemberAddLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewMemberAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MemberAddLogic {
return &MemberAddLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 添加配送员
func (l *MemberAddLogic) MemberAdd(in *delivery.MemberItem) (*delivery.StatusReply, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
if err = memberAddChick(in); err != nil {
return nil, err
}
data := models.DeliveryMember{
Identity: utils.ULID(),
Name: in.Name,
TeamIdentity: in.TeamIdentity,
Phone: in.Phone,
Picture: in.Picture,
}
err = models.DBService.Create(&data).Error
if err != nil {
l.Logger.Error(err.Error())
return nil, errcode.ErrDB
}
return &delivery.StatusReply{Status: 200, Identity: data.Identity, Message: ""}, nil
}
func memberAddChick(in *delivery.MemberItem) error {
if in.GetName() == "" {
return errcode.ErrInvalidArgument
}
if in.GetPhone() == "" {
return errcode.ErrInvalidArgument
}
// if in.GetTeamIdentity() == "" {
// return errcode.ErrInvalidArgument
// }
if in.GetPicture() == "" {
return errcode.ErrInvalidArgument
}
if in.GetPhone() == "" {
return errcode.ErrInvalidArgument
}
return nil
}

View File

@@ -1,48 +0,0 @@
package deliverylogic
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"log/slog"
"bsm/full/shared/logging"
)
type MemberDelLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewMemberDelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MemberDelLogic {
return &MemberDelLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 删除配送员
func (l *MemberDelLogic) MemberDel(in *delivery.IdentRequest) (*delivery.StatusReply, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
if in.GetIdentity() == "" {
return nil, errcode.ErrInvalidArgument
}
//Todo: 删除是是否判定有未完成订单不能删除
err = models.DBService.Where("identity = ?", in.Identity).Delete(&models.DeliveryMember{}).Error
if err != nil {
l.Logger.Error(err.Error())
return nil, errcode.ErrDB
}
return &delivery.StatusReply{Status: 200, Identity: in.Identity, Message: ""}, nil
}

View File

@@ -1,53 +0,0 @@
package deliverylogic
import (
"context"
"errors"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"gorm.io/gorm"
"log/slog"
"bsm/full/shared/logging"
)
type MemberGetLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewMemberGetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MemberGetLogic {
return &MemberGetLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 获取配送员数据
func (l *MemberGetLogic) MemberGet(in *delivery.IdentRequest) (*delivery.MemberItem, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
if in.GetIdentity() == "" {
return nil, errcode.ErrInvalidArgument
}
var data = delivery.MemberItem{}
err = models.DBService.Model(&models.DeliveryMember{}).Where("identity = ?", in.Identity).Find(&data).Error
if err != nil {
l.Logger.Error(err.Error())
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, errcode.ErrRecordNotFound
}
return nil, errcode.ErrDB
}
return &data, nil
}

View File

@@ -1,82 +0,0 @@
package deliverylogic
import (
"context"
"errors"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"gorm.io/gorm"
"log/slog"
"bsm/full/shared/logging"
)
type MemberListLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewMemberListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MemberListLogic {
return &MemberListLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 获取配送员列表
func (l *MemberListLogic) MemberList(in *delivery.FetchRequest) (*delivery.MemberListReply, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
var (
teamIdentity string = ""
identity string = ""
name string = ""
status int64 = 1
cnt int64 = 0
data = make([]*delivery.MemberItem, 0)
)
if in.GetParams()["identity"] != "" {
identity = in.Params["identity"]
}
if in.GetParams()["team_identity"] != "" {
teamIdentity = in.Params["team_identity"]
}
if in.GetParams()["name"] != "" {
name = in.Params["name"]
}
if in.GetParams()["status"] == "-1" {
status = -1
}
cnt, res, err := models.DeliveryMemberList(identity, teamIdentity, name, status, int(in.PageSize), int(in.PageNo))
if err != nil {
l.Logger.Error(err.Error())
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, errcode.ErrRecordNotFound
}
return nil, errcode.ErrDB
}
for _, v := range res {
item := delivery.MemberItem{
Identity: v.Identity,
Name: v.Name,
TeamIdentity: v.TeamIdentity,
Picture: v.Picture,
Phone: v.Phone,
Status: v.Status,
Turnover: v.Turnover,
}
data = append(data, &item)
}
return &delivery.MemberListReply{Count: cnt, List: data}, nil
}

View File

@@ -1,78 +0,0 @@
package deliverylogic
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"log/slog"
"bsm/full/shared/logging"
)
type MemberSetLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewMemberSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MemberSetLogic {
return &MemberSetLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 修改配送员
func (l *MemberSetLogic) MemberSet(in *delivery.MemberItem) (*delivery.StatusReply, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
if err = memberSetChick(in); err != nil {
return nil, err
}
data := models.DeliveryMember{
Name: in.Name,
TeamIdentity: in.TeamIdentity,
Phone: in.Phone,
Picture: in.Picture,
Turnover: in.Turnover,
}
err = models.DBService.Where("identity = ?", in.Identity).Updates(&data).Error
if err != nil {
l.Logger.Error(err.Error())
return nil, errcode.ErrDB
}
return &delivery.StatusReply{Status: 200, Identity: in.Identity, Message: ""}, nil
}
func memberSetChick(in *delivery.MemberItem) error {
if in.GetIdentity() == "" {
return errcode.ErrInvalidArgument
}
if in.GetName() == "" {
return errcode.ErrInvalidArgument
}
if in.GetPhone() == "" {
return errcode.ErrInvalidArgument
}
// if in.GetTeamIdentity() == "" {
// return errcode.ErrInvalidArgument
// }
if in.GetPicture() == "" {
return errcode.ErrInvalidArgument
}
if in.GetPhone() == "" {
return errcode.ErrInvalidArgument
}
return nil
}

View File

@@ -1,77 +0,0 @@
package deliverylogic
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"git.apinb.com/bsm-sdk/core/utils"
"log/slog"
"bsm/full/shared/logging"
)
type TeamAddLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewTeamAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *TeamAddLogic {
return &TeamAddLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 添加配送团队
func (l *TeamAddLogic) TeamAdd(in *delivery.TeamItem) (*delivery.StatusReply, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
if err = teamAddChick(in); err != nil {
return nil, err
}
data := models.DeliveryItem{
Identity: utils.ULID(),
Title: in.Title,
Owner: in.Owner,
Contacts: in.Contacts,
Phone: in.Phone,
Logo: in.Logo,
}
err = models.DBService.Create(&data).Error
if err != nil {
l.Logger.Error(err.Error())
return nil, errcode.ErrDB
}
return &delivery.StatusReply{Status: 200, Identity: data.Identity, Message: ""}, nil
}
func teamAddChick(in *delivery.TeamItem) error {
if in.GetOwner() == "" {
return errcode.ErrInvalidArgument
}
if in.GetPhone() == "" {
return errcode.ErrInvalidArgument
}
if in.GetTitle() == "" {
return errcode.ErrInvalidArgument
}
if in.GetContacts() == "" {
return errcode.ErrInvalidArgument
}
if in.GetLogo() == "" {
return errcode.ErrInvalidArgument
}
return nil
}

View File

@@ -1,49 +0,0 @@
package deliverylogic
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"log/slog"
"bsm/full/shared/logging"
)
type TeamDelLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewTeamDelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *TeamDelLogic {
return &TeamDelLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 删除配送团队
func (l *TeamDelLogic) TeamDel(in *delivery.IdentRequest) (*delivery.StatusReply, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
if in.GetIdentity() == "" {
return nil, errcode.ErrInvalidArgument
}
//Todo: 删除是是否判定有成员不能删除
err = models.DBService.Where("identity = ?", in.Identity).Delete(&models.DeliveryItem{}).Error
if err != nil {
l.Logger.Error(err.Error())
return nil, errcode.ErrDB
}
return &delivery.StatusReply{Status: 200, Identity: in.Identity, Message: ""}, nil
}

View File

@@ -1,53 +0,0 @@
package deliverylogic
import (
"context"
"errors"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"gorm.io/gorm"
"log/slog"
"bsm/full/shared/logging"
)
type TeamGetLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewTeamGetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *TeamGetLogic {
return &TeamGetLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 配送团队详情
func (l *TeamGetLogic) TeamGet(in *delivery.IdentRequest) (*delivery.TeamItem, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
if in.GetIdentity() == "" {
return nil, errcode.ErrInvalidArgument
}
var data = delivery.TeamItem{}
err = models.DBService.Model(&models.DeliveryItem{}).Where("identity = ?", in.Identity).Find(&data).Error
if err != nil {
l.Logger.Error(err.Error())
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, errcode.ErrRecordNotFound
}
return nil, errcode.ErrDB
}
return &data, nil
}

View File

@@ -1,85 +0,0 @@
package deliverylogic
import (
"context"
"errors"
"fmt"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"gorm.io/gorm"
"log/slog"
"bsm/full/shared/logging"
)
type TeamListLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewTeamListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *TeamListLogic {
return &TeamListLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 配送团队列表
func (l *TeamListLogic) TeamList(in *delivery.FetchRequest) (*delivery.TeamListReply, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
var (
title string = ""
identity string = ""
owner string = ""
status int64 = 1
cnt int64 = 0
data = make([]*delivery.TeamItem, 0)
)
if in.GetParams()["identity"] != "" {
identity = in.Params["identity"]
}
if in.GetParams()["title"] != "" {
title = in.Params["title"]
}
if in.GetParams()["owner"] != "" {
owner = in.Params["owner"]
}
if in.GetParams()["status"] == "-1" {
status = -1
}
cnt, res, err := models.DeliveryItemList(identity, title, owner, status, int(in.PageSize), int(in.PageNo))
if err != nil {
fmt.Println("err:", err.Error())
l.Logger.Error(err.Error())
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, errcode.ErrRecordNotFound
}
return nil, errcode.ErrDB
}
for _, v := range res {
item := delivery.TeamItem{
Identity: v.Identity,
Title: v.Title,
Owner: v.Owner,
Contacts: v.Contacts,
Phone: v.Phone,
Status: v.Status,
Logo: v.Logo,
}
data = append(data, &item)
}
return &delivery.TeamListReply{Count: cnt, List: data}, nil
}

View File

@@ -1,78 +0,0 @@
package deliverylogic
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
"bsm/full/module/ec/delivery/internal/models"
"bsm/full/module/ec/delivery/internal/svc"
"git.apinb.com/bsm-sdk/core/errcode"
"git.apinb.com/bsm-sdk/core/service"
"log/slog"
"bsm/full/shared/logging"
)
type TeamSetLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
*slog.Logger
}
func NewTeamSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *TeamSetLogic {
return &TeamSetLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logging.Context(ctx),
}
}
// 修改配送团队信息
func (l *TeamSetLogic) TeamSet(in *delivery.TeamItem) (*delivery.StatusReply, error) {
_, err := service.ParseMetaCtx(l.ctx, nil)
if err != nil {
return nil, err
}
if err = teamSetChick(in); err != nil {
return nil, err
}
data := models.DeliveryItem{
Title: in.Title,
Owner: in.Owner,
Contacts: in.Contacts,
Phone: in.Phone,
Logo: in.Logo,
Status: in.Status,
}
err = models.DBService.Where("identity = ?", in.Identity).Updates(&data).Error
if err != nil {
l.Logger.Error(err.Error())
return nil, errcode.ErrDB
}
return &delivery.StatusReply{Status: 200, Identity: in.Identity, Message: ""}, nil
}
func teamSetChick(in *delivery.TeamItem) error {
if in.GetIdentity() == "" {
return errcode.ErrInvalidArgument
}
if in.GetOwner() == "" {
return errcode.ErrInvalidArgument
}
if in.GetPhone() == "" {
return errcode.ErrInvalidArgument
}
if in.GetTitle() == "" {
return errcode.ErrInvalidArgument
}
if in.GetContacts() == "" {
return errcode.ErrInvalidArgument
}
if in.GetLogo() == "" {
return errcode.ErrInvalidArgument
}
return nil
}

View File

@@ -1,50 +0,0 @@
package models
import (
"gorm.io/gorm"
)
// Deliverycar 配送员表/*
type DeliveryCar struct {
gorm.Model
Identity string `gorm:"column:identity;type:varchar(36);uniqueIndex;"` // 唯一标识24位NanoID,36位为UUID
Brand string `gorm:"column:brand;type:varchar(36);index;;" json:"brand"` // 品牌
TeamIdentity string `gorm:"column:team_identity;type:varchar(36);Index;" json:"team_identity"` // 团队唯一标识
Version string `gorm:"column:version;type:varchar(36);index;;" json:"version"` // 型号
LicenseNumber string `gorm:"column:license_number;type:varchar(36);index;;" json:"license_number"` // 车牌号
Contacts string `gorm:"column:contacts;type:varchar(36);Index;" json:"contacts"` // 联系人姓名
Phone string `gorm:"column:phone;type:varchar(36);Index;" json:"phone"` // 联系人电话
Picture string `gorm:"column:picture;type:varchar(255);Index;" json:"picture"` // 车辆图片
Status int64 `gorm:"column:status;default:1;" json:"status"` // 状态1正常;-1禁用
}
// TableName .
func (table *DeliveryCar) TableName() string {
return "delivery_car" //对应数据库表名
}
// DeliveryMemberList 获取配送团队
func DeliverycarList(identity, teamIdentity, licenseNumber string, status int64, size, page int) (int64, []DeliveryCar, error) {
var (
cnt int64 = 0
data = make([]DeliveryCar, 0)
)
tx := DBService
if identity != "" {
tx = tx.Where("identity = ?", identity)
}
if teamIdentity != "" {
tx = tx.Where("team_identity = ?", teamIdentity)
}
if licenseNumber != "" {
tx = tx.Where("license_number like ? or brand like ?", "%"+licenseNumber+"%", "%"+licenseNumber+"%")
}
if status != 0 {
tx = tx.Where("status = ?", status)
}
err := tx.Model(DeliveryCar{}).Order("created_at desc").Count(&cnt).Limit(size).Offset((page - 1) * size).Find(&data).Error
if err != nil {
return 0, nil, err
}
return cnt, data, nil
}

View File

@@ -1,49 +0,0 @@
package models
import (
"gorm.io/gorm"
)
// DeliveryItem 配送团队表/*
type DeliveryItem struct {
gorm.Model
Identity string `gorm:"column:identity;type:varchar(36);uniqueIndex;"` // 唯一标识24位NanoID,36位为UUID
Title string `gorm:"column:title;type:varchar(36);index;" json:"title"` // 团队名称
Owner string `gorm:"column:owner;type:varchar(36);Index;" json:"owner"` // 归属者唯一标识
Contacts string `gorm:"column:contacts;type:varchar(36);Index;" json:"contacts"` // 联系人姓名
Phone string `gorm:"column:phone;type:varchar(36);Index;" json:"phone"` // 联系人电话
Logo string `gorm:"column:logo;type:varchar(255);Index;" json:"logo"` // 团队图标地址
Status int64 `gorm:"column:status;default:1;" json:"status"` // 状态1正常;-1禁用
}
// TableName .
func (table *DeliveryItem) TableName() string {
return "delivery_item" //对应数据库表名
}
// DeliveryItemList 获取配送团队
func DeliveryItemList(identity, title, owner string, status int64, size, page int) (int64, []DeliveryItem, error) {
var (
cnt int64 = 0
data = make([]DeliveryItem, 0)
)
tx := DBService
if identity != "" {
tx = tx.Where("identity = ?", identity)
}
if title != "" {
tx = tx.Where("title like ?", "%"+title+"%")
}
if owner != "" {
tx = tx.Where("owner = ?", owner)
}
if status != 0 {
tx = tx.Where("status = ?", status)
}
err := tx.Model(DeliveryItem{}).Order("created_at desc").Count(&cnt).Limit(size).Offset((page - 1) * size).Find(&data).Error
if err != nil {
return 0, nil, err
}
return cnt, data, nil
}

View File

@@ -1,48 +0,0 @@
package models
import (
"gorm.io/gorm"
)
// DeliveryMember 配送员表/*
type DeliveryMember struct {
gorm.Model
Identity string `gorm:"column:identity;type:varchar(36);uniqueIndex;"` // 唯一标识24位NanoID,36位为UUID
Name string `gorm:"column:name;type:varchar(36);index;" json:"name"` // 姓名
TeamIdentity string `gorm:"column:team_identity;type:varchar(36);Index;" json:"team_identity"` // 团队唯一标识
Phone string `gorm:"column:phone;type:varchar(36);Index;" json:"phone"` // 电话
Picture string `gorm:"column:picture;type:varchar(255);Index;" json:"picture"` // 头像
Status int64 `gorm:"column:status;default:1;" json:"status"` // 状态1正常;-1禁用
Turnover int64 `gorm:"column:turnover;default:1;" json:"turnover"` // 总成交量
}
// TableName .
func (table *DeliveryMember) TableName() string {
return "delivery_member" //对应数据库表名
}
// DeliveryMemberList 获取配送团队成员
func DeliveryMemberList(identity, teamIdentity, name string, status int64, size, page int) (int64, []DeliveryMember, error) {
var (
cnt int64 = 0
data = make([]DeliveryMember, 0)
)
tx := DBService
if identity != "" {
tx = tx.Where("identity = ?", identity)
}
if name != "" {
tx = tx.Where("name like ?", "%"+name+"%")
}
if teamIdentity != "" {
tx = tx.Where("team_identity = ?", teamIdentity)
}
if status != 0 {
tx = tx.Where("status = ?", status)
}
err := tx.Model(DeliveryMember{}).Order("created_at desc").Count(&cnt).Limit(size).Offset((page - 1) * size).Find(&data).Error
if err != nil {
return 0, nil, err
}
return cnt, data, nil
}

View File

@@ -1,23 +0,0 @@
package models
import (
"git.apinb.com/bsm-sdk/core/database/sql"
"git.apinb.com/bsm-sdk/core/types"
"gorm.io/gorm"
)
var DBService *gorm.DB
var migrateTables = []any{
&DeliveryItem{},
&DeliveryMember{},
&DeliveryCar{},
}
func New(dsn string, options *types.SqlOptions) (err error) {
DBService, err = sql.NewPostgreSql(dsn, options)
if err != nil {
return err
}
return DBService.AutoMigrate(migrateTables...)
}

View File

@@ -1,53 +0,0 @@
// Code generated by goctl. DO NOT EDIT.
// Source: delivery.proto
package server
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
carlogic "bsm/full/module/ec/delivery/internal/logic/car"
"bsm/full/module/ec/delivery/internal/svc"
)
type CarServer struct {
svcCtx *svc.ServiceContext
delivery.UnimplementedCarServer
}
func NewCarServer(svcCtx *svc.ServiceContext) *CarServer {
return &CarServer{
svcCtx: svcCtx,
}
}
// 配送车辆列表
func (s *CarServer) CarList(ctx context.Context, in *delivery.FetchRequest) (*delivery.CarListReply, error) {
l := carlogic.NewCarListLogic(ctx, s.svcCtx)
return l.CarList(in)
}
// 添加配送车辆信息
func (s *CarServer) CarAdd(ctx context.Context, in *delivery.CarItem) (*delivery.StatusReply, error) {
l := carlogic.NewCarAddLogic(ctx, s.svcCtx)
return l.CarAdd(in)
}
// 获取配送车辆信息
func (s *CarServer) CarGet(ctx context.Context, in *delivery.IdentRequest) (*delivery.CarItem, error) {
l := carlogic.NewCarGetLogic(ctx, s.svcCtx)
return l.CarGet(in)
}
// 修改配送车辆信息
func (s *CarServer) CarSet(ctx context.Context, in *delivery.CarItem) (*delivery.StatusReply, error) {
l := carlogic.NewCarSetLogic(ctx, s.svcCtx)
return l.CarSet(in)
}
// 删除配送车辆信息
func (s *CarServer) CarDel(ctx context.Context, in *delivery.IdentRequest) (*delivery.StatusReply, error) {
l := carlogic.NewCarDelLogic(ctx, s.svcCtx)
return l.CarDel(in)
}

View File

@@ -1,53 +0,0 @@
// Code generated by goctl. DO NOT EDIT.
// Source: delivery.proto
package server
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
memberlogic "bsm/full/module/ec/delivery/internal/logic/member"
"bsm/full/module/ec/delivery/internal/svc"
)
type MemberServer struct {
svcCtx *svc.ServiceContext
delivery.UnimplementedMemberServer
}
func NewMemberServer(svcCtx *svc.ServiceContext) *MemberServer {
return &MemberServer{
svcCtx: svcCtx,
}
}
// 获取配送员列表
func (s *MemberServer) MemberList(ctx context.Context, in *delivery.FetchRequest) (*delivery.MemberListReply, error) {
l := memberlogic.NewMemberListLogic(ctx, s.svcCtx)
return l.MemberList(in)
}
// 添加配送员
func (s *MemberServer) MemberAdd(ctx context.Context, in *delivery.MemberItem) (*delivery.StatusReply, error) {
l := memberlogic.NewMemberAddLogic(ctx, s.svcCtx)
return l.MemberAdd(in)
}
// 获取配送员数据
func (s *MemberServer) MemberGet(ctx context.Context, in *delivery.IdentRequest) (*delivery.MemberItem, error) {
l := memberlogic.NewMemberGetLogic(ctx, s.svcCtx)
return l.MemberGet(in)
}
// 修改配送员
func (s *MemberServer) MemberSet(ctx context.Context, in *delivery.MemberItem) (*delivery.StatusReply, error) {
l := memberlogic.NewMemberSetLogic(ctx, s.svcCtx)
return l.MemberSet(in)
}
// 删除配送员
func (s *MemberServer) MemberDel(ctx context.Context, in *delivery.IdentRequest) (*delivery.StatusReply, error) {
l := memberlogic.NewMemberDelLogic(ctx, s.svcCtx)
return l.MemberDel(in)
}

View File

@@ -1,53 +0,0 @@
// Code generated by goctl. DO NOT EDIT.
// Source: delivery.proto
package server
import (
"context"
"bsm/full/module/ec/delivery/external/pb/delivery"
teamlogic "bsm/full/module/ec/delivery/internal/logic/team"
"bsm/full/module/ec/delivery/internal/svc"
)
type TeamServer struct {
svcCtx *svc.ServiceContext
delivery.UnimplementedTeamServer
}
func NewTeamServer(svcCtx *svc.ServiceContext) *TeamServer {
return &TeamServer{
svcCtx: svcCtx,
}
}
// 配送团队列表
func (s *TeamServer) TeamList(ctx context.Context, in *delivery.FetchRequest) (*delivery.TeamListReply, error) {
l := teamlogic.NewTeamListLogic(ctx, s.svcCtx)
return l.TeamList(in)
}
// 添加配送团队
func (s *TeamServer) TeamAdd(ctx context.Context, in *delivery.TeamItem) (*delivery.StatusReply, error) {
l := teamlogic.NewTeamAddLogic(ctx, s.svcCtx)
return l.TeamAdd(in)
}
// 配送团队详情
func (s *TeamServer) TeamGet(ctx context.Context, in *delivery.IdentRequest) (*delivery.TeamItem, error) {
l := teamlogic.NewTeamGetLogic(ctx, s.svcCtx)
return l.TeamGet(in)
}
// 修改配送团队信息
func (s *TeamServer) TeamSet(ctx context.Context, in *delivery.TeamItem) (*delivery.StatusReply, error) {
l := teamlogic.NewTeamSetLogic(ctx, s.svcCtx)
return l.TeamSet(in)
}
// 删除配送团队
func (s *TeamServer) TeamDel(ctx context.Context, in *delivery.IdentRequest) (*delivery.StatusReply, error) {
l := teamlogic.NewTeamDelLogic(ctx, s.svcCtx)
return l.TeamDel(in)
}

View File

@@ -1,13 +0,0 @@
package svc
import "bsm/full/module/ec/delivery/internal/config"
type ServiceContext struct {
Config config.Config
}
func NewServiceContext(c config.Config) *ServiceContext {
return &ServiceContext{
Config: c,
}
}

View File

@@ -1,41 +0,0 @@
syntax = "proto3";
package delivery;
option go_package = "bsm/full/module/ec/delivery/external/pb/delivery;delivery";
import "protobuf/blocks.proto";
// Delivery(配送)微服务
service Car {
// 配送车辆列表
rpc CarList(blocks.FetchRequest) returns (CarListReply) {};
// 添加配送车辆信息
rpc CarAdd(CarItem) returns (blocks.DeliveryStatusReply) {};
// 获取配送车辆信息
rpc CarGet(blocks.IdentRequest)returns (CarItem) {};
// 修改配送车辆信息
rpc CarSet(CarItem) returns (blocks.DeliveryStatusReply) {};
// 删除配送车辆信息
rpc CarDel(blocks.IdentRequest) returns (blocks.DeliveryStatusReply) {};
}
message CarListReply{
int64 count = 1;
repeated CarItem list = 2;
}
message CarItem{
string identity = 1; // 唯一标识
string brand = 2; // 品牌
string version = 3; // 型号
string license_number = 4; // 车牌号
string team_identity = 5; // 团队唯一标识
string contacts = 6; // 联系人姓名
string phone = 7; // 联系人电话
int64 status = 8; // 状态1正常;-1禁用
string picture = 9; // 车辆图片
}

View File

@@ -1,35 +0,0 @@
syntax = "proto3";
package delivery;
option go_package = "bsm/full/module/ec/delivery/external/pb/delivery;delivery";
import "protobuf/blocks.proto";
// Delivery(配送)微服务
service Member {
// 获取配送员列表
rpc MemberList(blocks.FetchRequest) returns (MemberListReply) {};
// 添加配送员
rpc MemberAdd(MemberItem) returns (blocks.DeliveryStatusReply) {};
// 获取配送员数据
rpc MemberGet(blocks.IdentRequest)returns (MemberItem) {};
// 修改配送员
rpc MemberSet(MemberItem) returns (blocks.DeliveryStatusReply) {};
// 删除配送员
rpc MemberDel(blocks.IdentRequest) returns (blocks.DeliveryStatusReply) {};
}
message MemberItem{
string identity = 1; // 唯一标识
string name = 2; // 姓名
string team_identity = 3; // 团队唯一标识
string picture = 4; // 头像
string phone = 5; // 联系人电话
int64 status = 6; // 状态1正常;-1禁用
int64 turnover = 7; // 总成交量
}
message MemberListReply{
int64 count = 1;
repeated MemberItem list = 2;
}

View File

@@ -1,37 +0,0 @@
syntax = "proto3";
package delivery;
option go_package = "bsm/full/module/ec/delivery/external/pb/delivery;delivery";
import "protobuf/blocks.proto";
// Delivery(配送)微服务
service Team {
// 配送团队列表
rpc TeamList(blocks.FetchRequest) returns (TeamListReply) {};
// 添加配送团队
rpc TeamAdd(TeamItem) returns (blocks.DeliveryStatusReply) {};
// 配送团队详情
rpc TeamGet(blocks.IdentRequest) returns (TeamItem) {};
// 修改配送团队信息
rpc TeamSet(TeamItem) returns (blocks.DeliveryStatusReply) {};
// 删除配送团队
rpc TeamDel(blocks.IdentRequest) returns (blocks.DeliveryStatusReply) {};
}
message TeamListReply{
int64 count = 1;
repeated TeamItem list = 2;
}
message TeamItem{
string identity = 1; // 唯一标识
string title = 2; // 团队名称
string owner = 3; // 归属者唯一标识
string contacts = 4; // 联系人姓名
string phone = 5; // 联系人电话
int64 status = 6; // 状态1正常;-1禁用
string logo = 7; // 团队图标地址
}

View File

@@ -1,32 +0,0 @@
filebeat.inputs:
- type: log
enabled: true
# 开启json解析
json.keys_under_root: true
json.add_error_key: true
# 日志文件路径
paths:
- ./logs/content/error.log
- ./logs/content/slow.log
setup.template.settings:
index.number_of_shards: 1
# 定义kafka topic field
fields:
log_topic: scf.pb.dev
# 输出到kafka
output.kafka:
hosts: ["127.0.0.1:9092"]
topic: '%{[fields.log_topic]}'
partition.round_robin:
reachable_only: false
required_acks: 1
keep_alive: 10s
# ================================= Processors =================================
processors:
- decode_json_fields:
fields: ['@timestamp','level','content','trace','span','duration']
target: ""

View File

@@ -1,5 +0,0 @@
#install
go install github.com/securego/gosec/v2/cmd/gosec@latest
#run
gosec -fmt=json -out=./test/lint/gosec.json ./...

View File

@@ -1,27 +0,0 @@
package rpc
import (
"context"
"os"
"git.apinb.com/bsm-sdk/core/utils"
"google.golang.org/grpc"
"google.golang.org/grpc/metadata"
)
var url = "127.0.0.1:12264"
var token = os.Getenv("BSM_DELIVERY_TOKEN")
func GetCoon() (*grpc.ClientConn, context.Context) {
md := metadata.New(map[string]string{"request_id": utils.ULID(), "workspace": "scf"})
md.Append("authorization", token)
ctx := metadata.NewOutgoingContext(context.Background(), md)
// 建立GRPC连接
conn, err := grpc.Dial(url, grpc.WithInsecure())
if err != nil {
panic(err)
}
return conn, ctx
}

View File

@@ -1,112 +0,0 @@
//go:build integration
package rpc
import (
"encoding/json"
"fmt"
"testing"
pb "bsm/full/module/ec/delivery/external/pb/delivery"
)
func TestCarAdd(t *testing.T) {
conn, ctx := GetCoon()
client := pb.NewCarClient(conn)
defer conn.Close()
data := pb.CarItem{
Brand: "比亚迪",
Version: "A6",
LicenseNumber: "川G782672",
TeamIdentity: "f3b9bf81-c721-4d1e-9261-2b96d0fe0cc5",
Contacts: "小黑",
Phone: "18725312289",
Picture: "https://www.baidu.com/x.png",
}
re, _ := json.Marshal(&data)
fmt.Printf("发送的测试消息: %s\n", re)
res, err := client.CarAdd(ctx, &data)
if err != nil {
panic(err)
}
s, err := json.Marshal(res)
if err != nil {
panic(err)
}
fmt.Printf("返回的测试消息: %s", s)
}
func TestCarSet(t *testing.T) {
conn, ctx := GetCoon()
client := pb.NewCarClient(conn)
defer conn.Close()
data := pb.CarItem{
Identity: "f747cf0a-5cb4-4969-a0fd-e7e5c73ee844",
Brand: "奥迪4",
Version: "A6",
LicenseNumber: "川G782671",
TeamIdentity: "f3b9bf81-c721-4d1e-9261-2b96d0fe0cc5",
Contacts: "小库",
Phone: "18725312289",
Picture: "https://www.baidu.com/x.png",
}
re, _ := json.Marshal(&data)
fmt.Printf("发送的测试消息: %s\n", re)
res, err := client.CarSet(ctx, &data)
if err != nil {
panic(err)
}
s, err := json.Marshal(res)
if err != nil {
panic(err)
}
fmt.Printf("返回的测试消息: %s", s)
}
func TestCarGet(t *testing.T) {
conn, ctx := GetCoon()
client := pb.NewCarClient(conn)
defer conn.Close()
data := pb.IdentRequest{
Identity: "e3a161fb-fdf1-481a-9c43-25020f5c271a",
}
re, _ := json.Marshal(&data)
fmt.Printf("发送的测试消息: %s\n", re)
res, err := client.CarGet(ctx, &data)
if err != nil {
panic(err)
}
s, err := json.Marshal(res)
if err != nil {
panic(err)
}
fmt.Printf("返回的测试消息: %s", s)
}
func TestCarList(t *testing.T) {
conn, ctx := GetCoon()
client := pb.NewCarClient(conn)
defer conn.Close()
data := pb.FetchRequest{
PageNo: 1,
PageSize: 10,
Params: map[string]string{
"identity": "",
"team_identity": "",
"license_number": "川G",
"status": "",
},
}
re, _ := json.Marshal(&data)
fmt.Printf("发送的测试消息: %s\n", re)
res, err := client.CarList(ctx, &data)
if err != nil {
panic(err)
}
s, err := json.Marshal(res)
if err != nil {
panic(err)
}
fmt.Printf("返回的测试消息: %s", s)
}

View File

@@ -1,107 +0,0 @@
//go:build integration
package rpc
import (
"encoding/json"
"fmt"
"testing"
pb "bsm/full/module/ec/delivery/external/pb/delivery"
)
func TestMemberAdd(t *testing.T) {
conn, ctx := GetCoon()
client := pb.NewMemberClient(conn)
defer conn.Close()
data := pb.MemberItem{
TeamIdentity: "f3b9bf81-c721-4d1e-9261-2b96d0fe0cc5",
Name: "小秦",
Phone: "18725312289",
Picture: "https://www.baidu.com/x.png",
}
re, _ := json.Marshal(&data)
fmt.Printf("发送的测试消息: %s\n", re)
res, err := client.MemberAdd(ctx, &data)
if err != nil {
panic(err)
}
s, err := json.Marshal(res)
if err != nil {
panic(err)
}
fmt.Printf("返回的测试消息: %s", s)
}
func TestMemberSet(t *testing.T) {
conn, ctx := GetCoon()
client := pb.NewMemberClient(conn)
defer conn.Close()
data := pb.MemberItem{
Identity: "1e280531-8ffd-4cf8-b445-f37ce1807685",
TeamIdentity: "f3b9bf81-c721-4d1e-9261-2b96d0fe0cc5",
Name: "小秦",
Phone: "18725312289",
Picture: "https://www.baidu.com/xx.png",
Status: 1,
}
re, _ := json.Marshal(&data)
fmt.Printf("发送的测试消息: %s\n", re)
res, err := client.MemberSet(ctx, &data)
if err != nil {
panic(err)
}
s, err := json.Marshal(res)
if err != nil {
panic(err)
}
fmt.Printf("返回的测试消息: %s", s)
}
func TestMemberGet(t *testing.T) {
conn, ctx := GetCoon()
client := pb.NewMemberClient(conn)
defer conn.Close()
data := pb.IdentRequest{
Identity: "1e280531-8ffd-4cf8-b445-f37ce1807685",
}
re, _ := json.Marshal(&data)
fmt.Printf("发送的测试消息: %s\n", re)
res, err := client.MemberGet(ctx, &data)
if err != nil {
panic(err)
}
s, err := json.Marshal(res)
if err != nil {
panic(err)
}
fmt.Printf("返回的测试消息: %s", s)
}
func TestMemberList(t *testing.T) {
conn, ctx := GetCoon()
client := pb.NewMemberClient(conn)
defer conn.Close()
data := pb.FetchRequest{
PageNo: 1,
PageSize: 10,
Params: map[string]string{
"identity": "",
"team_identity": "",
"name": "秦",
"status": "",
},
}
re, _ := json.Marshal(&data)
fmt.Printf("发送的测试消息: %s\n", re)
res, err := client.MemberList(ctx, &data)
if err != nil {
panic(err)
}
s, err := json.Marshal(res)
if err != nil {
panic(err)
}
fmt.Printf("返回的测试消息: %s", s)
}

View File

@@ -1,109 +0,0 @@
//go:build integration
package rpc
import (
"encoding/json"
"fmt"
"testing"
pb "bsm/full/module/ec/delivery/external/pb/delivery"
)
func TestTeamAdd(t *testing.T) {
conn, ctx := GetCoon()
client := pb.NewTeamClient(conn)
defer conn.Close()
data := pb.TeamItem{
Title: "XX专送团队",
Owner: "B9355263-4983-5BAA-631A-046B453480C8",
Contacts: "老王",
Phone: "13402984328",
Logo: "http://www.baidu.com/sad.jpg",
}
re, _ := json.Marshal(&data)
fmt.Printf("发送的测试消息: %s\n", re)
res, err := client.TeamAdd(ctx, &data)
if err != nil {
panic(err)
}
s, err := json.Marshal(res)
if err != nil {
panic(err)
}
fmt.Printf("返回的测试消息: %s", s)
}
func TestTeamSet(t *testing.T) {
conn, ctx := GetCoon()
client := pb.NewTeamClient(conn)
defer conn.Close()
data := pb.TeamItem{
Title: "XX专送团队",
Owner: "B9355263-4983-5BAA-631A-046B453480C8",
Contacts: "老李",
Phone: "13402984328",
Logo: "http://www.baidu.com/sad.jpg",
Identity: "f3b9bf81-c721-4d1e-9261-2b96d0fe0cc5",
Status: 1,
}
re, _ := json.Marshal(&data)
fmt.Printf("发送的测试消息: %s\n", re)
res, err := client.TeamSet(ctx, &data)
if err != nil {
panic(err)
}
s, err := json.Marshal(res)
if err != nil {
panic(err)
}
fmt.Printf("返回的测试消息: %s", s)
}
func TestTeamGet(t *testing.T) {
conn, ctx := GetCoon()
client := pb.NewTeamClient(conn)
defer conn.Close()
data := pb.IdentRequest{
Identity: "f3b9bf81-c721-4d1e-9261-2b96d0fe0cc5",
}
re, _ := json.Marshal(&data)
fmt.Printf("发送的测试消息: %s\n", re)
res, err := client.TeamGet(ctx, &data)
if err != nil {
panic(err)
}
s, err := json.Marshal(res)
if err != nil {
panic(err)
}
fmt.Printf("返回的测试消息: %s", s)
}
func TestTeamList(t *testing.T) {
conn, ctx := GetCoon()
client := pb.NewTeamClient(conn)
defer conn.Close()
data := pb.FetchRequest{
PageNo: 1,
PageSize: 10,
Params: map[string]string{
"identity": "",
"title": "",
"owner": "",
"status": "",
},
}
re, _ := json.Marshal(&data)
fmt.Printf("发送的测试消息: %s\n", re)
res, err := client.TeamList(ctx, &data)
if err != nil {
panic(err)
}
s, err := json.Marshal(res)
if err != nil {
panic(err)
}
fmt.Printf("返回的测试消息: %s", s)
}

View File

@@ -47,12 +47,7 @@ while IFS= read -r -d '' go_mod; do
module_path="$(awk '$1 == "module" { print $2; exit }' "${go_mod}")"
module_path="${module_path//$'\r'/}"
if [[ "$(basename -- "${module_dir}")" == "delivery" ]]; then
output_dir="${module_dir}/external/pb/delivery"
else
output_dir="${module_dir}/pb"
fi
mkdir -p "${output_dir}"
find "${output_dir}" -maxdepth 1 -type f \

View File

@@ -1,15 +0,0 @@
module bsm/full/shared
go 1.26.5
require google.golang.org/grpc v1.83.0
require (
golang.org/x/net v0.55.0 // indirect
golang.org/x/sys v0.45.0 // indirect
golang.org/x/text v0.37.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect
google.golang.org/protobuf v1.36.11 // indirect
)
replace git.apinb.com/bsm-sdk/core => D:/work/bsm-sdk/core

View File

@@ -1,38 +0,0 @@
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU=
go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc=
go.opentelemetry.io/otel/metric v1.44.0 h1:1w0gILTcHdr3YI+ixLyjemwrVnsMURbTZFrSYCdDdmc=
go.opentelemetry.io/otel/metric v1.44.0/go.mod h1:8O7hanEPBNgEMmybD3s2VBKcgWOCsA6tzHBPODAiquo=
go.opentelemetry.io/otel/sdk v1.44.0 h1:nHYwb9lK+fJPU/dnT6s7W7Z8itMWyqrnVfbheVYrZ58=
go.opentelemetry.io/otel/sdk v1.44.0/go.mod h1:Osuydd3Se74nqjAKxid74N5eC+jfEqfTegHRnq58oK0=
go.opentelemetry.io/otel/sdk/metric v1.44.0 h1:3LlKgI+VjbVsjNRFZJZAJ30WjXC5VkNRks6si09iEfI=
go.opentelemetry.io/otel/sdk/metric v1.44.0/go.mod h1:5B5pMARnXxKhltooO4xUuCBorl65a4EpnTalObqOigA=
go.opentelemetry.io/otel/trace v1.44.0 h1:jxF5CsGYCe74MCRx2X4g7WsY/VBKRqqpNvXlX/6gtIk=
go.opentelemetry.io/otel/trace v1.44.0/go.mod h1:oLl1jrMQAVo6v3GAggN+1VH9VIz9iUSvW53sW1Q8PIE=
golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8=
golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww=
golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY=
golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc=
golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38=
gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4=
gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa h1:mZHHdPZl0dbGHCflZgAq/Q468DWVFcU2whhB2KAo8fk=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
google.golang.org/grpc v1.83.0 h1:JeNZEKJFbQxArAMl+hiytHauacDNqJUllNfmIMmpqnQ=
google.golang.org/grpc v1.83.0/go.mod h1:kDyl6SKsiHKt0uylY5gtn5cEjkrIOhQOGDgIc4JGwzQ=
google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE=
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=

View File

@@ -1,9 +0,0 @@
// Package grpcconn defines the smallest connection contract required by generated RPC clients.
package grpcconn
import "google.golang.org/grpc"
// Provider is implemented by grpc.ClientConn wrappers, including legacy clients exposing Conn.
type Provider interface {
Conn() *grpc.ClientConn
}

View File

@@ -1,13 +0,0 @@
// Package logging centralizes application logging without coupling services to a framework.
package logging
import (
"context"
"log/slog"
)
// Context returns the process logger. The context parameter keeps call sites ready for
// a future trace-aware handler without imposing one on every service today.
func Context(_ context.Context) *slog.Logger {
return slog.Default()
}