feat: 签约提示/赠送次数/自动划付提醒,自营支付成功弹窗,隐藏微信登录
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -95,14 +95,14 @@ module.exports = {
|
||||
const num = Number(value);
|
||||
return Number.isNaN(num) ? defaultValue : num;
|
||||
};
|
||||
if (data.formData && data.formData.isSignOnly && res.rows && res.rows.length > 0) {
|
||||
if (res.rows && res.rows.length > 0) {
|
||||
const userIds = res.rows.map(item => item._id).filter(Boolean);
|
||||
const qybStatMap = {};
|
||||
userIds.forEach(userId => {
|
||||
qybStatMap[userId] = {
|
||||
qybBuyNum: 0,
|
||||
qybUsedNum: 0,
|
||||
qybGiftNum: 0,
|
||||
qybPackageGiftNum: 0,
|
||||
qybTotalGetNum: 0
|
||||
};
|
||||
});
|
||||
@@ -174,14 +174,18 @@ module.exports = {
|
||||
}
|
||||
|
||||
Object.keys(qybStatMap).forEach(userId => {
|
||||
qybStatMap[userId].qybGiftNum = Math.max(qybStatMap[userId].qybTotalGetNum - qybStatMap[userId].qybBuyNum, 0);
|
||||
qybStatMap[userId].qybPackageGiftNum = Math.max(qybStatMap[userId].qybTotalGetNum - qybStatMap[userId].qybBuyNum, 0);
|
||||
});
|
||||
res.rows.forEach(item => {
|
||||
const qybStat = qybStatMap[item._id] || {};
|
||||
const adminGiftNum = toNum(item.qybTotalGiftNum, 0);
|
||||
// 用户表上的 qybGiftNum 为后台赠送累加值;套餐优惠政策赠送从订单统计
|
||||
const storedGiftNum = toNum(item.qybGiftNum, 0);
|
||||
item.qybBuyNum = qybStat.qybBuyNum || 0;
|
||||
item.qybUsedNum = qybStat.qybUsedNum || 0;
|
||||
item.qybNum = toNum(item.qybNum, 0);
|
||||
item.qybGiftNum = qybStat.qybGiftNum || 0;
|
||||
item.qybGiftNum = (qybStat.qybPackageGiftNum || 0) + storedGiftNum;
|
||||
item.qybTotalGiftNum = adminGiftNum || storedGiftNum;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
'use strict';
|
||||
module.exports = {
|
||||
/**
|
||||
* 后台赠送签约宝次数
|
||||
* @url admin/system/user/sys/giftQybNum
|
||||
* @param {String} user_id 用户ID
|
||||
* @param {Number} giftNum 赠送次数
|
||||
*/
|
||||
main: async (event) => {
|
||||
let { data = {}, util } = event;
|
||||
let { vk, _ } = util;
|
||||
let res = { code: 0, msg: '' };
|
||||
|
||||
const { user_id, giftNum } = data;
|
||||
const num = Number(giftNum);
|
||||
|
||||
if (!user_id) {
|
||||
return { code: -1, msg: '用户ID不能为空' };
|
||||
}
|
||||
if (!Number.isInteger(num) || num <= 0) {
|
||||
return { code: -1, msg: '赠送次数必须为正整数' };
|
||||
}
|
||||
|
||||
const user = await vk.baseDao.findById({
|
||||
dbName: 'uni-id-users',
|
||||
id: user_id
|
||||
});
|
||||
if (!user) {
|
||||
return { code: -1, msg: '用户不存在' };
|
||||
}
|
||||
|
||||
// 剩余签约次数、优惠政策赠送次数、累计赠送次数同步累加
|
||||
await vk.baseDao.updateById({
|
||||
dbName: 'uni-id-users',
|
||||
id: user_id,
|
||||
dataJson: {
|
||||
qybNum: _.inc(num),
|
||||
qybGiftNum: _.inc(num),
|
||||
qybTotalGiftNum: _.inc(num)
|
||||
}
|
||||
});
|
||||
|
||||
res.msg = '赠送成功';
|
||||
return res;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user