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/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 ) type SkuListPrintOrder struct { SkuName string `json:"skuName"` SkuCount string `json:"skuCount"` SalePrice string `json:"salePrice"` // 单价 TotalCountPrice string `json:"totalCountPrice"` // 总价 Upc string `json:"upc"` // 条形码 } // ManagerOrderAndStore 京西云参数组装 func ManagerOrderAndStore(order *model.GoodsOrder, storeTel string, storeDetail *dao.StoreDetail) 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] = 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: utils.Int64ToStr(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] = utils.Int64ToStr(order.ActualPayPrice) printOrder[StoreName] = order.StoreName printOrder[StoreTel] = storeTel printOrder[OfficialName] = globals.StoreName return printOrder }