This commit is contained in:
邹宗楠
2026-03-18 11:50:28 +08:00
parent 8cc488f29a
commit 92c4c01651
3 changed files with 116 additions and 7 deletions

View File

@@ -26,6 +26,8 @@ const (
PrinterFontSizeBig = int8(1) //两倍大小一份,大一
PrinterFontSizeNormal2 = int8(2) //正常字体两份
PrinterFontSizeBig2 = int8(3) //大字体两份,大二
PrinterFontSizeMiddle = int8(4) //中字体1份
PrinterFontSizeMiddle2 = int8(5) //中字体2份
)
var (

View File

@@ -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)
}
} 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)
}

View File

@@ -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("<FS2>淘宝闪购取货码:%s</FS2>\\n\n", jxutils.GetEbaiOrderGetCode(order))
}
orderParams := []interface{}{}
orderFmt := ``
if storeDetail != nil {
if storeDetail.BrandIsPrint == model.NO {
orderFmt += `<FS2><center>%s</center></FS2>\n`
if order.VendorOrgCode == "34665" {
orderParams = append(orderParams, globals.StoreNameEbai2)
} else {
orderParams = append(orderParams, storeDetail.BrandName)
}
}
}
orderFmt += `
<FS2>%s#%d</FS2>\n\n
<FS>门店名称: %s\n\n</FS>
--------------------------------\n
<FS>下单时间: %s\n\n</FS>
<FS>预计送达: %s\n\n</FS>
<FS>订单编号: %s\n</FS>
\n`
if order.BusinessType == model.BusinessTypeDingshida {
orderFmt += `
<FS>预订单</FS>\n
`
} else {
orderFmt += `
<FS>立即送达</FS>\n
`
}
orderFmt += `<QR>%s</QR>
` + getCode + `\n
<FS>客户: %s\n</FS>
<FS>电话: %s\n</FS>
<FS>地址: %s\n</FS>
\n
<FS>客户备注: \n</FS>
<FS>%s</FS>\n
\n
\n
<FS>商品明细: \n</FS>`
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 += `<FH><LR>%s,%s</LR></FH>\n`
orderParams = append(orderParams, sku.SkuName, "X"+utils.Int2Str(sku.Count))
//switch order.EarningType {
//case model.EarningTypePoints: // 扣点
// orderFmt += `<FH2>%s\n</FH2>`
// orderFmt += `<FS><FB>%15s%8s</FB>\n</FS>`
// orderParams = append(orderParams, sku.SkuName, "X"+utils.Int2Str(sku.Count), jxutils.IntPrice2StandardCurrencyString(sku.VendorPrice*int64(sku.Count)))
//case model.EarningTypeQuote: // 报价
// orderFmt += `<FH2>%s%25s\n</FH2>`
// orderParams = append(orderParams, sku.SkuName, "X"+utils.Int2Str(sku.Count))
//}
//标品需要打印条形码
if sku.Upc != "" {
orderFmt += `<FS>upc码 %s\n</FS>`
orderParams = append(orderParams, sku.Upc)
}
}
orderFmt += `\n
<FS><FB>共%d种%d件商品</FB></FS>\n
<FS2><FB>实际支付:</FB>%s\n</FS2>
--------------------------------\n
<center><FB>商品质量问题请联系:</FB></center>\n
<center><FB>%s:%s</FB></center>\n
<FS>更多信息请关注官方微信: %s\n</FS>
--------------------------------\n
--------------------------------\n
`
// <QR>http://weixin.qq.com/r/tkkDGzTERmk5rXB49xyk</QR>
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)
}