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, "", "", -1)
medium2 := strings.Replace(medium, "", "", -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, "", " ", -1)
medium2 := strings.Replace(medium, "", " ", -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 = `
%s
`
EBailOrderNo = `
%s
手机买菜上京西
极速到家送惊喜
--------------------------------
`
PayOrderTime = ` 下单时间: %s
`
TrySendTime = ` 预计送达: %s
`
OrderNo = ` 订单编号: %s
`
BusinessType = `预订单
`
VendorName = `
%s`
EBaiCode = `#%s
`
QRCOrder = `%s
`
EBaiVendorName = `%s:`
EBaiOrderNo = `%s
`
ConsigneeName = ` 客户: %s
`
ConsigneeMobile = ` 电话: %s
`
ConsigneeAddress = ` 地址: %s
`
BuyerComment = ` 客户备注:
%s
商品明细:
品名 数量 单价 小计
--------------------------------
`
SkuName = `%s
`
SkuNumber = `x%s`
SkuPrice = ` ¥%s`
SkuAllPrice = ` ¥%s
`
AllSkuTypeCount = `
共%s种,`
AllSkuCount = `%s件商品
--------------------------------
`
StoreName = `商品质量问题请联系:
%s:`
StoreTel = `%s
更多信息请关注官方微信: `
OfficialName = `%s
--------------------------------
--------------------------------
`
)
// 小字体系统模板
const (
// 模板开始
tempBegin = `
%s
手机买菜上京西
极速到家送惊喜
--------------------------------
下单时间: %s
预计送达: %s
订单编号: %s
`
// 是否为预订单
tempBusiness = `预订单
`
tempBegin2 = `
%s#%s
%s
`
tempEBail = `饿百取货码%s:%s
`
tempBegin3 = `
客户: %s
电话: %s
地址: %s
客户备注:
%s
商品明细:
品名 数量 单价 小计
--------------------------------
`
// 模板结束
tempEnd = `
共%s种,%s件商品
--------------------------------
商品质量问题请联系:
%s:%s
更多信息请关注官方微信: %s
--------------------------------
--------------------------------
`
// 模板商品
skuListTemp = `%s
x%s ¥%s ¥%s
`
soundTemp = `
%s`
)
// 中字体系统模板
const (
// 模板开始
tempBeginMiddle = `
%s
手机买菜上京西
极速到家送惊喜
--------------------------------
下单时间: %s
预计送达: %s
订单编号: %s
`
// 是否为预订单
tempBusinessMiddle = `预订单
`
tempBegin2Middle = `
%s#%s
%s
`
tempEBailMiddle = `%s:%s
`
tempBegin3Middle = `
客户: %s
电话: %s
地址: %s
客户备注:
%s
商品明细:
品名 数量 单价 小计
--------------------------------
`
// 模板结束
tempEndMiddle = `
共%s种,%s件商品
--------------------------------
商品质量问题请联系:
%s:%s
更多信息请关注官方微信: %s
--------------------------------
--------------------------------
`
// 模板商品
skuListTempMiddle = `%s
x%s ¥%s ¥%s
`
)
// 大字体系统模板
const (
// 模板开始
tempBeginBig = `
%s
手机买菜上京西
极速到家送惊喜
--------------------------------
下单时间: %s
预计送达: %s
订单编号: %s
`
// 是否为预订单
tempBusinessBig = `预订单
`
tempBegin2Big = `
%s#%s
%s
`
tempEBailBig = `%s:%s
`
tempBegin3Big = `
客户: %s
电话: %s
地址: %s
客户备注:
%s
商品明细:
品名 数量 单价 小计
--------------------------------
`
// 模板结束
tempEndBig = `
共%s种,%s件商品
--------------------------------
商品质量问题请联系:
%s:%s
更多信息请关注官方微信: %s
--------------------------------
--------------------------------
`
// 模板商品
skuListTempBig = `%s
x%s ¥%s ¥%s
`
)
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"` // 打印次数
}