| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- const cloud = require('wx-server-sdk');
- cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV });
- const db = cloud.database();
- // 获取当前用户的佣金概览和明细
- exports.main = async (event) => {
- const { OPENID } = cloud.getWXContext();
- try {
- const commRes = await db.collection('commissions').where({
- toUser: OPENID,
- }).orderBy('createdAt', 'desc').get();
- const commissions = commRes.data || [];
- let totalAmount = 0;
- let availableAmount = 0;
- let pendingAmount = 0;
- commissions.forEach(c => {
- totalAmount += c.amount || 0;
- if (c.status === 'available') {
- availableAmount += c.amount;
- } else if (c.status === 'pending') {
- pendingAmount += c.amount;
- }
- });
- // 格式化输出
- const list = commissions.slice(0, 50).map(c => ({
- commissionId: c._id,
- level: c.level,
- amount: c.amount,
- status: c.status,
- sourceName: c.sourceName || '用户',
- createdAt: c.createdAt,
- }));
- return {
- totalAmount,
- availableAmount,
- pendingAmount,
- commissions: list,
- };
- } catch (err) {
- return { error: err.message, totalAmount: 0, availableAmount: 0, pendingAmount: 0, commissions: [] };
- }
- };
|