cshenfu
2023-06-14 de93aa62c83d6afb9f70cd5a22838375db0a8cbc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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;