From 63c4dd7b253b1faf657932077c77877e2f6b6d47 Mon Sep 17 00:00:00 2001 From: jiangyong27 Date: Sun, 9 Apr 2023 15:59:56 +0800 Subject: [PATCH] bidprice2 --- worker/haha/haha_processor.go | 40 +++++++++++++++++++++++++++++++++-- worker/worker.go | 24 +++++++++++++++++++++ 2 files changed, 62 insertions(+), 2 deletions(-) diff --git a/worker/haha/haha_processor.go b/worker/haha/haha_processor.go index d6b6e49..f9e9276 100644 --- a/worker/haha/haha_processor.go +++ b/worker/haha/haha_processor.go @@ -88,7 +88,43 @@ func (p *Processor) queryBid(params map[string]interface{}) ([]*BidOrder, error) return result, nil } -func (p *Processor) QueryBidding() error { +func (p *Processor) QueryBidding() ([]*BidOrder, error) { + bidOrder, err := p.queryBid(map[string]interface{}{ + "tab": 1, + "type": 1, + }) - return nil + if err != nil { + return nil, err + } + return bidOrder, nil +} + +func (p *Processor) QueryBidWin() ([]*BidOrder, error) { + bidOrder, err := p.queryBid(map[string]interface{}{ + "pageSize": 10, + "current": 1, + "total": 0, + "tab": 0, + "type": 1, + "mold": 1, + }) + + if err != nil { + return nil, err + } + return bidOrder, nil +} + +func (p *Processor) QueryBidComplete() ([]*BidOrder, error) { + bidOrder, err := p.queryBid(map[string]interface{}{ + "tab": 0, + "type": 2, + "form": 1, + }) + + if err != nil { + return nil, err + } + return bidOrder, nil } diff --git a/worker/worker.go b/worker/worker.go index 82162c9..ce3f704 100644 --- a/worker/worker.go +++ b/worker/worker.go @@ -104,6 +104,26 @@ func (w *Worker) processorDadi(order *model.Order) { } } +func (w *Worker) processBidWin() { + bidOrders, err := w.hahaProcessor.QueryBidWin() + if err != nil { + return + } + for _, o := range bidOrders { + order, err := model.GetOrder(o.OrderId) + if err != nil { + log.Errorf("get order error : %s", err.Error()) + continue + } + message := w.getOrderMesasge(order) + message = append(message, "\n") + message = append(message, "【竞价成功】") + message = append(message, fmt.Sprintf("出价:%s", util.MoneyFen(o.BidPrice))) + message = append(message, fmt.Sprintf("时间:%s", goutil.TimeToDateTime(o.BidTime))) + w.qyClient.SendText(config.GetConfig().Weixin.Receiver, strings.Join(message, "\n")) + } +} + func (w *Worker) Run() { w.initQyWeixin() newOrderChan := make(chan *model.Order, 100000) @@ -129,6 +149,7 @@ func (w *Worker) Run() { w.dadiProcessor = dadiProcessor } + bidUploadTimer := time.NewTicker(10 * time.Second) for { select { case order := <-newOrderChan: @@ -141,6 +162,9 @@ func (w *Worker) Run() { case updateOrder := <-updateOrderChan: log.Tracef("%s update", updateOrder.String()) + + case <-bidUploadTimer.C: + w.processBidWin() } }