This commit is contained in:
苏尹岚
2021-02-22 10:27:51 +08:00
parent 933f9ab820
commit 2b32adefcb
7 changed files with 103 additions and 63 deletions

View File

@@ -81,7 +81,8 @@ func PrintOrderByOrder4Store(ctx *jxcontext.Context, order *model.GoodsOrder, st
PrintResult: partner.PrintResultNoPrinter,
}, nil
}
printResult, err = handler.PrintOrder(ctx, store, order)
storeDetail, _ := dao.GetStoreDetail(db, storeID, order.VendorID, order.VendorOrgCode)
printResult, err = handler.PrintOrder(ctx, store, storeDetail, order)
if err == nil {
dao.SetOrderPrintFlag(db, ctx.GetUserName(), order.VendorOrderID, order.VendorID, true)
}

View File

@@ -62,9 +62,10 @@ type StoreDetail struct {
MtwmToken string `json:"mtwmToken"`
EbaiSupplierID string `json:"ebaiSupplierID"`
BrandName string `json:"brandName"` //品牌信息
BrandLogo string `json:"brandLogo"`
BrandIsOpen int `json:"brandIsOpen"`
BrandName string `json:"brandName"` //品牌信息
BrandLogo string `json:"brandLogo"`
BrandIsOpen int `json:"brandIsOpen"`
BrandIsPrint int `json:"brandIsPrint"`
}
// 带快递门店信息的
@@ -124,7 +125,8 @@ func getStoreDetail(db *DaoDB, storeID, vendorID int, vendorStoreID, vendorOrgCo
IF(om3.name <> '', om3.name, om3.user_id2) operator_name3,
b.name brand_name,
b.logo brand_logo,
b.is_open brand_is_open
b.is_open brand_is_open,
b.is_print brand_is_print
FROM store t1
LEFT JOIN store_map t2 ON t1.id = t2.store_id AND t2.vendor_id = ? AND t2.deleted_at = ?
LEFT JOIN place city ON city.code = t1.city_code

View File

@@ -3,6 +3,8 @@ package partner
import (
"fmt"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/business/model"
)
@@ -58,7 +60,7 @@ type IPrinterHandler interface {
BindPrinter(ctx *jxcontext.Context, mapData map[string]interface{}) (bindResult *BindPrinterResult, err error)
RebindPrinter(ctx *jxcontext.Context, lastBindResult *BindPrinterResult) (bindResult *BindPrinterResult, err error)
PrintOrder(ctx *jxcontext.Context, store *model.Store, order *model.GoodsOrder) (printerStatus *PrinterStatus, err error)
PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder) (printerStatus *PrinterStatus, err error)
EmptyPrintList(ctx *jxcontext.Context, id1, id2 string) (err error)
PlayText(ctx *jxcontext.Context, id1, id2, orderID, text string) (printerStatus *PrinterStatus, err error)

View File

@@ -5,6 +5,8 @@ import (
"strings"
"time"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/baseapi/platformapi/feieapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils"
@@ -27,7 +29,7 @@ func init() {
partner.RegisterPrinterPlatform(CurPrinterHandler)
}
func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel string) (content string) {
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)
@@ -37,13 +39,18 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
if order.VendorID == model.VendorIDEBAI {
getCode = fmt.Sprintf("<B>饿百取货码:%s</B><BR><BR>\n", jxutils.GetEbaiOrderGetCode(order))
}
if order.VendorOrgCode == "34665" {
orderParams = append(orderParams, globals.StoreNameEbai2)
} else {
orderParams = append(orderParams, globals.StoreName)
orderFmt := ``
if storeDetail.BrandIsPrint == model.NO {
orderFmt += `
<CB>%s</CB><BR><BR>
`
if order.VendorOrgCode == "34665" {
orderParams = append(orderParams, globals.StoreNameEbai2)
} else {
orderParams = append(orderParams, storeDetail.BrandName)
}
}
orderFmt := `
<CB>%s</CB><BR><BR>
orderFmt += `
<C>手机买菜上京西</C><BR>
<C>极速到家送惊喜</C><BR>
--------------------------------<BR>
@@ -106,7 +113,7 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
return fmt.Sprintf(strings.Replace(orderFmt, "\n", "", -1), orderParams...)
}
func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel string) (content string) {
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)
@@ -116,13 +123,18 @@ func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel st
getCode = fmt.Sprintf("<B>饿百取货码:%s</B><BR><BR>\n", jxutils.GetEbaiOrderGetCode(order))
}
orderParams := []interface{}{}
if order.VendorOrgCode == "34665" {
orderParams = append(orderParams, globals.StoreNameEbai2)
} else {
orderParams = append(orderParams, globals.StoreName)
orderFmt := ``
if storeDetail.BrandIsPrint == model.NO {
orderFmt += `
<CB>%s</CB><BR><BR>
`
if order.VendorOrgCode == "34665" {
orderParams = append(orderParams, globals.StoreNameEbai2)
} else {
orderParams = append(orderParams, storeDetail.BrandName)
}
}
orderFmt := `
<CB>%s</CB><BR><BR>
orderFmt += `
<C>手机买菜上京西</C><BR>
<C>极速到家送惊喜</C><BR>
--------------------------------<BR>
@@ -218,16 +230,16 @@ func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, printerSN, pri
return printerStatus, err
}
func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, order *model.GoodsOrder) (printerStatus *partner.PrinterStatus, err error) {
func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder) (printerStatus *partner.PrinterStatus, err error) {
globals.SugarLogger.Debugf("feie PrintOrderByOrder orderID:%s, storeID:%d", order.VendorOrderID, store.ID)
if len(order.Skus) == 0 {
return
}
content := ""
if store.PrinterFontSize == partner.PrinterFontSizeBig {
content = c.getOrderContentBig(order, store.Tel1)
content = c.getOrderContentBig(order, store.Tel1, storeDetail)
} else {
content = c.getOrderContent(order, store.Tel1)
content = c.getOrderContent(order, store.Tel1, storeDetail)
}
return c.PrintMsg(ctx, store.PrinterSN, store.PrinterKey, order.VendorOrderID, content)
}

