'use strict'; module.exports = { /** * 获取订单列表 * @url admin/system/user/sys/getChartsList2 前端调用的url参数地址 * data 请求参数 * @param {String} params1 参数1 */ main: async (event) => { let { data = {}, userInfo, util, filterResponse, originalParam } = event; let { customUtil, uniID, config, pubFun, vk, db, _ } = util; let { uid, type, times, time, sale_id } = data; let res = { code: 0, msg: "", data: {} }; // 业务逻辑开始----------------------------------------------------------- let nowDate = new Date() console.log(nowDate) const timeObj = vk.pubfn.getCommonTime(new Date()) let startTimestamp = 0 let step = 0 let steps = [] switch (type) { case 'custom': startTimestamp = time[0] nowDate = new Date(time[1]) step = 24 * 60 * 60 * 1000 break case 'year': startTimestamp = timeObj.yearStart steps = timeObj.months break case 'month': startTimestamp = timeObj.monthStart step = 24 * 60 * 60 * 1000 break case 'week': startTimestamp = timeObj.weekStart step = 24 * 60 * 60 * 1000 break } const map = { status: 2, _add_time: _.gt(startTimestamp) } const obj = await db.collection('uni-id-base-order').where(map).field().get() const orderList = obj.data let arr1 = [] let arr2 = [] if (type != 'year') { for (let i = startTimestamp; i <= nowDate; i += step) { let payArr = orderList.filter(item => { return item._add_time >= i && item._add_time < i + step }).map(item => { return item.total_fee }) let money = 0 if (payArr.length > 0) { money = +(payArr.reduce((a, b) => a + b)) } arr1.push({ _id: vk.pubfn.timeFormat(i, "MM-dd"), count: payArr.length || 0 }) arr2.push({ _id: vk.pubfn.timeFormat(i, "MM-dd"), count: money }) } } if (type == 'year') { console.log() let end = nowDate.getMonth() + 2 for (let i = 1; i < end; i++) { let payArr = orderList.filter(item => { return item._add_time >= steps[i].monthStart && item._add_time < steps[i].monthEnd }).map(item => { return item.total_fee }) let money = 0 if (payArr.length > 0) { money = +(payArr.reduce((a, b) => a + b)) } arr1.push({ _id: vk.pubfn.timeFormat(steps[i].monthStart, "yyyy-MM"), count: payArr.length || 0 }) arr2.push({ _id: vk.pubfn.timeFormat(steps[i].monthStart, "yyyy-MM"), count: money }) } } res.data.arr1 = arr1 res.data.arr2 = arr2 // 业务逻辑结束----------------------------------------------------------- return res; } }