添加京西云打印机
This commit is contained in:
@@ -433,8 +433,7 @@ func (s *DefScheduler) OnOrderStatusChanged(order *model.GoodsOrder, status *mod
|
|||||||
statusChanged := savedOrderInfo.order == nil || savedOrderInfo.order.Status != order.Status
|
statusChanged := savedOrderInfo.order == nil || savedOrderInfo.order.Status != order.Status
|
||||||
savedOrderInfo.SetOrder(order)
|
savedOrderInfo.SetOrder(order)
|
||||||
|
|
||||||
if (model.IsOrderUnlockStatus(status.Status)) ||
|
if (model.IsOrderUnlockStatus(status.Status)) || (order.LockStatus == model.OrderStatusUnknown && (status.Status > model.OrderStatusUnknown || status.Status == model.OrderStatusRefuseFailedGetGoods)) { // 只处理状态转换,一般消息不处理
|
||||||
(order.LockStatus == model.OrderStatusUnknown && (status.Status > model.OrderStatusUnknown || status.Status == model.OrderStatusRefuseFailedGetGoods)) { // 只处理状态转换,一般消息不处理
|
|
||||||
if status.Status == model.OrderStatusRefuseFailedGetGoods && order.Status != model.OrderStatusFinishedPickup && !model.IsOrderFinalStatus(order.Status) {
|
if status.Status == model.OrderStatusRefuseFailedGetGoods && order.Status != model.OrderStatusFinishedPickup && !model.IsOrderFinalStatus(order.Status) {
|
||||||
order.Status = model.OrderStatusFinishedPickup
|
order.Status = model.OrderStatusFinishedPickup
|
||||||
partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order)
|
partner.CurOrderManager.UpdateOrderStatusAndDeliveryFlag(order)
|
||||||
@@ -500,6 +499,7 @@ func (s *DefScheduler) OnOrderStatusChanged(order *model.GoodsOrder, status *mod
|
|||||||
}
|
}
|
||||||
msghub.OnKeyOrderStatusChanged(savedOrderInfo.order)
|
msghub.OnKeyOrderStatusChanged(savedOrderInfo.order)
|
||||||
}
|
}
|
||||||
|
netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order, model.PrintTypeOrder)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
@@ -512,6 +512,9 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
|||||||
savedOrderInfo := s.loadSavedOrderFromMap(model.Waybill2Status(bill), true)
|
savedOrderInfo := s.loadSavedOrderFromMap(model.Waybill2Status(bill), true)
|
||||||
order := savedOrderInfo.order
|
order := savedOrderInfo.order
|
||||||
|
|
||||||
|
// 打印通知
|
||||||
|
netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order, model.PrintTypeOrder)
|
||||||
|
|
||||||
// 获取订单配送平台,如果是美团则需要获取门店配置的配送方式
|
// 获取订单配送平台,如果是美团则需要获取门店配置的配送方式
|
||||||
//isBlendWay := false
|
//isBlendWay := false
|
||||||
//if bill.OrderVendorID == model.VendorIDMTWM {
|
//if bill.OrderVendorID == model.VendorIDMTWM {
|
||||||
|
|||||||
@@ -113,8 +113,9 @@ func (s *StoreManager) OnStoreStatusChanged(vendorStoreID string, vendorID int,
|
|||||||
dao.Commit(db, txDB)
|
dao.Commit(db, txDB)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 打印门第离线消息
|
||||||
if storeStatus < model.StoreStatusOpened && storeDetail.PrinterVendorID == model.VendorIDJxprint {
|
if storeStatus < model.StoreStatusOpened && storeDetail.PrinterVendorID == model.VendorIDJxprint {
|
||||||
netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order, model.PrintTypeStore)
|
netprinter.PrintStoreStatus(jxcontext.AdminCtx, storeDetail, vendorID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -101,6 +101,30 @@ func PrintOrderByOrder4Store(ctx *jxcontext.Context, order *model.GoodsOrder, st
|
|||||||
return printResult, err
|
return printResult, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PrintStoreStatus 打印门店信息
|
||||||
|
func PrintStoreStatus(ctx *jxcontext.Context, storeDetail *dao.StoreDetail, vendorId int) (printResult *partner.PrinterStatus, err error) {
|
||||||
|
db := dao.GetDB()
|
||||||
|
store, err := getStore4Print(db, storeDetail.ID)
|
||||||
|
if err != nil {
|
||||||
|
return &partner.PrinterStatus{
|
||||||
|
PrintResult: partner.PrintResultNoPrinter,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
handler, err := GetHandlerFromStore(store)
|
||||||
|
if err != nil {
|
||||||
|
return &partner.PrinterStatus{
|
||||||
|
PrintResult: partner.PrintResultNoPrinter,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
printResult, err = handler.PrintStore(ctx, store, storeDetail, vendorId)
|
||||||
|
if err == nil {
|
||||||
|
dao.SetOrderPrintFlag(db, ctx.GetUserName(), "store print", vendorId, true)
|
||||||
|
}
|
||||||
|
return printResult, err
|
||||||
|
}
|
||||||
|
|
||||||
// PrintRefundOrCancelOrder 打印退单或取消订单信息
|
// PrintRefundOrCancelOrder 打印退单或取消订单信息
|
||||||
func PrintRefundOrCancelOrder(ctx *jxcontext.Context, printType int, order *model.GoodsOrder, storeID int) (printResult *partner.PrinterStatus, err error) {
|
func PrintRefundOrCancelOrder(ctx *jxcontext.Context, printType int, order *model.GoodsOrder, storeID int) (printResult *partner.PrinterStatus, err error) {
|
||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ type IPrinterHandler interface {
|
|||||||
RebindPrinter(ctx *jxcontext.Context, lastBindResult *BindPrinterResult) (bindResult *BindPrinterResult, err error)
|
RebindPrinter(ctx *jxcontext.Context, lastBindResult *BindPrinterResult) (bindResult *BindPrinterResult, err error)
|
||||||
|
|
||||||
PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string) (printerStatus *PrinterStatus, err error)
|
PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string) (printerStatus *PrinterStatus, err error)
|
||||||
PrintStore(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, printType string) (printerStatus *PrinterStatus, err error)
|
PrintStore(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, vendorId int) (printerStatus *PrinterStatus, err error)
|
||||||
PrintCancelOrRefundOrder(ctx *jxcontext.Context, printType int, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder) (printerStatus *PrinterStatus, err error)
|
PrintCancelOrRefundOrder(ctx *jxcontext.Context, printType int, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder) (printerStatus *PrinterStatus, err error)
|
||||||
|
|
||||||
EmptyPrintList(ctx *jxcontext.Context, id1, id2 string) (err error)
|
EmptyPrintList(ctx *jxcontext.Context, id1, id2 string) (err error)
|
||||||
|
|||||||
@@ -265,7 +265,7 @@ func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store,
|
|||||||
return c.PrintMsg(ctx, store.PrinterSN, store.PrinterKey, order.VendorOrderID, content)
|
return c.PrintMsg(ctx, store.PrinterSN, store.PrinterKey, order.VendorOrderID, content)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *PrinterHandler) PrintStore(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, printType string) (printerStatus *partner.PrinterStatus, err error) {
|
func (c *PrinterHandler) PrintStore(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, vendorId int) (printerStatus *partner.PrinterStatus, err error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -236,6 +236,9 @@ func (c *PrinterHandler) getOrderContentByTemplate(order *model.GoodsOrder, stor
|
|||||||
|
|
||||||
func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string) (printerStatus *partner.PrinterStatus, err error) {
|
func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string) (printerStatus *partner.PrinterStatus, err error) {
|
||||||
globals.SugarLogger.Debugf("jxprint PrintOrderByOrder orderID:%s, storeID:%d", order.VendorOrderID, store.ID)
|
globals.SugarLogger.Debugf("jxprint PrintOrderByOrder orderID:%s, storeID:%d", order.VendorOrderID, store.ID)
|
||||||
|
if storeDetail.PrinterVendorID != model.VendorIDJxprint {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
if len(order.Skus) == 0 {
|
if len(order.Skus) == 0 {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -268,13 +271,18 @@ func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store,
|
|||||||
return c.PrintMsg(ctx, store.PrinterSN, order.VendorOrderID, "", string(orderPrint))
|
return c.PrintMsg(ctx, store.PrinterSN, order.VendorOrderID, "", string(orderPrint))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *PrinterHandler) PrintStore(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, printType string) (printerStatus *partner.PrinterStatus, err error) {
|
// PrintStore 打印门店
|
||||||
|
func (c *PrinterHandler) PrintStore(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, vendorCode int) (printerStatus *partner.PrinterStatus, err error) {
|
||||||
data := make(map[string]interface{}, 0)
|
data := make(map[string]interface{}, 0)
|
||||||
data[StoreStatus] = utils.Int2Str(store.Status) // 门店状态
|
data[StoreStatus] = utils.Int2Str(store.Status)
|
||||||
data[StoreStatus] = utils.Int2Str(store.Status) // 门店状态
|
data[StoreName] = storeDetail.VendorStoreName
|
||||||
data[StoreStatus] = utils.Int2Str(store.Status) // 门店状态
|
data[VendorName] = model.VendorChineseNames[vendorCode]
|
||||||
|
orderPrint, err := json.Marshal(data)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
return nil, err
|
return c.PrintMsg(ctx, store.PrinterSN, "", "", string(orderPrint))
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *PrinterHandler) PrintCancelOrRefundOrder(ctx *jxcontext.Context, printType int, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder) (printerStatus *partner.PrinterStatus, err error) {
|
func (c *PrinterHandler) PrintCancelOrRefundOrder(ctx *jxcontext.Context, printType int, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder) (printerStatus *partner.PrinterStatus, err error) {
|
||||||
|
|||||||
@@ -307,7 +307,7 @@ func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store,
|
|||||||
return c.PrintMsg(ctx, store.PrinterSN, store.PrinterKey, order.VendorOrderID, content)
|
return c.PrintMsg(ctx, store.PrinterSN, store.PrinterKey, order.VendorOrderID, content)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *PrinterHandler) PrintStore(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, printType string) (printerStatus *partner.PrinterStatus, err error) {
|
func (c *PrinterHandler) PrintStore(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, vendorId int) (printerStatus *partner.PrinterStatus, err error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -419,7 +419,7 @@ func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *PrinterHandler) PrintStore(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, printType string) (printerStatus *partner.PrinterStatus, err error) {
|
func (c *PrinterHandler) PrintStore(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, vendorId int) (printerStatus *partner.PrinterStatus, err error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store,
|
|||||||
return c.PrintMsg(ctx, store.PrinterSN, store.PrinterKey, order.VendorOrderID, content)
|
return c.PrintMsg(ctx, store.PrinterSN, store.PrinterKey, order.VendorOrderID, content)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *PrinterHandler) PrintStore(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, printType string) (printerStatus *partner.PrinterStatus, err error) {
|
func (c *PrinterHandler) PrintStore(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, vendorId int) (printerStatus *partner.PrinterStatus, err error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -329,18 +329,18 @@ func (p *PurchaseHandler) GetStoreStatus(ctx *jxcontext.Context, vendorOrgCode s
|
|||||||
// 当前京东的storeCrud消息不会在门店状态改变时发送,所以意义不大,先放在这里
|
// 当前京东的storeCrud消息不会在门店状态改变时发送,所以意义不大,先放在这里
|
||||||
func (c *PurchaseHandler) OnStoreMsg(vendorOrgCode string, msg *jdapi.CallbackOrderMsg) (response *jdapi.CallbackResponse) {
|
func (c *PurchaseHandler) OnStoreMsg(vendorOrgCode string, msg *jdapi.CallbackOrderMsg) (response *jdapi.CallbackResponse) {
|
||||||
var err error
|
var err error
|
||||||
// if msg.StatusID == jdapi.StatusIDUpdateStore {
|
if msg.StatusID == jdapi.StatusIDUpdateStore {
|
||||||
// var storeStatus int
|
var storeStatus int
|
||||||
// vendorStoreID := msg.BillID
|
vendorStoreID := msg.BillID
|
||||||
// if storeStatus, err = c.GetStoreStatus(jxcontext.AdminCtx, vendorStoreID); err == nil {
|
if storeStatus, err = c.GetStoreStatus(jxcontext.AdminCtx, vendorOrgCode, 0, vendorStoreID); err == nil {
|
||||||
// err = partner.CurStoreManager.OnStoreStatusChanged(vendorStoreID, model.VendorIDJD, storeStatus)
|
err = partner.CurStoreManager.OnStoreStatusChanged(vendorStoreID, model.VendorIDJD, storeStatus)
|
||||||
// } else {
|
} else {
|
||||||
// // 可能在门店删除的情况下会出查不到门店的错误
|
// 可能在门店删除的情况下会出查不到门店的错误
|
||||||
// if errExt, ok := err.(*utils.ErrorWithCode); ok && errExt.IntCode() == 4 {
|
if errExt, ok := err.(*utils.ErrorWithCode); ok && errExt.IntCode() == 4 {
|
||||||
// err = nil
|
err = nil
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
return jdapi.Err2CallbackResponse(err, "")
|
return jdapi.Err2CallbackResponse(err, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -560,12 +560,10 @@ func OnPayFinished(orderPay *model.OrderPay) (err error) {
|
|||||||
err = callNewOrder(order)
|
err = callNewOrder(order)
|
||||||
//如果是物料的订单,直接到拣货完成,配送中的状态
|
//如果是物料的订单,直接到拣货完成,配送中的状态
|
||||||
if order.OrderType != model.OrderTypeNormal {
|
if order.OrderType != model.OrderTypeNormal {
|
||||||
// if order.FromStoreID != 0 {
|
|
||||||
if order.OrderType != model.OrderTypeDefendPrice {
|
if order.OrderType != model.OrderTypeDefendPrice {
|
||||||
netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order, model.PrintTypeOrder)
|
netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order, model.PrintTypeOrder)
|
||||||
}
|
}
|
||||||
PickupGoods(order, false, "jxadmin")
|
PickupGoods(order, false, "jxadmin")
|
||||||
// }
|
|
||||||
} else {
|
} else {
|
||||||
//普通的订单要看用没用优惠券,用了的话,要把这个用户用过的优惠券状态改了
|
//普通的订单要看用没用优惠券,用了的话,要把这个用户用过的优惠券状态改了
|
||||||
if order.CouponIDs != "" {
|
if order.CouponIDs != "" {
|
||||||
|
|||||||
@@ -274,7 +274,7 @@ func (c *StoreSkuController) SyncStoresSkus() {
|
|||||||
// @Param isAsync formData bool false "是否异步操作"
|
// @Param isAsync formData bool false "是否异步操作"
|
||||||
// @Success 200 {object} controllers.CallResult
|
// @Success 200 {object} controllers.CallResult
|
||||||
// @Failure 200 {object} controllers.CallResult
|
// @Failure 200 {object} controllers.CallResult
|
||||||
// @router /UpdateStoresSkus [put]
|
// @router /UpdateStoresSkus [put]
|
||||||
func (c *StoreSkuController) UpdateStoresSkus() {
|
func (c *StoreSkuController) UpdateStoresSkus() {
|
||||||
c.callUpdateStoresSkus(func(params *tStoreSkuUpdateStoresSkusParams) (retVal interface{}, errCode string, err error) {
|
c.callUpdateStoresSkus(func(params *tStoreSkuUpdateStoresSkusParams) (retVal interface{}, errCode string, err error) {
|
||||||
var storeIDs []int
|
var storeIDs []int
|
||||||
|
|||||||
Reference in New Issue
Block a user