View File

@@ -5,6 +5,8 @@ import (
"strings"
"time"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/baseapi/platformapi/xiaowmapi"
"git.rosy.net.cn/baseapi/utils"
@@ -28,7 +30,7 @@ func init() {
partner.RegisterPrinterPlatform(CurPrinterHandler)
}
func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel string) (content string) {
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)
@@ -103,7 +105,7 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
return content
}
func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel string) (content string) {
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)
@@ -290,16 +292,16 @@ func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, printerNumber,
return printerStatus, err
}
func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, order *model.GoodsOrder) (printerStatus *partner.PrinterStatus, err error) {
func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder) (printerStatus *partner.PrinterStatus, err error) {
globals.SugarLogger.Debugf("xiaowm PrintOrderByOrder orderID:%s, storeID:%d", order.VendorOrderID, store.ID)
var content string
if isV500(store.PrinterSN) {
content = c.getOrderContent2(order, store.Tel1)
} else {
if store.PrinterFontSize == partner.PrinterFontSizeBig {
content = c.getOrderContentBig(order, store.Tel1)
content = c.getOrderContentBig(order, store.Tel1, storeDetail)
} else {
content = c.getOrderContent(order, store.Tel1)
content = c.getOrderContent(order, store.Tel1, storeDetail)
}
}
return c.PrintMsg(ctx, store.PrinterSN, store.PrinterKey, order.VendorOrderID, content)

View File

@@ -10,6 +10,7 @@ import (
"git.rosy.net.cn/jx-callback/business/jxutils"
"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"
@@ -27,7 +28,7 @@ func init() {
partner.RegisterPrinterPlatform(CurPrinterHandler)
}
func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel string) (content string) {
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)
@@ -37,14 +38,18 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
getCode = fmt.Sprintf("<FS2>饿百取货码:%s</FS2>\\n\n", jxutils.GetEbaiOrderGetCode(order))
}
orderParams := []interface{}{}
if order.VendorOrgCode == "34665" {
orderParams = append(orderParams, globals.StoreNameEbai2)
} else {
orderParams = append(orderParams, globals.StoreName)
orderFmt := ``
if storeDetail.BrandIsPrint == model.NO {
orderFmt += `
<FS2><center>%s</center></FS2>\n\n
`
if order.VendorOrgCode == "34665" {
orderParams = append(orderParams, globals.StoreNameEbai2)
} else {
orderParams = append(orderParams, storeDetail.BrandName)
}
}
//TODO 去掉单价和小计2020-06-18
orderFmt := `
<FS2><center>%s</center></FS2>\n\n
orderFmt += `
<center>手机买菜上京西</center>
<center>极速到家送惊喜</center>\n
--------------------------------
@@ -101,7 +106,7 @@ 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) getOrderContentBig(order *model.GoodsOrder, storeTel string) (content string) {
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)
@@ -111,13 +116,18 @@ func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel st
getCode = fmt.Sprintf("<FS2>饿百取货码:%s</FS2>\\n\n", jxutils.GetEbaiOrderGetCode(order))
}
orderParams := []interface{}{}
if order.VendorOrgCode == "34665" {
orderParams = append(orderParams, globals.StoreNameEbai2)
} else {
orderParams = append(orderParams, globals.StoreName)
orderFmt := ``
if storeDetail.BrandIsPrint == model.NO {
orderFmt += `
<FS2><center>%s</center></FS2>\n\n
`
if order.VendorOrgCode == "34665" {
orderParams = append(orderParams, globals.StoreNameEbai2)
} else {
orderParams = append(orderParams, storeDetail.BrandName)
}
}
orderFmt := `
<FS2><center>%s</center></FS2>\n\n
orderFmt += `
<center>手机买菜上京西</center>
<center>极速到家送惊喜</center>\n
--------------------------------
@@ -212,16 +222,16 @@ func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, machineCode, p
return printerStatus, err
}
func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, order *model.GoodsOrder) (printerStatus *partner.PrinterStatus, err error) {
func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder) (printerStatus *partner.PrinterStatus, err error) {
globals.SugarLogger.Debugf("yilianyun PrintOrderByOrder orderID:%s, storeID:%d", order.VendorOrderID, store.ID)
if len(order.Skus) == 0 {
return
}
content := ""
if store.PrinterFontSize == partner.PrinterFontSizeBig {
content = c.getOrderContentBig(order, store.Tel1)
content = c.getOrderContentBig(order, store.Tel1, storeDetail)
} else {
content = c.getOrderContent(order, store.Tel1)
content = c.getOrderContent(order, store.Tel1, storeDetail)
}
return c.PrintMsg(ctx, store.PrinterSN, store.PrinterKey, order.VendorOrderID, content)
}

