修改骑手投诉功能
This commit is contained in:
@@ -252,19 +252,30 @@ func GetComplaintReasons() (complaintReasonList []*dadaapi.ComplaintReason) {
|
|||||||
return complaintReasonList
|
return complaintReasonList
|
||||||
}
|
}
|
||||||
|
|
||||||
func ComplaintRider(ctx *jxcontext.Context, vendorOrderID string, waybillVendorID string, complaintID int) (err error) {
|
func ComplaintRider(ctx *jxcontext.Context, vendorOrderID string, waybillVendorID string, complaintID int, waybillID string) (err error) {
|
||||||
wayBillList, err := dao.GetComplaintList(dao.GetDB(), vendorOrderID, "")
|
wayBillList, err := dao.GetComplaintList(dao.GetDB(), vendorOrderID, waybillID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if len(wayBillList) != model.YES {
|
if len(wayBillList) != model.YES {
|
||||||
return fmt.Errorf("订单所属运单不存在,或运单为分配骑手,无法投诉")
|
return fmt.Errorf("订单所属运单不存在,或运单为分配骑手,无法投诉")
|
||||||
}
|
}
|
||||||
|
|
||||||
if err == nil && len(wayBillList) > 0 {
|
if err == nil && len(wayBillList) > 0 {
|
||||||
for _, v := range wayBillList {
|
switch wayBillList[0].WaybillVendorID {
|
||||||
if utils.Int2Str(v.WaybillVendorID) == waybillVendorID {
|
case model.VendorIDFengNiao, model.VendorIDDada, model.VendorIDMTPS, model.VendorIDUUPT, model.VendorIDSFPS:
|
||||||
p := partner.GetDeliveryPlatformFromVendorID(wayBillList[0].WaybillVendorID).Handler
|
tripartiteDelivery := partner.GetDeliveryPlatformFromVendorID(wayBillList[0].WaybillVendorID)
|
||||||
err = p.ComplaintRider(v, complaintID, complaintReasonsMap[complaintID])
|
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)
|
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)
|
param = append(param, model.VendorIDFengNiao, model.VendorIDDada, model.VendorIDMTPS)
|
||||||
|
|
||||||
var data []*model.Waybill
|
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) {
|
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 api.FnAPI.ComplaintRider(bill.VendorOrderID, bill.VendorWaybillID, complaintReson2FnResonMap[resonID], resonContent)
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建蜂鸟配送订单
|
// 创建蜂鸟配送订单
|
||||||
|
|||||||
@@ -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) {
|
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 {
|
if utils.Str2Int(orderStatus.VendorStatus) == ebaiapi.OrderPartRefundSuccess {
|
||||||
orderData, err2 := api.EbaiAPI.OrderPartRefundGet(orderStatus.RefVendorOrderID)
|
orderData, err2 := api.EbaiAPI.OrderPartRefundGet(orderStatus.RefVendorOrderID)
|
||||||
if err2 == nil && utils.MustInterface2Int64(orderData["shop_fee"]) != model.NO {
|
if err2 == nil && utils.MustInterface2Int64(orderData["shop_fee"]) != model.NO {
|
||||||
goodsOrder, _ := partner.CurOrderManager.LoadOrder(orderStatus.RefVendorOrderID, model.VendorIDEBAI)
|
goodsOrder, _ := partner.CurOrderManager.LoadOrder(orderStatus.RefVendorOrderID, model.VendorIDEBAI)
|
||||||
goodsOrder.TotalShopMoney = utils.MustInterface2Int64(orderData["shop_fee"])
|
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 {
|
if utils.Str2Int(orderStatus.VendorStatus) == ebaiapi.OrderUserCancelMerchantAgreed {
|
||||||
@@ -181,23 +198,6 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *ebaiapi.CallbackMsg) (retVal *ebaia
|
|||||||
afs.Flag = model.YES
|
afs.Flag = model.YES
|
||||||
dao.UpdateEntity(dao.GetDB(), afs, "Status", "VendorStatus", "Flag")
|
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)
|
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) {
|
func (c *PurchaseHandler) ComplaintRider(vendorOrderId string, resonID int, resonContent string) (err error) {
|
||||||
return err
|
return fmt.Errorf("如果想投诉美团外卖骑手,请拨打美团客服热线:10107888")
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetCancelDeliveryReason 转自配送时取消非专送混合送门店取消理由
|
// GetCancelDeliveryReason 转自配送时取消非专送混合送门店取消理由
|
||||||
|
|||||||
@@ -252,20 +252,11 @@ func (p *PurchaseHandler) UpdateStore(db *dao.DaoDB, storeID int, userName strin
|
|||||||
}
|
}
|
||||||
mergedStoreStatus := jxutils.MergeStoreStatus(storeDetail.Status, storeDetail.VendorStatus)
|
mergedStoreStatus := jxutils.MergeStoreStatus(storeDetail.Status, storeDetail.VendorStatus)
|
||||||
|
|
||||||
// 平台状态和本地状态相同且都为禁用时不再更新
|
|
||||||
vendorStatus := bizStatusMtwm2JX(remoteStoreInfo.OpenLevel, remoteStoreInfo.IsOnline)
|
|
||||||
if vendorStatus == mergedStoreStatus && mergedStoreStatus == model.StoreStatusDisabled {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
name = remoteStoreInfo.Name
|
name = remoteStoreInfo.Name
|
||||||
if storeDetail.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreName) != 0 {
|
if storeDetail.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreName) != 0 {
|
||||||
if storeDetail.VendorStoreName != "" {
|
if storeDetail.VendorStoreName != "" {
|
||||||
name = 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)
|
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")
|
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))
|
errList.AddErr(mtapi.PoiSave(storeDetail.VendorStoreID, params))
|
||||||
}
|
}
|
||||||
if storeDetail.SyncStatus&(model.SyncFlagNewMask|model.SyncFlagStoreStatus) != 0 {
|
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.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.UpdateStoreOpTime(jxcontext.AdminCtx, storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID, storeDetail.GetOpTimeList()))
|
||||||
// errList.AddErr(p.UpdateStoreBoxFee(jxcontext.AdminCtx, storeDetail.VendorOrgCode, storeID, storeDetail.VendorStoreID))
|
|
||||||
return errList.GetErrListAsOne()
|
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) {
|
func (c *PurchaseHandler) ComplaintRider(vendorOrderId string, resonID int, resonContent string) (err error) {
|
||||||
return err
|
return fmt.Errorf("淘宝暂未对接配送API")
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetCancelDeliveryReason 转自配送时取消非专送混合送门店取消理由
|
// 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) {
|
func (c *PurchaseHandler) ComplaintRider(vendorOrderId string, resonID int, resonContent string) (err error) {
|
||||||
return err
|
return fmt.Errorf("抖店暂不提供投诉骑手API")
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetCancelDeliveryReason 转自配送时取消非专送混合送门店取消理由
|
// GetCancelDeliveryReason 转自配送时取消非专送混合送门店取消理由
|
||||||
|
|||||||
@@ -1018,13 +1018,14 @@ func (c *OrderController) GetComplaintReasons() {
|
|||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
// @Param vendorOrderID formData string true "订单ID"
|
// @Param vendorOrderID formData string true "订单ID"
|
||||||
// @Param waybillVendorID formData string true "运单所属厂商ID"
|
// @Param waybillVendorID formData string true "运单所属厂商ID"
|
||||||
|
// @Param waybillID formData string false "运单ID"
|
||||||
// @Param complaintID formData int true "投诉原因ID"
|
// @Param complaintID formData int true "投诉原因ID"
|
||||||
// @Success 200 {object} controllers.CallResult
|
// @Success 200 {object} controllers.CallResult
|
||||||
// @Failure 200 {object} controllers.CallResult
|
// @Failure 200 {object} controllers.CallResult
|
||||||
// @router /ComplaintRider [post]
|
// @router /ComplaintRider [post]
|
||||||
func (c *OrderController) ComplaintRider() {
|
func (c *OrderController) ComplaintRider() {
|
||||||
c.callComplaintRider(func(params *tOrderComplaintRiderParams) (retVal interface{}, errCode string, err error) {
|
c.callComplaintRider(func(params *tOrderComplaintRiderParams) (retVal interface{}, errCode string, err error) {
|
||||||
err = orderman.ComplaintRider(params.Ctx, params.VendorOrderID, params.WaybillVendorID, params.ComplaintID)
|
err = orderman.ComplaintRider(params.Ctx, params.VendorOrderID, params.WaybillVendorID, params.ComplaintID, params.WaybillID)
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user