This commit is contained in:
邹宗楠
2022-06-27 17:15:45 +08:00
parent 1400845af3
commit f3d4a9e496
5 changed files with 126 additions and 40 deletions

View File

@@ -1,7 +1,5 @@
package model
import "git.rosy.net.cn/jx-callback/business/model/dao"
type UserVendorOrder struct {
ModelIDCUL
UserId string `orm:"size(128);column(user_id);index" json:"userID"` // 用户ID
@@ -22,6 +20,7 @@ type UserVendorOrder struct {
Type int `orm:"size(8);column(type)" json:"type"` // 快递公司
PromiseTimeType int `orm:"size(8);column(promise_Time_type)" json:"promiseTimeType"` // 快递时效产品
DeliveryType int `orm:"size(8);column(delivery_type)" json:"deliveryType"` // 产品类型
ReallyChannelFee float64 `orm:"column(really_channel_fee)" json:"reallyChannelFee"` // 真实价格
ChannelFee float64 `orm:"column(channel_fee)" json:"channelFee"` // 渠道价
ServiceCharge float64 `orm:"column(service_charge)" json:"serviceCharge"` // 服务费
GuarantFee float64 `orm:"column(guarant_fee)" json:"guarantFee"` // 保价费用
@@ -30,20 +29,22 @@ type UserVendorOrder struct {
Increment float64 `orm:"column(increment)" json:"increment"` // 增值(物流)
ChannelType int `orm:"size(8);column(channel_type)" json:"channelType"` // 渠道类型1-快递2-物流3-国际物流4-整车)
OrderStatus int `orm:"size(8);column(order_status)" json:"orderType"` // 订单状态(1-待支付2-支付失败3-支付成功4-取件5-配送6-4-取消)
Img string `orm:"text;column(img)" json:"img"` // 包裹图片
Img string `orm:"column(img)" json:"img"` // 包裹图片
IsForward int `orm:"column(is_forward)" json:"isForward"` // 1否2是
}
func (*UserVendorOrder) TableUnique() [][]string {
return [][]string{
[]string{"LocalWayBill", "DeletedAt"},
[]string{"OtherWayBill", "DeletedAt"},
[]string{"CreatedAt", "DeletedAt"},
[]string{"LocalWayBill"},
[]string{"OtherWayBill"},
}
}
func (u *UserVendorOrder) CreateVendorOrder() error {
return dao.CreateEntity(dao.GetDB(), u)
}
//func (*UserVendorOrder) TableIndex()[][]string {
// return [][]string{
// []string{""},
// }
//}
// MakeOrderParamReq 下订单请求参数
type MakeOrderParamReq struct {
@@ -62,14 +63,14 @@ type MakeOrderParamReq struct {
ReceiveName string `json:"receiveName"` // 收件人姓名
ReceivePhone string `json:"receivePhone"` // 收件人手机号
Remark string `json:"remark"` // 运单备注
SenderAddressID int64 `json:"senderAddressId"` // 寄件人地址Id
SenderAddressId int64 `json:"senderAddressId"` // 寄件人地址Id
SenderAddress string `json:"senderAddress"` // 寄件人地址
SenderName string `json:"senderName"` // 寄件人姓名
SenderPhone string `json:"senderPhone"` // 寄件人手机号
ThirdPlatform int `json:"thirdPlatform"` // 第三方平台-京东商家下单传3
Type int `json:"type"` // 快递公司
ChannelType int `json:"channelType"` // 渠道类型1-快递2-物流3-国际物流4-整车)
Img string `json:"img"` // 包裹图片
Images string `json:"images"` // 包裹图片
// 快递费
ChannelFee float64 `json:"channel_fee"` // 渠道价
Bulk float64 `json:"bulk"` // 体积抛比系数

View File

@@ -59,6 +59,7 @@ func QueryExpressPrice(param *bida.GetExpressPriceReq) (map[string]*bida.GetExpr
// CreateWayOrder 创建快递订单
func CreateWayOrder(ctx *jxcontext.Context, param *model.MakeOrderParamReq, userId string) error {
// 检查价格
reallyCannelleFee := param.ChannelFee
if err := checkWayFeeIsTrue(param); err != nil {
return err
}
@@ -86,9 +87,10 @@ func CreateWayOrder(ctx *jxcontext.Context, param *model.MakeOrderParamReq, user
PackageNum: param.PackageNum,
ReceiveAddressID: param.ReceiveAddressId,
Remark: param.Remark,
SenderAddressID: param.SenderAddressID,
SenderAddressID: param.SenderAddressId,
ThirdPlatform: param.ThirdPlatform,
Type: param.Type,
ReallyChannelFee: reallyCannelleFee,
ChannelFee: param.ChannelFee,
ServiceCharge: param.ServiceCharge,
GuarantFee: param.GuarantFee,
@@ -97,8 +99,41 @@ func CreateWayOrder(ctx *jxcontext.Context, param *model.MakeOrderParamReq, user
Increment: param.Increment,
ChannelType: param.ChannelType,
OrderStatus: model.YES, // 创建
Img: param.Img,
Img: param.Images,
IsForward: model.YES,
}
dao.WrapAddIDCULEntity(vendorOrder, ctx.GetUserName())
return vendorOrder.CreateVendorOrder()
return dao.CreateEntity(dao.GetDB(), vendorOrder)
}
// CancelWayOrder 取消运单 todo
func CancelWayOrder(param *bida.CancelOrderReq) error {
if err := api.QBiDaAPI.CancelOrder(param); err != nil {
return err
}
// 发起退款
// 修改本地订单状态
return nil
}
// QueryOrderDetail 获取订单详细信息
func QueryOrderDetail(typeCode int, orderNo string) (*bida.OrderDetail, error) {
detail, err := api.QBiDaAPI.GetOrderDetail(&bida.GetOrderDetailReq{
Type: typeCode,
OrderNo: orderNo,
})
if err != nil {
return nil, err
}
// 本地查询获取真是支付快递费用
sql := `SELECT * FROM user_vendor_order a WHERE a.other_way_bill = ? and a.type = ? `
data := &model.UserVendorOrder{}
param := []interface{}{orderNo, typeCode}
if err := dao.GetRow(dao.GetDB(), data, sql, param); err != nil {
return nil, err
}
detail.ExpressFee = data.ChannelFee
}