17b2d8f117
2、新增用户等级
147 lines
5.1 KiB
JavaScript
147 lines
5.1 KiB
JavaScript
'use strict';
|
|
var vk; // 全局vk实例
|
|
// 涉及的表名
|
|
const dbName = {
|
|
//test: "vk-test", // 测试表
|
|
};
|
|
|
|
var db = uniCloud.database(); // 全局数据库引用
|
|
var _ = db.command; // 数据库操作符
|
|
var $ = _.aggregate; // 聚合查询操作符
|
|
/**
|
|
* 权限注意:访问以下链接查看
|
|
* 文档地址:https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#内置权限
|
|
*/
|
|
var cloudObject = {
|
|
isCloudObject: true, // 标记为云对象模式
|
|
/**
|
|
* 请求前处理,主要用于调用方法之前进行预处理,一般用于拦截器、统一的身份验证、参数校验、定义全局对象等。
|
|
* 文档地址:https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#before-预处理
|
|
*/
|
|
_before: async function () {
|
|
vk = this.vk; // 将vk定义为全局对象
|
|
// let { customUtil, uniID, config, pubFun } = this.getUtil(); // 获取工具包
|
|
},
|
|
/**
|
|
* 请求后处理,主要用于处理本次调用方法的返回结果或者抛出的错误
|
|
* 文档地址:https://vkdoc.fsq.pub/client/uniCloud/cloudfunctions/cloudObject.html#after-后处理
|
|
*/
|
|
_after: async function (options) {
|
|
let {err, res} = options;
|
|
if (err) {
|
|
return; // 如果方法抛出错误,直接return;不处理
|
|
}
|
|
return res;
|
|
},
|
|
/**
|
|
* 获取列表
|
|
* @url client/payment.getList 前端调用的url参数地址
|
|
*/
|
|
pub_payNotify: async function (data) {
|
|
let res = {code: 0, msg: ''};
|
|
// 业务逻辑开始-----------------------------------------------------------
|
|
|
|
const order = await vk.baseDao.findByWhereJson({
|
|
dbName: "jjx-order",
|
|
whereJson: {
|
|
orderNo: data.billNo,
|
|
}
|
|
});
|
|
|
|
// type 0: 商品
|
|
// type 1: 自营
|
|
// type 2: 保证金
|
|
// type 3: 会员升级
|
|
|
|
if (order && order.orderStatus === 0 && data.billStatus === 'PAID') {
|
|
const billPayment = JSON.parse(data.billPayment)
|
|
await vk.baseDao.updateById({
|
|
dbName: "jjx-order",
|
|
id: order._id,
|
|
dataJson: {
|
|
orderStatus: 1,
|
|
payTime: billPayment.payTime,
|
|
payAmount: parseFloat(billPayment.receiptAmount) / 100,
|
|
payNo: billPayment.paySeqId,
|
|
}
|
|
});
|
|
|
|
if (order.type === 2) {
|
|
await vk.baseDao.updateById({
|
|
dbName: "uni-id-users",
|
|
id: order.uid,
|
|
dataJson: {
|
|
paidEnsure: _.inc(parseFloat(billPayment.receiptAmount) / 100),
|
|
}
|
|
});
|
|
} else if (order.type === 3) {
|
|
const goods = await vk.baseDao.findByWhereJson({
|
|
dbName: "jjx-goods",
|
|
whereJson: {
|
|
orderId: order._id,
|
|
}
|
|
});
|
|
await vk.baseDao.updateById({
|
|
dbName: "uni-id-users",
|
|
id: order.uid,
|
|
dataJson: {
|
|
userLevel: goods.goodsId,
|
|
userGrade: 0
|
|
}
|
|
});
|
|
const user = await vk.baseDao.findById({
|
|
dbName: "uni-id-users",
|
|
id: order.uid
|
|
});
|
|
if (user.inviter_uid && user.inviter_uid.length > 0) {
|
|
await vk.baseDao.updateById({
|
|
dbName: "uni-id-users",
|
|
id: user.inviter_uid[0],
|
|
dataJson: {
|
|
inviteNum: _.inc(1)
|
|
}
|
|
});
|
|
}
|
|
const messageConfig = await vk.baseDao.find({
|
|
dbName: "jjx-message-config",
|
|
dataJson: {
|
|
uid: order.uid
|
|
}
|
|
});
|
|
|
|
if (!messageConfig) {
|
|
await vk.baseDao.add({
|
|
dbName: "jjx-message-config",
|
|
dataJson: {
|
|
uid: order.uid,
|
|
article: true,
|
|
process: true,
|
|
old: true,
|
|
enquiry: true,
|
|
productList: [],
|
|
addressRegion: {}
|
|
}
|
|
})
|
|
}
|
|
}
|
|
}
|
|
// 业务逻辑结束-----------------------------------------------------------
|
|
return res;
|
|
},
|
|
/**
|
|
* 模板函数
|
|
* @url client/payment.test 前端调用的url参数地址
|
|
*/
|
|
test: async function (data) {
|
|
let res = {code: 0, msg: ''};
|
|
let {uid} = this.getClientInfo(); // 获取客户端信息
|
|
// 业务逻辑开始-----------------------------------------------------------
|
|
|
|
|
|
// 业务逻辑结束-----------------------------------------------------------
|
|
return res;
|
|
},
|
|
};
|
|
|
|
module.exports = cloudObject;
|