mirror of
https://github.com/qitoqito/psyduck.git
synced 2026-01-13 22:20:43 +08:00
Create jd_task_beanList.js
This commit is contained in:
parent
5d168b29ed
commit
197f938326
131
parse/jd/jd_task_beanList.js
Normal file
131
parse/jd/jd_task_beanList.js
Normal file
@ -0,0 +1,131 @@
|
||||
import {Template} from '../../template.js'
|
||||
|
||||
export class Main extends Template {
|
||||
constructor() {
|
||||
super()
|
||||
this.profile = {
|
||||
title: '京东当天京豆汇总',
|
||||
crontab: `${this.rand(0, 40)} ${this.rand(21, 23)} * * *`
|
||||
}
|
||||
}
|
||||
|
||||
async prepare() {
|
||||
}
|
||||
|
||||
async main(p) {
|
||||
let user = p.data.user;
|
||||
let context = p.context;
|
||||
let echo
|
||||
let x = this.getDate(this.timestamp, 0, '-')
|
||||
let r = new RegExp(`${x}`)
|
||||
let xs = []
|
||||
let s = await this.curl({
|
||||
'url': `https://api.m.jd.com/?appid=jd-cphdeveloper-m&functionId=myBean&body={"tenantCode":"jgminise","bizModelCode":6,"bizModeClientType":"WxMiniProgram","externalLoginType":1}&sceneval=2&g_login_type=1&callback=draw_activetemporary&g_tk=610895985&g_ty=ls`,
|
||||
user
|
||||
}
|
||||
)
|
||||
if (this.haskey(s, 'list')) {
|
||||
for (let k of this.haskey(s, 'list')) {
|
||||
if (k.createDate.includes(x)) {
|
||||
xs.push(k)
|
||||
}
|
||||
}
|
||||
let z = [], f = []
|
||||
let d = {}
|
||||
for (let i of xs) {
|
||||
d[i.visibleInfo] = d[i.visibleInfo] || {
|
||||
eventMassage: i.visibleInfo.replace(/参加|店铺活动|-奖励|\[|\]/g, ''),
|
||||
amount: 0
|
||||
}
|
||||
d[i.visibleInfo].amount += parseInt(i.amount)
|
||||
}
|
||||
let dict = Object.values(d).sort(function(a, b) {
|
||||
return b.amount - a.amount
|
||||
})
|
||||
echo = [`🐹 今日总共收入: ${this.sum(this.column(dict, 'amount').filter(d => d>0)) || 0} 支出: ${this.sum(this.column(dict, 'amount').filter(d => d<0)) || 0}`]
|
||||
for (let i of dict) {
|
||||
if (parseInt(i.amount)<0) {
|
||||
echo.push(`🐶 [${i.amount}] ${i.eventMassage}`)
|
||||
}
|
||||
else {
|
||||
echo.push(`🦁 [${i.amount}] ${i.eventMassage}`)
|
||||
}
|
||||
}
|
||||
if (this.haskey(s, 'willExpireNum')) {
|
||||
echo.push(`🙊 [${s.willExpireNum}] 即将过期`)
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (let i = 1; i<20; i++) {
|
||||
let s = await this.curl({
|
||||
"url": `https://api.m.jd.com/client.action?functionId=getJingBeanBalanceDetail`,
|
||||
"form": `body=${escape(JSON.stringify({"pageSize": "20", "page": i.toString()}))}&appid=ld`,
|
||||
'user': p.user
|
||||
})
|
||||
if (!this.match(r, JSON.stringify(s))) {
|
||||
break
|
||||
}
|
||||
for (let k of s.detailList) {
|
||||
if (k.date.includes(x)) {
|
||||
xs.push(k)
|
||||
}
|
||||
}
|
||||
}
|
||||
let z = [], f = []
|
||||
let d = {}
|
||||
for (let i of xs) {
|
||||
d[i.eventMassage] = d[i.eventMassage] || {
|
||||
eventMassage: i.eventMassage.replace(/参加|店铺活动|-奖励|\[|\]/g, ''),
|
||||
amount: 0
|
||||
}
|
||||
d[i.eventMassage].amount += parseInt(i.amount)
|
||||
}
|
||||
let dict = Object.values(d).sort(function(a, b) {
|
||||
return b.amount - a.amount
|
||||
})
|
||||
echo = [`🐹 今日总共收入: ${this.sum(this.column(dict, 'amount').filter(d => d>0)) || 0} 支出: ${this.sum(this.column(dict, 'amount').filter(d => d<0)) || 0}`]
|
||||
for (let i of dict) {
|
||||
if (parseInt(i.amount)<0) {
|
||||
echo.push(`🐶 [${i.amount}] ${i.eventMassage}`)
|
||||
}
|
||||
else {
|
||||
echo.push(`🦁 [${i.amount}] ${i.eventMassage}`)
|
||||
}
|
||||
}
|
||||
let jbd = await this.curl({
|
||||
'url': `https://api.m.jd.com/client.action`,
|
||||
'form': `functionId=jingBeanDetail&body={"pageSize":20,"pageNo":1}&appid=ld&client=apple&clientVersion=12.3.1`,
|
||||
user,
|
||||
algo: {
|
||||
sign: true
|
||||
}
|
||||
}
|
||||
)
|
||||
if (this.haskey(jbd, 'others.jingBeanExpire.title')) {
|
||||
let expire = this.match(/有(\d+)个/, jbd.others.jingBeanExpire.title)
|
||||
if (expire) {
|
||||
echo.push(`🙊 [${expire}] 即将过期`)
|
||||
}
|
||||
}
|
||||
}
|
||||
p.msg(echo.join("\n"))
|
||||
}
|
||||
|
||||
getDate(date, day, join = '-') {
|
||||
var dd = new Date(date);
|
||||
dd.setDate(dd.getDate() + day);
|
||||
var y = dd.getFullYear();
|
||||
var m = dd.getMonth() + 1<10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
|
||||
var d = dd.getDate()<10 ? "0" + dd.getDate() : dd.getDate();
|
||||
return y + join + m + join + d;
|
||||
}
|
||||
|
||||
sum(array, n = 0) {
|
||||
let sum = eval(array.join("+"))
|
||||
if (n) {
|
||||
sum = sum.toFixed(n)
|
||||
}
|
||||
return sum
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user