info
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
const uniPayOrders = require("./uniPayOrders");
|
||||
const uniIdUsers = require("./uniIdUsers");
|
||||
const opendbOpenData = require("./opendbOpenData");
|
||||
module.exports = {
|
||||
uniPayOrders,
|
||||
uniIdUsers,
|
||||
opendbOpenData
|
||||
};
|
||||
@@ -0,0 +1,104 @@
|
||||
const dbName = {
|
||||
openData: "opendb-open-data" // 数据库表名 - 缓存表
|
||||
}
|
||||
|
||||
const db = uniCloud.database();
|
||||
const _ = db.command;
|
||||
|
||||
var dao = {};
|
||||
|
||||
/**
|
||||
* 获取
|
||||
let cacheInfo = await dao.opendbOpenData.get(key);
|
||||
*/
|
||||
dao.get = async (key) => {
|
||||
let res = await db.collection(dbName.openData).doc(key).get();
|
||||
let cacheInfo = res.data && res.data.length > 0 ? res.data[0] : null;
|
||||
if (!cacheInfo) {
|
||||
// 缓存不存在
|
||||
return null;
|
||||
}
|
||||
if (cacheInfo.expired > 0 && Date.now() > cacheInfo.expired) {
|
||||
// 缓存过期了
|
||||
return null;
|
||||
}
|
||||
// 缓存存在且未过期
|
||||
let value;
|
||||
try {
|
||||
value = JSON.parse(cacheInfo.value);
|
||||
} catch (err) {
|
||||
value = cacheInfo.value;
|
||||
}
|
||||
return value;
|
||||
};
|
||||
|
||||
/**
|
||||
* 设置缓存
|
||||
await dao.opendbOpenData.set(key, value, expired);
|
||||
*/
|
||||
dao.set = async (key, value, expired = 0) => {
|
||||
if (expired > 0) {
|
||||
expired = Date.now() + expired * 1000;
|
||||
}
|
||||
let res = await db.collection(dbName.openData).doc(key).set({
|
||||
value: JSON.stringify(value),
|
||||
expired
|
||||
});
|
||||
return res.id ? res.id : null;
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取accessToken
|
||||
let cacheInfo = await dao.opendbOpenData.getAccessToken({
|
||||
appId: "wx123",
|
||||
platform: "weixin-mp"
|
||||
});
|
||||
*/
|
||||
dao.getAccessToken = async (key = {}) => {
|
||||
let { appId, platform } = key;
|
||||
let cacheKey = `uni-id:${platform}:${appId}:access-token`;
|
||||
return await dao.get(cacheKey);
|
||||
};
|
||||
/**
|
||||
* 获取accessToken
|
||||
await dao.opendbOpenData.setAccessToken({
|
||||
appId: "wx123",
|
||||
platform: "weixin-mp"
|
||||
}, value, expired);
|
||||
*/
|
||||
dao.setAccessToken = async (key, value, expired) => {
|
||||
let { appId, platform } = key;
|
||||
let cacheKey = `uni-id:${platform}:${appId}:access-token`;
|
||||
return await dao.set(cacheKey, value, expired);
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取sessionKey
|
||||
let cacheInfo = await dao.opendbOpenData.getSessionKey({
|
||||
appId: "wx123",
|
||||
platform: "weixin-mp",
|
||||
openid: "o123"
|
||||
});
|
||||
*/
|
||||
dao.getSessionKey = async (key = {}) => {
|
||||
let { appId, platform, openid } = key;
|
||||
let cacheKey = `uni-id:${platform}:${appId}:${openid}:session-key`;
|
||||
return await dao.get(cacheKey);
|
||||
};
|
||||
/**
|
||||
* 设置sessionKey
|
||||
await dao.opendbOpenData.setSessionKey({
|
||||
appId: "wx123",
|
||||
platform: "weixin-mp",
|
||||
openid: "o123"
|
||||
}, value, expired);
|
||||
*/
|
||||
dao.setSessionKey = async (key = {}, value, expired) => {
|
||||
let { appId, platform, openid } = key;
|
||||
let cacheKey = `uni-id:${platform}:${appId}:${openid}:session-key`;
|
||||
return await dao.set(cacheKey, value, expired);
|
||||
};
|
||||
|
||||
|
||||
|
||||
module.exports = dao;
|
||||
@@ -0,0 +1 @@
|
||||
dao名词解释:Data Access Object
|
||||
@@ -0,0 +1,25 @@
|
||||
const dbName = {
|
||||
user: "uni-id-users"
|
||||
}
|
||||
|
||||
const db = uniCloud.database();
|
||||
const _ = db.command;
|
||||
|
||||
var dao = {};
|
||||
|
||||
|
||||
/**
|
||||
* 获取 - 第三方支付订单数据
|
||||
let userInfo = await dao.uniIdUsers.findById(id);
|
||||
*/
|
||||
dao.findById = async (id) => {
|
||||
let res = await db.collection(dbName.user).doc(id).get();
|
||||
if (res.data && res.data.length > 0) {
|
||||
return res.data[0];
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
return res;
|
||||
};
|
||||
|
||||
module.exports = dao;
|
||||
@@ -0,0 +1,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;
|
||||
Reference in New Issue
Block a user