chongtu
This commit is contained in:
@@ -1617,3 +1617,9 @@ func UpdateWaybillDesiredFee(ctx *jxcontext.Context, vendorOrderID string, desir
|
|||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func AcceptOrRefuseOrder(ctx *jxcontext.Context, vendorOrderID string, vendorID int, isAccept bool) (err error) {
|
||||||
|
order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, vendorID)
|
||||||
|
handler := partner.GetPurchaseOrderHandlerFromVendorID(vendorID)
|
||||||
|
return handler.AcceptOrRefuseOrder(order, isAccept, ctx.GetUserName())
|
||||||
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ type BaseScheduler struct {
|
|||||||
|
|
||||||
func (c *BaseScheduler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool, userName string) (err error) {
|
func (c *BaseScheduler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool, userName string) (err error) {
|
||||||
globals.SugarLogger.Infof("AcceptOrRefuseOrder orderID:%s, isAcceptIt:%t", order.VendorOrderID, isAcceptIt)
|
globals.SugarLogger.Infof("AcceptOrRefuseOrder orderID:%s, isAcceptIt:%t", order.VendorOrderID, isAcceptIt)
|
||||||
if /*order.LockStatus == model.OrderStatusUnknown && */ order.Status == model.OrderStatusNew {
|
if /*order.LockStatus == model.OrderStatusUnknown && */ order.Status == model.OrderStatusNew || order.Status == model.OrderStatusWaitAccepted {
|
||||||
if c.IsReallyCallPlatformAPI {
|
if c.IsReallyCallPlatformAPI {
|
||||||
err = utils.CallFuncLogErrorWithInfo(func() error {
|
err = utils.CallFuncLogErrorWithInfo(func() error {
|
||||||
return partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).AcceptOrRefuseOrder(order, isAcceptIt, userName)
|
return partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).AcceptOrRefuseOrder(order, isAcceptIt, userName)
|
||||||
|
|||||||
@@ -226,12 +226,11 @@ func init() {
|
|||||||
FixedScheduler = sch
|
FixedScheduler = sch
|
||||||
sch.IsReallyCallPlatformAPI = globals.ReallyCallPlatformAPI
|
sch.IsReallyCallPlatformAPI = globals.ReallyCallPlatformAPI
|
||||||
scheduler.CurrentScheduler = sch
|
scheduler.CurrentScheduler = sch
|
||||||
sch.defWorkflowConfig = []map[int]*StatusActionConfig{
|
statusAccept := func(time time.Duration) *StatusActionConfig {
|
||||||
map[int]*StatusActionConfig{
|
return &StatusActionConfig{ // 自动接单
|
||||||
model.OrderStatusNew: &StatusActionConfig{ // 自动接单
|
|
||||||
StatusActionParams: partner.StatusActionParams{
|
StatusActionParams: partner.StatusActionParams{
|
||||||
TimerType: partner.TimerTypeBaseStatusTime,
|
TimerType: partner.TimerTypeBaseStatusTime,
|
||||||
Timeout: 10 * time.Millisecond,
|
Timeout: time,
|
||||||
},
|
},
|
||||||
TimeoutAction: func(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) (err error) {
|
TimeoutAction: func(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) (err error) {
|
||||||
order := savedOrderInfo.order
|
order := savedOrderInfo.order
|
||||||
@@ -274,9 +273,14 @@ func init() {
|
|||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
ShouldSetTimer: func(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) bool {
|
ShouldSetTimer: func(savedOrderInfo *WatchOrderInfo, bill *model.Waybill) bool {
|
||||||
return savedOrderInfo.order.LockStatus == model.LockStatusUnlocked && savedOrderInfo.order.Status == model.OrderStatusNew
|
return savedOrderInfo.order.LockStatus == model.LockStatusUnlocked && (savedOrderInfo.order.Status == model.OrderStatusNew || savedOrderInfo.order.Status == model.OrderStatusWaitAccepted)
|
||||||
},
|
|
||||||
},
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sch.defWorkflowConfig = []map[int]*StatusActionConfig{
|
||||||
|
map[int]*StatusActionConfig{
|
||||||
|
model.OrderStatusWaitAccepted: statusAccept(4 * time.Minute), //饿百假的自动接单
|
||||||
|
model.OrderStatusNew: statusAccept(10 * time.Millisecond),
|
||||||
model.OrderStatusAccepted: &StatusActionConfig{ // 自动拣货
|
model.OrderStatusAccepted: &StatusActionConfig{ // 自动拣货
|
||||||
StatusActionParams: partner.StatusActionParams{
|
StatusActionParams: partner.StatusActionParams{
|
||||||
TimerType: partner.TimerTypeBaseStatusTime,
|
TimerType: partner.TimerTypeBaseStatusTime,
|
||||||
@@ -371,6 +375,9 @@ func (s *DefScheduler) OnOrderNew(order *model.GoodsOrder, isPending bool) (err
|
|||||||
globals.SugarLogger.Debugf("OnOrderNew orderID:%s", order.VendorOrderID)
|
globals.SugarLogger.Debugf("OnOrderNew orderID:%s", order.VendorOrderID)
|
||||||
savedOrderInfo := s.loadSavedOrderFromMap(model.Order2Status(order), false)
|
savedOrderInfo := s.loadSavedOrderFromMap(model.Order2Status(order), false)
|
||||||
savedOrderInfo.SetOrder(order)
|
savedOrderInfo.SetOrder(order)
|
||||||
|
if order.Status == model.OrderStatusWaitAccepted {
|
||||||
|
s.resetTimer(savedOrderInfo, nil, isPending)
|
||||||
|
}
|
||||||
if order.Status >= model.OrderStatusNew {
|
if order.Status >= model.OrderStatusNew {
|
||||||
s.resetTimer(savedOrderInfo, nil, isPending)
|
s.resetTimer(savedOrderInfo, nil, isPending)
|
||||||
if !isPending && order.Status >= model.OrderStatusAccepted { // 有订单消息错序,先收到接单消息,再收到新订单消息,导致接单TIMER不动作,这里补一下
|
if !isPending && order.Status >= model.OrderStatusAccepted { // 有订单消息错序,先收到接单消息,再收到新订单消息,导致接单TIMER不动作,这里补一下
|
||||||
|
|||||||
@@ -96,7 +96,6 @@ func SyncStoreCategories(ctx *jxcontext.Context, parentTask tasksch.ITask, vendo
|
|||||||
catInfo.Name = catInfo.StoreCatName
|
catInfo.Name = catInfo.StoreCatName
|
||||||
catInfo.Seq = catInfo.StoreCatSeq
|
catInfo.Seq = catInfo.StoreCatSeq
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if model.IsSyncStatusDelete(catInfo.CatSyncStatus) { // 删除
|
if model.IsSyncStatusDelete(catInfo.CatSyncStatus) { // 删除
|
||||||
if model.IsSyncStatusDelete(catInfo.CatSyncStatus) && !dao.IsVendorThingIDEmpty(catInfo.VendorCatID) {
|
if model.IsSyncStatusDelete(catInfo.CatSyncStatus) && !dao.IsVendorThingIDEmpty(catInfo.VendorCatID) {
|
||||||
|
|||||||
@@ -1585,7 +1585,7 @@ func UploadJdsImage(ctx *jxcontext.Context) (err error) {
|
|||||||
// fmt.Println("deleteList2", deleteList)
|
// fmt.Println("deleteList2", deleteList)
|
||||||
var skuNames []model.SkuName
|
var skuNames []model.SkuName
|
||||||
sql := `
|
sql := `
|
||||||
SELECT * FROM sku_name WHERE img = 'https://image.jxc4.com/noGoodsImg.jpg'
|
SELECT * FROM sku_name WHERE img = 'https://image.jxc4.com/noGoodsImg.jpg' AND deleted_at = '1970-01-01 00:00:00'
|
||||||
`
|
`
|
||||||
dao.GetRows(dao.GetDB(), &skuNames, sql, nil)
|
dao.GetRows(dao.GetDB(), &skuNames, sql, nil)
|
||||||
for _, v := range skuNames {
|
for _, v := range skuNames {
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ var (
|
|||||||
|
|
||||||
OrderStatusWait4Pay: "待付款",
|
OrderStatusWait4Pay: "待付款",
|
||||||
OrderStatusNew: "新订单",
|
OrderStatusNew: "新订单",
|
||||||
|
OrderStatusWaitAccepted: "待接单",
|
||||||
OrderStatusAccepted: "待拣货",
|
OrderStatusAccepted: "待拣货",
|
||||||
OrderStatusFinishedPickup: "待配送",
|
OrderStatusFinishedPickup: "待配送",
|
||||||
OrderStatusApplyFailedGetGoods: "取货失败待审核",
|
OrderStatusApplyFailedGetGoods: "取货失败待审核",
|
||||||
@@ -247,6 +248,7 @@ const (
|
|||||||
|
|
||||||
OrderStatusUnknown = 0
|
OrderStatusUnknown = 0
|
||||||
OrderStatusWait4Pay = 2 // 原值-60 下单待支付
|
OrderStatusWait4Pay = 2 // 原值-60 下单待支付
|
||||||
|
OrderStatusWaitAccepted = 3 // 待接单,目前饿百用
|
||||||
OrderStatusNew = 5 // 新订单,实际是已经支付
|
OrderStatusNew = 5 // 新订单,实际是已经支付
|
||||||
OrderStatusAccepted = 10 // 已经接单,也即待出库,待拣货
|
OrderStatusAccepted = 10 // 已经接单,也即待出库,待拣货
|
||||||
OrderStatusFinishedPickup = 15 // 拣货完成
|
OrderStatusFinishedPickup = 15 // 拣货完成
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ type SkuStoreCatInfo struct {
|
|||||||
StoreCatID int `orm:"column(store_category_id)"`
|
StoreCatID int `orm:"column(store_category_id)"`
|
||||||
StoreCatName string
|
StoreCatName string
|
||||||
StoreCatSeq int
|
StoreCatSeq int
|
||||||
|
StoreParentCatName string
|
||||||
IsSysCat int
|
IsSysCat int
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -368,7 +369,8 @@ func GetStoreCategories(db *DaoDB, vendorID, storeID int, skuIDs []int, level in
|
|||||||
sql := `
|
sql := `
|
||||||
SELECT t4.*, ts.store_category_name store_cat_name, ts.store_category_seq store_cat_seq, ts.id store_category_id,
|
SELECT t4.*, ts.store_category_name store_cat_name, ts.store_category_seq store_cat_seq, ts.id store_category_id,
|
||||||
t5.id map_id, t5.%s_id vendor_cat_id, t5.%s_sync_status cat_sync_status,
|
t5.id map_id, t5.%s_id vendor_cat_id, t5.%s_sync_status cat_sync_status,
|
||||||
tsp.store_category_name parent_cat_name,
|
t4p.name parent_cat_name,
|
||||||
|
tsp.store_category_name store_parent_cat_name,
|
||||||
t5p.id parent_map_id, t5p.%s_id parent_vendor_cat_id, t5p.%s_sync_status parent_cat_sync_status,
|
t5p.id parent_map_id, t5p.%s_id parent_vendor_cat_id, t5p.%s_sync_status parent_cat_sync_status,
|
||||||
t1.is_sys_cat
|
t1.is_sys_cat
|
||||||
FROM store_sku_category_map t5
|
FROM store_sku_category_map t5
|
||||||
|
|||||||
@@ -38,8 +38,8 @@ const (
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
VendorStatus2StatusMap = map[string]int{
|
VendorStatus2StatusMap = map[string]int{
|
||||||
ebaiapi.CmdOrderCreate: model.OrderStatusNew,
|
ebaiapi.CmdOrderCreate: model.OrderStatusWaitAccepted,
|
||||||
ebaiapi.OrderStatusNew: model.OrderStatusNew,
|
ebaiapi.OrderStatusNew: model.OrderStatusWaitAccepted,
|
||||||
fakeAcceptOrder: model.OrderStatusAccepted,
|
fakeAcceptOrder: model.OrderStatusAccepted,
|
||||||
ebaiapi.OrderStatusAccepted: model.OrderStatusFinishedPickup,
|
ebaiapi.OrderStatusAccepted: model.OrderStatusFinishedPickup,
|
||||||
ebaiapi.OrderStatusCourierAccepted: model.OrderStatusDelivering,
|
ebaiapi.OrderStatusCourierAccepted: model.OrderStatusDelivering,
|
||||||
|
|||||||
@@ -1134,3 +1134,19 @@ func (c *OrderController) UpdateWaybillDesiredFee() {
|
|||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Title 接单或拒单
|
||||||
|
// @Description 接单或拒单
|
||||||
|
// @Param token header string true "认证token"
|
||||||
|
// @Param vendorOrderID formData string true "订单ID"
|
||||||
|
// @Param vendorID formData int true "订单平台ID"
|
||||||
|
// @Param isAccept formData bool true "接单或者拒单"
|
||||||
|
// @Success 200 {object} controllers.CallResult
|
||||||
|
// @Failure 200 {object} controllers.CallResult
|
||||||
|
// @router /AcceptOrRefuseOrder [post]
|
||||||
|
func (c *OrderController) AcceptOrRefuseOrder() {
|
||||||
|
c.callAcceptOrRefuseOrder(func(params *tOrderAcceptOrRefuseOrderParams) (retVal interface{}, errCode string, err error) {
|
||||||
|
err = orderman.AcceptOrRefuseOrder(params.Ctx, params.VendorOrderID, params.VendorID, params.IsAccept)
|
||||||
|
return retVal, "", err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -882,6 +882,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: "AcceptOrRefuseOrder",
|
||||||
|
Router: `/AcceptOrRefuseOrder`,
|
||||||
|
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: "AddUpdateOrdersSupplement",
|
Method: "AddUpdateOrdersSupplement",
|
||||||
|
|||||||
Reference in New Issue
Block a user