View File

@@ -11,6 +11,7 @@ import (
"git.rosy.net.cn/jx-callback/business/jxutils"
"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"
@@ -28,7 +29,7 @@ func init() {
partner.RegisterPrinterPlatform(CurPrinterHandler)
}
func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel string) (content string) {
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)
@@ -38,13 +39,18 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
getCode = fmt.Sprintf("<S2>饿百取货码:%s</S2><RN>\n", jxutils.GetEbaiOrderGetCode(order))
}
orderParams := []interface{}{}
if order.VendorOrgCode == "34665" {
orderParams = append(orderParams, globals.StoreNameEbai2)
} else {
orderParams = append(orderParams, globals.StoreName)
orderFmt := ``
if storeDetail.BrandIsPrint == model.NO {
orderFmt += `
<S2><C>%s</C></S2><RN><RN>
`
if order.VendorOrgCode == "34665" {
orderParams = append(orderParams, globals.StoreNameEbai2)
} else {
orderParams = append(orderParams, storeDetail.BrandName)
}
}
orderFmt := `
<S2><C>%s</C></S2><RN><RN>
orderFmt += `
<C>手机买菜上京西</C>
<C>极速到家送惊喜</C><RN>
********************************
@@ -102,7 +108,7 @@ func (c *PrinterHandler) getOrderContent(order *model.GoodsOrder, storeTel strin
return fmt.Sprintf(strings.Replace(orderFmt, "\n", "", -1), orderParams...)
}
func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel string) (content string) {
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)
@@ -112,13 +118,18 @@ func (c *PrinterHandler) getOrderContentBig(order *model.GoodsOrder, storeTel st
getCode = fmt.Sprintf("<S2>饿百取货码:%s</S2><RN>\n", jxutils.GetEbaiOrderGetCode(order))
}
orderParams := []interface{}{}
if order.VendorOrgCode == "34665" {
orderParams = append(orderParams, globals.StoreNameEbai2)
} else {
orderParams = append(orderParams, globals.StoreName)
orderFmt := ``
if storeDetail.BrandIsPrint == model.NO {
orderFmt += `
<S2><C>%s</C></S2><RN><RN>
`
if order.VendorOrgCode == "34665" {
orderParams = append(orderParams, globals.StoreNameEbai2)
} else {
orderParams = append(orderParams, storeDetail.BrandName)
}
}
orderFmt := `
<S2><C>%s</C></S2><RN><RN>
orderFmt += `
<C>手机买菜上京西</C>
<C>极速到家送惊喜</C><RN>
********************************
@@ -206,13 +217,13 @@ func (c *PrinterHandler) GetPrinterStatus(ctx *jxcontext.Context, deviceID, devi
return printerStatus, err
}
func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, order *model.GoodsOrder) (printerStatus *partner.PrinterStatus, err error) {
func (c *PrinterHandler) PrintOrder(ctx *jxcontext.Context, store *model.Store, storeDetail *dao.StoreDetail, order *model.GoodsOrder) (printerStatus *partner.PrinterStatus, err error) {
globals.SugarLogger.Debugf("zhongwu PrintOrderByOrder orderID:%s, storeID:%d", order.VendorOrderID, store.ID)
content := ""
if store.PrinterFontSize == partner.PrinterFontSizeBig {
content = c.getOrderContentBig(order, store.Tel1)
content = c.getOrderContentBig(order, store.Tel1, storeDetail)
} else {
content = c.getOrderContent(order, store.Tel1)
content = c.getOrderContent(order, store.Tel1, storeDetail)
}
return c.PrintMsg(ctx, store.PrinterSN, store.PrinterKey, order.VendorOrderID, content)
}