From ed9c8cd17b6f809dff87e8d8d97313bdc3b49e60 Mon Sep 17 00:00:00 2001 From: cdle <798731886@qq.com> Date: Mon, 13 Sep 2021 12:42:14 +0800 Subject: [PATCH] update --- develop/jd_asset/asset.go | 79 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/develop/jd_asset/asset.go b/develop/jd_asset/asset.go index a72f6d3..1987f6f 100644 --- a/develop/jd_asset/asset.go +++ b/develop/jd_asset/asset.go @@ -107,6 +107,47 @@ func init() { return fmt.Sprintf("今日收入%d京豆。", all) }, }, + { + Rules: []string{`yestoday bean(?)`}, + Admin: true, + Handle: func(s im.Sender) interface{} { + a := s.Get() + envs, err := qinglong.GetEnvs("JD_COOKIE") + if err != nil { + return err + } + if len(envs) == 0 { + return "青龙没有京东账号。" + } + cks := []JdCookie{} + for _, env := range envs { + pt_key := FetchJdCookieValue("pt_key", env.Value) + pt_pin := FetchJdCookieValue("pt_pin", env.Value) + if pt_key != "" && pt_pin != "" { + cks = append(cks, JdCookie{ + PtKey: pt_key, + PtPin: pt_pin, + Note: env.Remarks, + }) + } + } + cks = LimitJdCookie(cks, a) + if len(cks) == 0 { + return "没有匹配的京东账号。" + } + var beans []chan int + for _, ck := range cks { + var bean = make(chan int) + go GetYestodayBean(&ck, bean) + beans = append(beans, bean) + } + all := 0 + for i := range beans { + all += <-beans[i] + } + return fmt.Sprintf("昨日收入%d京豆。", all) + }, + }, }) } @@ -1098,3 +1139,41 @@ func GetTodayBean(ck *JdCookie, state chan int) { } return } + +func GetYestodayBean(ck *JdCookie, state chan int) { + cookie := fmt.Sprintf("pt_key=%s;pt_pin=%s;", ck.PtKey, ck.PtPin) + today := time.Now().Local().Format("2006-01-02") + yestoday := time.Now().Local().Add(-time.Hour * 24).Format("2006-01-02") + page := 1 + end := false + in := 0 + defer func() { + state <- in + }() + for { + if end { + return + } + bds := getJingBeanBalanceDetail(page, cookie) + if bds == nil { + break + } + for _, bd := range bds { + amount := Int(bd.Amount) + if strings.Contains(bd.Date, yestoday) { + if amount > 0 { + in += amount + } else { + + } + } else if strings.Contains(bd.Date, today) { + + } else { + end = true + break + } + } + page++ + } + return +}