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