Merge branch 'mark' of e.coding.net:rosydev/jx-callback into mark
This commit is contained in:
@@ -1,11 +1,17 @@
|
|||||||
package orderman
|
package orderman
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"git.rosy.net.cn/jx-callback/business/partner"
|
||||||
|
|
||||||
|
"git.rosy.net.cn/baseapi/platformapi/dadaapi"
|
||||||
|
|
||||||
"git.rosy.net.cn/baseapi/utils"
|
"git.rosy.net.cn/baseapi/utils"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
|
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||||
|
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/model/dao"
|
"git.rosy.net.cn/jx-callback/business/model/dao"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
@@ -19,6 +25,17 @@ var (
|
|||||||
model.WaybillStatusRefuseFailedGetGoods: model.OrderStatusRefuseFailedGetGoods,
|
model.WaybillStatusRefuseFailedGetGoods: model.OrderStatusRefuseFailedGetGoods,
|
||||||
model.WaybillStatusDeliverFailed: model.OrderStatusDeliverFailed,
|
model.WaybillStatusDeliverFailed: model.OrderStatusDeliverFailed,
|
||||||
}
|
}
|
||||||
|
complaintReasonsMap = map[int]string{
|
||||||
|
1: "骑手态度恶劣",
|
||||||
|
2: "骑手接单后未取货",
|
||||||
|
3: "骑手取货太慢",
|
||||||
|
4: "骑手送货太慢",
|
||||||
|
5: "货品未送达",
|
||||||
|
6: "货品有损坏",
|
||||||
|
7: "骑手违规收取顾客其他费用",
|
||||||
|
69: "骑手恶意取消订单",
|
||||||
|
71: "骑手提前点击取货/送达",
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
func (w *OrderManager) LoadPendingWaybills() []*model.Waybill {
|
func (w *OrderManager) LoadPendingWaybills() []*model.Waybill {
|
||||||
@@ -220,3 +237,26 @@ func (c *OrderManager) LoadWaybill(vendorWaybillID string, waybillVendorID int)
|
|||||||
}
|
}
|
||||||
return bill, err
|
return bill, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetComplaintReasons() (complaintReasonList []*dadaapi.ComplaintReason) {
|
||||||
|
for k, v := range complaintReasonsMap {
|
||||||
|
complaintReason := &dadaapi.ComplaintReason{
|
||||||
|
ID: k,
|
||||||
|
Reason: v,
|
||||||
|
}
|
||||||
|
complaintReasonList = append(complaintReasonList, complaintReason)
|
||||||
|
}
|
||||||
|
return complaintReasonList
|
||||||
|
}
|
||||||
|
|
||||||
|
func ComplaintRider(ctx *jxcontext.Context, orderID string, vendorID, complaintID int) (err error) {
|
||||||
|
db := dao.GetDB()
|
||||||
|
p := partner.GetDeliveryPlatformFromVendorID(vendorID).Handler
|
||||||
|
wayBillList, err := dao.GetWayBillByOrderID(db, model.OrderStatusFinished, vendorID, orderID)
|
||||||
|
if err == nil && len(wayBillList) > 0 {
|
||||||
|
err = p.ComplaintRider(wayBillList[0], complaintID, complaintReasonsMap[complaintID])
|
||||||
|
} else {
|
||||||
|
return fmt.Errorf("未查询到到相关订单,订单状态要求必须是完成!订单号:[%v] ,厂商:[%v]", orderID, vendorID)
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|||||||
@@ -1027,3 +1027,23 @@ func LoadPendingOrders(db *DaoDB, orderCreatedAfter time.Time, beforStatus int)
|
|||||||
err = GetRows(db, &orderList, sql, sqlParams...)
|
err = GetRows(db, &orderList, sql, sqlParams...)
|
||||||
return orderList, err
|
return orderList, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetWayBillByOrderID(db *DaoDB, orderStatus, waybillVendorID int, vendorOrderID string) (wayBillList []*model.Waybill, err error) {
|
||||||
|
sql := `
|
||||||
|
SELECT b.*
|
||||||
|
FROM goods_order a
|
||||||
|
LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id
|
||||||
|
WHERE a.vendor_order_id = ?
|
||||||
|
`
|
||||||
|
sqlParams := []interface{}{vendorOrderID}
|
||||||
|
if orderStatus > 0 {
|
||||||
|
sql += ` AND a.status = ?`
|
||||||
|
sqlParams = append(sqlParams, orderStatus)
|
||||||
|
}
|
||||||
|
if waybillVendorID > 0 {
|
||||||
|
sql += ` AND b.waybill_vendor_id = ?`
|
||||||
|
sqlParams = append(sqlParams, waybillVendorID)
|
||||||
|
}
|
||||||
|
err = GetRows(db, &wayBillList, sql, sqlParams...)
|
||||||
|
return wayBillList, err
|
||||||
|
}
|
||||||
|
|||||||
@@ -363,3 +363,8 @@ func limitOrderWeight(weight int) int {
|
|||||||
}
|
}
|
||||||
return weight
|
return weight
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *DeliveryHandler) ComplaintRider(bill *model.Waybill, resonID int, resonContent string) (err error) {
|
||||||
|
err = api.DadaAPI.ComplaintRider(bill.VendorOrderID, resonID)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|||||||
@@ -246,3 +246,8 @@ func limitOrderWeight(weight int) int {
|
|||||||
}
|
}
|
||||||
return weight
|
return weight
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *DeliveryHandler) ComplaintRider(bill *model.Waybill, resonID int, resonContent string) (err error) {
|
||||||
|
err = api.MtpsAPI.EvaluateRider(utils.Str2Int64(bill.VendorWaybillID2), bill.VendorWaybillID, 1, resonContent)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ type IDeliveryPlatformHandler interface {
|
|||||||
CreateWaybill(order *model.GoodsOrder, maxDeliveryFee int64) (bill *model.Waybill, err error)
|
CreateWaybill(order *model.GoodsOrder, maxDeliveryFee int64) (bill *model.Waybill, err error)
|
||||||
CancelWaybill(bill *model.Waybill, cancelReasonID int, cancelReason string) (err error)
|
CancelWaybill(bill *model.Waybill, cancelReasonID int, cancelReason string) (err error)
|
||||||
GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInfo *WaybillFeeInfo, err error)
|
GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInfo *WaybillFeeInfo, err error)
|
||||||
|
//投诉骑手
|
||||||
|
ComplaintRider(bill *model.Waybill, resonID int, resonContent string) (err error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type IDeliveryUpdateStoreHandler interface {
|
type IDeliveryUpdateStoreHandler interface {
|
||||||
|
|||||||
@@ -875,3 +875,32 @@ func (c *OrderController) RefreshOrdersWithoutJxStoreID() {
|
|||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Title 获取投诉原因
|
||||||
|
// @Description 获取投诉原因
|
||||||
|
// @Param token header string true "认证token"
|
||||||
|
// @Success 200 {object} controllers.CallResult
|
||||||
|
// @Failure 200 {object} controllers.CallResult
|
||||||
|
// @router /GetComplaintReasons [get]
|
||||||
|
func (c *OrderController) GetComplaintReasons() {
|
||||||
|
c.callGetComplaintReasons(func(params *tOrderGetComplaintReasonsParams) (retVal interface{}, errCode string, err error) {
|
||||||
|
retVal = orderman.GetComplaintReasons()
|
||||||
|
return retVal, "", err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// @Title 投诉骑手(三方运送)
|
||||||
|
// @Description 投诉骑手(三方运送)
|
||||||
|
// @Param token header string true "认证token"
|
||||||
|
// @Param orderID formData string true "订单号"
|
||||||
|
// @Param vendorID formData int true "平台厂商ID"
|
||||||
|
// @Param complaintID formData int true "投诉原因ID"
|
||||||
|
// @Success 200 {object} controllers.CallResult
|
||||||
|
// @Failure 200 {object} controllers.CallResult
|
||||||
|
// @router /ComplaintRider [post]
|
||||||
|
func (c *OrderController) ComplaintRider() {
|
||||||
|
c.callComplaintRider(func(params *tOrderComplaintRiderParams) (retVal interface{}, errCode string, err error) {
|
||||||
|
err = orderman.ComplaintRider(params.Ctx, params.OrderID,params.VendorID, params.ComplaintID)
|
||||||
|
return retVal, "", err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -783,6 +783,15 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: nil})
|
Params: nil})
|
||||||
|
|
||||||
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"],
|
||||||
|
beego.ControllerComments{
|
||||||
|
Method: "ComplaintRider",
|
||||||
|
Router: `/ComplaintRider`,
|
||||||
|
AllowHTTPMethods: []string{"post"},
|
||||||
|
MethodParams: param.Make(),
|
||||||
|
Filters: nil,
|
||||||
|
Params: nil})
|
||||||
|
|
||||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"],
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "ConfirmReceiveGoods",
|
Method: "ConfirmReceiveGoods",
|
||||||
@@ -864,6 +873,15 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: nil})
|
Params: nil})
|
||||||
|
|
||||||
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"],
|
||||||
|
beego.ControllerComments{
|
||||||
|
Method: "GetComplaintReasons",
|
||||||
|
Router: `/GetComplaintReasons`,
|
||||||
|
AllowHTTPMethods: []string{"get"},
|
||||||
|
MethodParams: param.Make(),
|
||||||
|
Filters: nil,
|
||||||
|
Params: nil})
|
||||||
|
|
||||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"],
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:OrderController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "GetOrderInfo",
|
Method: "GetOrderInfo",
|
||||||
|
|||||||
Reference in New Issue
Block a user