Files
jx-callback/business/partner/printer/jxprint/jxprint_const.go
邹宗楠 c8f3265bcb 1
2022-12-16 22:17:08 +08:00

167 lines
7.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package jxprint
import (
"encoding/json"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxutils"
"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"
)
const (
EBailOrderNo = "eBaiOrderNo" // 品牌名称
BusinessType = "businessType" // 是否为预定单
PayOrderTime = "payOrderTime" // 下单时间
TrySendTime = "trySendTime" // 预计送达时间
OrderNo = "orderNo" // 订单编号
VendorName = "vendorName" // 订单来源平台名称
VendorID = "vendorID" // 订单来源平台id
VendorOrderNo = "vendorOrderNo" // 订单序号1/2/
EBaiCode = "eBailCode" // 饿百取货码
QRCOrder = "qrcOrder" // 订单二维码单号还是订单Id
ConsigneeName = "consigneeName" // 客户名称
ConsigneeMobile = "consigneeMobile" // 客户电话
ConsigneeAddress = "consigneeAddress" // 客户地址
BuyerComment = "buyerComment" // 客户备注
SkuList = "skuList" // 商品列表
SkuName = "skuName" // 商品名称
SkuCount = "skuCount" // 商品件数
SkuOnePrice = "skuOnePrice" // 商品单价
SkuAllPrice = "skuAllPrice" // 商品总价 = 商品件数 x 商品件数
AllSkuTypeCount = "allSkuTypeCount" // 商品种类
AllSkuCount = "allSkuCount" // 商品总数量
UserPayMoney = "userPayMoney" // 用户支付
StoreName = "storeName" // 门店名称
StoreTel = "storeTel" // 门店电话
OfficialName = "officialName" // 官方名称
BigFont = "bigFont" // 是否为大字体
PrintNumber = "printNumber" // 打印次数
AppID = "appId" // 应用id
// 状态对应打印设置的变化
OrderStatus = "orderStatus" // 订单状态
WayBillStatus = "wayBillStatus" // 运单状态
StoreStatus = "storeStatus" // 门店状态
ReminderStatus = "reminderStatus" // 催单状态
AfsOrderStatus = "afsOrderStatus" // 售后
RiderVendorId = "riderVendorId" // 骑手所属平台id
RiderName = "riderName" // 骑手名称
RiderPhone = "riderPhone" // 骑手电话
RejectionReason = "rejectionReason" // 拒收原因
CustcareRefundReason = "custcareRefundReason" // 客服退款理由
EnterTheStore = "enterTheStore" // 催单
)
type SkuListPrintOrder struct {
SkuName string `json:"skuName"`
SkuCount string `json:"skuCount"`
SalePrice string `json:"salePrice"` // 单价
TotalCountPrice string `json:"totalCountPrice"` // 总价
Upc string `json:"upc"` // 条形码
}
// ManagerOrderPrint 京西云参数组装(订单参数)
func ManagerOrderPrint(order *model.GoodsOrder, storeTel string, storeDetail *dao.StoreDetail, printType string, afsOrder *model.AfsOrder) map[string]string {
printOrder := make(map[string]string, 0)
skuList := make([]*SkuListPrintOrder, 0, 0)
// 获取品牌名称
if storeDetail != nil && storeDetail.BrandIsPrint == model.NO {
if order.VendorOrgCode == "34665" {
printOrder[EBailOrderNo] = globals.StoreNameEbai2
} else {
printOrder[EBailOrderNo] = storeDetail.BrandName
}
}
// 是否为预定单
if order.BusinessType == model.BusinessTypeDingshida {
printOrder[BusinessType] = utils.Int2Str(model.BusinessTypeDingshida)
} else {
printOrder[BusinessType] = utils.Int2Str(model.BusinessTypeImmediate)
}
printOrder[PayOrderTime] = utils.Time2Str(order.OrderCreatedAt)
printOrder[TrySendTime] = utils.Time2Str(order.ExpectedDeliveredTime)
printOrder[OrderNo] = order.VendorOrderID
printOrder[VendorID] = utils.Int2Str(order.VendorID)
printOrder[VendorName] = jxutils.GetVendorName(order.VendorID)
printOrder[VendorOrderNo] = utils.Int2Str(order.OrderSeq)
printOrder[EBaiCode] = jxutils.GetEbaiOrderGetCode(order)
printOrder[QRCOrder] = utils.Int2Str(order.VendorOrderID)
printOrder[ConsigneeName] = order.ConsigneeName
printOrder[ConsigneeMobile] = order.ConsigneeMobile
printOrder[ConsigneeAddress] = order.ConsigneeAddress
printOrder[BuyerComment] = order.BuyerComment
// 商品列表
for _, sku := range order.Skus {
skuList = append(skuList, &SkuListPrintOrder{
SkuName: sku.SkuName,
SkuCount: "X" + utils.Int2Str(sku.Count),
SalePrice: jxutils.IntPrice2StandardCurrencyString(sku.SalePrice),
TotalCountPrice: jxutils.IntPrice2StandardCurrencyString(sku.SalePrice * int64(sku.Count)),
Upc: sku.Upc,
})
}
skuListByte, _ := json.Marshal(skuList)
printOrder[SkuList] = string(skuListByte)
printOrder[AllSkuTypeCount] = utils.Int2Str(order.SkuCount)
printOrder[AllSkuCount] = utils.Int2Str(order.GoodsCount)
printOrder[UserPayMoney] = jxutils.IntPrice2StandardCurrencyString(order.ActualPayPrice)
printOrder[StoreName] = order.StoreName
printOrder[StoreTel] = storeTel
printOrder[OfficialName] = globals.StoreName
if order.WaybillVendorID != -1 && order.VendorWaybillID != "" {
bill, _ := partner.CurOrderManager.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID)
//printOrder[StoreStatus] = utils.Int2Str(storeDetail.Status)
printOrder[RiderVendorId] = utils.Int2Str(bill.WaybillVendorID)
printOrder[RiderName] = bill.CourierName
printOrder[RiderPhone] = bill.CourierMobile
}
if printType == "afs" {
printOrder[AfsOrderStatus] = utils.Int2Str(afsOrder.Status)
printOrder[RejectionReason] = afsOrder.VendorReasonType
printOrder[AfsOrderStatus] = utils.Int2Str(afsOrder.Status)
printOrder[CustcareRefundReason] = afsOrder.ReasonDesc
}
return printOrder
}
// ManageWayBillPrint 组装运单打印数据
//func ManageWayBillPrint(order *model.GoodsOrder, storeTel string, storeDetail *dao.StoreDetail) map[string]string {
// printOrder := make(map[string]string, 0)
// // 获取品牌名称
// if storeDetail != nil && storeDetail.BrandIsPrint == model.NO {
// if order.VendorOrgCode == "34665" {
// printOrder[EBailOrderNo] = globals.StoreNameEbai2
// } else {
// printOrder[EBailOrderNo] = storeDetail.BrandName
// }
// }
//
// printOrder[VendOrID] = utils.Int2Str(order.VendorID)
// printOrder[VendorName] = jxutils.GetVendorName(order.VendorID)
// printOrder[StoreName] = order.StoreName
// printOrder[StoreTel] = storeTel
// printOrder[OfficialName] = globals.StoreName
// return printOrder
//}
//
//// ManagerStore 送达提示数据组装
//func ManagerStore(order *model.GoodsOrder, storeTel string, storeDetail *dao.StoreDetail) map[string]string {
// printOrder := make(map[string]string, 0)
// printOrder[OrderNo] = order.VendorOrderID
// printOrder[VendorOrderNo] = utils.Int2Str(order.VendorID)
// printOrder[VendorName] = jxutils.GetVendorName(order.VendorID)
// printOrder[StoreName] = order.StoreName
// printOrder[StoreTel] = storeTel
// return printOrder
//}
//
//// ManagerEnterTheStore 进店咨询
//func ManagerEnterTheStore(order *model.GoodsOrder, storeTel string, storeDetail *dao.StoreDetail) map[string]string {
// printOrder := make(map[string]string, 0)
// return printOrder
//}