- 飞鹅打印机支持
This commit is contained in:
@@ -3,6 +3,9 @@ package basesch
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/orderman"
|
||||
"git.rosy.net.cn/jx-callback/globals/api"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils"
|
||||
@@ -13,6 +16,11 @@ import (
|
||||
"git.rosy.net.cn/jx-callback/globals"
|
||||
)
|
||||
|
||||
const (
|
||||
PrintResultSuccess = 0
|
||||
PrintResultNoNetPrinter = 1
|
||||
)
|
||||
|
||||
func (c *BaseScheduler) CreateWaybillOnProviders(ctx *jxcontext.Context, order *model.GoodsOrder, policyHandler partner.CreateWaybillPolicy) (bills []*model.Waybill, err error) {
|
||||
userName := ctx.GetUserName()
|
||||
globals.SugarLogger.Infof("CreateWaybillOnProviders orderID:%s userName:%s", order.VendorOrderID, userName)
|
||||
@@ -52,7 +60,7 @@ func (c *BaseScheduler) SelfDeliveredAndUpdateStatus(ctx *jxcontext.Context, ven
|
||||
globals.SugarLogger.Infof("SelfDeliveredAndUpdateStatus orderID:%s userName:%s", vendorOrderID, userName)
|
||||
order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, vendorID)
|
||||
if err == nil {
|
||||
if GetStoreDeliveryType(order, nil) == scheduler.StoreDeliveryTypeByStore {
|
||||
if c.GetStoreDeliveryType(order, nil) == scheduler.StoreDeliveryTypeByStore {
|
||||
err = c.SelfDeliverDelivered(order, userName)
|
||||
} else {
|
||||
err = c.Swtich2SelfDelivered(order, userName)
|
||||
@@ -78,7 +86,7 @@ func (c *BaseScheduler) PickupGoodsAndUpdateStatus(ctx *jxcontext.Context, vendo
|
||||
globals.SugarLogger.Infof("PickupGoodsAndUpdateStatus orderID:%s userName:%s", vendorOrderID, userName)
|
||||
order, err := partner.CurOrderManager.LoadOrder(vendorOrderID, vendorID)
|
||||
if err == nil {
|
||||
err = c.PickupGoods(order, GetStoreDeliveryType(order, nil) == scheduler.StoreDeliveryTypeByStore, userName)
|
||||
err = c.PickupGoods(order, c.GetStoreDeliveryType(order, nil) == scheduler.StoreDeliveryTypeByStore, userName)
|
||||
if err == nil {
|
||||
order.Status = model.OrderStatusFinishedPickup
|
||||
if err = partner.CurOrderManager.UpdateOrderStatusAndFlag(order); err == nil {
|
||||
@@ -94,7 +102,7 @@ func (c *BaseScheduler) PickupGoodsAndUpdateStatus(ctx *jxcontext.Context, vendo
|
||||
return err
|
||||
}
|
||||
|
||||
func GetStoreDeliveryType(order *model.GoodsOrder, storeMap *model.StoreMap) (deliveryType int) {
|
||||
func (c *BaseScheduler) GetStoreDeliveryType(order *model.GoodsOrder, storeMap *model.StoreMap) (deliveryType int) {
|
||||
globals.SugarLogger.Debugf("GetStoreDeliveryType orderID:%s", order.VendorOrderID)
|
||||
jxStoreID := jxutils.GetSaleStoreIDFromOrder(order)
|
||||
if storeMap == nil {
|
||||
@@ -114,3 +122,32 @@ func GetStoreDeliveryType(order *model.GoodsOrder, storeMap *model.StoreMap) (de
|
||||
globals.SugarLogger.Debugf("GetStoreDeliveryType orderID:%s, deliveryType:%d", order.VendorOrderID, deliveryType)
|
||||
return deliveryType
|
||||
}
|
||||
|
||||
func (c *BaseScheduler) PrintOrder(ctx *jxcontext.Context, vendorOrderID string, vendorID int) (printResult int, err error) {
|
||||
order, err := orderman.FixedOrderManager.LoadOrder(vendorOrderID, vendorID)
|
||||
if err == nil {
|
||||
printResult, err = c.PrintOrderByOrder(ctx, order)
|
||||
}
|
||||
return printResult, err
|
||||
}
|
||||
|
||||
func (c *BaseScheduler) PrintOrderByOrder(ctx *jxcontext.Context, order *model.GoodsOrder) (printResult int, err error) {
|
||||
globals.SugarLogger.Debugf("PrintOrderByOrder orderID:%s", order.VendorOrderID)
|
||||
db := dao.GetDB()
|
||||
storeDetail, err2 := dao.GetStoreDetail(db, jxutils.GetSaleStoreIDFromOrder(order), order.VendorID)
|
||||
if err = err2; err == nil {
|
||||
if storeDetail.PrinterSN != "" {
|
||||
content := jxutils.GetFeieOrderContent(order, storeDetail.Tel1)
|
||||
if _, err = api.FeieAPI.PrintMsg(storeDetail.PrinterSN, content, 1); err == nil {
|
||||
printResult = PrintResultSuccess
|
||||
dao.SetOrderPrintFlag(db, order.VendorOrderID, order.VendorID, true)
|
||||
}
|
||||
} else {
|
||||
printResult = PrintResultNoNetPrinter
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
globals.SugarLogger.Infof("PrintOrderByOrder orderID:%s failed with error:%v", order.VendorOrderID, err)
|
||||
}
|
||||
return printResult, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user