cshenfu
2024-06-27 58aa6e282bb343503be3cb198948328ea3ed7b79
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
109
110
/**
 * 第三方支付相关数据库操作
 * 请勿修改此处代码,因为插件更新后此处代码会被覆盖。
 * 作者:VK
 */
const dbNamePayOrders = "uni-pay-orders"; // 数据库表名 - 第三方支付订单表
 
const fnUtil = require('../fnUtil');
 
const db = uniCloud.database();
const _ = db.command;
var dao = {};
 
/**
 * 添加 - 第三方支付订单数据
await payDao.addPayOrders({
    status: 0,
    pay_type : payType,
    out_trade_no : outTradeNo,
    openid : openid,
    totalFee : totalFee,
    appid : appId,
    original_data : event.body,
    wxpay_info : wxpay_info,
    alipay_info : alipay_info,
    user_order_success: userOrderSuccess
});
 */
dao.addPayOrders = async (dataJson = {}) => {
  // 数据库操作开始-----------------------------------------------------------
  let date = new Date();
  let _add_time = date.getTime();
  let _add_time_str = fnUtil.timeFormat(date, "yyyy-MM-dd hh:mm:ss");
  let res = await db.collection(dbNamePayOrders).add({
    _add_time,
    _add_time_str,
    ...dataJson
  });
  // 数据库操作结束-----------------------------------------------------------
  return res.id ? res.id : null;
};
 
/**
 * 获取 - 第三方支付订单数据
await payDao.findPayOrdersByOutTradeNo(outTradeNo);
 */
dao.findPayOrdersByOutTradeNo = async (out_trade_no = "___") => {
  let res = await db.collection(dbNamePayOrders)
    .where({
      out_trade_no
    })
    .limit(1)
    .get();
  if (res.data && res.data.length > 0) {
    return res.data[0];
  } else {
    return null;
  }
  return res;
};
 
/**
 * 修改 - 第三方支付订单数据
await payDao.updatePayOrdersById(id, {
 
});
 */
dao.updatePayOrdersById = async (id = "___", dataJson) => {
  // 数据库操作开始-----------------------------------------------------------
  let res = await db.collection(dbNamePayOrders).doc(id).update(dataJson);
  // 数据库操作结束-----------------------------------------------------------
  return res ? res.updated : 0;
};
/**
 * 修改 - 第三方支付订单数据
await payDao.updatePayOrdersByWhereJson({
  whereJson:{
    status:0,
    out_trade_no
  },
  dataJson:{
 
  }
});
 */
dao.updatePayOrdersByWhereJson = async (obj) => {
  let { whereJson, dataJson } = obj;
  // 数据库操作开始-----------------------------------------------------------
  let res = await db.collection(dbNamePayOrders).where(whereJson).update(dataJson);
  // 数据库操作结束-----------------------------------------------------------
  return res ? res.updated : 0;
};
/**
 * 删除超过1天还未支付款的订单
await payDao.deleteExpPayOrders();
 */
dao.deleteExpPayOrders = async () => {
  // 数据库操作开始-----------------------------------------------------------
  let time = new Date().getTime() - 1000 * 3600 * 24;
  let res = await db.collection(dbNamePayOrders)
    .where({
      status: 0,
      _add_time: _.lt(time)
    })
    .remove();
  // 数据库操作结束-----------------------------------------------------------
  return res ? res.updated : 0;
};
 
module.exports = dao;