114 lines
3.3 KiB
JavaScript
114 lines
3.3 KiB
JavaScript
|
|
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
|
||
|
|
}))
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|