441 lines
11 KiB
Go
441 lines
11 KiB
Go
package app_server
|
||
|
||
import (
|
||
"git.rosy.net.cn/baseapi/utils"
|
||
"git.rosy.net.cn/jx-print/dao"
|
||
"git.rosy.net.cn/jx-print/globals"
|
||
tempModel "git.rosy.net.cn/jx-print/model/app_model"
|
||
"strings"
|
||
"time"
|
||
)
|
||
|
||
var SystemTemp map[string]*tempModel.SystemTemp
|
||
|
||
func init() {
|
||
var sysTemp = TempServer{}
|
||
sysTempList, err := sysTemp.QuerySystemTemp()
|
||
if err != nil {
|
||
globals.SugarLogger.Debug("query system temp err :", err)
|
||
return
|
||
}
|
||
temp := make(map[string]*tempModel.SystemTemp, 0)
|
||
for _, v := range sysTempList {
|
||
temp[v.TempSize] = v
|
||
SystemTemp[v.TempSize] = v
|
||
}
|
||
|
||
now := time.Now()
|
||
param := &tempModel.SystemTemp{
|
||
CreatedAt: &now,
|
||
UpdatedAt: &now,
|
||
LastOperator: "system",
|
||
DeletedAt: &utils.DefaultTimeValue,
|
||
TempName: "system",
|
||
TempRank: SystemTempKey,
|
||
Temp: "",
|
||
UserId: "system_user",
|
||
TempType: tempModel.TempTypeMerchant,
|
||
TempSize: tempModel.SystemTempSizeBig,
|
||
PrintSn: "system",
|
||
IsUse: 1,
|
||
}
|
||
|
||
// 初始化大字体模板
|
||
if _, v := temp[tempModel.SystemTempSizeBig]; !v {
|
||
param.TempName += tempModel.SystemTempSizeBig
|
||
param.Temp = SystemTempValue
|
||
if err := dao.AddTemp(param); err != nil {
|
||
globals.SugarLogger.Debug("init system temp err :", err)
|
||
}
|
||
SystemTemp[tempModel.SystemTempSizeBig] = param
|
||
}
|
||
|
||
// 初始化中字体模板
|
||
if _, v := temp[tempModel.SystemTempSizeMedium]; !v {
|
||
param.TempName += tempModel.SystemTempSizeMedium
|
||
medium := strings.Replace(SystemTempValue, "<b>", "<hb>", -1)
|
||
medium2 := strings.Replace(medium, "</b>", "</hb>", -1)
|
||
param.Temp = medium2
|
||
if err := dao.AddTemp(param); err != nil {
|
||
globals.SugarLogger.Debug("init system temp err :", err)
|
||
}
|
||
if err := dao.AddTemp(param); err != nil {
|
||
globals.SugarLogger.Debug("init system temp err :", err)
|
||
}
|
||
SystemTemp[tempModel.SystemTempSizeMedium] = param
|
||
}
|
||
|
||
// 初始化小字体模板
|
||
if _, v := temp[tempModel.SystemTempSizeSmall]; !v {
|
||
param.TempName += tempModel.SystemTempSizeSmall
|
||
medium := strings.Replace(SystemTempValue, "<b>", " ", -1)
|
||
medium2 := strings.Replace(medium, "</b>", " ", -1)
|
||
param.Temp = medium2
|
||
if err := dao.AddTemp(param); err != nil {
|
||
globals.SugarLogger.Debug("init system temp err :", err)
|
||
}
|
||
if err := dao.AddTemp(param); err != nil {
|
||
globals.SugarLogger.Debug("init system temp err :", err)
|
||
}
|
||
SystemTemp[tempModel.SystemTempSizeSmall] = param
|
||
}
|
||
|
||
}
|
||
|
||
// SystemTempKey 系统数据库模板排序
|
||
const (
|
||
//SystemTempKey 公共参数 EBaiOrderNo= vendorName EBaiVendorName = vendorOrderNo
|
||
SystemTempKey = "sound,eBailOrderNo,payOrderTime,trySendTime,orderNo,businessType,vendorName,eBaiCode,qRCOrder,eBaiVendorName,eBaiOrderNo,consigneeName," +
|
||
"consigneeMobile,consigneeAddress,buyerComment,skuName,skuNumber,skuPrice,skuAllPrice,allSkuTypeCount,allSkuCount,storeName,storeTel,officialName"
|
||
SystemTempValue = "{" +
|
||
"sound:" + Sound + "," +
|
||
"eBailOrderNo:" + EBailOrderNo + "," +
|
||
"payOrderTime:" + PayOrderTime + "," +
|
||
"trySendTime:" + TrySendTime + "," +
|
||
"orderNo:" + OrderNo + "," +
|
||
"businessType:" + BusinessType + "," +
|
||
"vendorName:" + VendorName + "," +
|
||
"eBaiCode:" + EBaiCode + "," +
|
||
"qRCOrder:" + QRCOrder + "," +
|
||
"eBaiVendorName:" + EBaiVendorName + "," +
|
||
"eBaiOrderNo:" + EBaiOrderNo + "," +
|
||
"consigneeName:" + ConsigneeName + "," +
|
||
"consigneeMobile:" + ConsigneeMobile + "," +
|
||
"consigneeAddress:" + ConsigneeAddress + "," +
|
||
"buyerComment:" + BuyerComment + "," +
|
||
"skuName:" + SkuName + "," +
|
||
"skuNumber:" + SkuNumber + "," +
|
||
"skuPrice:" + SkuPrice + "," +
|
||
"skuAllPrice:" + SkuAllPrice + "," +
|
||
"allSkuTypeCount:" + AllSkuTypeCount + "," +
|
||
"allSkuCount:" + AllSkuCount + "," +
|
||
"storeName:" + StoreName + "," +
|
||
"storeTel:" + StoreTel + "," +
|
||
"officialName:" + OfficialName +
|
||
"}"
|
||
|
||
Sound = `<br><sound>%s</sound><br>`
|
||
|
||
EBailOrderNo = `<center><b>%s</b></center><br><br>
|
||
<center>手机买菜上京西</center><br>
|
||
<center>极速到家送惊喜</center><br>
|
||
--------------------------------<br>`
|
||
PayOrderTime = ` <b>下单时间: %s</b><br>`
|
||
TrySendTime = ` <b>预计送达: %s</b><br>`
|
||
OrderNo = ` <b>订单编号: %s</b><br>`
|
||
BusinessType = `<center><b>预订单</b></center><br>`
|
||
|
||
VendorName = `<br><b>%s`
|
||
EBaiCode = `#%s</b><br>`
|
||
|
||
QRCOrder = `<qrc>%s</qrc><br>`
|
||
EBaiVendorName = `<b>%s:`
|
||
EBaiOrderNo = `%s</b><br><br>`
|
||
ConsigneeName = ` <b>客户: %s<br>`
|
||
ConsigneeMobile = ` <b>电话: %s<br>`
|
||
ConsigneeAddress = ` <b>地址: %s<br><br>`
|
||
|
||
BuyerComment = ` <b>客户备注:</b><br><b>%s</b><br><br>
|
||
商品明细:<br>
|
||
品名 数量 单价 小计<br>
|
||
--------------------------------<br>`
|
||
SkuName = `<b>%s</b><br>`
|
||
SkuNumber = `<b>x%s</b>`
|
||
SkuPrice = ` <b>¥%s</b>`
|
||
SkuAllPrice = ` <b>¥%s</b><br>`
|
||
|
||
AllSkuTypeCount = `<br><br><b>共%s种,`
|
||
AllSkuCount = `%s件商品</b><br>--------------------------------<br>`
|
||
|
||
StoreName = `<center><b>商品质量问题请联系:</b></center><br>
|
||
<center><b>%s:`
|
||
StoreTel = `%s</b></center><br><br>
|
||
更多信息请关注官方微信: `
|
||
|
||
OfficialName = `<b>%s</b><br><br><br>
|
||
--------------------------------<br>
|
||
--------------------------------<br><br>`
|
||
)
|
||
|
||
// 小字体系统模板
|
||
const (
|
||
// 模板开始
|
||
tempBegin = `
|
||
<center><b>%s</b></center>
|
||
<br>
|
||
<br>
|
||
<center>手机买菜上京西</center>
|
||
<br>
|
||
<center>极速到家送惊喜</center>
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
下单时间: %s
|
||
<br>
|
||
预计送达: %s
|
||
<br>
|
||
订单编号: %s
|
||
<br>`
|
||
// 是否为预订单
|
||
tempBusiness = `<center><b>预订单</b></center><br>`
|
||
tempBegin2 = `
|
||
<br>
|
||
<b>%s#%s</b>
|
||
<br>
|
||
<qrc>%s</qrc>
|
||
<br>`
|
||
tempEBail = `<b>饿百取货码%s:%s</b><br><br>`
|
||
tempBegin3 = `
|
||
<br>
|
||
<br>
|
||
客户: %s
|
||
<br>
|
||
电话: %s
|
||
<br>
|
||
地址: %s
|
||
<br>
|
||
<br>
|
||
客户备注:
|
||
<br>
|
||
<b>%s</b>
|
||
<br>
|
||
<br>
|
||
商品明细:
|
||
<br>
|
||
品名 数量 单价 小计
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
`
|
||
// 模板结束
|
||
tempEnd = `<br>
|
||
<br>
|
||
共%s种,%s件商品
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
<center><hb>商品质量问题请联系:</hb></center>
|
||
<br>
|
||
<center><hb>%s:%s</hb></center>
|
||
<br>
|
||
<br>
|
||
更多信息请关注官方微信: %s
|
||
<br>
|
||
<br>
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
<br>
|
||
`
|
||
|
||
// 模板商品
|
||
skuListTemp = `%s
|
||
<br>
|
||
x%s ¥%s ¥%s
|
||
<br>
|
||
`
|
||
soundTemp = `<br><sound>%s</sound>`
|
||
)
|
||
|
||
// 中字体系统模板
|
||
const (
|
||
// 模板开始
|
||
tempBeginMiddle = `
|
||
<center><b>%s</b></center>
|
||
<br>
|
||
<br>
|
||
<center>手机买菜上京西</center>
|
||
<br>
|
||
<center>极速到家送惊喜</center>
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
<wb>下单时间: %s</wb>
|
||
<br>
|
||
<wb>预计送达: %s</wb>
|
||
<br>
|
||
<wb>订单编号: %s</wb>
|
||
<br>`
|
||
// 是否为预订单
|
||
tempBusinessMiddle = `<center><b>预订单</b></center><br>`
|
||
tempBegin2Middle = `
|
||
<br>
|
||
<b>%s#%s</b>
|
||
<br>
|
||
<qrc>%s</qrc>
|
||
<br>`
|
||
tempEBailMiddle = `<b>%s:%s</b><br><br>`
|
||
tempBegin3Middle = `
|
||
<br>
|
||
<br>
|
||
<wb>客户: %s</wb>
|
||
<br>
|
||
<wb>电话: %s</wb>
|
||
<br>
|
||
<wb>地址: %s</wb>
|
||
<br>
|
||
<br>
|
||
<wb>客户备注:</wb>
|
||
<br>
|
||
<b>%s</b>
|
||
<br>
|
||
<br>
|
||
<wb>商品明细:</wb>
|
||
<br>
|
||
品名 数量 单价 小计
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
`
|
||
// 模板结束
|
||
tempEndMiddle = `<br>
|
||
<br>
|
||
<wb>共%s种,%s件商品</wb>
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
<center><hb>商品质量问题请联系:</hb></center>
|
||
<br>
|
||
<center><hb>%s:%s</hb></center>
|
||
<br>
|
||
<br>
|
||
更多信息请关注官方微信: %s
|
||
<br>
|
||
<br>
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
<br>
|
||
`
|
||
|
||
// 模板商品
|
||
skuListTempMiddle = `<wb>%s</wb>
|
||
<br>
|
||
<wb>x%s</wb> <wb>¥%s</wb> <wb>¥%s</wb>
|
||
<br>
|
||
`
|
||
)
|
||
|
||
// 大字体系统模板
|
||
const (
|
||
// 模板开始
|
||
tempBeginBig = `
|
||
<center><b>%s</b></center>
|
||
<br>
|
||
<br>
|
||
<center>手机买菜上京西</center>
|
||
<br>
|
||
<center>极速到家送惊喜</center>
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
<b>下单时间: %s</b>
|
||
<br>
|
||
<b>预计送达: %s</b>
|
||
<br>
|
||
<b>订单编号: %s</b>
|
||
<br>`
|
||
// 是否为预订单
|
||
tempBusinessBig = `<center><b>预订单</b></center><br>`
|
||
tempBegin2Big = `
|
||
<br>
|
||
<b>%s#%s</b>
|
||
<br>
|
||
<qrc>%s</qrc>
|
||
<br>`
|
||
tempEBailBig = `<b>%s:%s</b><br><br>`
|
||
tempBegin3Big = `
|
||
<br>
|
||
<br>
|
||
<b>客户: %s</b>
|
||
<br>
|
||
<b>电话: %s</b>
|
||
<br>
|
||
<b>地址: %s</b>
|
||
<br>
|
||
<br>
|
||
<b>客户备注:</b>
|
||
<br>
|
||
<b>%s</b>
|
||
<br>
|
||
<br>
|
||
<b>商品明细:</b>
|
||
<br>
|
||
品名 数量 单价 小计
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
`
|
||
// 模板结束
|
||
tempEndBig = `<br>
|
||
<br>
|
||
<b>共%s种,%s件商品</b>
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
<center><b>商品质量问题请联系:</b></center>
|
||
<br>
|
||
<center><b>%s:%s</b></center>
|
||
<br>
|
||
<br>
|
||
更多信息请关注官方微信: %s
|
||
<br>
|
||
<br>
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
--------------------------------
|
||
<br>
|
||
<br>
|
||
`
|
||
|
||
// 模板商品
|
||
skuListTempBig = `<b>%s</b>
|
||
<br>
|
||
<b>x%s</b> <b>¥%s</b> <b>¥%s</b>
|
||
<br>
|
||
`
|
||
)
|
||
|
||
type SkuListPrintOrder struct {
|
||
SkuName string `json:"skuName"` // 商品名称
|
||
SkuCount string `json:"skuCount"` // 商品数量
|
||
SalePrice string `json:"salePrice"` // 单价
|
||
TotalCountPrice string `json:"totalCountPrice"` // 总价
|
||
Upc string `json:"upc"` // 条形码
|
||
}
|
||
|
||
type JXPrintData struct {
|
||
EBailOrderNo string `json:"e_bail_order_no"` // 饿百取货码(品牌名称)
|
||
BusinessType string `json:"business_type"` // 是否为预定单 2-是/1-否
|
||
PayOrderTime string `json:"pay_order_time"` // 下单时间
|
||
TrySendTime string `json:"try_send_time"` // 预计送达时间
|
||
OrderNo string `json:"order_no"` // 订单编号
|
||
VendorName string `json:"vendor_name"` // 订单来源平台名称
|
||
VendorID string `json:"vendor_id"` // 订单来源平台Id
|
||
VendorOrderNo string `json:"vendor_order_no"` // 订单序号
|
||
EBaiCode string `json:"e_bai_code"` // 饿百取货码
|
||
QRCOrder string `json:"qrc_order"` // 订单二维码单号,还是订单Id
|
||
ConsigneeName string `json:"consignee_name"` // 客户名称
|
||
ConsigneeMobile string `json:"consignee_mobile"` // 客户电话
|
||
ConsigneeAddress string `json:"consignee_address"` // 客户地址
|
||
BuyerComment string `json:"buyer_comment"` // 客户备注
|
||
SkuList []*SkuListPrintOrder `json:"sku_list"` // 商品列表
|
||
SkuName string `json:"sku_name"` // 商品名称
|
||
SkuCount string `json:"sku_count"` // 商品件数
|
||
SkuOnePrice string `json:"sku_one_price"` // 商品单价
|
||
SkuAllPrice string `json:"sku_all_price"` // 商品总价 = 商品件数 x 商品件数
|
||
AllSkuTypeCount string `json:"all_sku_type_count"` // 商品种类
|
||
AllSkuCount string `json:"all_sku_count"` // 商品总数量
|
||
UserPayMoney string `json:"user_pay_money"` // 用户支付
|
||
StoreName string `json:"store_name"` // 门店名称
|
||
StoreTel string `json:"store_tel"` // 门店电话
|
||
OfficialName string `json:"official_name"` // 官方名称
|
||
BigFont string `json:"big_font"` // 是否为大字体
|
||
PrintNumber string `json:"print_number"` // 打印次数
|
||
}
|