aa
This commit is contained in:
@@ -742,6 +742,10 @@ func SendJdDelivery(ctx *jxcontext.Context, dOrder *model.DeliveryOrder) (errCod
|
||||
dOrder.PayPrice = 1000 + int(float64(waybillKgPrice)*math.Ceil(dOrder.Weight-3))
|
||||
}
|
||||
}
|
||||
var (
|
||||
sendDelivery *dao.UserDeliveryAddressEx
|
||||
receiveDelivery *dao.UserDeliveryAddressEx
|
||||
)
|
||||
sendDeliveryList, _, err := dao.QueryUserDeliveryAddress(db, int64(dOrder.DeliverySendID), nil, 0, 0, 0)
|
||||
receiveDeliveryList, _, err := dao.QueryUserDeliveryAddress(db, int64(dOrder.DeliveryReceiveID), nil, 0, 0, 0)
|
||||
userBill, err := dao.GetUserBill(db, ctx.GetUserID(), "")
|
||||
@@ -757,26 +761,30 @@ func SendJdDelivery(ctx *jxcontext.Context, dOrder *model.DeliveryOrder) (errCod
|
||||
}
|
||||
if len(sendDeliveryList) == 0 {
|
||||
return errCode, fmt.Errorf("未找到寄件人地址!")
|
||||
} else {
|
||||
sendDelivery = sendDeliveryList[0]
|
||||
}
|
||||
if len(receiveDeliveryList) == 0 {
|
||||
return errCode, fmt.Errorf("未找到取件人地址!")
|
||||
} else {
|
||||
receiveDelivery = receiveDeliveryList[0]
|
||||
}
|
||||
//内蒙古海南统一35
|
||||
//新疆西藏统一45
|
||||
if receiveDeliveryList[0].ParentCode == 150000 || receiveDeliveryList[0].ParentCode == 460000 ||
|
||||
receiveDeliveryList[0].ParentCode == 650000 || receiveDeliveryList[0].ParentCode == 540000 ||
|
||||
sendDeliveryList[0].ParentCode == 150000 || sendDeliveryList[0].ParentCode == 460000 ||
|
||||
sendDeliveryList[0].ParentCode == 650000 || sendDeliveryList[0].ParentCode == 540000 {
|
||||
if receiveDelivery.ParentCode == 150000 || receiveDelivery.ParentCode == 460000 ||
|
||||
receiveDelivery.ParentCode == 650000 || receiveDelivery.ParentCode == 540000 ||
|
||||
sendDelivery.ParentCode == 150000 || sendDelivery.ParentCode == 460000 ||
|
||||
sendDelivery.ParentCode == 650000 || sendDelivery.ParentCode == 540000 {
|
||||
return errCode, fmt.Errorf("暂不支持该地区的快递业务!")
|
||||
}
|
||||
sendProvinceName := ""
|
||||
receiveProvinceName := ""
|
||||
if place1, err := dao.GetPlaceByCode(db, sendDeliveryList[0].CityCode); err == nil {
|
||||
if place1, err := dao.GetPlaceByCode(db, sendDelivery.CityCode); err == nil {
|
||||
if place2, err2 := dao.GetPlaceByCode(db, place1.ParentCode); err2 == nil {
|
||||
sendProvinceName = place2.Name
|
||||
}
|
||||
}
|
||||
if place1, err := dao.GetPlaceByCode(db, receiveDeliveryList[0].CityCode); err == nil {
|
||||
if place1, err := dao.GetPlaceByCode(db, receiveDelivery.CityCode); err == nil {
|
||||
if place2, err2 := dao.GetPlaceByCode(db, place1.ParentCode); err2 == nil {
|
||||
receiveProvinceName = place2.Name
|
||||
}
|
||||
@@ -786,12 +794,12 @@ func SendJdDelivery(ctx *jxcontext.Context, dOrder *model.DeliveryOrder) (errCod
|
||||
SalePlat: jdeclpapi.SalePlatSourceDelivery,
|
||||
CustomerCode: jdeclpapi.CustomerCode,
|
||||
OrderID: utils.Int64ToStr(jxutils.GenOrderNo()),
|
||||
SenderName: sendDeliveryList[0].ConsigneeName,
|
||||
SenderAddress: sendProvinceName + sendDeliveryList[0].CityName + sendDeliveryList[0].DistrictName + sendDeliveryList[0].Address + sendDeliveryList[0].DetailAddress,
|
||||
SenderTel: sendDeliveryList[0].ConsigneeMobile,
|
||||
ReceiveName: receiveDeliveryList[0].ConsigneeName,
|
||||
ReceiveAddress: receiveProvinceName + receiveDeliveryList[0].CityName + receiveDeliveryList[0].DistrictName + receiveDeliveryList[0].Address + receiveDeliveryList[0].DetailAddress,
|
||||
ReceiveTel: receiveDeliveryList[0].ConsigneeMobile,
|
||||
SenderName: sendDelivery.ConsigneeName,
|
||||
SenderAddress: sendProvinceName + sendDelivery.CityName + sendDelivery.DistrictName + sendDelivery.Address + sendDelivery.DetailAddress,
|
||||
SenderTel: sendDelivery.ConsigneeMobile,
|
||||
ReceiveName: receiveDelivery.ConsigneeName,
|
||||
ReceiveAddress: receiveProvinceName + receiveDelivery.CityName + receiveDelivery.DistrictName + receiveDelivery.Address + receiveDelivery.DetailAddress,
|
||||
ReceiveTel: receiveDelivery.ConsigneeMobile,
|
||||
Weight: dOrder.Weight,
|
||||
Vloumn: dOrder.Vloumn,
|
||||
PackageCount: dOrder.PackageCount,
|
||||
@@ -821,6 +829,22 @@ func SendJdDelivery(ctx *jxcontext.Context, dOrder *model.DeliveryOrder) (errCod
|
||||
job, err := dao.GetJob(db, nil, nil, nil, []int{model.JobTypeJdDelivery}, utils.ZeroTimeValue, utils.ZeroTimeValue, false)
|
||||
jobOrderID, errCode, err := AcceptJob(ctx, job.ID)
|
||||
dOrder.JobOrderID = utils.Int64ToStr(jobOrderID)
|
||||
dOrder.SendName = sendDelivery.ConsigneeName
|
||||
dOrder.SendMobile = sendDelivery.ConsigneeMobile
|
||||
dOrder.SendAddress = sendDelivery.Address
|
||||
dOrder.SendAutoAddress = sendDelivery.AutoAddress
|
||||
dOrder.SendCityCode = sendDelivery.CityCode
|
||||
dOrder.SendDetailAddress = sendDelivery.DetailAddress
|
||||
dOrder.SendLng = sendDelivery.Lng
|
||||
dOrder.SendLat = sendDelivery.Lat
|
||||
dOrder.ReceiveName = receiveDelivery.ConsigneeName
|
||||
dOrder.ReceiveMobile = receiveDelivery.ConsigneeMobile
|
||||
dOrder.ReceiveAddress = receiveDelivery.Address
|
||||
dOrder.ReceiveAutoAddress = receiveDelivery.AutoAddress
|
||||
dOrder.ReceiveCityCode = receiveDelivery.CityCode
|
||||
dOrder.ReceiveDetailAddress = receiveDelivery.DetailAddress
|
||||
dOrder.ReceiveLng = receiveDelivery.Lng
|
||||
dOrder.ReceiveLat = receiveDelivery.Lat
|
||||
if err = dao.CreateEntity(db, dOrder); err != nil {
|
||||
dao.Rollback(db)
|
||||
return
|
||||
|
||||
@@ -84,9 +84,29 @@ func GetDeliveryOrders(db *DaoDB, userIDs []string, statuss []int, fromTime, toT
|
||||
for _, v := range dOrders {
|
||||
if addressList1, _, err := QueryUserDeliveryAddress(db, int64(v.DeliverySendID), nil, 0, 0, 0); err == nil && len(addressList1) > 0 {
|
||||
v.DeliverySendInfo = addressList1[0]
|
||||
} else {
|
||||
v.DeliverySendInfo.ConsigneeName = v.SendName
|
||||
v.DeliverySendInfo.ConsigneeMobile = v.SendMobile
|
||||
v.DeliverySendInfo.Address = v.SendAddress
|
||||
v.DeliverySendInfo.AutoAddress = v.SendAutoAddress
|
||||
v.DeliverySendInfo.CityCode = v.SendCityCode
|
||||
v.DeliverySendInfo.DistrictCode = v.SendDistrictCode
|
||||
v.DeliverySendInfo.DetailAddress = v.SendDetailAddress
|
||||
v.DeliverySendInfo.Lng = v.SendLng
|
||||
v.DeliverySendInfo.Lat = v.SendLat
|
||||
}
|
||||
if addressList2, _, err := QueryUserDeliveryAddress(db, int64(v.DeliveryReceiveID), nil, 0, 0, 0); err == nil && len(addressList2) > 0 {
|
||||
v.DeliveryReceiveInfo = addressList2[0]
|
||||
} else {
|
||||
v.DeliveryReceiveInfo.ConsigneeName = v.ReceiveName
|
||||
v.DeliveryReceiveInfo.ConsigneeMobile = v.ReceiveMobile
|
||||
v.DeliveryReceiveInfo.Address = v.ReceiveAddress
|
||||
v.DeliveryReceiveInfo.AutoAddress = v.ReceiveAutoAddress
|
||||
v.DeliveryReceiveInfo.CityCode = v.ReceiveCityCode
|
||||
v.DeliveryReceiveInfo.DistrictCode = v.ReceiveDistrictCode
|
||||
v.DeliveryReceiveInfo.DetailAddress = v.ReceiveDetailAddress
|
||||
v.DeliveryReceiveInfo.Lng = v.ReceiveLng
|
||||
v.DeliveryReceiveInfo.Lat = v.ReceiveLat
|
||||
}
|
||||
}
|
||||
pagedInfo.Data = dOrders
|
||||
|
||||
@@ -84,23 +84,41 @@ func (v *Order) TableIndex() [][]string {
|
||||
type DeliveryOrder struct {
|
||||
ModelIDCUL
|
||||
|
||||
VendorWaybillID string `orm:"column(vendor_waybill_id)" json:"vendorWaybillID"` //运单号
|
||||
UserID string `orm:"column(user_id);size(48)" json:"userID"` //用户ID
|
||||
DeliverySendID int `orm:"column(delivery_send_id)" json:"deliverySendID"` //寄件人地址ID
|
||||
DeliveryReceiveID int `orm:"column(delivery_receive_id)" json:"deliveryReceiveID"` //取件人地址ID(收货人)
|
||||
Status int `json:"status"` //运单状态
|
||||
PayPrice int `json:"payPrice"` //支付金额
|
||||
OrderFinishedAt time.Time `json:"orderFinishedAt"` //订单完成时间
|
||||
Weight float64 `json:"weight"` //订单重量,单位kg
|
||||
Vloumn float64 `json:"vloumn"` //订单体积,单位立方cm
|
||||
Description string `json:"description"` //订单商品描述
|
||||
PickUpStartTime time.Time `json:"pickUpStartTime"` //预约取件开始时间
|
||||
PickUpEndTime time.Time `json:"pickUpEndTime"` //预约取件结束时间
|
||||
PackageCount int `json:"packageCount"` //包裹数
|
||||
ActualWeight float64 `json:"actualWeight"` //实际重量
|
||||
IsWeight int `json:"isWeight"` //0代表未验重,1代表验重通过,2代表不通过
|
||||
Comment string `orm:"size(255)" json:"comment"` //备注
|
||||
JobOrderID string `orm:"column(job_order_id)" json:"jobOrderID"`
|
||||
VendorWaybillID string `orm:"column(vendor_waybill_id)" json:"vendorWaybillID"` //运单号
|
||||
UserID string `orm:"column(user_id);size(48)" json:"userID"` //用户ID
|
||||
DeliverySendID int `orm:"column(delivery_send_id)" json:"deliverySendID"` //寄件人地址ID
|
||||
SendName string `json:"sendName"`
|
||||
SendMobile string `json:"sendMobile"`
|
||||
SendAddress string `json:"sendAddress"`
|
||||
SendDetailAddress string `json:"sendDetailAddress"`
|
||||
SendLng float64 `json:"sendLng"`
|
||||
SendLat float64 `json:"sendLat"`
|
||||
SendAutoAddress string `json:"sendAutoAddress"`
|
||||
SendCityCode int `json:"sendCityCode"`
|
||||
SendDistrictCode int `json:"sendDistrictCode"`
|
||||
DeliveryReceiveID int `orm:"column(delivery_receive_id)" json:"deliveryReceiveID"` //取件人地址ID(收货人)\
|
||||
ReceiveName string `json:"receiveName"`
|
||||
ReceiveMobile string `json:"receiveMobile"`
|
||||
ReceiveAddress string `json:"receiveAddress"`
|
||||
ReceiveDetailAddress string `json:"receiveDetailAddress"`
|
||||
ReceiveLng float64 `json:"receiveLng"`
|
||||
ReceiveLat float64 `json:"receiveLat"`
|
||||
ReceiveAutoAddress string `json:"receiveAutoAddress"`
|
||||
ReceiveCityCode int `json:"receiveCityCode"`
|
||||
ReceiveDistrictCode int `json:"receiveDistrictCode"`
|
||||
Status int `json:"status"` //运单状态
|
||||
PayPrice int `json:"payPrice"` //支付金额
|
||||
OrderFinishedAt time.Time `json:"orderFinishedAt"` //订单完成时间
|
||||
Weight float64 `json:"weight"` //订单重量,单位kg
|
||||
Vloumn float64 `json:"vloumn"` //订单体积,单位立方cm
|
||||
Description string `json:"description"` //订单商品描述
|
||||
PickUpStartTime time.Time `json:"pickUpStartTime"` //预约取件开始时间
|
||||
PickUpEndTime time.Time `json:"pickUpEndTime"` //预约取件结束时间
|
||||
PackageCount int `json:"packageCount"` //包裹数
|
||||
ActualWeight float64 `json:"actualWeight"` //实际重量
|
||||
IsWeight int `json:"isWeight"` //0代表未验重,1代表验重通过,2代表不通过
|
||||
Comment string `orm:"size(255)" json:"comment"` //备注
|
||||
JobOrderID string `orm:"column(job_order_id)" json:"jobOrderID"`
|
||||
}
|
||||
|
||||
func (v *DeliveryOrder) TableUnique() [][]string {
|
||||
|
||||
Reference in New Issue
Block a user