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