diff --git a/business/partner/printer/xpyun/xpyun.go b/business/partner/printer/xpyun/xpyun.go index b2bf825ea..5e2018cc9 100644 --- a/business/partner/printer/xpyun/xpyun.go +++ b/business/partner/printer/xpyun/xpyun.go @@ -130,7 +130,21 @@ func (c *PrinterHandler) PrintStore(ctx *jxcontext.Context, store *model.Store, } func (c *PrinterHandler) PrintCancelOrRefundOrder(ctx *jxcontext.Context, printType int, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder) (printerStatus *partner.PrinterStatus, err error) { - return nil, err + if len(order.Skus) == 0 { + return + } + content := "" + if store.PrinterFontSize == partner.PrinterFontSizeBig || store.PrinterFontSize == partner.PrinterFontSizeBig2 { + content = c.getCancelOrRefundOrderContent(order, printType, storeDetail) + } else { + content = c.getCancelOrRefundOrderContentBig(order, printType, storeDetail) + } + + if content == "" { + return nil, nil + } + + return c.PrintMsg(ctx, store.PrinterSN, store.PrinterKey, order.VendorOrderID, content) } func (c *PrinterHandler) EmptyPrintList(ctx *jxcontext.Context, sn, id2 string) (err error) { @@ -151,7 +165,7 @@ func (c *PrinterHandler) SetSound(ctx *jxcontext.Context, sn, id2, sound string) return err } -// 正常打印模板 +// 新订单正常尺寸打印模板 func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel string, storeDetail *dao.StoreDetail) (content string) { expectedDeliveryTime := order.ExpectedDeliveredTime if utils.IsTimeZero(expectedDeliveryTime) { @@ -220,7 +234,7 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin return fmt.Sprintf(orderFmt, orderParams...) } -//todo 待修改 +//新订单大尺寸打印模板 func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel string, storeDetail *dao.StoreDetail) (content string) { expectedDeliveryTime := order.ExpectedDeliveredTime if utils.IsTimeZero(expectedDeliveryTime) { @@ -287,3 +301,97 @@ func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel st orderParams = append(orderParams, order.SkuCount, order.GoodsCount, jxutils.IntPrice2StandardCurrencyString(order.ActualPayPrice), order.OrderSeq) return fmt.Sprintf(orderFmt, orderParams...) } + +//退货/取消订单 正常尺寸模板 +func (c *PrinterHandler) getCancelOrRefundOrderContent(order *model.GoodsOrder, printType int, storeDetail *dao.StoreDetail) (content string) { + expectedDeliveryTime := order.ExpectedDeliveredTime + if utils.IsTimeZero(expectedDeliveryTime) { + expectedDeliveryTime = order.OrderCreatedAt.Add(1 * time.Hour) + } + var orderParams []interface{} + orderFmt := `` + if storeDetail != nil { + if storeDetail.BrandIsPrint == model.NO { + orderFmt += `%s` + if order.VendorOrgCode == "34665" { + orderParams = append(orderParams, globals.StoreNameEbai2) + } else { + orderParams = append(orderParams, storeDetail.BrandName) + } + } + } + + // 加载用户取消订单售后单 + + title := `` + if printType == model.YES { // 取消订单 + title = `取消订单详情` + } else { // 售后订单 + title = `退款订单详情` + } + + orderFmt += + xpyunapi.StrRepeat("-", 32) + ` +下单时间: %s +订单编号: %s
+` + orderFmt += ` +%s#%d +` + title + xpyunapi.StrRepeat("-", 32) + orderParams = append(orderParams, + utils.Time2Str(order.OrderCreatedAt), + order.VendorOrderID, + jxutils.GetVendorName(order.VendorID), + order.OrderSeq, + ) + orderFmt += xpyunapi.StrRepeat("-", 32) + orderParams = append(orderParams, order.SkuCount, order.GoodsCount, jxutils.IntPrice2StandardCurrencyString(order.ActualPayPrice)) + return fmt.Sprintf(orderFmt, orderParams...) +} + +//退货/取消订单 大尺寸模板 +func (c *PrinterHandler) getCancelOrRefundOrderContentBig(order *model.GoodsOrder, printType int, storeDetail *dao.StoreDetail) (content string) { + expectedDeliveryTime := order.ExpectedDeliveredTime + if utils.IsTimeZero(expectedDeliveryTime) { + expectedDeliveryTime = order.OrderCreatedAt.Add(1 * time.Hour) + } + var orderParams []interface{} + orderFmt := `` + if storeDetail != nil { + if storeDetail.BrandIsPrint == model.NO { + orderFmt += `%s` + if order.VendorOrgCode == "34665" { + orderParams = append(orderParams, globals.StoreNameEbai2) + } else { + orderParams = append(orderParams, storeDetail.BrandName) + } + } + } + + // 加载用户取消订单售后单 + + title := `` + if printType == model.YES { // 取消订单 + title = `取消订单详情` + } else { // 售后订单 + title = `退款订单详情` + } + + orderFmt += + xpyunapi.StrRepeat("-", 32) + ` +下单时间: %s +订单编号: %s
+` + orderFmt += ` +%s#%d +` + title + xpyunapi.StrRepeat("-", 32) + orderParams = append(orderParams, + utils.Time2Str(order.OrderCreatedAt), + order.VendorOrderID, + jxutils.GetVendorName(order.VendorID), + order.OrderSeq, + ) + orderFmt += xpyunapi.StrRepeat("-", 32) + orderParams = append(orderParams, order.SkuCount, order.GoodsCount, jxutils.IntPrice2StandardCurrencyString(order.ActualPayPrice)) + return fmt.Sprintf(orderFmt, orderParams...) +}