This commit is contained in:
2026-09-21 15:03:52 +08:00
parent d597975b42
commit 369bbd43fd
31 changed files with 2480 additions and 769 deletions
+13
View File
@@ -17,6 +17,7 @@ type (
CreateRequest = express.CreateRequest
DeliverOrderProductInfo = express.DeliverOrderProductInfo
DeliveringRequest = express.DeliveringRequest
DeliveryInfoResponse = express.DeliveryInfoResponse
DeliveryOrderCreateRequest = express.DeliveryOrderCreateRequest
EmtpyRequest = express.EmtpyRequest
ExpressCompanyRequest = express.ExpressCompanyRequest
@@ -51,6 +52,8 @@ type (
ExpressAdminCancel(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*Response, error)
// 添加生成订单的发货信息
DeliveryOrderCreate(ctx context.Context, in *DeliveryOrderCreateRequest, opts ...grpc.CallOption) (*IdResponse, error)
GetDeliveryByOrderId(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*DeliveryInfoResponse, error)
GetDeliveryBySupplyId(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*DeliveryInfoResponse, error)
}
defaultExpress struct {
@@ -156,3 +159,13 @@ func (m *defaultExpress) DeliveryOrderCreate(ctx context.Context, in *DeliveryOr
client := express.NewExpressClient(m.cli.Conn())
return client.DeliveryOrderCreate(ctx, in, opts...)
}
func (m *defaultExpress) GetDeliveryByOrderId(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*DeliveryInfoResponse, error) {
client := express.NewExpressClient(m.cli.Conn())
return client.GetDeliveryByOrderId(ctx, in, opts...)
}
func (m *defaultExpress) GetDeliveryBySupplyId(ctx context.Context, in *IdRequest, opts ...grpc.CallOption) (*DeliveryInfoResponse, error) {
client := express.NewExpressClient(m.cli.Conn())
return client.GetDeliveryBySupplyId(ctx, in, opts...)
}
@@ -108,6 +108,8 @@ type DeliveryOrderPrintEdit struct {
TransitContent string `gorm:"column:transit_content;type:text;comment:发快递时的结果" json:"transit_content"`
TransitType uint8 `gorm:"column:transit_type;type:tinyint(1);default:1;comment:快递公司,1为顺丰,2为京东,3为。。。" json:"transit_type"`
TransitId int `gorm:"column:transit_id;type:int(11);comment:快递表ID" json:"transit_id"`
EstimatedTime string `gorm:"column:estimated_time;type:varchar(30);comment:预计到达时间" json:"estimated_time"`
TransitQuery string `gorm:"column:transit_query;type:text;comment:查询快递信息" json:"transit_query"`
PrintStatus uint8 `gorm:"column:print_status;type:tinyint(1);default:2;comment:打印状态,1为打印完,2为未打印,3为已绑定" json:"print_status"`
Express string `gorm:"column:express;type:varchar(255);comment:快递单地址" json:"express"`
Type uint8 `gorm:"column:type;type:tinyint(1);default:1;comment:类型,1为订单,2为试用,3为补货,4为个人家里试用,5产品先付后用;NOT NULL" json:"type"`
@@ -0,0 +1,55 @@
package logic
import (
"context"
"lone-services/pkg/modelbase"
"lone-services/pkg/utils"
"lone-services/services/express/internal/dao"
"lone-services/services/express/internal/model"
"strconv"
"lone-services/rpc/express/pb"
"lone-services/services/express/internal/svc"
"github.com/zeromicro/go-zero/core/logx"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
type GetDeliveryByOrderIdLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewGetDeliveryByOrderIdLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetDeliveryByOrderIdLogic {
return &GetDeliveryByOrderIdLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *GetDeliveryByOrderIdLogic) GetDeliveryByOrderId(in *express.IdRequest) (*express.DeliveryInfoResponse, error) {
modelObj := model.DeliveryOrderModel{}.Init()
var info dao.DeliveryOrderPrintEdit
w := modelbase.Params{Eq: map[string]string{
"type": strconv.Itoa(dao.DeliveryTypeOrder),
"obj_id": strconv.FormatInt(in.Id, utils.NumberTen)}}
err := modelObj.GetOne(w, &info)
if err != nil {
return nil, status.Error(codes.Internal, utils.Fail.Msg)
}
if info.Id < utils.NumberOne {
return nil, status.Error(codes.Internal, utils.ErrorNotFund.Msg)
}
return &express.DeliveryInfoResponse{
TransitName: info.TransitName,
TransitSn: info.TransitSn,
EstimatedTime: info.EstimatedTime,
TransitQuery: info.TransitQuery,
Status: int32(info.Status),
Id: int64(info.Id),
}, nil
}
@@ -0,0 +1,55 @@
package logic
import (
"context"
"lone-services/pkg/modelbase"
"lone-services/pkg/utils"
"lone-services/services/express/internal/dao"
"lone-services/services/express/internal/model"
"strconv"
"lone-services/rpc/express/pb"
"lone-services/services/express/internal/svc"
"github.com/zeromicro/go-zero/core/logx"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
type GetDeliveryBySupplyIdLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewGetDeliveryBySupplyIdLogic(ctx context.Context, svcCtx *svc.ServiceContext) *GetDeliveryBySupplyIdLogic {
return &GetDeliveryBySupplyIdLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *GetDeliveryBySupplyIdLogic) GetDeliveryBySupplyId(in *express.IdRequest) (*express.DeliveryInfoResponse, error) {
modelObj := model.DeliveryOrderModel{}.Init()
var info dao.DeliveryOrderPrintEdit
w := modelbase.Params{Eq: map[string]string{
"type": strconv.Itoa(dao.DeliveryTypeSupply),
"obj_id": strconv.FormatInt(in.Id, utils.NumberTen)}}
err := modelObj.GetOne(w, &info)
if err != nil {
return nil, status.Error(codes.Internal, utils.Fail.Msg)
}
if info.Id < utils.NumberOne {
return nil, status.Error(codes.Internal, utils.ErrorNotFund.Msg)
}
return &express.DeliveryInfoResponse{
TransitName: info.TransitName,
TransitSn: info.TransitSn,
EstimatedTime: info.EstimatedTime,
TransitQuery: info.TransitQuery,
Status: int32(info.Status),
Id: int64(info.Id),
}, nil
}
@@ -115,3 +115,13 @@ func (s *ExpressServer) DeliveryOrderCreate(ctx context.Context, in *express.Del
l := logic.NewDeliveryOrderCreateLogic(ctx, s.svcCtx)
return l.DeliveryOrderCreate(in)
}
func (s *ExpressServer) GetDeliveryByOrderId(ctx context.Context, in *express.IdRequest) (*express.DeliveryInfoResponse, error) {
l := logic.NewGetDeliveryByOrderIdLogic(ctx, s.svcCtx)
return l.GetDeliveryByOrderId(in)
}
func (s *ExpressServer) GetDeliveryBySupplyId(ctx context.Context, in *express.IdRequest) (*express.DeliveryInfoResponse, error) {
l := logic.NewGetDeliveryBySupplyIdLogic(ctx, s.svcCtx)
return l.GetDeliveryBySupplyId(in)
}