uniPayOrders.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. const dbName = {
  2. payOrders: "uni-pay-orders" // 数据库表名 - 第三方支付订单表
  3. }
  4. const db = uniCloud.database();
  5. const _ = db.command;
  6. var dao = {};
  7. /**
  8. * 添加 - 第三方支付订单数据
  9. await dao.uniPayOrders.add({
  10. });
  11. */
  12. dao.add = async (dataJson = {}) => {
  13. // 数据库操作开始-----------------------------------------------------------
  14. let res = await db.collection(dbName.payOrders).add(dataJson);
  15. // 数据库操作结束-----------------------------------------------------------
  16. return res.id ? res.id : null;
  17. };
  18. /**
  19. * 获取 - 第三方支付订单数据
  20. let payOrderInfo = await dao.uniPayOrders.find({
  21. order_no,
  22. out_trade_no
  23. });
  24. */
  25. dao.find = async (where) => {
  26. let res = await db.collection(dbName.payOrders)
  27. .where(where)
  28. .limit(1)
  29. .get();
  30. if (res.data && res.data.length > 0) {
  31. return res.data[0];
  32. } else {
  33. return null;
  34. }
  35. return res;
  36. };
  37. /**
  38. * 修改 - 第三方支付订单数据
  39. await dao.uniPayOrders.updateById(id, {
  40. });
  41. */
  42. dao.updateById = async (id = "___", dataJson) => {
  43. // 数据库操作开始-----------------------------------------------------------
  44. let res = await db.collection(dbName.payOrders).doc(id).update(dataJson);
  45. // 数据库操作结束-----------------------------------------------------------
  46. return res ? res.updated : 0;
  47. };
  48. /**
  49. * 修改 - 第三方支付订单数据
  50. await dao.uniPayOrders.update({
  51. whereJson:{
  52. },
  53. dataJson:{
  54. }
  55. });
  56. */
  57. dao.update = async (obj) => {
  58. let { whereJson, dataJson } = obj;
  59. // 数据库操作开始-----------------------------------------------------------
  60. let res = await db.collection(dbName.payOrders).where(whereJson).update(dataJson);
  61. // 数据库操作结束-----------------------------------------------------------
  62. return res ? res.updated : 0;
  63. };
  64. /**
  65. * 修改 - 第三方支付订单数据
  66. await dao.uniPayOrders.updateAndReturn({
  67. whereJson:{
  68. },
  69. dataJson:{
  70. }
  71. });
  72. */
  73. dao.updateAndReturn = async (obj) => {
  74. let { whereJson, dataJson } = obj;
  75. // 数据库操作开始-----------------------------------------------------------
  76. let res = await db.collection(dbName.payOrders).where(whereJson).updateAndReturn(dataJson);
  77. // 数据库操作结束-----------------------------------------------------------
  78. return res.doc ? res.doc : null;
  79. };
  80. /**
  81. * 删除超过3天还未支付款的订单
  82. await dao.uniPayOrders.deleteExpPayOrders();
  83. */
  84. dao.deleteExpPayOrders = async () => {
  85. // 数据库操作开始-----------------------------------------------------------
  86. let time = Date.now() - 1000 * 3600 * 24 * 3;
  87. let res = await db.collection(dbName.payOrders)
  88. .where({
  89. status: _.in([-1,0]),
  90. create_date: _.lt(time)
  91. })
  92. .remove();
  93. // 数据库操作结束-----------------------------------------------------------
  94. return res ? res.updated : 0;
  95. };
  96. module.exports = dao;