售后单
This commit is contained in:
@@ -1500,8 +1500,8 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int)
|
|||||||
if order.Status >= model.OrderStatusDelivering && order.Status != model.OrderStatusCanceled {
|
if order.Status >= model.OrderStatusDelivering && order.Status != model.OrderStatusCanceled {
|
||||||
return "", fmt.Errorf("暂不支持此状态的订单进行转移!")
|
return "", fmt.Errorf("暂不支持此状态的订单进行转移!")
|
||||||
}
|
}
|
||||||
if order.VendorID != model.VendorIDJDShop {
|
if order.VendorID != model.VendorIDJDShop || order.VendorID != model.VendorIDJX {
|
||||||
return "", fmt.Errorf("暂不支持非京狗的订单进行转移!")
|
return "", fmt.Errorf("暂不支持该平台的订单进行转移!")
|
||||||
}
|
}
|
||||||
skus, err := dao.GetSimpleOrderSkus(db, vendorOrderID, nil)
|
skus, err := dao.GetSimpleOrderSkus(db, vendorOrderID, nil)
|
||||||
if err != nil || order == nil {
|
if err != nil || order == nil {
|
||||||
@@ -1519,10 +1519,8 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if waybill != nil {
|
if waybill != nil {
|
||||||
if waybill.WaybillVendorID != model.VendorIDJDWL {
|
if handler := partner.GetDeliveryPlatformFromVendorID(waybill.WaybillVendorID); handler != nil {
|
||||||
if handler := partner.GetDeliveryPlatformFromVendorID(waybill.WaybillVendorID); handler != nil {
|
err = handler.Handler.CancelWaybill(waybill, 0, "订单转移被取消")
|
||||||
err = handler.Handler.CancelWaybill(waybill, 0, "订单转移被取消")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1533,12 +1531,12 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int)
|
|||||||
//重新构建order的数据
|
//重新构建order的数据
|
||||||
storeMaps, err := dao.GetStoresMapList(db, []int{order.VendorID}, []int{storeID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "")
|
storeMaps, err := dao.GetStoresMapList(db, []int{order.VendorID}, []int{storeID}, nil, model.StoreStatusAll, model.StoreIsSyncAll, "", "")
|
||||||
if err != nil || len(storeMaps) == 0 {
|
if err != nil || len(storeMaps) == 0 {
|
||||||
return "", fmt.Errorf("该门店未绑定京狗平台,请先绑定后再转移!门店:[%v]", storeID)
|
return "", fmt.Errorf("该门店未绑定平台,请先绑定后再转移!门店:[%v]", storeID)
|
||||||
}
|
}
|
||||||
stores, err := dao.GetStoreList(db, []int{storeID}, nil, nil, nil, "")
|
stores, err := dao.GetStoreList(db, []int{storeID}, nil, nil, nil, "")
|
||||||
if len(storeMaps) > 0 && len(stores) > 0 {
|
if len(storeMaps) > 0 && len(stores) > 0 {
|
||||||
if storeMaps[0].VendorStoreID == "" {
|
if storeMaps[0].VendorStoreID == "" {
|
||||||
return "", fmt.Errorf("该门店未绑定京狗平台,或绑定有误,请联系技术部!门店:[%v]", storeID)
|
return "", fmt.Errorf("该门店未绑定平台,或绑定有误,请联系技术部!门店:[%v]", storeID)
|
||||||
}
|
}
|
||||||
order.StoreID = storeID
|
order.StoreID = storeID
|
||||||
order.StoreName = stores[0].Name
|
order.StoreName = stores[0].Name
|
||||||
@@ -1558,6 +1556,9 @@ func TransferJdsOrder(ctx *jxcontext.Context, vendorOrderID string, storeID int)
|
|||||||
if store.OpenTime1 == 0 || store.CloseTime1 == 0 {
|
if store.OpenTime1 == 0 || store.CloseTime1 == 0 {
|
||||||
return "", fmt.Errorf("该门店没有营业时间,不能接单!门店:[%v]", storeID)
|
return "", fmt.Errorf("该门店没有营业时间,不能接单!门店:[%v]", storeID)
|
||||||
}
|
}
|
||||||
|
if opentime2.Sub(opentime1) <= time.Hour {
|
||||||
|
return "", fmt.Errorf("该门店营业时间间隔过小,请确认!门店:[%v]", storeID)
|
||||||
|
}
|
||||||
if !(orderCreatedAt.Sub(opentime1) >= 0 && orderCreatedAt.Sub(closetime1) <= 0) {
|
if !(orderCreatedAt.Sub(opentime1) >= 0 && orderCreatedAt.Sub(closetime1) <= 0) {
|
||||||
if store.OpenTime2 != 0 && store.CloseTime2 != 0 {
|
if store.OpenTime2 != 0 && store.CloseTime2 != 0 {
|
||||||
if !(orderCreatedAt.Sub(opentime2) >= 0 && orderCreatedAt.Sub(closetime2) <= 0) {
|
if !(orderCreatedAt.Sub(opentime2) >= 0 && orderCreatedAt.Sub(closetime2) <= 0) {
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package defsch
|
|||||||
import (
|
import (
|
||||||
"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/jxutils/jxcontext"
|
||||||
|
push "git.rosy.net.cn/jx-callback/business/jxutils/unipush"
|
||||||
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/msghub"
|
"git.rosy.net.cn/jx-callback/business/msghub"
|
||||||
@@ -31,6 +32,7 @@ func (s *DefScheduler) OnAfsOrderNew(order *model.AfsOrder, isPending bool) (err
|
|||||||
}
|
}
|
||||||
msghub.OnNewWait4ApproveAfsOrder(order)
|
msghub.OnNewWait4ApproveAfsOrder(order)
|
||||||
weixinmsg.NotifyAfsOrderStatus(order)
|
weixinmsg.NotifyAfsOrderStatus(order)
|
||||||
|
push.NotifyAfsOrder(order)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -13,24 +13,19 @@ import (
|
|||||||
"github.com/astaxie/beego"
|
"github.com/astaxie/beego"
|
||||||
)
|
)
|
||||||
|
|
||||||
func NotifyNewOrder(order *model.GoodsOrder) {
|
func pushToSingle(content, title string, storeID int) {
|
||||||
var (
|
var (
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
)
|
)
|
||||||
globals.SugarLogger.Debugf("NotifyNewOrder push begin orderID :[%v]", order.VendorOrderID)
|
storePushs, err := dao.GetStorePushClient(db, storeID, "")
|
||||||
storePushs, err := dao.GetStorePushClient(db, jxutils.GetSaleStoreIDFromOrder(order), "")
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
for _, v := range storePushs {
|
for _, v := range storePushs {
|
||||||
sb := new(strings.Builder)
|
|
||||||
sb.WriteString("老板,")
|
|
||||||
sb.WriteString(order.ConsigneeName)
|
|
||||||
sb.WriteString("购买了商品")
|
|
||||||
sb.WriteString(getOrderDetailBrief(order))
|
|
||||||
status, err2 := api.PushAPI.PushToSingle(v.ClientID, false, &unipushapi.Notification{
|
status, err2 := api.PushAPI.PushToSingle(v.ClientID, false, &unipushapi.Notification{
|
||||||
Title: "京西菜市新订单推送",
|
Title: title,
|
||||||
Body: sb.String(),
|
Body: content,
|
||||||
})
|
})
|
||||||
if err = err2; err != nil {
|
if err = err2; err != nil {
|
||||||
globals.SugarLogger.Debugf("NotifyNewOrder push error: [%v]", err)
|
globals.SugarLogger.Debugf("NotifyNewOrder push error: [%v]", err)
|
||||||
@@ -38,7 +33,7 @@ func NotifyNewOrder(order *model.GoodsOrder) {
|
|||||||
}
|
}
|
||||||
if status == unipushapi.SuccessOffLine {
|
if status == unipushapi.SuccessOffLine {
|
||||||
_, err = api.PushAPI.PushToSingle(v.ClientID, true, &unipushapi.Notification{
|
_, err = api.PushAPI.PushToSingle(v.ClientID, true, &unipushapi.Notification{
|
||||||
Body: sb.String(),
|
Body: content,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
globals.SugarLogger.Debugf("NotifyNewOrder push2 error: [%v]", err)
|
globals.SugarLogger.Debugf("NotifyNewOrder push2 error: [%v]", err)
|
||||||
@@ -49,6 +44,16 @@ func NotifyNewOrder(order *model.GoodsOrder) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NotifyNewOrder(order *model.GoodsOrder) {
|
||||||
|
globals.SugarLogger.Debugf("NotifyNewOrder push begin orderID :[%v]", order.VendorOrderID)
|
||||||
|
sb := new(strings.Builder)
|
||||||
|
sb.WriteString("老板,")
|
||||||
|
sb.WriteString(order.ConsigneeName)
|
||||||
|
sb.WriteString("购买了商品")
|
||||||
|
sb.WriteString(getOrderDetailBrief(order))
|
||||||
|
pushToSingle(sb.String(), "京西菜市新订单推送", jxutils.GetSaleStoreIDFromOrder(order))
|
||||||
|
}
|
||||||
|
|
||||||
func getOrderDetailBrief(order *model.GoodsOrder) (brief string) {
|
func getOrderDetailBrief(order *model.GoodsOrder) (brief string) {
|
||||||
sb := new(strings.Builder)
|
sb := new(strings.Builder)
|
||||||
sb.WriteString(order.Skus[0].SkuName)
|
sb.WriteString(order.Skus[0].SkuName)
|
||||||
@@ -72,3 +77,9 @@ func getOrderDetailBrief(order *model.GoodsOrder) (brief string) {
|
|||||||
sb.WriteString("元")
|
sb.WriteString("元")
|
||||||
return sb.String()
|
return sb.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NotifyAfsOrder(afsOrder *model.AfsOrder) (err error) {
|
||||||
|
globals.SugarLogger.Debugf("NotifyAfsOrder push begin orderID :[%v]", afsOrder.VendorOrderID)
|
||||||
|
pushToSingle("老板,您有新的售后单,请尽快处理!", "京西菜市售后单推送", jxutils.GetSaleStoreIDFromAfsOrder(afsOrder))
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user