diff --git a/business/partner/partner_printer.go b/business/partner/partner_printer.go index a49484df8..977ebf54a 100644 --- a/business/partner/partner_printer.go +++ b/business/partner/partner_printer.go @@ -26,6 +26,8 @@ const ( PrinterFontSizeBig = int8(1) //两倍大小一份,大一 PrinterFontSizeNormal2 = int8(2) //正常字体两份 PrinterFontSizeBig2 = int8(3) //大字体两份,大二 + PrinterFontSizeMiddle = int8(4) //中字体1份 + PrinterFontSizeMiddle2 = int8(5) //中字体2份 ) var ( diff --git a/business/partner/printer/feie/feie.go b/business/partner/printer/feie/feie.go index 20f5bd1ec..92f38c9ba 100644 --- a/business/partner/printer/feie/feie.go +++ b/business/partner/printer/feie/feie.go @@ -245,8 +245,8 @@ func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel st return fmt.Sprintf(strings.Replace(orderFmt, "\n", "", -1), orderParams...) } -// getOrderContentBig805334 天星桥专属 -func (c *PrinterHandler) getOrderContentBig805334(order *model.GoodsOrder, storeTel string, storeDetail *dao.StoreDetail) (content string) { +// getOrderContentBigMiddle 中号 +func (c *PrinterHandler) getOrderContentBigMiddle(order *model.GoodsOrder, storeTel string, storeDetail *dao.StoreDetail) (content string) { expectedDeliveryTime := order.ExpectedDeliveredTime if utils.IsTimeZero(expectedDeliveryTime) { expectedDeliveryTime = order.OrderCreatedAt.Add(1 * time.Hour) @@ -494,11 +494,9 @@ func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, } content := "" if store.PrinterFontSize == partner.PrinterFontSizeBig || store.PrinterFontSize == partner.PrinterFontSizeBig2 { - if store.ID == 805334 { - content = c.getOrderContentBig805334(order, store.Tel1, storeDetail) - } else { - content = c.getOrderContentBig(order, store.Tel1, storeDetail) - } + content = c.getOrderContentBig(order, store.Tel1, storeDetail) + } else if store.PrinterFontSize == partner.PrinterFontSizeMiddle || store.PrinterFontSize == partner.PrinterFontSizeMiddle2 { + content = c.getOrderContentBigMiddle(order, store.Tel1, storeDetail) } else { content = c.getOrderContent(order, store.Tel1, storeDetail) } diff --git a/business/partner/printer/yilianyun/yilianyun.go b/business/partner/printer/yilianyun/yilianyun.go index 795d06998..ad4841a5e 100644 --- a/business/partner/printer/yilianyun/yilianyun.go +++ b/business/partner/printer/yilianyun/yilianyun.go @@ -140,6 +140,113 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin return strings.Replace(fmt.Sprintf(strings.Replace(orderFmt, "\n", "", -1), orderParams...), "\\n", "\r\n", -1) } +func (c *PrinterHandler) getOrderContentMiddle(order *model.GoodsOrder, storeTel string, storeDetail *dao.StoreDetail) (content string) { + expectedDeliveryTime := order.ExpectedDeliveredTime + if utils.IsTimeZero(expectedDeliveryTime) { + expectedDeliveryTime = order.OrderCreatedAt.Add(1 * time.Hour) + } + getCode := "" + if order.VendorID == model.VendorIDEBAI { + getCode = fmt.Sprintf("淘宝闪购取货码:%s\\n\n", jxutils.GetEbaiOrderGetCode(order)) + } + orderParams := []interface{}{} + orderFmt := `` + if storeDetail != nil { + if storeDetail.BrandIsPrint == model.NO { + orderFmt += `
%s
\n` + if order.VendorOrgCode == "34665" { + orderParams = append(orderParams, globals.StoreNameEbai2) + } else { + orderParams = append(orderParams, storeDetail.BrandName) + } + } + } + orderFmt += ` +%s#%d\n\n +门店名称: %s\n\n +--------------------------------\n +下单时间: %s\n\n +预计送达: %s\n\n +订单编号: %s\n +\n` + if order.BusinessType == model.BusinessTypeDingshida { + orderFmt += ` + 预订单\n + ` + } else { + orderFmt += ` + 立即送达\n + ` + } + orderFmt += `%s +` + getCode + `\n +客户: %s\n +电话: %s\n +地址: %s\n +\n +客户备注: \n +%s\n +\n +\n +商品明细: \n` + + orderFmt += `品名 小计\n +--------------------------------\n` + //switch order.EarningType { + //case model.EarningTypePoints: // 扣点 + // orderFmt += points + //case model.EarningTypeQuote: // 报价 + // orderFmt += quote + //} + + orderParams = append(orderParams, + jxutils.GetVendorName(order.VendorID), + order.OrderSeq, + order.StoreName, + utils.Time2Str(order.OrderCreatedAt), + utils.Time2Str(expectedDeliveryTime), + order.VendorOrderID, + order.VendorOrderID, + order.ConsigneeName, + order.ConsigneeMobile, + order.ConsigneeAddress, + order.BuyerComment, + ) + + for _, sku := range order.Skus { + orderFmt += `%s,%s\n` + orderParams = append(orderParams, sku.SkuName, "X"+utils.Int2Str(sku.Count)) + //switch order.EarningType { + //case model.EarningTypePoints: // 扣点 + // orderFmt += `%s\n` + // orderFmt += `%15s%8s\n` + // orderParams = append(orderParams, sku.SkuName, "X"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count))) + //case model.EarningTypeQuote: // 报价 + // orderFmt += `%s%25s\n` + // orderParams = append(orderParams, sku.SkuName, "X"+utils.Int2Str(sku.Count)) + //} + + //标品需要打印条形码 + if sku.Upc != "" { + orderFmt += `upc码: %s\n` + orderParams = append(orderParams, sku.Upc) + } + } + orderFmt += `\n +共%d种%d件商品\n +实际支付:%s\n +--------------------------------\n +
商品质量问题请联系:
\n +
%s:%s
\n +更多信息请关注官方微信: %s\n +--------------------------------\n +--------------------------------\n +` + // http://weixin.qq.com/r/tkkDGzTERmk5rXB49xyk + orderParams = append(orderParams, order.SkuCount, order.GoodsCount, jxutils.IntPrice2StandardCurrencyString(order.ActualPayPrice), order.StoreName, storeTel, globals.StoreName) + return strings.Replace(fmt.Sprintf(strings.Replace(orderFmt, "\n", "", -1), orderParams...), "\\n", "\r\n", -1) +} + func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel string, storeDetail *dao.StoreDetail) (content string) { expectedDeliveryTime := order.ExpectedDeliveredTime if utils.IsTimeZero(expectedDeliveryTime) { @@ -395,6 +502,8 @@ func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, content := "" if store.PrinterFontSize == partner.PrinterFontSizeBig || store.PrinterFontSize == partner.PrinterFontSizeBig2 { content = c.getOrderContentBig(order, store.Tel1, storeDetail) + } else if store.PrinterFontSize == partner.PrinterFontSizeMiddle || store.PrinterFontSize == partner.PrinterFontSizeMiddle2 { + content = c.getOrderContentMiddle(order, store.Tel1, storeDetail) } else { content = c.getOrderContent(order, store.Tel1, storeDetail) }