const dayjs = require("dayjs"); const bignumber = require('bignumber.js'); exports.formatFengniaoOrderData = function (order, pickupCode) { const goods_count = order.drugs.reduce((count, item) => { return count + item.quantity; }, 0) const goods_total_amount_cent = order.drugs.reduce((total, item) => { return total.plus(item.totalPrice * 100); }, new bignumber(0)) return { partner_order_code: order.orderNo, receiver_primary_phone: order.receivePhone, goods_count, out_shop_code: process.env.CONFIG_FENGNIAO_OUT_SHOP_CODE, receiver_latitude: order.receiveLatitude, goods_total_amount_cent: goods_total_amount_cent, receiver_name: order.receiveName, goods_weight: 1, goods_item_list: order.drugs.map((med) => ({ item_actual_amount_cent: med.totalPrice * 100, item_amount_cent: med.totalPrice * 100, item_name: med.drugName, item_quantity: med.quantity, })), serial_number: pickupCode, goods_actual_amount_cent: goods_total_amount_cent, receiver_longitude: order.receiveLongitude, receiver_address: `${order.receiveRegion.join('')}${order.receiveAddress}`, } } exports.formatEMSOrderData = function (order) { return [ { createdTime: dayjs().format('YYYY-MM-DD HH:mm:ss'), ecommerceUserId: "ZYTZYY", senderNo: process.env.CONFIG_EMS_SENDER_NO, logisticsOrderNo: order.orderNo, batchNo: "1", waybillNo: "", oneBillFlag: "0", oneBillNum: "1", submailNo: "", oneBillFeeType: "1", contentsAttribute: "3", productType: "1", bizProductNo: "1", weight: "",//500 volume: "",//200 length: "",// width: "",// height: "", postageTotal: "",// pickupNotes: "", insuranceFlag: "1", insuranceAmount: "", paymentMode: "1", codFlag: "9", codAmount: "", sender: { name: "震元堂中医院", postCode: "", phone: "", mobile: "15957525904", prov: "浙江省", city: "绍兴市", county: "越城区", address: "胜利西路657号主楼3层" }, receiver: { name: order.receiveName, postCode: "", phone: order.receivePhone, mobile: order.receivePhone, prov: order.receiveRegion[0], city: order.receiveRegion[1], county: order.receiveRegion[2], address: order.receiveAddress }, cargos: order.drugs.map((med) => ({ cargoName: med.drugName, cargoCategory: "", cargoQuantity: med.quantity, cargoValue: med.price, cargoWeight: "", })), } ] } exports.formatEMSOrderData1 = function (order) { const paymentAmount = order.drugs.reduce((total, item) => { return total.plus(item.totalPrice); }, new bignumber(0)) return { uleShareUserId: process.env.CONFIG_EMS_SHARE_USER_ID, merchatOrderNo: order.orderNo, paymentAmount, orderCreateTime: dayjs().format('YYYYMMDDHHmmss'), paymentTime: dayjs().format('YYYYMMDDHHmmss'), logisticsOrder: `${order.receiveRegion.join('')}${order.receiveAddress}`, customerName: order.receiveName, customerMobile: order.receivePhone, items: [ ...order.drugs.map(i => ({ itemId: i.chargeCode, itemName: i.drugName, itemPrice: i.price, buyNum: i.quantity })) ] } }