Files
jjx-web/uniCloud-tcb/cloudfunctions/router/service/client/order/kh/getOrCreateNotaryFullPay.js
T
2026-10-08 18:18:21 +08:00

87 lines
2.8 KiB
JavaScript

'use strict';
const notaryPay = require('./util/notaryPay');
module.exports = {
/**
* 获取或创建公证全额支付单
* @url client/order/kh/getOrCreateNotaryFullPay 前端调用的url参数地址
*/
main: async (event) => {
let {data = {}, util} = event;
let {vk} = util;
let res = {code: 0, msg: ''};
const order = await vk.baseDao.findById({
dbName: 'jjx-order',
id: data.id
});
if (!order) return {code: -1, msg: '订单不存在'};
if (!(Number(order.type) > 3 && Number(order.signMethod) === 0)) {
return {code: -1, msg: '当前订单不是公证支付订单'};
}
if (Number(order.notaryPayStatus) === 1) {
return {code: -1, msg: '订单已完成公证支付'};
}
let payRecord = await notaryPay.findFullPayRecord(vk, order._id);
if (payRecord && payRecord.hasPaid) {
await vk.baseDao.updateById({
dbName: 'jjx-order',
id: order._id,
dataJson: {
notaryPayStatus: 1,
notaryPayListId: payRecord._id,
notaryPayOrderNo: payRecord.orderNo,
payStatus: 2
}
});
return {code: -1, msg: '订单已完成公证支付'};
}
if (!payRecord) {
const now = vk.pubfn.timeFormat(new Date(), "yyyy-MM-dd hh:mm:ss");
const dataJson = {
orderId: order._id,
amount: order.offAmount || order.amount,
type: '公证支付',
remark: '买家全额支付到金久信公证平台',
buyerRemark: '',
photos: [],
payerUid: null,
hasPaid: false,
paidVoucher: '',
paidAt: '',
confirmAt: '',
buyerUid: order.uid,
sellerUid: order.sellerUid,
status: 0,
buyerRefuse: false,
refuseReason: null,
buyerPhotos: [],
expressPhoto: [],
isExpress: false,
expressName: null,
expressNo: null,
ext: [],
isNotaryPay: true,
isNotaryFullPay: true,
transferStatus: 0,
sellerConfirm: false,
orderNo: vk.pubfn.createOrderNo("39XU", 24),
applyAt: now,
applyTimestamp: Date.now()
};
const id = await vk.baseDao.add({
dbName: 'jjx-order-pay-list',
dataJson
});
payRecord = {
...dataJson,
_id: id
};
}
res.data = payRecord;
return res;
}
};