修改骑手投诉功能
This commit is contained in:
@@ -252,19 +252,30 @@ func GetComplaintReasons() (complaintReasonList []*dadaapi.ComplaintReason) {
|
||||
return complaintReasonList
|
||||
}
|
||||
|
||||
func ComplaintRider(ctx *jxcontext.Context, vendorOrderID string, waybillVendorID string, complaintID int) (err error) {
|
||||
wayBillList, err := dao.GetComplaintList(dao.GetDB(), vendorOrderID, "")
|
||||
func ComplaintRider(ctx *jxcontext.Context, vendorOrderID string, waybillVendorID string, complaintID int, waybillID string) (err error) {
|
||||
wayBillList, err := dao.GetComplaintList(dao.GetDB(), vendorOrderID, waybillID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if len(wayBillList) != model.YES {
|
||||
return fmt.Errorf("订单所属运单不存在,或运单为分配骑手,无法投诉")
|
||||
}
|
||||
|
||||
if err == nil && len(wayBillList) > 0 {
|
||||
for _, v := range wayBillList {
|
||||
if utils.Int2Str(v.WaybillVendorID) == waybillVendorID {
|
||||
p := partner.GetDeliveryPlatformFromVendorID(wayBillList[0].WaybillVendorID).Handler
|
||||
err = p.ComplaintRider(v, complaintID, complaintReasonsMap[complaintID])
|
||||
switch wayBillList[0].WaybillVendorID {
|
||||
case model.VendorIDFengNiao, model.VendorIDDada, model.VendorIDMTPS, model.VendorIDUUPT, model.VendorIDSFPS:
|
||||
tripartiteDelivery := partner.GetDeliveryPlatformFromVendorID(wayBillList[0].WaybillVendorID)
|
||||
if tripartiteDelivery != nil {
|
||||
err = tripartiteDelivery.Handler.ComplaintRider(wayBillList[0], complaintID, complaintReasonsMap[complaintID])
|
||||
} else {
|
||||
err = fmt.Errorf("投诉三方配送获取运单失败")
|
||||
}
|
||||
case model.VendorIDMTWM, model.VendorIDDD, model.VendorIDJD, model.VendorIDEBAI, model.VendorIDTaoVegetable:
|
||||
platformDelivery := partner.GetPurchaseOrderHandlerFromVendorID(wayBillList[0].WaybillVendorID)
|
||||
if platformDelivery != nil {
|
||||
err = platformDelivery.ComplaintRider(wayBillList[0].VendorOrderID, complaintID, complaintReasonsMap[complaintID])
|
||||
} else {
|
||||
err = fmt.Errorf("投诉平台配送获取运单失败")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1300,7 +1300,7 @@ func GetComplaintList(db *DaoDB, orderId string, vendorWaybillId string) ([]*mod
|
||||
param = append(param, vendorWaybillId)
|
||||
}
|
||||
|
||||
sql += ` AND waybill_vendor_id IN (?,?,?) AND courier_name <> '' AND courier_mobile <> '' ORDER BY waybill_created_at `
|
||||
sql += ` AND waybill_vendor_id IN (?,?,?) `
|
||||
param = append(param, model.VendorIDFengNiao, model.VendorIDDada, model.VendorIDMTPS)
|
||||
|
||||
var data []*model.Waybill
|
||||
|
||||
@@ -85,8 +85,7 @@ func (c *DeliveryHandler) CancelWaybill(bill *model.Waybill, cancelReasonID int,
|
||||
}
|
||||
|
||||
func (c *DeliveryHandler) ComplaintRider(bill *model.Waybill, resonID int, resonContent string) (err error) {
|
||||
err = api.FnAPI.ComplaintRider(bill.VendorOrderID, bill.VendorWaybillID, complaintReson2FnResonMap[resonID], resonContent)
|
||||
return err
|
||||
return api.FnAPI.ComplaintRider(bill.VendorOrderID, bill.VendorWaybillID, complaintReson2FnResonMap[resonID], resonContent)
|
||||
}
|
||||
|
||||
// 创建蜂鸟配送订单
|
||||
|
||||
@@ -796,7 +796,7 @@ func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, order *model.G
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) ComplaintRider(vendorOrderId string, resonID int, resonContent string) (err error) {
|
||||
return err
|
||||
return fmt.Errorf("饿了么暂无投诉骑手API")
|
||||
}
|
||||
|
||||
// 转自配送时取消非专送混合送门店取消理由
|
||||
|
||||
@@ -166,12 +166,29 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaia
|
||||
}
|
||||
|
||||
// 只有有售后订单就更新此订单的结算信息
|
||||
var db = dao.GetDB()
|
||||
if utils.Str2Int(orderStatus.VendorStatus) == ebaiapi.OrderPartRefundSuccess {
|
||||
orderData, err2 := api.EbaiAPI.OrderPartRefundGet(orderStatus.RefVendorOrderID)
|
||||
if err2 == nil && utils.MustInterface2Int64(orderData["shop_fee"]) != model.NO {
|
||||
goodsOrder, _ := partner.CurOrderManager.LoadOrder(orderStatus.RefVendorOrderID, model.VendorIDEBAI)
|
||||
goodsOrder.TotalShopMoney = utils.MustInterface2Int64(orderData["shop_fee"])
|
||||
dao.UpdateEntity(dao.GetDB(), goodsOrder, "TotalShopMoney")
|
||||
// 门店结算小于等于50为扣点
|
||||
afsSkuList, _ := dao.GetOrderRefundSkuList(db, []string{goodsOrder.VendorOrderID})
|
||||
for _, v := range goodsOrder.Skus {
|
||||
for _, v2 := range afsSkuList {
|
||||
if v.VendorSkuID == v2.VendorSkuID && v2.IsAfsOrder == model.YES {
|
||||
switch goodsOrder.EarningType {
|
||||
case model.EarningTypeQuote: // 报价
|
||||
goodsOrder.EarningPrice = goodsOrder.EarningPrice - (v.ShopPrice * int64(v2.Count))
|
||||
case model.EarningTypePoints:
|
||||
afsOrder, _ := partner.CurOrderManager.LoadAfsOrder(v2.AfsOrderID, v2.VendorID)
|
||||
goodsOrder.EarningPrice = goodsOrder.EarningPrice - afsOrder.AfsTotalShopMoney
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dao.UpdateEntity(dao.GetDB(), goodsOrder, "TotalShopMoney", "EarningPrice")
|
||||
}
|
||||
}
|
||||
if utils.Str2Int(orderStatus.VendorStatus) == ebaiapi.OrderUserCancelMerchantAgreed {
|
||||
@@ -181,23 +198,6 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaia
|
||||
afs.Flag = model.YES
|
||||
dao.UpdateEntity(dao.GetDB(), afs, "Status", "VendorStatus", "Flag")
|
||||
|
||||
//skuList, _ := dao.GetSimpleOrderSkus(db, orderStatus.RefVendorOrderID, nil)
|
||||
//totalSkuCount := 0
|
||||
//for _, v := range skuList {
|
||||
// totalSkuCount += v.Count
|
||||
//}
|
||||
//
|
||||
//financialSku, _ := dao.GetOrderRefundSkuList(db, []string{orderStatus.RefVendorOrderID})
|
||||
//refundSkuCount := 0
|
||||
//for _, v := range financialSku {
|
||||
// refundSkuCount += v.Count
|
||||
//}
|
||||
//if totalSkuCount == refundSkuCount {
|
||||
// goodsOrder, _ := partner.CurOrderManager.LoadOrder(orderStatus.RefVendorOrderID, orderStatus.VendorID)
|
||||
// goodsOrder.Status = model.OrderStatusCanceled
|
||||
// goodsOrder.VendorStatus = orderStatus.VendorStatus
|
||||
// dao.UpdateEntity(db, goodsOrder, "Status", "VendorStatus")
|
||||
//}
|
||||
}
|
||||
|
||||
retVal = api.EbaiAPI.Err2CallbackResponse(msg.Cmd, err, nil)
|
||||
|
||||
@@ -908,7 +908,7 @@ func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, order *model.G
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) ComplaintRider(vendorOrderId string, resonID int, resonContent string) (err error) {
|
||||
return err
|
||||
return fmt.Errorf("如果想投诉美团外卖骑手,请拨打美团客服热线:10107888")
|
||||
}
|
||||
|
||||
// GetCancelDeliveryReason 转自配送时取消非专送混合送门店取消理由
|
||||
|
||||
@@ -252,20 +252,11 @@ func (p *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
||||
}
|
||||
mergedStoreStatus := jxutils.MergeStoreStatus(storeDetail.Status, storeDetail.VendorStatus)
|
||||
|
||||
// 平台状态和本地状态相同且都为禁用时不再更新
|
||||
vendorStatus := bizStatusMtwm2JX(remoteStoreInfo.OpenLevel, remoteStoreInfo.IsOnline)
|
||||
if vendorStatus == mergedStoreStatus && mergedStoreStatus == model.StoreStatusDisabled {
|
||||
return nil
|
||||
}
|
||||
|
||||
name = remoteStoreInfo.Name
|
||||
if storeDetail.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreName) != 0 {
|
||||
if storeDetail.VendorStoreName != "" {
|
||||
name = storeDetail.VendorStoreName
|
||||
}
|
||||
// else {
|
||||
// name = jxutils.ComposeStoreName(storeDetail.Store.Name, model.VendorIDMTWM)
|
||||
// }
|
||||
}
|
||||
store := fmt.Sprintf("门店id:%d,门店名称:%s,第三方门店状态:%d,本地修改前门店状态%d,本地门店修改后状态:%d,第三方平台Id(美团):%s", storeID, remoteStoreInfo.Name, remoteStoreInfo.IsOnline, storeDetail.Status, mergedStoreStatus, storeDetail.VendorOrgCode)
|
||||
event.AddOperateEvent(jxcontext.AdminCtx, jxcontext.AdminCtx.GetTrackInfo(), store, "", "", 10, "UpdateStore")
|
||||
@@ -288,10 +279,15 @@ func (p *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
||||
errList.AddErr(mtapi.PoiSave(storeDetail.VendorStoreID, params))
|
||||
}
|
||||
if storeDetail.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreStatus) != 0 {
|
||||
// 平台状态和本地状态相同且都为禁用时不再更新
|
||||
vendorStatus := bizStatusMtwm2JX(remoteStoreInfo.OpenLevel, remoteStoreInfo.IsOnline)
|
||||
if vendorStatus == mergedStoreStatus && mergedStoreStatus == model.StoreStatusDisabled {
|
||||
return nil
|
||||
}
|
||||
|
||||
errList.AddErr(p.UpdateStoreStatus(jxcontext.AdminCtx, storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID, mergedStoreStatus))
|
||||
}
|
||||
errList.AddErr(p.UpdateStoreOpTime(jxcontext.AdminCtx, storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID, storeDetail.GetOpTimeList()))
|
||||
// errList.AddErr(p.UpdateStoreBoxFee(jxcontext.AdminCtx, storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID))
|
||||
return errList.GetErrListAsOne()
|
||||
}
|
||||
|
||||
|
||||
@@ -906,7 +906,7 @@ func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, order *model.G
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) ComplaintRider(vendorOrderId string, resonID int, resonContent string) (err error) {
|
||||
return err
|
||||
return fmt.Errorf("淘宝暂未对接配送API")
|
||||
}
|
||||
|
||||
// GetCancelDeliveryReason 转自配送时取消非专送混合送门店取消理由
|
||||
|
||||
@@ -990,7 +990,7 @@ func (c *PurchaseHandler) ConfirmSelfTake(ctx *jxcontext.Context, order *model.G
|
||||
}
|
||||
|
||||
func (c *PurchaseHandler) ComplaintRider(vendorOrderId string, resonID int, resonContent string) (err error) {
|
||||
return err
|
||||
return fmt.Errorf("抖店暂不提供投诉骑手API")
|
||||
}
|
||||
|
||||
// GetCancelDeliveryReason 转自配送时取消非专送混合送门店取消理由
|
||||
|
||||
Reference in New Issue
Block a user