From 762fc0f70e068bf9f80d2565a1d833b35aaa2de6 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Fri, 17 Mar 2023 14:14:35 +0800 Subject: [PATCH 1/9] 1 --- business/jxstore/tempop/tempop.go | 6 +- business/jxutils/jxutils.go | 13 ++ business/model/api_config.go | 2 + business/partner/partner_printer.go | 4 +- business/partner/printer/xpyun/xpyun.go | 274 ++++++++++++++++++++++++ conf/app.conf | 5 + globals/api/api.go | 3 + 7 files changed, 304 insertions(+), 3 deletions(-) diff --git a/business/jxstore/tempop/tempop.go b/business/jxstore/tempop/tempop.go index 4b02d4e01..7cdac28c6 100644 --- a/business/jxstore/tempop/tempop.go +++ b/business/jxstore/tempop/tempop.go @@ -4,13 +4,14 @@ import ( "bytes" "context" "fmt" - "git.rosy.net.cn/jx-callback/business/jxcallback/orderman" "net" "regexp" "strconv" "strings" "time" + "git.rosy.net.cn/jx-callback/business/jxcallback/orderman" + "git.rosy.net.cn/jx-callback/business/auth2/authprovider/weixin" "git.rosy.net.cn/jx-callback/business/partner/delivery" "github.com/360EntSecGroup-Skylar/excelize" @@ -824,6 +825,9 @@ func PrintMsg(ctx *jxcontext.Context, vendorID int, id1, id2, msgTitle, msgConte if handler == nil { return nil, fmt.Errorf("打印机厂商:%d当前不被支持,请检查vendorID", vendorID) } + if vendorID == model.VendorIDXpYun { + id2 = "1" //id2传打印份数 + } return handler.PrintMsg(ctx, id1, id2, msgTitle, msgContent) } diff --git a/business/jxutils/jxutils.go b/business/jxutils/jxutils.go index 35024db63..6b3934eb2 100644 --- a/business/jxutils/jxutils.go +++ b/business/jxutils/jxutils.go @@ -974,6 +974,19 @@ func TranslateSoundSize(vendorID, soundPercentage int) (soundSize string) { if soundPercentage > 80 && soundPercentage <= 100 { soundSize = "5" } + } else if vendorID == model.VendorIDXpYun { + if soundPercentage == 0 { + soundSize = "3" + } + if soundPercentage > 0 && soundPercentage <= 33 { + soundSize = "2" + } + if soundPercentage > 33 && soundPercentage <= 66 { + soundSize = "1" + } + if soundPercentage > 66 && soundPercentage <= 100 { + soundSize = "0" + } } return soundSize } diff --git a/business/model/api_config.go b/business/model/api_config.go index 6415d38af..9d22d72dc 100644 --- a/business/model/api_config.go +++ b/business/model/api_config.go @@ -43,6 +43,7 @@ const ( VendorIDYiLianYun = 203 // 易联云 VendorIDZhongWu = 204 // 中午云打印 VendorIDJxprint = 205 // 京西打印 + VendorIDXpYun = 206 // 芯烨云打印机 VendorIDPrinterEnd = 300 VendorIDOthersBegin = 301 @@ -144,6 +145,7 @@ var ( VendorIDYiLianYun: "易联云", VendorIDZhongWu: "中午云", VendorIDJxprint: "京西云", + VendorIDXpYun: "芯烨云", VendorIDWXMP: "微信公众号", VendorIDWXQRCode: "微信扫码", diff --git a/business/partner/partner_printer.go b/business/partner/partner_printer.go index dbfdd42ab..a49484df8 100644 --- a/business/partner/partner_printer.go +++ b/business/partner/partner_printer.go @@ -23,9 +23,9 @@ const ( const ( PrinterFontSizeNormal = int8(0) //正常大小一份 - PrinterFontSizeBig = int8(1) //两倍大小一份 + PrinterFontSizeBig = int8(1) //两倍大小一份,大一 PrinterFontSizeNormal2 = int8(2) //正常字体两份 - PrinterFontSizeBig2 = int8(3) //大字体两份 + PrinterFontSizeBig2 = int8(3) //大字体两份,大二 ) var ( diff --git a/business/partner/printer/xpyun/xpyun.go b/business/partner/printer/xpyun/xpyun.go index 7e36c8cb4..0cdabbab6 100644 --- a/business/partner/printer/xpyun/xpyun.go +++ b/business/partner/printer/xpyun/xpyun.go @@ -1 +1,275 @@ package xpyun + +import ( + "fmt" + "time" + + "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/jxutils" + + "git.rosy.net.cn/baseapi/platformapi/xpyunapi" + "git.rosy.net.cn/jx-callback/business/jxutils/jxcontext" + "git.rosy.net.cn/jx-callback/business/model" + "git.rosy.net.cn/jx-callback/business/model/dao" + "git.rosy.net.cn/jx-callback/business/partner" + "git.rosy.net.cn/jx-callback/globals" + "git.rosy.net.cn/jx-callback/globals/api" +) + +var ( + CurPrinterHandler *PrinterHandler +) + +type PrinterHandler struct { +} + +func init() { + CurPrinterHandler = new(PrinterHandler) + partner.RegisterPrinterPlatform(CurPrinterHandler) +} +func (c *PrinterHandler) GetVendorID() int { + return model.VendorIDXpYun +} +func (c *PrinterHandler) PrintMsg(ctx *jxcontext.Context, sn, copies, msgTitle, msgContent string) (printerStatus *partner.PrinterStatus, err error) { + if sn != "" { + if globals.EnableStoreWrite { + if utils.Str2Int(copies) < 0 || utils.Str2Int(copies) > 3 { + copies = "1" + } + printOrderID, err1 := api.XpyunAPI.Print(&xpyunapi.PrintRequest{ + Sn: sn, + Content: msgContent, + Copies: utils.Str2Int(copies), + Voice: xpyunapi.VoicePlayOrder, + Mode: xpyunapi.ModeCheckYes, + ExpiresIn: xpyunapi.ExpiresInDefault, + }) + if err1 == nil && printOrderID != "" { + printerStatus, err = c.GetPrinterStatus(ctx, sn, "") + } + } + } else { + printerStatus = &partner.PrinterStatus{ + PrintResult: partner.PrintResultNoPrinter, + } + } + return printerStatus, err +} + +func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, sn, s string) (printerStatus *partner.PrinterStatus, err error) { + if status, err := api.XpyunAPI.QueryPrinterStatus(sn); err == nil { + printerStatus = &partner.PrinterStatus{ + PrintResult: partner.PrintResultSuccess, + } + if status == xpyunapi.PrinterStateOffline { + printerStatus.PrinterStatus = partner.PrinterStatusOffline + } else if status == xpyunapi.PrinterStateOnlineNormal { + printerStatus.PrinterStatus = partner.PrinterStatusOnlineOK + } else if status == xpyunapi.PrinterStateOnlineUnusual { + printerStatus.PrinterStatus = partner.PrinterStatusOnlineAbnormal + } else { + printerStatus.PrinterStatus = partner.PrinterStatusUnknown + } + } + return printerStatus, err +} + +func (c *PrinterHandler) RegisterPrinter(ctx *jxcontext.Context, sn, id2, printerName string, soreId int64) (newID1, newID2 string, err error) { + if globals.EnableStoreWrite { + err = api.XpyunAPI.AddPrinters(sn, printerName) + } + return "", "", err +} + +func (c *PrinterHandler) UnregisterPrinter(ctx *jxcontext.Context, sn, id2 string) (err error) { + if globals.EnableStoreWrite { + err = api.XpyunAPI.DelPrinters([]string{sn}) + } + return err +} + +func (c *PrinterHandler) BindPrinter(ctx *jxcontext.Context, mapData map[string]interface{}) (bindResult *partner.BindPrinterResult, err error) { + return nil, fmt.Errorf("%s打印机当前不支持扫码绑定", model.VendorChineseNames[model.VendorIDXpYun]) +} + +func (c *PrinterHandler) RebindPrinter(ctx *jxcontext.Context, lastBindResult *partner.BindPrinterResult) (bindResult *partner.BindPrinterResult, err error) { + return nil, fmt.Errorf("%s打印机当前不支持扫码解绑", model.VendorChineseNames[model.VendorIDXpYun]) +} + +func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string, asfOrder *model.AfsOrder) (printerStatus *partner.PrinterStatus, err error) { + if len(order.Skus) == 0 { + return + } + content := "" + if store.PrinterFontSize == partner.PrinterFontSizeBig || store.PrinterFontSize == partner.PrinterFontSizeBig2 { + content = c.getOrderContentBig(order, store.Tel1, storeDetail) + } else { + content = c.getOrderContent(order, store.Tel1, storeDetail) + } + count := 0 + for { + printerStatus, err := c.PrintMsg(ctx, store.PrinterSN, store.PrinterKey, order.VendorOrderID, content) + if (store.PrinterFontSize == partner.PrinterFontSizeBig2 || store.PrinterFontSize == partner.PrinterFontSizeNormal2) && count < 1 { + count += 1 + continue + } else { + return printerStatus, err + } + } +} + +func (c *PrinterHandler) PrintStore(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, vendorId int) (printerStatus *partner.PrinterStatus, err error) { + return nil, err +} + +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 +} + +func (c *PrinterHandler) EmptyPrintList(ctx *jxcontext.Context, sn, id2 string) (err error) { + if globals.EnableStoreWrite { + err = api.XpyunAPI.EmptyPrinterQueue(sn) + } + return err +} + +func (c *PrinterHandler) PlayText(ctx *jxcontext.Context, id1, id2, orderID, text string) (printerStatus *partner.PrinterStatus, err error) { + return nil, err +} + +func (c *PrinterHandler) SetSound(ctx *jxcontext.Context, sn, id2, sound string) (err error) { + if globals.EnableStoreWrite { + err = api.XpyunAPI.SetVoiceType(sn, utils.Str2Int(sound)) + } + return err +} + +// 正常打印模板 +func (c *PrinterHandler) getOrderContent(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", 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 += ` +` + xpyunapi.StrRepeat("-", 32) + ` +
下单时间: %s
+
预计送达: %s
+
客户姓名: %s
+
客户电话: %s
+
订单编号: %s
+
%s: #%d
+%s" +` + getCode + ` +` + xpyunapi.StrRepeat("-", 32) + ` +客户地址: %s
+` + xpyunapi.StrRepeat("-", 32) + ` +
客户备注: %s
+` + xpyunapi.StrRepeat("-", 32) + ` +
商品列表 ` + xpyunapi.StrRepeat("-", 6) + `
+商品名` + xpyunapi.StrRepeat("-", 2) + `数量` + xpyunapi.StrRepeat("-", 3) + `单价` + xpyunapi.StrRepeat("-", 5) + `小计
" +` + orderParams = append(orderParams, + utils.Time2Str(order.OrderCreatedAt), + utils.Time2Str(expectedDeliveryTime), + order.ConsigneeName, + order.ConsigneeMobile, + order.VendorOrderID, + jxutils.GetVendorName(order.VendorID), + order.OrderSeq, + order.VendorOrderID, + order.ConsigneeAddress, + order.BuyerComment, + ) + + for _, sku := range order.Skus { + orderFmt += xpyunapi.FormatPrintOrderItem(sku.SkuName, sku.Count, utils.Int64ToFloat64(sku.SalePrice)) + } + orderFmt += ` +共%d种%d件商品
+实际支付: %s元
+` + xpyunapi.StrRepeat("-", 2) + ` +` + orderFmt += `

` + orderParams = append(orderParams, order.SkuCount, order.GoodsCount, jxutils.IntPrice2StandardCurrencyString(order.ActualPayPrice)) + return fmt.Sprintf(orderFmt, orderParams...) +} +func (c *PrinterHandler) getOrderContentBig(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", 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 += ` +` + xpyunapi.StrRepeat("-", 32) + ` +
下单时间: %s
+
预计送达: %s
+
客户姓名: %s
+
客户电话: %s
+
订单编号: %s
+
%s: #%d
+%s" +` + getCode + ` +` + xpyunapi.StrRepeat("-", 32) + ` +客户地址: %s
+` + xpyunapi.StrRepeat("-", 32) + ` +
客户备注: %s
+` + xpyunapi.StrRepeat("-", 32) + ` +
商品列表 ` + xpyunapi.StrRepeat("-", 6) + `
+商品名` + xpyunapi.StrRepeat("-", 2) + `数量` + xpyunapi.StrRepeat("-", 3) + `单价` + xpyunapi.StrRepeat("-", 5) + `小计
" +` + orderParams = append(orderParams, + utils.Time2Str(order.OrderCreatedAt), + utils.Time2Str(expectedDeliveryTime), + order.ConsigneeName, + order.ConsigneeMobile, + order.VendorOrderID, + jxutils.GetVendorName(order.VendorID), + order.OrderSeq, + order.VendorOrderID, + order.ConsigneeAddress, + order.BuyerComment, + ) + + for _, sku := range order.Skus { + orderFmt += xpyunapi.FormatPrintOrderItem(sku.SkuName, sku.Count, utils.Int64ToFloat64(sku.SalePrice)) + } + orderFmt += ` +共%d种%d件商品
+实际支付: %s元
+` + xpyunapi.StrRepeat("-", 2) + ` +` + orderFmt += `

` + orderParams = append(orderParams, order.SkuCount, order.GoodsCount, jxutils.IntPrice2StandardCurrencyString(order.ActualPayPrice)) + return fmt.Sprintf(orderFmt, orderParams...) +} diff --git a/conf/app.conf b/conf/app.conf index 530456f22..b3bf8c8b2 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -134,6 +134,11 @@ yilianyunClientSecret = "4885d07c2997b661102e4b6099c0bf3b" yilianyunClientID2 = "1098307169" yilianyunClientSecret2 = "d5eedb40c99e6691b1ca2ba82a363d6a" +xpyunUserName="feng.shi@rosy.net.cn" +xpyunUserKey="20a24d4332954993b05876e7b3db2a96" + + + zhongwuAppID = 8000192 zhongwuAppSecret = "29435497822f52f3cf659c65da548a79" diff --git a/globals/api/api.go b/globals/api/api.go index a79bcd1e2..9f310793c 100644 --- a/globals/api/api.go +++ b/globals/api/api.go @@ -9,6 +9,7 @@ import ( "git.rosy.net.cn/baseapi/platformapi/tiktok" tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api" "git.rosy.net.cn/baseapi/platformapi/uuptapi" + "git.rosy.net.cn/baseapi/platformapi/xpyunapi" "time" @@ -109,6 +110,7 @@ var ( XiaoWMAPI *xiaowmapi.API YilianyunAPI *yilianyunapi.API YilianyunAPI2 *yilianyunapi.API + XpyunAPI *xpyunapi.API ZhongwuAPI *zhongwuapi.API JxPrintAPI *jxprintapi.API @@ -307,6 +309,7 @@ func Init() { XiaoWMAPI = xiaowmapi.New(beego.AppConfig.DefaultInt("xiaoWMAppID", 0), beego.AppConfig.DefaultString("xiaoWMAppKey", "")) YilianyunAPI = yilianyunapi.New(beego.AppConfig.DefaultString("yilianyunClientID", ""), beego.AppConfig.DefaultString("yilianyunClientSecret", "")) YilianyunAPI2 = yilianyunapi.New(beego.AppConfig.DefaultString("yilianyunClientID2", ""), beego.AppConfig.DefaultString("yilianyunClientSecret2", "")) + XpyunAPI = xpyunapi.New(beego.AppConfig.DefaultString("xpyunUserName", ""), beego.AppConfig.DefaultString("xpyunUserKey", "")) ZhongwuAPI = zhongwuapi.New(beego.AppConfig.DefaultInt("zhongwuAppID", 0), beego.AppConfig.DefaultString("zhongwuAppSecret", "")) PushAPI = unipushapi.New(beego.AppConfig.DefaultString("pushAppID", ""), beego.AppConfig.DefaultString("pushAppKey", ""), beego.AppConfig.DefaultString("pushAppSecret", ""), beego.AppConfig.DefaultString("pushMasterSecret", "")) JxPrintAPI = jxprintapi.New(beego.AppConfig.DefaultString("jxPrintAppID", ""), beego.AppConfig.DefaultString("jxPrintAppKey", "")) From ba21a9e88e67a5fab39b477eb3c0412dfbd2c2f9 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Fri, 17 Mar 2023 14:55:38 +0800 Subject: [PATCH 2/9] 1 --- business/model/api_config.go | 1 + business/model/const.go | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/business/model/api_config.go b/business/model/api_config.go index 9d22d72dc..736cde8bb 100644 --- a/business/model/api_config.go +++ b/business/model/api_config.go @@ -111,6 +111,7 @@ var ( VendorIDYiLianYun: "Yilianyun", VendorIDZhongWu: "ZhongWu", VendorIDJxprint: "Jx", + VendorIDXpYun: "Xpyun", VendorIDQiNiuCloud: "Qiniu", VendorIDJDWL: "Jdwl", diff --git a/business/model/const.go b/business/model/const.go index 27469a812..3f2e1b84d 100644 --- a/business/model/const.go +++ b/business/model/const.go @@ -191,6 +191,10 @@ var ( "打印机编号", "密钥", }, + VendorIDXpYun: []string{ + VendorChineseNames[VendorIDXpYun], + "打印机编号", + }, } AfsReasonTypeName = map[int]string{ AfsReasonTypeGoodsQuality: "商品质量", From 75c64f800756a11baca7c485feca38820066b7fc Mon Sep 17 00:00:00 2001 From: richboo111 Date: Fri, 17 Mar 2023 15:07:27 +0800 Subject: [PATCH 3/9] 1 --- business/model/const.go | 1 + 1 file changed, 1 insertion(+) diff --git a/business/model/const.go b/business/model/const.go index 3f2e1b84d..a93c8100d 100644 --- a/business/model/const.go +++ b/business/model/const.go @@ -194,6 +194,7 @@ var ( VendorIDXpYun: []string{ VendorChineseNames[VendorIDXpYun], "打印机编号", + "不填", }, } AfsReasonTypeName = map[int]string{ From 7307e5c900c51ed79dd65c15b47c7eb2fd8ca8cb Mon Sep 17 00:00:00 2001 From: richboo111 Date: Fri, 17 Mar 2023 15:21:59 +0800 Subject: [PATCH 4/9] 1 --- main.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 864ecf1e7..c3af27c65 100644 --- a/main.go +++ b/main.go @@ -3,13 +3,14 @@ package main import ( "flag" "fmt" - "git.rosy.net.cn/jx-callback/business/enterprise" - "git.rosy.net.cn/jx-callback/business/jxcallback/auto_delivery" "net/http" _ "net/http/pprof" "os" "time" + "git.rosy.net.cn/jx-callback/business/enterprise" + "git.rosy.net.cn/jx-callback/business/jxcallback/auto_delivery" + "git.rosy.net.cn/jx-callback/business/partner/purchase/jdshop" "git.rosy.net.cn/jx-callback/business/partner/purchase/yb" @@ -36,6 +37,7 @@ import ( _ "git.rosy.net.cn/jx-callback/business/partner/printer/feie" _ "git.rosy.net.cn/jx-callback/business/partner/printer/jxprint" _ "git.rosy.net.cn/jx-callback/business/partner/printer/xiaowm" + _ "git.rosy.net.cn/jx-callback/business/partner/printer/xpyun" _ "git.rosy.net.cn/jx-callback/business/partner/printer/yilianyun" _ "git.rosy.net.cn/jx-callback/business/partner/printer/zhongwu" From 2cfb4022763e6310ad57085fa5d84a072c9aa81d Mon Sep 17 00:00:00 2001 From: richboo111 Date: Fri, 17 Mar 2023 15:31:21 +0800 Subject: [PATCH 5/9] 1 --- business/partner/printer/xpyun/xpyun.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/business/partner/printer/xpyun/xpyun.go b/business/partner/printer/xpyun/xpyun.go index 0cdabbab6..f3b02b1a1 100644 --- a/business/partner/printer/xpyun/xpyun.go +++ b/business/partner/printer/xpyun/xpyun.go @@ -2,6 +2,7 @@ package xpyun import ( "fmt" + "strings" "time" "git.rosy.net.cn/baseapi/utils" @@ -78,6 +79,9 @@ func (c *PrinterHandler) RegisterPrinter(ctx *jxcontext.Context, sn, id2, printe if globals.EnableStoreWrite { err = api.XpyunAPI.AddPrinters(sn, printerName) } + if strings.Contains(err.Error(), "打印机已存在") { + return "", "", nil + } return "", "", err } From 6eb80a3147c9c468f3b20e716a0ab7e997fc1b10 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Fri, 17 Mar 2023 16:06:55 +0800 Subject: [PATCH 6/9] 1 --- business/partner/printer/xpyun/xpyun.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/business/partner/printer/xpyun/xpyun.go b/business/partner/printer/xpyun/xpyun.go index f3b02b1a1..9b3823470 100644 --- a/business/partner/printer/xpyun/xpyun.go +++ b/business/partner/printer/xpyun/xpyun.go @@ -62,11 +62,12 @@ func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, sn, s string) printerStatus = &partner.PrinterStatus{ PrintResult: partner.PrintResultSuccess, } - if status == xpyunapi.PrinterStateOffline { + tempStatus := utils.Float64TwoInt(status.(float64)) + if tempStatus == xpyunapi.PrinterStateOffline { printerStatus.PrinterStatus = partner.PrinterStatusOffline - } else if status == xpyunapi.PrinterStateOnlineNormal { + } else if tempStatus == xpyunapi.PrinterStateOnlineNormal { printerStatus.PrinterStatus = partner.PrinterStatusOnlineOK - } else if status == xpyunapi.PrinterStateOnlineUnusual { + } else if tempStatus == xpyunapi.PrinterStateOnlineUnusual { printerStatus.PrinterStatus = partner.PrinterStatusOnlineAbnormal } else { printerStatus.PrinterStatus = partner.PrinterStatusUnknown From 912f4166fd265c8ae06d3f55c32943c7588196f9 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Fri, 17 Mar 2023 16:32:19 +0800 Subject: [PATCH 7/9] 1 --- business/partner/printer/xpyun/xpyun.go | 1 + globals/beegodb/beegodb.go | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/printer/xpyun/xpyun.go b/business/partner/printer/xpyun/xpyun.go index 9b3823470..bfd094ae7 100644 --- a/business/partner/printer/xpyun/xpyun.go +++ b/business/partner/printer/xpyun/xpyun.go @@ -103,6 +103,7 @@ func (c *PrinterHandler) RebindPrinter(ctx *jxcontext.Context, lastBindResult *p func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string, asfOrder *model.AfsOrder) (printerStatus *partner.PrinterStatus, err error) { if len(order.Skus) == 0 { + globals.SugarLogger.Debugf("order.sku为空") return } content := "" diff --git a/globals/beegodb/beegodb.go b/globals/beegodb/beegodb.go index b2b3d56a8..cf75227bb 100644 --- a/globals/beegodb/beegodb.go +++ b/globals/beegodb/beegodb.go @@ -6,7 +6,6 @@ import ( "git.rosy.net.cn/jx-callback/business/model/legacymodel" "git.rosy.net.cn/jx-callback/globals" "github.com/astaxie/beego/client/orm" - "github.com/astaxie/beego/server/web" ) func Init() { From bb99abcd0de636f6c6a0d34c5205a539fd180445 Mon Sep 17 00:00:00 2001 From: richboo111 Date: Fri, 17 Mar 2023 16:33:53 +0800 Subject: [PATCH 8/9] 1 --- globals/beegodb/beegodb.go | 1 + 1 file changed, 1 insertion(+) diff --git a/globals/beegodb/beegodb.go b/globals/beegodb/beegodb.go index cf75227bb..b2b3d56a8 100644 --- a/globals/beegodb/beegodb.go +++ b/globals/beegodb/beegodb.go @@ -6,6 +6,7 @@ import ( "git.rosy.net.cn/jx-callback/business/model/legacymodel" "git.rosy.net.cn/jx-callback/globals" "github.com/astaxie/beego/client/orm" + "github.com/astaxie/beego/server/web" ) func Init() { From 8e152a44f6f8c99d9c33664573561ddd2cad5e0d Mon Sep 17 00:00:00 2001 From: richboo111 Date: Fri, 17 Mar 2023 16:59:33 +0800 Subject: [PATCH 9/9] 1 --- business/partner/printer/xpyun/xpyun.go | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/business/partner/printer/xpyun/xpyun.go b/business/partner/printer/xpyun/xpyun.go index bfd094ae7..caab30d53 100644 --- a/business/partner/printer/xpyun/xpyun.go +++ b/business/partner/printer/xpyun/xpyun.go @@ -102,6 +102,7 @@ func (c *PrinterHandler) RebindPrinter(ctx *jxcontext.Context, lastBindResult *p } func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder, printType string, asfOrder *model.AfsOrder) (printerStatus *partner.PrinterStatus, err error) { + globals.SugarLogger.Debugf("打印order参数:%s", utils.Format4Output(order, false)) if len(order.Skus) == 0 { globals.SugarLogger.Debugf("order.sku为空") return @@ -174,21 +175,22 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin } orderFmt += ` ` + xpyunapi.StrRepeat("-", 32) + ` -
下单时间: %s
-
预计送达: %s
-
客户姓名: %s
-
客户电话: %s
-
订单编号: %s
-
%s: #%d
+
下单时间: %s +
预计送达: %s +
客户姓名: %s +
客户电话: %s +
订单编号: %s +
%s: #%d %s" ` + getCode + ` ` + xpyunapi.StrRepeat("-", 32) + ` -客户地址: %s
+客户地址: %s ` + xpyunapi.StrRepeat("-", 32) + ` -
客户备注: %s
+
客户备注: %s +` + xpyunapi.StrRepeat("-", 32) + ` +
商品列表
+商品名` + xpyunapi.StrRepeat(" ", 2) + `数量` + xpyunapi.StrRepeat(" ", 3) + `单价` + xpyunapi.StrRepeat(" ", 5) + `小计
` + xpyunapi.StrRepeat("-", 32) + ` -
商品列表 ` + xpyunapi.StrRepeat("-", 6) + `
-商品名` + xpyunapi.StrRepeat("-", 2) + `数量` + xpyunapi.StrRepeat("-", 3) + `单价` + xpyunapi.StrRepeat("-", 5) + `小计
" ` orderParams = append(orderParams, utils.Time2Str(order.OrderCreatedAt), @@ -209,9 +211,9 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin orderFmt += ` 共%d种%d件商品
实际支付: %s元
-` + xpyunapi.StrRepeat("-", 2) + ` ` orderFmt += `

` + orderFmt += xpyunapi.StrRepeat("-", 14) + "#23完" + xpyunapi.StrRepeat("-", 14) orderParams = append(orderParams, order.SkuCount, order.GoodsCount, jxutils.IntPrice2StandardCurrencyString(order.ActualPayPrice)) return fmt.Sprintf(orderFmt, orderParams...) }