feat: import services and standardize Go 1.26.5
This commit is contained in:
7
apps/ec/delivery/.actions
Normal file
7
apps/ec/delivery/.actions
Normal file
@@ -0,0 +1,7 @@
|
||||
# Actions 编译部署配置文件,文件格式:YAML
|
||||
#
|
||||
# 微服务相关配置
|
||||
service:
|
||||
origin: bsm
|
||||
image: golang:1.26.5-bookworm
|
||||
describe: ec.delivery
|
||||
3
apps/ec/delivery/README.md
Normal file
3
apps/ec/delivery/README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# delivery
|
||||
|
||||
配送微服务,团队或公司,车辆,配送人员。
|
||||
43
apps/ec/delivery/cmd/main.go
Normal file
43
apps/ec/delivery/cmd/main.go
Normal file
@@ -0,0 +1,43 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/impl"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
"github.com/zeromicro/go-zero/zrpc"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/reflection"
|
||||
|
||||
pb "git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
carServer "git.apinb.com/bsm-service-ec/delivery/internal/server/car"
|
||||
memberServer "git.apinb.com/bsm-service-ec/delivery/internal/server/member"
|
||||
teamServer "git.apinb.com/bsm-service-ec/delivery/internal/server/team"
|
||||
)
|
||||
|
||||
var (
|
||||
ServiceKey = "delivery"
|
||||
)
|
||||
|
||||
func Run() {
|
||||
|
||||
impl.NewService(ServiceKey)
|
||||
|
||||
ctx := svc.NewServiceContext(impl.Configure)
|
||||
|
||||
service, err := zrpc.NewServer(impl.Configure.RpcServerConf, func(grpcServer *grpc.Server) {
|
||||
|
||||
//将服务注册到GRPC
|
||||
pb.RegisterTeamServer(grpcServer, teamServer.NewTeamServer(ctx))
|
||||
pb.RegisterMemberServer(grpcServer, memberServer.NewMemberServer(ctx))
|
||||
pb.RegisterCarServer(grpcServer, carServer.NewCarServer(ctx))
|
||||
|
||||
reflection.Register(grpcServer)
|
||||
})
|
||||
|
||||
logx.Must(err)
|
||||
|
||||
defer service.Stop()
|
||||
|
||||
service.Start()
|
||||
}
|
||||
46
apps/ec/delivery/etc/delivery_dev.yaml
Normal file
46
apps/ec/delivery/etc/delivery_dev.yaml
Normal file
@@ -0,0 +1,46 @@
|
||||
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}
|
||||
47
apps/ec/delivery/etc/delivery_prod.yaml
Normal file
47
apps/ec/delivery/etc/delivery_prod.yaml
Normal file
@@ -0,0 +1,47 @@
|
||||
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}
|
||||
49
apps/ec/delivery/etc/delivery_test.yaml
Normal file
49
apps/ec/delivery/etc/delivery_test.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
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}
|
||||
81
apps/ec/delivery/external/client/car/car.go
vendored
Normal file
81
apps/ec/delivery/external/client/car/car.go
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
// Code generated by goctl. DO NOT EDIT.
|
||||
// Source: delivery.proto
|
||||
|
||||
package car
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
|
||||
"github.com/zeromicro/go-zero/zrpc"
|
||||
"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 zrpc.Client
|
||||
}
|
||||
)
|
||||
|
||||
func NewCar(cli zrpc.Client) 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...)
|
||||
}
|
||||
81
apps/ec/delivery/external/client/member/member.go
vendored
Normal file
81
apps/ec/delivery/external/client/member/member.go
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
// Code generated by goctl. DO NOT EDIT.
|
||||
// Source: delivery.proto
|
||||
|
||||
package member
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
|
||||
"github.com/zeromicro/go-zero/zrpc"
|
||||
"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 zrpc.Client
|
||||
}
|
||||
)
|
||||
|
||||
func NewMember(cli zrpc.Client) 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...)
|
||||
}
|
||||
81
apps/ec/delivery/external/client/team/team.go
vendored
Normal file
81
apps/ec/delivery/external/client/team/team.go
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
// Code generated by goctl. DO NOT EDIT.
|
||||
// Source: delivery.proto
|
||||
|
||||
package team
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
|
||||
"github.com/zeromicro/go-zero/zrpc"
|
||||
"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 zrpc.Client
|
||||
}
|
||||
)
|
||||
|
||||
func NewTeam(cli zrpc.Client) 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...)
|
||||
}
|
||||
1199
apps/ec/delivery/external/pb/delivery/delivery.pb.go
vendored
Normal file
1199
apps/ec/delivery/external/pb/delivery/delivery.pb.go
vendored
Normal file
File diff suppressed because it is too large
Load Diff
763
apps/ec/delivery/external/pb/delivery/delivery_grpc.pb.go
vendored
Normal file
763
apps/ec/delivery/external/pb/delivery/delivery_grpc.pb.go
vendored
Normal file
@@ -0,0 +1,763 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.3.0
|
||||
// - protoc v3.19.4
|
||||
// source: proto/delivery.proto
|
||||
|
||||
package delivery
|
||||
|
||||
import (
|
||||
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.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
|
||||
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.
|
||||
type CarClient 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)
|
||||
}
|
||||
|
||||
type carClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewCarClient(cc grpc.ClientConnInterface) CarClient {
|
||||
return &carClient{cc}
|
||||
}
|
||||
|
||||
func (c *carClient) CarList(ctx context.Context, in *FetchRequest, opts ...grpc.CallOption) (*CarListReply, error) {
|
||||
out := new(CarListReply)
|
||||
err := c.cc.Invoke(ctx, Car_CarList_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *carClient) CarAdd(ctx context.Context, in *CarItem, opts ...grpc.CallOption) (*StatusReply, error) {
|
||||
out := new(StatusReply)
|
||||
err := c.cc.Invoke(ctx, Car_CarAdd_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *carClient) CarGet(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*CarItem, error) {
|
||||
out := new(CarItem)
|
||||
err := c.cc.Invoke(ctx, Car_CarGet_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *carClient) CarSet(ctx context.Context, in *CarItem, opts ...grpc.CallOption) (*StatusReply, error) {
|
||||
out := new(StatusReply)
|
||||
err := c.cc.Invoke(ctx, Car_CarSet_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *carClient) CarDel(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*StatusReply, error) {
|
||||
out := new(StatusReply)
|
||||
err := c.cc.Invoke(ctx, Car_CarDel_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// CarServer is the server API for Car service.
|
||||
// All implementations must embed UnimplementedCarServer
|
||||
// for forward compatibility
|
||||
type CarServer interface {
|
||||
// 配送车辆列表
|
||||
CarList(context.Context, *FetchRequest) (*CarListReply, error)
|
||||
// 添加配送车辆信息
|
||||
CarAdd(context.Context, *CarItem) (*StatusReply, error)
|
||||
// 获取配送车辆信息
|
||||
CarGet(context.Context, *IdentRequest) (*CarItem, error)
|
||||
// 修改配送车辆信息
|
||||
CarSet(context.Context, *CarItem) (*StatusReply, error)
|
||||
// 删除配送车辆信息
|
||||
CarDel(context.Context, *IdentRequest) (*StatusReply, error)
|
||||
mustEmbedUnimplementedCarServer()
|
||||
}
|
||||
|
||||
// UnimplementedCarServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedCarServer struct {
|
||||
}
|
||||
|
||||
func (UnimplementedCarServer) CarList(context.Context, *FetchRequest) (*CarListReply, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CarList not implemented")
|
||||
}
|
||||
func (UnimplementedCarServer) CarAdd(context.Context, *CarItem) (*StatusReply, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CarAdd not implemented")
|
||||
}
|
||||
func (UnimplementedCarServer) CarGet(context.Context, *IdentRequest) (*CarItem, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CarGet not implemented")
|
||||
}
|
||||
func (UnimplementedCarServer) CarSet(context.Context, *CarItem) (*StatusReply, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CarSet not implemented")
|
||||
}
|
||||
func (UnimplementedCarServer) CarDel(context.Context, *IdentRequest) (*StatusReply, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method CarDel not implemented")
|
||||
}
|
||||
func (UnimplementedCarServer) mustEmbedUnimplementedCarServer() {}
|
||||
|
||||
// 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) {
|
||||
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(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.(*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(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.(*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(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.(*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: "proto/delivery.proto",
|
||||
}
|
||||
|
||||
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.
|
||||
type MemberClient 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)
|
||||
}
|
||||
|
||||
type memberClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewMemberClient(cc grpc.ClientConnInterface) MemberClient {
|
||||
return &memberClient{cc}
|
||||
}
|
||||
|
||||
func (c *memberClient) MemberList(ctx context.Context, in *FetchRequest, opts ...grpc.CallOption) (*MemberListReply, error) {
|
||||
out := new(MemberListReply)
|
||||
err := c.cc.Invoke(ctx, Member_MemberList_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *memberClient) MemberAdd(ctx context.Context, in *MemberItem, opts ...grpc.CallOption) (*StatusReply, error) {
|
||||
out := new(StatusReply)
|
||||
err := c.cc.Invoke(ctx, Member_MemberAdd_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *memberClient) MemberGet(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*MemberItem, error) {
|
||||
out := new(MemberItem)
|
||||
err := c.cc.Invoke(ctx, Member_MemberGet_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *memberClient) MemberSet(ctx context.Context, in *MemberItem, opts ...grpc.CallOption) (*StatusReply, error) {
|
||||
out := new(StatusReply)
|
||||
err := c.cc.Invoke(ctx, Member_MemberSet_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *memberClient) MemberDel(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*StatusReply, error) {
|
||||
out := new(StatusReply)
|
||||
err := c.cc.Invoke(ctx, Member_MemberDel_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// MemberServer is the server API for Member service.
|
||||
// All implementations must embed UnimplementedMemberServer
|
||||
// for forward compatibility
|
||||
type MemberServer interface {
|
||||
// 获取配送员列表
|
||||
MemberList(context.Context, *FetchRequest) (*MemberListReply, error)
|
||||
// 添加配送员
|
||||
MemberAdd(context.Context, *MemberItem) (*StatusReply, error)
|
||||
// 获取配送员数据
|
||||
MemberGet(context.Context, *IdentRequest) (*MemberItem, error)
|
||||
// 修改配送员
|
||||
MemberSet(context.Context, *MemberItem) (*StatusReply, error)
|
||||
// 删除配送员
|
||||
MemberDel(context.Context, *IdentRequest) (*StatusReply, error)
|
||||
mustEmbedUnimplementedMemberServer()
|
||||
}
|
||||
|
||||
// UnimplementedMemberServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedMemberServer struct {
|
||||
}
|
||||
|
||||
func (UnimplementedMemberServer) MemberList(context.Context, *FetchRequest) (*MemberListReply, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method MemberList not implemented")
|
||||
}
|
||||
func (UnimplementedMemberServer) MemberAdd(context.Context, *MemberItem) (*StatusReply, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method MemberAdd not implemented")
|
||||
}
|
||||
func (UnimplementedMemberServer) MemberGet(context.Context, *IdentRequest) (*MemberItem, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method MemberGet not implemented")
|
||||
}
|
||||
func (UnimplementedMemberServer) MemberSet(context.Context, *MemberItem) (*StatusReply, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method MemberSet not implemented")
|
||||
}
|
||||
func (UnimplementedMemberServer) MemberDel(context.Context, *IdentRequest) (*StatusReply, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method MemberDel not implemented")
|
||||
}
|
||||
func (UnimplementedMemberServer) mustEmbedUnimplementedMemberServer() {}
|
||||
|
||||
// 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) {
|
||||
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(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.(*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(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.(*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(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.(*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: "proto/delivery.proto",
|
||||
}
|
||||
|
||||
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.
|
||||
type TeamClient 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)
|
||||
}
|
||||
|
||||
type teamClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewTeamClient(cc grpc.ClientConnInterface) TeamClient {
|
||||
return &teamClient{cc}
|
||||
}
|
||||
|
||||
func (c *teamClient) TeamList(ctx context.Context, in *FetchRequest, opts ...grpc.CallOption) (*TeamListReply, error) {
|
||||
out := new(TeamListReply)
|
||||
err := c.cc.Invoke(ctx, Team_TeamList_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *teamClient) TeamAdd(ctx context.Context, in *TeamItem, opts ...grpc.CallOption) (*StatusReply, error) {
|
||||
out := new(StatusReply)
|
||||
err := c.cc.Invoke(ctx, Team_TeamAdd_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *teamClient) TeamGet(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*TeamItem, error) {
|
||||
out := new(TeamItem)
|
||||
err := c.cc.Invoke(ctx, Team_TeamGet_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *teamClient) TeamSet(ctx context.Context, in *TeamItem, opts ...grpc.CallOption) (*StatusReply, error) {
|
||||
out := new(StatusReply)
|
||||
err := c.cc.Invoke(ctx, Team_TeamSet_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *teamClient) TeamDel(ctx context.Context, in *IdentRequest, opts ...grpc.CallOption) (*StatusReply, error) {
|
||||
out := new(StatusReply)
|
||||
err := c.cc.Invoke(ctx, Team_TeamDel_FullMethodName, in, out, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// TeamServer is the server API for Team service.
|
||||
// All implementations must embed UnimplementedTeamServer
|
||||
// for forward compatibility
|
||||
type TeamServer interface {
|
||||
// 配送团队列表
|
||||
TeamList(context.Context, *FetchRequest) (*TeamListReply, error)
|
||||
// 添加配送团队
|
||||
TeamAdd(context.Context, *TeamItem) (*StatusReply, error)
|
||||
// 配送团队详情
|
||||
TeamGet(context.Context, *IdentRequest) (*TeamItem, error)
|
||||
// 修改配送团队信息
|
||||
TeamSet(context.Context, *TeamItem) (*StatusReply, error)
|
||||
// 删除配送团队
|
||||
TeamDel(context.Context, *IdentRequest) (*StatusReply, error)
|
||||
mustEmbedUnimplementedTeamServer()
|
||||
}
|
||||
|
||||
// UnimplementedTeamServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedTeamServer struct {
|
||||
}
|
||||
|
||||
func (UnimplementedTeamServer) TeamList(context.Context, *FetchRequest) (*TeamListReply, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method TeamList not implemented")
|
||||
}
|
||||
func (UnimplementedTeamServer) TeamAdd(context.Context, *TeamItem) (*StatusReply, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method TeamAdd not implemented")
|
||||
}
|
||||
func (UnimplementedTeamServer) TeamGet(context.Context, *IdentRequest) (*TeamItem, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method TeamGet not implemented")
|
||||
}
|
||||
func (UnimplementedTeamServer) TeamSet(context.Context, *TeamItem) (*StatusReply, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method TeamSet not implemented")
|
||||
}
|
||||
func (UnimplementedTeamServer) TeamDel(context.Context, *IdentRequest) (*StatusReply, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method TeamDel not implemented")
|
||||
}
|
||||
func (UnimplementedTeamServer) mustEmbedUnimplementedTeamServer() {}
|
||||
|
||||
// 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) {
|
||||
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(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.(*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(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.(*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(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.(*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: "proto/delivery.proto",
|
||||
}
|
||||
133
apps/ec/delivery/go.mod
Normal file
133
apps/ec/delivery/go.mod
Normal file
@@ -0,0 +1,133 @@
|
||||
module git.apinb.com/bsm-service-ec/delivery
|
||||
|
||||
go 1.26.5
|
||||
|
||||
require (
|
||||
git.apinb.com/bsm-sdk/engine v1.3.2
|
||||
github.com/FishGoddess/cachego v0.6.1
|
||||
github.com/zeromicro/go-zero v1.7.2
|
||||
google.golang.org/grpc v1.81.1
|
||||
google.golang.org/protobuf v1.36.11
|
||||
gorm.io/gorm v1.31.1
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect
|
||||
github.com/99designs/keyring v1.2.2 // indirect
|
||||
github.com/AthenZ/athenz v1.11.66 // indirect
|
||||
github.com/DataDog/zstd v1.5.6 // indirect
|
||||
github.com/apache/pulsar-client-go v0.14.0 // indirect
|
||||
github.com/ardielle/ardielle-go v1.5.2 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/bits-and-blooms/bitset v1.14.3 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
||||
github.com/coreos/go-semver v0.3.1 // indirect
|
||||
github.com/coreos/go-systemd/v22 v22.7.0 // indirect
|
||||
github.com/danieljoos/wincred v1.2.2 // indirect
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
||||
github.com/dvsekhvalnov/jose2go v1.7.0 // indirect
|
||||
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
|
||||
github.com/fatih/color v1.17.0 // indirect
|
||||
github.com/frankban/quicktest v1.14.6 // indirect
|
||||
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
|
||||
github.com/go-jose/go-jose/v4 v4.1.4 // indirect
|
||||
github.com/go-logr/logr v1.4.3 // indirect
|
||||
github.com/go-logr/stdr v1.2.2 // indirect
|
||||
github.com/go-ole/go-ole v1.3.0 // indirect
|
||||
github.com/go-openapi/jsonpointer v0.22.1 // indirect
|
||||
github.com/go-openapi/jsonreference v0.21.2 // indirect
|
||||
github.com/go-openapi/swag v0.23.0 // indirect
|
||||
github.com/go-openapi/swag/jsonname v0.25.1 // indirect
|
||||
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang-jwt/jwt/v5 v5.3.1 // indirect
|
||||
github.com/golang/mock v1.6.0 // indirect
|
||||
github.com/golang/protobuf v1.5.4 // indirect
|
||||
github.com/google/gnostic-models v0.6.8 // indirect
|
||||
github.com/google/go-cmp v0.7.0 // indirect
|
||||
github.com/google/gofuzz v1.2.0 // indirect
|
||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
|
||||
github.com/google/uuid v1.6.0 // indirect
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect
|
||||
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect
|
||||
github.com/hamba/avro/v2 v2.26.0 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-multierror v1.1.1 // 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/josharian/intern v1.0.0 // indirect
|
||||
github.com/json-iterator/go v1.1.12 // indirect
|
||||
github.com/klauspost/compress v1.18.5 // indirect
|
||||
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
|
||||
github.com/mailru/easyjson v0.7.7 // indirect
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-isatty v0.0.22 // indirect
|
||||
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||
github.com/mtibben/percent v0.2.1 // indirect
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
||||
github.com/oklog/ulid/v2 v2.1.1 // indirect
|
||||
github.com/openzipkin/zipkin-go v0.4.3 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.3.1 // indirect
|
||||
github.com/pierrec/lz4 v2.6.1+incompatible // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/prometheus/client_golang v1.20.5 // indirect
|
||||
github.com/prometheus/client_model v0.6.2 // indirect
|
||||
github.com/prometheus/common v0.62.0 // indirect
|
||||
github.com/prometheus/procfs v0.15.1 // indirect
|
||||
github.com/redis/go-redis/v9 v9.20.0 // indirect
|
||||
github.com/sirupsen/logrus v1.9.3 // indirect
|
||||
github.com/spaolacci/murmur3 v1.1.0 // indirect
|
||||
github.com/tklauser/go-sysconf v0.4.0 // indirect
|
||||
github.com/x448/float16 v0.8.4 // indirect
|
||||
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
||||
go.etcd.io/etcd/api/v3 v3.6.12 // indirect
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.6.12 // indirect
|
||||
go.etcd.io/etcd/client/v3 v3.6.12 // indirect
|
||||
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
|
||||
go.opentelemetry.io/otel v1.43.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/jaeger v1.17.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.30.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.30.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/zipkin v1.30.0 // indirect
|
||||
go.opentelemetry.io/otel/metric v1.43.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk v1.43.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.43.0 // indirect
|
||||
go.opentelemetry.io/proto/otlp v1.9.0 // indirect
|
||||
go.uber.org/atomic v1.11.0 // indirect
|
||||
go.uber.org/automaxprocs v1.6.0 // indirect
|
||||
go.uber.org/multierr v1.11.0 // indirect
|
||||
go.uber.org/zap v1.28.0 // indirect
|
||||
golang.org/x/crypto v0.52.0 // indirect
|
||||
golang.org/x/mod v0.36.0 // indirect
|
||||
golang.org/x/net v0.55.0 // indirect
|
||||
golang.org/x/oauth2 v0.36.0 // indirect
|
||||
golang.org/x/sync v0.20.0 // indirect
|
||||
golang.org/x/sys v0.45.0 // indirect
|
||||
golang.org/x/term v0.43.0 // indirect
|
||||
golang.org/x/text v0.37.0 // indirect
|
||||
golang.org/x/time v0.7.0 // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect
|
||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||
gopkg.in/yaml.v2 v2.4.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
gorm.io/driver/postgres v1.6.0 // indirect
|
||||
k8s.io/api v0.31.1 // indirect
|
||||
k8s.io/apimachinery v0.31.1 // indirect
|
||||
k8s.io/client-go v0.31.1 // indirect
|
||||
k8s.io/klog/v2 v2.130.1 // indirect
|
||||
k8s.io/kube-openapi v0.0.0-20240903163716-9e1beecbcb38 // indirect
|
||||
k8s.io/utils v0.0.0-20240921022957-49e7df575cb6 // indirect
|
||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
||||
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
|
||||
sigs.k8s.io/yaml v1.4.0 // indirect
|
||||
)
|
||||
437
apps/ec/delivery/go.sum
Normal file
437
apps/ec/delivery/go.sum
Normal file
@@ -0,0 +1,437 @@
|
||||
dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk=
|
||||
dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
|
||||
git.apinb.com/bsm-sdk/engine v1.3.2 h1:QJ20jveUIHcn3Tu0ktrkZI9zGRaPuJRZ+YTbSa1Zj1w=
|
||||
git.apinb.com/bsm-sdk/engine v1.3.2/go.mod h1:OXRlO6Cdidqagw+LJjCngvpuuX1rwhxDwZlL/MhwiKQ=
|
||||
github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs=
|
||||
github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4=
|
||||
github.com/99designs/keyring v1.2.2 h1:pZd3neh/EmUzWONb35LxQfvuY7kiSXAq3HQd97+XBn0=
|
||||
github.com/99designs/keyring v1.2.2/go.mod h1:wes/FrByc8j7lFOAGLGSNEg8f/PaI3cgTBqhFkHUrPk=
|
||||
github.com/AthenZ/athenz v1.11.66 h1:ws1CGlIlxCzwzxmAImBBljDPVP8rda0ZvRRVqBukX5s=
|
||||
github.com/AthenZ/athenz v1.11.66/go.mod h1:KiYVBbyVesOggJa8Ycghoc1RM2q+wgwEdc9zySrfevs=
|
||||
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8=
|
||||
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
|
||||
github.com/DataDog/zstd v1.5.6 h1:LbEglqepa/ipmmQJUDnSsfvA8e8IStVcGaFWDuxvGOY=
|
||||
github.com/DataDog/zstd v1.5.6/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw=
|
||||
github.com/FishGoddess/cachego v0.6.1 h1:mbytec3loqw5dcO177LyRGyStKG0AngP5g2GR3SzSh0=
|
||||
github.com/FishGoddess/cachego v0.6.1/go.mod h1:VLSMwWRlRPazjGYer8pq+4aDrIe1Otj3Yy9HAb0eo3c=
|
||||
github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
|
||||
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
|
||||
github.com/Microsoft/hcsshim v0.11.5 h1:haEcLNpj9Ka1gd3B3tAEs9CpE0c+1IhoL59w/exYU38=
|
||||
github.com/Microsoft/hcsshim v0.11.5/go.mod h1:MV8xMfmECjl5HdO7U/3/hFVnkmSBjAjmA09d4bExKcU=
|
||||
github.com/alicebob/gopher-json v0.0.0-20230218143504-906a9b012302 h1:uvdUDbHQHO85qeSydJtItA4T55Pw6BtAejd0APRJOCE=
|
||||
github.com/alicebob/gopher-json v0.0.0-20230218143504-906a9b012302/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc=
|
||||
github.com/alicebob/miniredis/v2 v2.33.0 h1:uvTF0EDeu9RLnUEG27Db5I68ESoIxTiXbNUiji6lZrA=
|
||||
github.com/alicebob/miniredis/v2 v2.33.0/go.mod h1:MhP4a3EU7aENRi9aO+tHfTBZicLqQevyi/DJpoj6mi0=
|
||||
github.com/apache/pulsar-client-go v0.14.0 h1:P7yfAQhQ52OCAu8yVmtdbNQ81vV8bF54S2MLmCPJC9w=
|
||||
github.com/apache/pulsar-client-go v0.14.0/go.mod h1:PNUE29x9G1EHMvm41Bs2vcqwgv7N8AEjeej+nEVYbX8=
|
||||
github.com/ardielle/ardielle-go v1.5.2 h1:TilHTpHIQJ27R1Tl/iITBzMwiUGSlVfiVhwDNGM3Zj4=
|
||||
github.com/ardielle/ardielle-go v1.5.2/go.mod h1:I4hy1n795cUhaVt/ojz83SNVCYIGsAFAONtv2Dr7HUI=
|
||||
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
|
||||
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
||||
github.com/bits-and-blooms/bitset v1.14.3 h1:Gd2c8lSNf9pKXom5JtD7AaKO8o7fGQ2LtFj1436qilA=
|
||||
github.com/bits-and-blooms/bitset v1.14.3/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
|
||||
github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs=
|
||||
github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c=
|
||||
github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA=
|
||||
github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0=
|
||||
github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
|
||||
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
|
||||
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/containerd/containerd v1.7.18 h1:jqjZTQNfXGoEaZdW1WwPU0RqSn1Bm2Ay/KJPUuO8nao=
|
||||
github.com/containerd/containerd v1.7.18/go.mod h1:IYEk9/IO6wAPUz2bCMVUbsfXjzw5UNP5fLz4PsUygQ4=
|
||||
github.com/containerd/errdefs v0.1.0 h1:m0wCRBiu1WJT/Fr+iOoQHMQS/eP5myQ8lCv4Dz5ZURM=
|
||||
github.com/containerd/errdefs v0.1.0/go.mod h1:YgWiiHtLmSeBrvpw+UfPijzbLaB77mEG1WwJTDETIV0=
|
||||
github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=
|
||||
github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo=
|
||||
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/cpuguy83/dockercfg v0.3.1 h1:/FpZ+JaygUR/lZP2NlFI2DVfrOEMAIKP5wWEJdoYe9E=
|
||||
github.com/cpuguy83/dockercfg v0.3.1/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/danieljoos/wincred v1.2.2 h1:774zMFJrqaeYCK2W57BgAem/MLi6mtSE47MB6BOJ0i0=
|
||||
github.com/danieljoos/wincred v1.2.2/go.mod h1:w7w4Utbrz8lqeMbDAK0lkNJUv5sAOkFi7nd/ogr0Uh8=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1/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/dimfeld/httptreemux v5.0.1+incompatible h1:Qj3gVcDNoOthBAqftuD596rm4wg/adLLz5xh5CmpiCA=
|
||||
github.com/dimfeld/httptreemux v5.0.1+incompatible/go.mod h1:rbUlSV+CCpv/SuqUTP/8Bk2O3LyUV436/yaRGkhP6Z0=
|
||||
github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk=
|
||||
github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
|
||||
github.com/docker/docker v27.1.1+incompatible h1:hO/M4MtV36kzKldqnA37IWhebRA+LnqqcqDja6kVaKY=
|
||||
github.com/docker/docker v27.1.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
||||
github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c=
|
||||
github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc=
|
||||
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
|
||||
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
|
||||
github.com/dvsekhvalnov/jose2go v1.7.0 h1:bnQc8+GMnidJZA8zc6lLEAb4xNrIqHwO+9TzqvtQZPo=
|
||||
github.com/dvsekhvalnov/jose2go v1.7.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU=
|
||||
github.com/emicklei/go-restful/v3 v3.12.1 h1:PJMDIM/ak7btuL8Ex0iYET9hxM3CI2sjZtzpL63nKAU=
|
||||
github.com/emicklei/go-restful/v3 v3.12.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
|
||||
github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
|
||||
github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
|
||||
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
|
||||
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
|
||||
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
||||
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
|
||||
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
|
||||
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
|
||||
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
|
||||
github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
|
||||
github.com/go-jose/go-jose/v4 v4.1.4 h1:moDMcTHmvE6Groj34emNPLs/qtYXRVcd6S7NHbHz3kA=
|
||||
github.com/go-jose/go-jose/v4 v4.1.4/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08=
|
||||
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
|
||||
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/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
||||
github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE=
|
||||
github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78=
|
||||
github.com/go-openapi/jsonpointer v0.22.1 h1:sHYI1He3b9NqJ4wXLoJDKmUmHkWy/L7rtEo92JUxBNk=
|
||||
github.com/go-openapi/jsonpointer v0.22.1/go.mod h1:pQT9OsLkfz1yWoMgYFy4x3U5GY5nUlsOn1qSBH5MkCM=
|
||||
github.com/go-openapi/jsonreference v0.21.2 h1:Wxjda4M/BBQllegefXrY/9aq1fxBA8sI5M/lFU6tSWU=
|
||||
github.com/go-openapi/jsonreference v0.21.2/go.mod h1:pp3PEjIsJ9CZDGCNOyXIQxsNuroxm8FAJ/+quA0yKzQ=
|
||||
github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE=
|
||||
github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ=
|
||||
github.com/go-openapi/swag/jsonname v0.25.1 h1:Sgx+qbwa4ej6AomWC6pEfXrA6uP2RkaNjA9BR8a1RJU=
|
||||
github.com/go-openapi/swag/jsonname v0.25.1/go.mod h1:71Tekow6UOLBD3wS7XhdT98g5J5GR13NOTQ9/6Q11Zo=
|
||||
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
|
||||
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
|
||||
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
|
||||
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0=
|
||||
github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4=
|
||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||
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/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
|
||||
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
|
||||
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
|
||||
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
|
||||
github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
|
||||
github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
|
||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
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/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
|
||||
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 h1:FKHo8hFI3A+7w0aUQuYXQ+6EN5stWmeY/AZqtM8xk9k=
|
||||
github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo=
|
||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
|
||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
|
||||
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.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk=
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs=
|
||||
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU=
|
||||
github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0=
|
||||
github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 h1:2VTzZjLZBgl62/EtslCrtky5vbi9dd7HrQPQIx6wqiw=
|
||||
github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI=
|
||||
github.com/hamba/avro/v2 v2.26.0 h1:IaT5l6W3zh7K67sMrT2+RreJyDTllBGVJm4+Hedk9qE=
|
||||
github.com/hamba/avro/v2 v2.26.0/go.mod h1:I8glyswHnpED3Nlx2ZdUe+4LJnCOOyiCzLMno9i/Uu0=
|
||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
|
||||
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
|
||||
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
|
||||
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/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
|
||||
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
|
||||
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
|
||||
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
|
||||
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/klauspost/compress v1.18.5 h1:/h1gH5Ce+VWNLSWqPzOVn6XBO+vJbCNGvjoaGBFW2IE=
|
||||
github.com/klauspost/compress v1.18.5/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ=
|
||||
github.com/klauspost/cpuid/v2 v2.3.0 h1:S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y=
|
||||
github.com/klauspost/cpuid/v2 v2.3.0/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
|
||||
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
|
||||
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4=
|
||||
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
|
||||
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
|
||||
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
|
||||
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
|
||||
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
|
||||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
github.com/mattn/go-isatty v0.0.22 h1:j8l17JJ9i6VGPUFUYoTUKPSgKe/83EYU2zBC7YNKMw4=
|
||||
github.com/mattn/go-isatty v0.0.22/go.mod h1:ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4=
|
||||
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
|
||||
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
||||
github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0=
|
||||
github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo=
|
||||
github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk=
|
||||
github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc=
|
||||
github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc=
|
||||
github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo=
|
||||
github.com/moby/sys/user v0.1.0 h1:WmZ93f5Ux6het5iituh9x2zAG7NFY9Aqi49jjE1PaQg=
|
||||
github.com/moby/sys/user v0.1.0/go.mod h1:fKJhFOnsCN6xZ5gSfbM6zaHGgDJMrqt9/reuj4T7MmU=
|
||||
github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0=
|
||||
github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y=
|
||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
|
||||
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
|
||||
github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
|
||||
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
|
||||
github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs=
|
||||
github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns=
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
|
||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
|
||||
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
|
||||
github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
|
||||
github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
|
||||
github.com/oklog/ulid/v2 v2.1.1 h1:suPZ4ARWLOJLegGFiZZ1dFAkqzhMjL3J1TzI+5wHz8s=
|
||||
github.com/oklog/ulid/v2 v2.1.1/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ=
|
||||
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
|
||||
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
|
||||
github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA=
|
||||
github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To=
|
||||
github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk=
|
||||
github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0=
|
||||
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
|
||||
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
|
||||
github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug=
|
||||
github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM=
|
||||
github.com/openzipkin/zipkin-go v0.4.3 h1:9EGwpqkgnwdEIJ+Od7QVSEIH+ocmm5nPat0G7sjsSdg=
|
||||
github.com/openzipkin/zipkin-go v0.4.3/go.mod h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LDHcMZmk3RmK7c=
|
||||
github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o=
|
||||
github.com/pelletier/go-toml/v2 v2.3.1 h1:MYEvvGnQjeNkRF1qUuGolNtNExTDwct51yp7olPtrEc=
|
||||
github.com/pelletier/go-toml/v2 v2.3.1/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
|
||||
github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM=
|
||||
github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
|
||||
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
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/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF4JjgDlrVEn3C11VoGHZN7m8qihwgMEtzYw=
|
||||
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
|
||||
github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g=
|
||||
github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U=
|
||||
github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y=
|
||||
github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
|
||||
github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk=
|
||||
github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE=
|
||||
github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io=
|
||||
github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I=
|
||||
github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
|
||||
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
|
||||
github.com/redis/go-redis/v9 v9.20.0 h1:WnQYxLkgO2xiXTCJY0ldIiI8dNqCDlQAG+AtaH7a2a0=
|
||||
github.com/redis/go-redis/v9 v9.20.0/go.mod h1:v/M13XI1PVCDcm01VtPFOADfZtHf8YW3baQf57KlIkA=
|
||||
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
||||
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/shirou/gopsutil/v3 v3.23.12 h1:z90NtUkp3bMtmICZKpC4+WaknU1eXtp5vtbQ11DgpE4=
|
||||
github.com/shirou/gopsutil/v3 v3.23.12/go.mod h1:1FrWgea594Jp7qmjHUUPlJDTPgcsb9mGnXDxavtikzM=
|
||||
github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM=
|
||||
github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ=
|
||||
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
|
||||
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
|
||||
github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
|
||||
github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
|
||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
|
||||
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
|
||||
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=
|
||||
github.com/testcontainers/testcontainers-go v0.32.0 h1:ug1aK08L3gCHdhknlTTwWjPHPS+/alvLJU/DRxTD/ME=
|
||||
github.com/testcontainers/testcontainers-go v0.32.0/go.mod h1:CRHrzHLQhlXUsa5gXjTOfqIEJcrK5+xMDmBr/WMI88E=
|
||||
github.com/tklauser/go-sysconf v0.4.0 h1:7H0uAN+7RkwWRaxhYXDLqa5V3LPrJeV8wmD9dRUgPQU=
|
||||
github.com/tklauser/go-sysconf v0.4.0/go.mod h1:8mTNWyog7H+MpKijp4VmKJAd2bbYQ2zuUwkYRbUArPI=
|
||||
github.com/tklauser/numcpus v0.12.0 h1:NR85qdvHA9pFse3x3weVZ0r0ST8R6l5RHbZrlRaqob4=
|
||||
github.com/tklauser/numcpus v0.12.0/go.mod h1:ABHeXzJnr/qqwguhClkZKT1/8VABcYrsyUiUGobwWJg=
|
||||
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
|
||||
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
|
||||
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
|
||||
github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M=
|
||||
github.com/yuin/gopher-lua v1.1.1/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw=
|
||||
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
|
||||
github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
|
||||
github.com/zeebo/xxh3 v1.1.0 h1:s7DLGDK45Dyfg7++yxI0khrfwq9661w9EN78eP/UZVs=
|
||||
github.com/zeebo/xxh3 v1.1.0/go.mod h1:IisAie1LELR4xhVinxWS5+zf1lA4p0MW4T+w+W07F5s=
|
||||
github.com/zeromicro/go-zero v1.7.2 h1:a8lyVOG3KXG4LrAy6ZmtJTJtisX4Ostc4Pst4fE704I=
|
||||
github.com/zeromicro/go-zero v1.7.2/go.mod h1:WFXfF92Exw0O7WECifS6r99JSzv4KEN49x9RhAfgkMc=
|
||||
go.etcd.io/etcd/api/v3 v3.6.12 h1:OLOZUKEuAA36TR48F0cIaa8FdzrWygjyfrJxXg4iDgs=
|
||||
go.etcd.io/etcd/api/v3 v3.6.12/go.mod h1:p14EIQXHbuOQbVvL/WEes5uqKnxP9AgKJgpjbMVvzvE=
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.6.12 h1:36zzB+pQOdHbhN+kH2iJz/K8bJn0ZLtLfPPO7jozTDo=
|
||||
go.etcd.io/etcd/client/pkg/v3 v3.6.12/go.mod h1:hh2+ZXtfLzs3o6mn92ntgNPBrTJJOvXqICM5g3L3DMY=
|
||||
go.etcd.io/etcd/client/v3 v3.6.12 h1:kMSP6JcPZMqSJiX+TXdUIBU/4eXEZWBAaui4VihMbIc=
|
||||
go.etcd.io/etcd/client/v3 v3.6.12/go.mod h1:CMs6fJWYiZQk4ytFjd4lE1diOvvRMmtbbn/alZXd3dQ=
|
||||
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/contrib/instrumentation/net/http/otelhttp v0.54.0 h1:TT4fX+nBOA/+LUkobKGW1ydGcn+G3vRw9+g5HwCphpk=
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.54.0/go.mod h1:L7UH0GbB0p47T4Rri3uHjbpCFYrVrwc1I25QhNPiGK8=
|
||||
go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I=
|
||||
go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0=
|
||||
go.opentelemetry.io/otel/exporters/jaeger v1.17.0 h1:D7UpUy2Xc2wsi1Ras6V40q806WM07rqoCWzXu7Sqy+4=
|
||||
go.opentelemetry.io/otel/exporters/jaeger v1.17.0/go.mod h1:nPCqOnEH9rNLKqH/+rrUjiMzHJdV1BlpKcTwRTyKkKI=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 h1:lsInsfvhVIfOI6qHVyysXMNDnjO9Npvl7tlDPJFBVd4=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0/go.mod h1:KQsVNh4OjgjTG0G6EiNi1jVpnaeeKsKMRwbLN+f1+8M=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0 h1:m0yTiGDLUvVYaTFbAvCkVYIYcvwKt3G7OLoN77NUs/8=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0/go.mod h1:wBQbT4UekBfegL2nx0Xk1vBcnzyBPsIVm9hRG4fYcr4=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.30.0 h1:umZgi92IyxfXd/l4kaDhnKgY8rnN/cZcF1LKc6I8OQ8=
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.30.0/go.mod h1:4lVs6obhSVRb1EW5FhOuBTyiQhtRtAnnva9vD3yRfq8=
|
||||
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.30.0 h1:kn1BudCgwtE7PxLqcZkErpD8GKqLZ6BSzeW9QihQJeM=
|
||||
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.30.0/go.mod h1:ljkUDtAMdleoi9tIG1R6dJUpVwDcYjw3J2Q6Q/SuiC0=
|
||||
go.opentelemetry.io/otel/exporters/zipkin v1.30.0 h1:1uYaSfxiCLdJATlGEtYjQe4jZYfqCjVwxeSTMXe8VF4=
|
||||
go.opentelemetry.io/otel/exporters/zipkin v1.30.0/go.mod h1:r/4BhMc3kiKxD61wGh9J3NVQ3/cZ45F2NHkQgVnql48=
|
||||
go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM=
|
||||
go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY=
|
||||
go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg=
|
||||
go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw=
|
||||
go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A=
|
||||
go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A=
|
||||
go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0=
|
||||
go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A=
|
||||
go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4=
|
||||
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
|
||||
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
|
||||
go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs=
|
||||
go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8=
|
||||
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.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
|
||||
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.52.0 h1:RMs7fP2rXdep0CftQlK8Uf+kibLm7qkCcradZWYz988=
|
||||
golang.org/x/crypto v0.52.0/go.mod h1:1QgfPxDqh0T2M/elOJtp9RvuR95kVjir0e6/BvEmGbc=
|
||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||
golang.org/x/mod v0.36.0 h1:JJjpVx6myfUsUdAzZuOSTTmRE0PfZeNWzzvKrP7amb4=
|
||||
golang.org/x/mod v0.36.0/go.mod h1:moc6ELqsWcOw5Ef3xVprK5ul/MvtVvkIXLziUOICjUQ=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
|
||||
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/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs=
|
||||
golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4=
|
||||
golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
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/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4=
|
||||
golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc=
|
||||
golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38=
|
||||
golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ=
|
||||
golang.org/x/time v0.7.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
|
||||
golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c=
|
||||
golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
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-20260526163538-3dc84a4a5aaa h1:Kjn0N0tCrDgiAFW+lGO4JZ3ck44CehvJQMAwj9QF0G8=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa/go.mod h1:q4lMZS6kskjT5HvCPrnnypcDPVJqT/f4nfxmkE7gryY=
|
||||
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.81.1 h1:VnnIIZ88UzOOKLukQi+ImGz8O1Wdp8nAGGnvOfEIWQQ=
|
||||
google.golang.org/grpc v1.81.1/go.mod h1:xGH9GfzOyMTGIOXBJmXt+BX/V0kcdQbdcuwQ/zNw42I=
|
||||
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-20200902074654-038fdea0a05b/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/h2non/gock.v1 v1.1.2 h1:jBbHXgGBK/AoPVfJh5x4r/WxIrElvbLel8TCZkkZJoY=
|
||||
gopkg.in/h2non/gock.v1 v1.1.2/go.mod h1:n7UGz/ckNChHiK05rDoiC4MYSunEC/lyaUm2WWaDva0=
|
||||
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
|
||||
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
|
||||
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
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.0 h1:2dxzU8xJ+ivvqTRph34QX+WrRaJlmfyPqXmoGVjMBa4=
|
||||
gorm.io/driver/postgres v1.6.0/go.mod h1:vUw0mrGgrTK+uPHEhAdV4sfFELrByKVGnaVRkXDhtWo=
|
||||
gorm.io/gorm v1.31.1 h1:7CA8FTFz/gRfgqgpeKIBcervUn3xSyPUmr6B2WXJ7kg=
|
||||
gorm.io/gorm v1.31.1/go.mod h1:XyQVbO2k6YkOis7C2437jSit3SsDK72s7n7rsSHd+Gs=
|
||||
k8s.io/api v0.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU=
|
||||
k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI=
|
||||
k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U=
|
||||
k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
|
||||
k8s.io/client-go v0.31.1 h1:f0ugtWSbWpxHR7sjVpQwuvw9a3ZKLXX0u0itkFXufb0=
|
||||
k8s.io/client-go v0.31.1/go.mod h1:sKI8871MJN2OyeqRlmA4W4KM9KBdBUpDLu/43eGemCg=
|
||||
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
|
||||
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
|
||||
k8s.io/kube-openapi v0.0.0-20240903163716-9e1beecbcb38 h1:1dWzkmJrrprYvjGwh9kEUxmcUV/CtNU8QM7h1FLWQOo=
|
||||
k8s.io/kube-openapi v0.0.0-20240903163716-9e1beecbcb38/go.mod h1:coRQXBK9NxO98XUv3ZD6AK3xzHCxV6+b7lrquKwaKzA=
|
||||
k8s.io/utils v0.0.0-20240921022957-49e7df575cb6 h1:MDF6h2H/h4tbzmtIKTuctcwZmY0tY9mD9fNT47QO6HI=
|
||||
k8s.io/utils v0.0.0-20240921022957-49e7df575cb6/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
|
||||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
|
||||
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
|
||||
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
|
||||
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
|
||||
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
|
||||
14
apps/ec/delivery/internal/config/config.go
Normal file
14
apps/ec/delivery/internal/config/config.go
Normal file
@@ -0,0 +1,14 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"git.apinb.com/bsm-sdk/engine/types"
|
||||
"github.com/zeromicro/go-zero/zrpc"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
zrpc.RpcServerConf
|
||||
DSN string `json:",optional"`
|
||||
Cache string `json:",optional"`
|
||||
Anonymous types.AnonymousConf `json:",optional"`
|
||||
Pulsar types.PulsarConf `json:",optional"`
|
||||
}
|
||||
34
apps/ec/delivery/internal/errorcode/errorcode.go
Normal file
34
apps/ec/delivery/internal/errorcode/errorcode.go
Normal file
@@ -0,0 +1,34 @@
|
||||
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,
|
||||
}
|
||||
}
|
||||
32
apps/ec/delivery/internal/impl/cache.go
Normal file
32
apps/ec/delivery/internal/impl/cache.go
Normal file
@@ -0,0 +1,32 @@
|
||||
package impl
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/cache/mem"
|
||||
"git.apinb.com/bsm-sdk/engine/cache/redis"
|
||||
"git.apinb.com/bsm-sdk/engine/print"
|
||||
"git.apinb.com/bsm-sdk/engine/vars"
|
||||
"github.com/FishGoddess/cachego"
|
||||
)
|
||||
|
||||
var (
|
||||
MemCache *cachego.Cache
|
||||
RedisCache *redis.RedisClient
|
||||
)
|
||||
|
||||
func withMemCache() {
|
||||
m := mem.New()
|
||||
MemCache = &m
|
||||
}
|
||||
|
||||
func withRedisCache() {
|
||||
if Configure.Cache != "" {
|
||||
addrs := strings.Split(Configure.ListenOn, ":")
|
||||
port, _ := strconv.Atoi(addrs[1])
|
||||
RedisCache = redis.New(Configure.Cache, port)
|
||||
|
||||
print.Info("[Blocks Service] %s Cache: %s, DB Index: %d", vars.ServiceKey, Configure.Cache, RedisCache.DB)
|
||||
}
|
||||
}
|
||||
29
apps/ec/delivery/internal/impl/impl.go
Normal file
29
apps/ec/delivery/internal/impl/impl.go
Normal file
@@ -0,0 +1,29 @@
|
||||
package impl
|
||||
|
||||
import (
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/config"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
)
|
||||
|
||||
var (
|
||||
Configure config.Config
|
||||
)
|
||||
|
||||
func NewService(srvKey string) {
|
||||
// register service
|
||||
service.Register(srvKey, &Configure)
|
||||
service.RegisterAnonymous(&Configure.RpcServerConf, &Configure.Anonymous)
|
||||
|
||||
service.Start(Configure.ListenOn)
|
||||
|
||||
// with activating
|
||||
withModel() // model
|
||||
withMemCache() // mem cache
|
||||
withRedisCache() // redis cache
|
||||
withPulsar() // mq - pulsar
|
||||
|
||||
// service done.
|
||||
service.Done(&Configure.Prometheus, &Configure.Telemetry)
|
||||
|
||||
}
|
||||
21
apps/ec/delivery/internal/impl/model.go
Normal file
21
apps/ec/delivery/internal/impl/model.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package impl
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/print"
|
||||
"git.apinb.com/bsm-sdk/engine/vars"
|
||||
)
|
||||
|
||||
func withModel() {
|
||||
if Configure.DSN != "" {
|
||||
err := models.New(Configure.DSN, nil)
|
||||
if err != nil {
|
||||
print.Fail("[Blocks Service] %s Model Error: %d", vars.ServiceKey, err.Error())
|
||||
os.Exit(0)
|
||||
}
|
||||
print.Info("[Blocks Service] %s Database Source: %s", vars.ServiceKey, Configure.DSN)
|
||||
}
|
||||
}
|
||||
24
apps/ec/delivery/internal/impl/mq.go
Normal file
24
apps/ec/delivery/internal/impl/mq.go
Normal file
@@ -0,0 +1,24 @@
|
||||
package impl
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/print"
|
||||
"git.apinb.com/bsm-sdk/engine/queue/pulsar"
|
||||
"git.apinb.com/bsm-sdk/engine/vars"
|
||||
)
|
||||
|
||||
var MQ *pulsar.Pulsar
|
||||
|
||||
func withPulsar() {
|
||||
if Configure.Pulsar.IsHas() {
|
||||
mq, err := pulsar.NewPulsar(&Configure.Pulsar)
|
||||
if err != nil {
|
||||
print.Fail("[Blocks Service] %s Pulsar Error: %d", vars.ServiceKey, err.Error())
|
||||
os.Exit(0)
|
||||
} else {
|
||||
MQ = mq
|
||||
print.Info("[Blocks Service] %s Queue/Pulsar Endpoint: %s", vars.ServiceKey, Configure.Pulsar.Endpoints)
|
||||
}
|
||||
}
|
||||
}
|
||||
82
apps/ec/delivery/internal/logic/car/car_add_logic.go
Normal file
82
apps/ec/delivery/internal/logic/car/car_add_logic.go
Normal file
@@ -0,0 +1,82 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-sdk/engine/utils"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type CarAddLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewCarAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CarAddLogic {
|
||||
return &CarAddLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.ErrDBFatal
|
||||
}
|
||||
|
||||
return &delivery.StatusReply{Status: 200, Identity: data.Identity, Message: ""}, nil
|
||||
}
|
||||
func carAddChick(in *delivery.CarItem) error {
|
||||
if in.GetBrand() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetPhone() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
// if in.GetTeamIdentity() == "" {
|
||||
// return exception.ErrInvalidArgument
|
||||
// }
|
||||
if in.GetContacts() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetVersion() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetPicture() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetLicenseNumber() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
return nil
|
||||
}
|
||||
46
apps/ec/delivery/internal/logic/car/car_del_logic.go
Normal file
46
apps/ec/delivery/internal/logic/car/car_del_logic.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type CarDelLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewCarDelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CarDelLogic {
|
||||
return &CarDelLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.ErrInvalidArgument
|
||||
}
|
||||
//Todo: 删除是是否判定有未完成订单不能删除
|
||||
|
||||
err = models.DBService.Where("identity = ?", in.Identity).Delete(&models.DeliveryCar{}).Error
|
||||
if err != nil {
|
||||
l.Logger.Error(err.Error())
|
||||
return nil, exception.ErrDBFatal
|
||||
}
|
||||
return &delivery.StatusReply{Status: 200, Identity: in.Identity, Message: ""}, nil
|
||||
}
|
||||
51
apps/ec/delivery/internal/logic/car/car_get_logic.go
Normal file
51
apps/ec/delivery/internal/logic/car/car_get_logic.go
Normal file
@@ -0,0 +1,51 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type CarGetLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewCarGetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CarGetLogic {
|
||||
return &CarGetLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.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, exception.ErrNotFound
|
||||
}
|
||||
return nil, exception.ErrDBFatal
|
||||
}
|
||||
return &data, nil
|
||||
}
|
||||
82
apps/ec/delivery/internal/logic/car/car_list_logic.go
Normal file
82
apps/ec/delivery/internal/logic/car/car_list_logic.go
Normal file
@@ -0,0 +1,82 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type CarListLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewCarListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CarListLogic {
|
||||
return &CarListLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.ErrNotFound
|
||||
}
|
||||
return nil, exception.ErrDBFatal
|
||||
}
|
||||
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
|
||||
}
|
||||
83
apps/ec/delivery/internal/logic/car/car_set_logic.go
Normal file
83
apps/ec/delivery/internal/logic/car/car_set_logic.go
Normal file
@@ -0,0 +1,83 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type CarSetLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewCarSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CarSetLogic {
|
||||
return &CarSetLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.ErrDBFatal
|
||||
}
|
||||
|
||||
return &delivery.StatusReply{Status: 200, Identity: in.Identity, Message: ""}, nil
|
||||
}
|
||||
func carSetChick(in *delivery.CarItem) error {
|
||||
if in.GetIdentity() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetBrand() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetPhone() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
// if in.GetTeamIdentity() == "" {
|
||||
// return exception.ErrInvalidArgument
|
||||
// }
|
||||
if in.GetContacts() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetVersion() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetPicture() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetLicenseNumber() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
return nil
|
||||
}
|
||||
73
apps/ec/delivery/internal/logic/member/member_add_logic.go
Normal file
73
apps/ec/delivery/internal/logic/member/member_add_logic.go
Normal file
@@ -0,0 +1,73 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-sdk/engine/utils"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type MemberAddLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewMemberAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MemberAddLogic {
|
||||
return &MemberAddLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.ErrDBFatal
|
||||
}
|
||||
|
||||
return &delivery.StatusReply{Status: 200, Identity: data.Identity, Message: ""}, nil
|
||||
}
|
||||
func memberAddChick(in *delivery.MemberItem) error {
|
||||
if in.GetName() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetPhone() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
// if in.GetTeamIdentity() == "" {
|
||||
// return exception.ErrInvalidArgument
|
||||
// }
|
||||
if in.GetPicture() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetPhone() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
return nil
|
||||
}
|
||||
46
apps/ec/delivery/internal/logic/member/member_del_logic.go
Normal file
46
apps/ec/delivery/internal/logic/member/member_del_logic.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type MemberDelLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewMemberDelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MemberDelLogic {
|
||||
return &MemberDelLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.ErrInvalidArgument
|
||||
}
|
||||
//Todo: 删除是是否判定有未完成订单不能删除
|
||||
|
||||
err = models.DBService.Where("identity = ?", in.Identity).Delete(&models.DeliveryMember{}).Error
|
||||
if err != nil {
|
||||
l.Logger.Error(err.Error())
|
||||
return nil, exception.ErrDBFatal
|
||||
}
|
||||
return &delivery.StatusReply{Status: 200, Identity: in.Identity, Message: ""}, nil
|
||||
}
|
||||
51
apps/ec/delivery/internal/logic/member/member_get_logic.go
Normal file
51
apps/ec/delivery/internal/logic/member/member_get_logic.go
Normal file
@@ -0,0 +1,51 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type MemberGetLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewMemberGetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MemberGetLogic {
|
||||
return &MemberGetLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.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, exception.ErrNotFound
|
||||
}
|
||||
return nil, exception.ErrDBFatal
|
||||
}
|
||||
return &data, nil
|
||||
}
|
||||
80
apps/ec/delivery/internal/logic/member/member_list_logic.go
Normal file
80
apps/ec/delivery/internal/logic/member/member_list_logic.go
Normal file
@@ -0,0 +1,80 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type MemberListLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewMemberListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MemberListLogic {
|
||||
return &MemberListLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.ErrNotFound
|
||||
}
|
||||
return nil, exception.ErrDBFatal
|
||||
}
|
||||
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
|
||||
}
|
||||
76
apps/ec/delivery/internal/logic/member/member_set_logic.go
Normal file
76
apps/ec/delivery/internal/logic/member/member_set_logic.go
Normal file
@@ -0,0 +1,76 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type MemberSetLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewMemberSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *MemberSetLogic {
|
||||
return &MemberSetLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.ErrDBFatal
|
||||
}
|
||||
|
||||
return &delivery.StatusReply{Status: 200, Identity: in.Identity, Message: ""}, nil
|
||||
}
|
||||
|
||||
func memberSetChick(in *delivery.MemberItem) error {
|
||||
if in.GetIdentity() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetName() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetPhone() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
// if in.GetTeamIdentity() == "" {
|
||||
// return exception.ErrInvalidArgument
|
||||
// }
|
||||
if in.GetPicture() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetPhone() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
return nil
|
||||
}
|
||||
75
apps/ec/delivery/internal/logic/team/team_add_logic.go
Normal file
75
apps/ec/delivery/internal/logic/team/team_add_logic.go
Normal file
@@ -0,0 +1,75 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-sdk/engine/utils"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type TeamAddLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewTeamAddLogic(ctx context.Context, svcCtx *svc.ServiceContext) *TeamAddLogic {
|
||||
return &TeamAddLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.ErrDBFatal
|
||||
}
|
||||
|
||||
return &delivery.StatusReply{Status: 200, Identity: data.Identity, Message: ""}, nil
|
||||
}
|
||||
|
||||
func teamAddChick(in *delivery.TeamItem) error {
|
||||
if in.GetOwner() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetPhone() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetTitle() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetContacts() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetLogo() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
return nil
|
||||
}
|
||||
47
apps/ec/delivery/internal/logic/team/team_del_logic.go
Normal file
47
apps/ec/delivery/internal/logic/team/team_del_logic.go
Normal file
@@ -0,0 +1,47 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type TeamDelLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewTeamDelLogic(ctx context.Context, svcCtx *svc.ServiceContext) *TeamDelLogic {
|
||||
return &TeamDelLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.ErrInvalidArgument
|
||||
}
|
||||
//Todo: 删除是是否判定有成员不能删除
|
||||
|
||||
err = models.DBService.Where("identity = ?", in.Identity).Delete(&models.DeliveryItem{}).Error
|
||||
if err != nil {
|
||||
l.Logger.Error(err.Error())
|
||||
return nil, exception.ErrDBFatal
|
||||
}
|
||||
|
||||
return &delivery.StatusReply{Status: 200, Identity: in.Identity, Message: ""}, nil
|
||||
}
|
||||
51
apps/ec/delivery/internal/logic/team/team_get_logic.go
Normal file
51
apps/ec/delivery/internal/logic/team/team_get_logic.go
Normal file
@@ -0,0 +1,51 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type TeamGetLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewTeamGetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *TeamGetLogic {
|
||||
return &TeamGetLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.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, exception.ErrNotFound
|
||||
}
|
||||
return nil, exception.ErrDBFatal
|
||||
}
|
||||
return &data, nil
|
||||
}
|
||||
83
apps/ec/delivery/internal/logic/team/team_list_logic.go
Normal file
83
apps/ec/delivery/internal/logic/team/team_list_logic.go
Normal file
@@ -0,0 +1,83 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type TeamListLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewTeamListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *TeamListLogic {
|
||||
return &TeamListLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.ErrNotFound
|
||||
}
|
||||
|
||||
return nil, exception.ErrDBFatal
|
||||
}
|
||||
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
|
||||
}
|
||||
76
apps/ec/delivery/internal/logic/team/team_set_logic.go
Normal file
76
apps/ec/delivery/internal/logic/team/team_set_logic.go
Normal file
@@ -0,0 +1,76 @@
|
||||
package deliverylogic
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/exception"
|
||||
"git.apinb.com/bsm-sdk/engine/service"
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/models"
|
||||
"git.apinb.com/bsm-service-ec/delivery/internal/svc"
|
||||
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
)
|
||||
|
||||
type TeamSetLogic struct {
|
||||
ctx context.Context
|
||||
svcCtx *svc.ServiceContext
|
||||
logx.Logger
|
||||
}
|
||||
|
||||
func NewTeamSetLogic(ctx context.Context, svcCtx *svc.ServiceContext) *TeamSetLogic {
|
||||
return &TeamSetLogic{
|
||||
ctx: ctx,
|
||||
svcCtx: svcCtx,
|
||||
Logger: logx.WithContext(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, exception.ErrDBFatal
|
||||
}
|
||||
|
||||
return &delivery.StatusReply{Status: 200, Identity: in.Identity, Message: ""}, nil
|
||||
}
|
||||
func teamSetChick(in *delivery.TeamItem) error {
|
||||
if in.GetIdentity() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
|
||||
}
|
||||
if in.GetOwner() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetPhone() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetTitle() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetContacts() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
if in.GetLogo() == "" {
|
||||
return exception.ErrInvalidArgument
|
||||
}
|
||||
return nil
|
||||
}
|
||||
50
apps/ec/delivery/internal/models/delivery_car.go
Normal file
50
apps/ec/delivery/internal/models/delivery_car.go
Normal file
@@ -0,0 +1,50 @@
|
||||
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
|
||||
}
|
||||
49
apps/ec/delivery/internal/models/delivery_item.go
Normal file
49
apps/ec/delivery/internal/models/delivery_item.go
Normal file
@@ -0,0 +1,49 @@
|
||||
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
|
||||
}
|
||||
48
apps/ec/delivery/internal/models/delivery_member.go
Normal file
48
apps/ec/delivery/internal/models/delivery_member.go
Normal file
@@ -0,0 +1,48 @@
|
||||
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
|
||||
}
|
||||
28
apps/ec/delivery/internal/models/impl.go
Normal file
28
apps/ec/delivery/internal/models/impl.go
Normal file
@@ -0,0 +1,28 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"git.apinb.com/bsm-sdk/engine/database/sql"
|
||||
"git.apinb.com/bsm-sdk/engine/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
|
||||
}
|
||||
|
||||
err = DBService.AutoMigrate(migrateTables...)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return
|
||||
}
|
||||
53
apps/ec/delivery/internal/server/car/car_server.go
Normal file
53
apps/ec/delivery/internal/server/car/car_server.go
Normal file
@@ -0,0 +1,53 @@
|
||||
// Code generated by goctl. DO NOT EDIT.
|
||||
// Source: delivery.proto
|
||||
|
||||
package server
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
carlogic "git.apinb.com/bsm-service-ec/delivery/internal/logic/car"
|
||||
"git.apinb.com/bsm-service-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)
|
||||
}
|
||||
53
apps/ec/delivery/internal/server/member/member_server.go
Normal file
53
apps/ec/delivery/internal/server/member/member_server.go
Normal file
@@ -0,0 +1,53 @@
|
||||
// Code generated by goctl. DO NOT EDIT.
|
||||
// Source: delivery.proto
|
||||
|
||||
package server
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
memberlogic "git.apinb.com/bsm-service-ec/delivery/internal/logic/member"
|
||||
"git.apinb.com/bsm-service-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)
|
||||
}
|
||||
53
apps/ec/delivery/internal/server/team/team_server.go
Normal file
53
apps/ec/delivery/internal/server/team/team_server.go
Normal file
@@ -0,0 +1,53 @@
|
||||
// Code generated by goctl. DO NOT EDIT.
|
||||
// Source: delivery.proto
|
||||
|
||||
package server
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.apinb.com/bsm-service-ec/delivery/external/pb/delivery"
|
||||
teamlogic "git.apinb.com/bsm-service-ec/delivery/internal/logic/team"
|
||||
"git.apinb.com/bsm-service-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)
|
||||
}
|
||||
13
apps/ec/delivery/internal/svc/service_context.go
Normal file
13
apps/ec/delivery/internal/svc/service_context.go
Normal file
@@ -0,0 +1,13 @@
|
||||
package svc
|
||||
|
||||
import "git.apinb.com/bsm-service-ec/delivery/internal/config"
|
||||
|
||||
type ServiceContext struct {
|
||||
Config config.Config
|
||||
}
|
||||
|
||||
func NewServiceContext(c config.Config) *ServiceContext {
|
||||
return &ServiceContext{
|
||||
Config: c,
|
||||
}
|
||||
}
|
||||
35
apps/ec/delivery/proto/blocks.proto
Normal file
35
apps/ec/delivery/proto/blocks.proto
Normal file
@@ -0,0 +1,35 @@
|
||||
syntax = "proto3";
|
||||
package feed;
|
||||
option go_package = "./;feed";
|
||||
|
||||
message FetchRequest {
|
||||
int64 page_no=1; // 页数
|
||||
int64 page_size=2; // 每页记录数
|
||||
map<string,string> params=3; // 条件参数,key=val,eg key:category_id=?,vlaue=11
|
||||
}
|
||||
|
||||
message IdentRequest{
|
||||
int64 id = 1; // 唯一ID
|
||||
string identity = 2; // 唯一码
|
||||
}
|
||||
|
||||
message VersionRequest {
|
||||
int64 version=1; // 时序版本号
|
||||
}
|
||||
|
||||
|
||||
message SearchRequest {
|
||||
string keyword=1; //关键词
|
||||
}
|
||||
|
||||
|
||||
message StatusReply{
|
||||
int64 status = 1; // 状态码
|
||||
string identity=2; // 标识码
|
||||
string message=3; //状态说明
|
||||
int64 timeseq=4; // 响应时间序列
|
||||
}
|
||||
|
||||
message Empty{
|
||||
}
|
||||
|
||||
41
apps/ec/delivery/proto/car.proto
Normal file
41
apps/ec/delivery/proto/car.proto
Normal file
@@ -0,0 +1,41 @@
|
||||
syntax = "proto3";
|
||||
package delivery;
|
||||
option go_package = "./delivery";
|
||||
import "blocks.proto";
|
||||
|
||||
// Delivery(配送)微服务
|
||||
service Car {
|
||||
// 配送车辆列表
|
||||
rpc CarList(FetchRequest) returns (CarListReply) {};
|
||||
|
||||
// 添加配送车辆信息
|
||||
rpc CarAdd(CarItem) returns (StatusReply) {};
|
||||
|
||||
// 获取配送车辆信息
|
||||
rpc CarGet(IdentRequest)returns (CarItem) {};
|
||||
|
||||
// 修改配送车辆信息
|
||||
rpc CarSet(CarItem) returns (StatusReply) {};
|
||||
|
||||
// 删除配送车辆信息
|
||||
rpc CarDel(IdentRequest) returns (StatusReply) {};
|
||||
|
||||
}
|
||||
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; // 车辆图片
|
||||
}
|
||||
35
apps/ec/delivery/proto/member.proto
Normal file
35
apps/ec/delivery/proto/member.proto
Normal file
@@ -0,0 +1,35 @@
|
||||
syntax = "proto3";
|
||||
package delivery;
|
||||
option go_package = "./delivery";
|
||||
import "blocks.proto";
|
||||
|
||||
// Delivery(配送)微服务
|
||||
service Member {
|
||||
// 获取配送员列表
|
||||
rpc MemberList(FetchRequest) returns (MemberListReply) {};
|
||||
|
||||
// 添加配送员
|
||||
rpc MemberAdd(MemberItem) returns (StatusReply) {};
|
||||
|
||||
// 获取配送员数据
|
||||
rpc MemberGet(IdentRequest)returns (MemberItem) {};
|
||||
|
||||
// 修改配送员
|
||||
rpc MemberSet(MemberItem) returns (StatusReply) {};
|
||||
|
||||
// 删除配送员
|
||||
rpc MemberDel(IdentRequest) returns (StatusReply) {};
|
||||
}
|
||||
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;
|
||||
}
|
||||
37
apps/ec/delivery/proto/team.proto
Normal file
37
apps/ec/delivery/proto/team.proto
Normal file
@@ -0,0 +1,37 @@
|
||||
syntax = "proto3";
|
||||
package delivery;
|
||||
option go_package = "./delivery";
|
||||
import "blocks.proto";
|
||||
|
||||
// Delivery(配送)微服务
|
||||
service Team {
|
||||
|
||||
// 配送团队列表
|
||||
rpc TeamList(FetchRequest) returns (TeamListReply) {};
|
||||
|
||||
// 添加配送团队
|
||||
rpc TeamAdd(TeamItem) returns (StatusReply) {};
|
||||
|
||||
// 配送团队详情
|
||||
rpc TeamGet(IdentRequest) returns (TeamItem) {};
|
||||
|
||||
// 修改配送团队信息
|
||||
rpc TeamSet(TeamItem) returns (StatusReply) {};
|
||||
|
||||
// 删除配送团队
|
||||
rpc TeamDel(IdentRequest) returns (StatusReply) {};
|
||||
}
|
||||
|
||||
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; // 团队图标地址
|
||||
}
|
||||
32
apps/ec/delivery/scripts/filebeat.yaml
Normal file
32
apps/ec/delivery/scripts/filebeat.yaml
Normal file
@@ -0,0 +1,32 @@
|
||||
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: ""
|
||||
5
apps/ec/delivery/scripts/lint.sh
Normal file
5
apps/ec/delivery/scripts/lint.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
#install
|
||||
go install github.com/securego/gosec/v2/cmd/gosec@latest
|
||||
|
||||
#run
|
||||
gosec -fmt=json -out=./test/lint/gosec.json ./...
|
||||
14
apps/ec/delivery/scripts/proto_gen.sh
Normal file
14
apps/ec/delivery/scripts/proto_gen.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
# 由于goctl 不能编译多个proto文件,所以先要安装合并工具:
|
||||
# go install git.apinb.com/bsm-tools/proto-merge@v0.0.3
|
||||
|
||||
# 1. 先合并
|
||||
proto-merge ./proto/*.proto ./proto/delivery.proto
|
||||
|
||||
# 2. goctl 生成代码至/gen
|
||||
goctl rpc protoc ./proto/delivery.proto --go_out=./external/pb --go-grpc_out=./external/pb --zrpc_out=./ -m --style go_zero
|
||||
|
||||
# 3. 清理无用文件
|
||||
rm ./proto/delivery.proto
|
||||
mv ./client ./external/
|
||||
rm delivery.go
|
||||
rm ./etc/delivery.yaml
|
||||
11
apps/ec/delivery/test/lint/gosec
Normal file
11
apps/ec/delivery/test/lint/gosec
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"Golang errors": {},
|
||||
"Issues": [],
|
||||
"Stats": {
|
||||
"files": 24,
|
||||
"lines": 2377,
|
||||
"nosec": 0,
|
||||
"found": 0
|
||||
},
|
||||
"GosecVersion": "dev"
|
||||
}
|
||||
27
apps/ec/delivery/test/rpc/basic.go
Normal file
27
apps/ec/delivery/test/rpc/basic.go
Normal file
@@ -0,0 +1,27 @@
|
||||
package rpc
|
||||
|
||||
import (
|
||||
"context"
|
||||
"os"
|
||||
|
||||
"git.apinb.com/bsm-sdk/engine/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
|
||||
}
|
||||
112
apps/ec/delivery/test/rpc/car_test.go
Normal file
112
apps/ec/delivery/test/rpc/car_test.go
Normal file
@@ -0,0 +1,112 @@
|
||||
//go:build integration
|
||||
|
||||
package rpc
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
pb "git.apinb.com/bsm-service-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)
|
||||
}
|
||||
107
apps/ec/delivery/test/rpc/member_test.go
Normal file
107
apps/ec/delivery/test/rpc/member_test.go
Normal file
@@ -0,0 +1,107 @@
|
||||
//go:build integration
|
||||
|
||||
package rpc
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
pb "git.apinb.com/bsm-service-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)
|
||||
}
|
||||
109
apps/ec/delivery/test/rpc/team_test.go
Normal file
109
apps/ec/delivery/test/rpc/team_test.go
Normal file
@@ -0,0 +1,109 @@
|
||||
//go:build integration
|
||||
|
||||
package rpc
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
pb "git.apinb.com/bsm-service-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)
|
||||
}
|
||||
Reference in New Issue
Block a user