109 lines
2.8 KiB
JavaScript
109 lines
2.8 KiB
JavaScript
const dbName = {
|
|
payOrders: "uni-pay-orders" // 数据库表名 - 第三方支付订单表
|
|
}
|
|
|
|
const db = uniCloud.database();
|
|
const _ = db.command;
|
|
|
|
var dao = {};
|
|
|
|
/**
|
|
* 添加 - 第三方支付订单数据
|
|
await dao.uniPayOrders.add({
|
|
|
|
});
|
|
*/
|
|
dao.add = async (dataJson = {}) => {
|
|
// 数据库操作开始-----------------------------------------------------------
|
|
let res = await db.collection(dbName.payOrders).add(dataJson);
|
|
// 数据库操作结束-----------------------------------------------------------
|
|
return res.id ? res.id : null;
|
|
};
|
|
|
|
/**
|
|
* 获取 - 第三方支付订单数据
|
|
let payOrderInfo = await dao.uniPayOrders.find({
|
|
order_no,
|
|
out_trade_no
|
|
});
|
|
*/
|
|
dao.find = async (where) => {
|
|
let res = await db.collection(dbName.payOrders)
|
|
.where(where)
|
|
.limit(1)
|
|
.get();
|
|
if (res.data && res.data.length > 0) {
|
|
return res.data[0];
|
|
} else {
|
|
return null;
|
|
}
|
|
return res;
|
|
};
|
|
|
|
/**
|
|
* 修改 - 第三方支付订单数据
|
|
await dao.uniPayOrders.updateById(id, {
|
|
|
|
});
|
|
*/
|
|
dao.updateById = async (id = "___", dataJson) => {
|
|
// 数据库操作开始-----------------------------------------------------------
|
|
let res = await db.collection(dbName.payOrders).doc(id).update(dataJson);
|
|
// 数据库操作结束-----------------------------------------------------------
|
|
return res ? res.updated : 0;
|
|
};
|
|
/**
|
|
* 修改 - 第三方支付订单数据
|
|
await dao.uniPayOrders.update({
|
|
whereJson:{
|
|
|
|
},
|
|
dataJson:{
|
|
|
|
}
|
|
});
|
|
*/
|
|
dao.update = async (obj) => {
|
|
let { whereJson, dataJson } = obj;
|
|
// 数据库操作开始-----------------------------------------------------------
|
|
let res = await db.collection(dbName.payOrders).where(whereJson).update(dataJson);
|
|
// 数据库操作结束-----------------------------------------------------------
|
|
return res ? res.updated : 0;
|
|
};
|
|
/**
|
|
* 修改 - 第三方支付订单数据
|
|
await dao.uniPayOrders.updateAndReturn({
|
|
whereJson:{
|
|
|
|
},
|
|
dataJson:{
|
|
|
|
}
|
|
});
|
|
*/
|
|
dao.updateAndReturn = async (obj) => {
|
|
let { whereJson, dataJson } = obj;
|
|
// 数据库操作开始-----------------------------------------------------------
|
|
let res = await db.collection(dbName.payOrders).where(whereJson).updateAndReturn(dataJson);
|
|
// 数据库操作结束-----------------------------------------------------------
|
|
return res.doc ? res.doc : null;
|
|
};
|
|
/**
|
|
* 删除超过3天还未支付款的订单
|
|
await dao.uniPayOrders.deleteExpPayOrders();
|
|
*/
|
|
dao.deleteExpPayOrders = async () => {
|
|
// 数据库操作开始-----------------------------------------------------------
|
|
let time = Date.now() - 1000 * 3600 * 24 * 3;
|
|
let res = await db.collection(dbName.payOrders)
|
|
.where({
|
|
status: _.in([-1,0]),
|
|
create_date: _.lt(time)
|
|
})
|
|
.remove();
|
|
// 数据库操作结束-----------------------------------------------------------
|
|
return res ? res.updated : 0;
|
|
};
|
|
|
|
module.exports = dao;
|