22 lines
1009 B
TypeScript
22 lines
1009 B
TypeScript
import { handlePassRequest, passFailure } from '@/passCheckService';
|
|
import cloud from '@lafjs/cloud'
|
|
const db = cloud.database();
|
|
export default async function (ctx: FunctionContext) {
|
|
let outTradeNo = ctx.body.outTradeNo;
|
|
if (!outTradeNo) {
|
|
return { code: 0, data: null, msg: "未获取到outTradeNo" };
|
|
}
|
|
const order = await db.collection("order").where({ outTradeNo: outTradeNo }).getOne();
|
|
if (!order.data) {
|
|
return { code: 0, data: null, msg: "未获取到充值订单" };
|
|
}
|
|
if (order.data.passOrder) {
|
|
try { return await handlePassRequest(db, { ...ctx.body, action: 'reconcile_order' }); } catch (e) { return passFailure(e); }
|
|
}
|
|
// 月卡由 monthlyCard 在成功加时后完成订单,避免两次请求之间断线导致无法补发。
|
|
if (order.data.itemid !== "month_Card") {
|
|
await db.collection("order").where({ outTradeNo: outTradeNo }).update({ state: 2, getTime: new Date(Date.now() + 8 * 3600000) });
|
|
}
|
|
return { code: 1, data: "ok", msg: "成功" };
|
|
}
|