'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 map1 = {
|
register_date: _.gt(startTimestamp)
|
}
|
|
const obj = await db.collection('uni-id-users').where(map1).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.register_date >= i && item.register_date < i + step
|
})
|
arr1.push({
|
_id: vk.pubfn.timeFormat(i, "MM-dd"),
|
count: payArr.length || 0
|
})
|
}
|
}
|
if (type == 'year') {
|
let end = nowDate.getMonth() + 2
|
for (let i = 1; i < end; i++) {
|
let payArr = orderList.filter(item => {
|
return item.register_date >= steps[i].monthStart && item.register_date < steps[i].monthEnd
|
})
|
arr1.push({
|
_id: vk.pubfn.timeFormat(steps[i].monthStart, "yyyy-MM"),
|
count: payArr.length || 0
|
})
|
}
|
}
|
|
|
res.data.arr1 = arr1
|
res.data.arr2 = arr2
|
// 业务逻辑结束-----------------------------------------------------------
|
return res;
|
}
|
}
|