feat 捕获通知添加库存
This commit is contained in:
parent
4b02235be4
commit
7268758aec
19
main/main.go
19
main/main.go
@ -2,14 +2,6 @@ package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"gitea.timerzz.com/kedaya_haitao/common/pkg/database"
|
||||
"gitea.timerzz.com/kedaya_haitao/common/pkg/proxy"
|
||||
"gitea.timerzz.com/kedaya_haitao/pusher/rpc/pusher"
|
||||
"github.com/cloudwego/kitex/client"
|
||||
"github.com/gofiber/fiber/v3"
|
||||
"github.com/gofiber/fiber/v3/middleware/cors"
|
||||
"github.com/golang/glog"
|
||||
"gorm.io/gorm/logger"
|
||||
"haitao_watcher/pkg/options"
|
||||
"haitao_watcher/pkg/watcher"
|
||||
"haitao_watcher/server"
|
||||
@ -18,6 +10,15 @@ import (
|
||||
"os"
|
||||
"os/signal"
|
||||
"time"
|
||||
|
||||
"gitea.timerzz.com/kedaya_haitao/common/pkg/database"
|
||||
"gitea.timerzz.com/kedaya_haitao/common/pkg/proxy"
|
||||
"gitea.timerzz.com/kedaya_haitao/pusher/rpc/pusher"
|
||||
"github.com/cloudwego/kitex/client"
|
||||
"github.com/gofiber/fiber/v3"
|
||||
"github.com/gofiber/fiber/v3/middleware/cors"
|
||||
"github.com/golang/glog"
|
||||
"gorm.io/gorm/logger"
|
||||
)
|
||||
|
||||
func main() {
|
||||
@ -59,6 +60,6 @@ func main() {
|
||||
server.NewProxySvc(pool).RegistryRouter(api)
|
||||
|
||||
if err = r.Listen(":8080"); err != nil {
|
||||
glog.Warningf("server over: %v", err)
|
||||
glog.Warningf("service over: %v", err)
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,8 @@ type CoachOutlet struct {
|
||||
ctx context.Context
|
||||
cancel context.CancelFunc
|
||||
client *coach_client.US
|
||||
// 库存
|
||||
ats int
|
||||
}
|
||||
|
||||
func NewCoachWatcher(ctx context.Context, client *coach_client.US, cfg *model.WatchInfo, db *gorm.DB) *CoachOutlet {
|
||||
@ -54,7 +56,7 @@ func (c *CoachOutlet) Restart() {
|
||||
func (c *CoachOutlet) Watch() {
|
||||
c.ctx, c.cancel = context.WithCancel(c.fCtx)
|
||||
c.cfg.Watch, c.cfg.Orderable = true, false
|
||||
if err := c.db.Model(c.cfg).Where("uid = ?", c.cfg.Uid).Updates(map[string]interface{}{"watch": true, "orderable": false}).Error; err != nil {
|
||||
if err := c.db.Model(c.cfg).Where("uid=?", c.cfg.Uid).Updates(map[string]interface{}{"watch": true, "orderable": false}).Error; err != nil {
|
||||
glog.Errorf("watch update db err: %v", err)
|
||||
err = nil
|
||||
}
|
||||
@ -121,10 +123,11 @@ func (c *CoachOutlet) doWatch() bool {
|
||||
glog.Warningf("获取coach %s 库存失败:%v", c.cfg.Pid, err)
|
||||
return false
|
||||
}
|
||||
c.cfg.Orderable = inventory.Orderable
|
||||
c.cfg.Orderable = inventory.Orderable && inventory.Ats > 0
|
||||
if !inventory.AllocationResetDate.IsZero() {
|
||||
c.cfg.AllocationResetDate = inventory.AllocationResetDate
|
||||
}
|
||||
c.ats = inventory.Ats
|
||||
if c.cfg.Orderable {
|
||||
c.cfg.Watch = false
|
||||
}
|
||||
@ -146,7 +149,7 @@ func (c *CoachOutlet) Push() {
|
||||
resp, err := pusher.Push(c.ctx, &push.PushReq{
|
||||
Ids: c.cfg.ToPusherIds(),
|
||||
Title: "coach 补货",
|
||||
Content: fmt.Sprintf("coach 商品 %s 补货\n商品名:%s\n链接:%s", c.cfg.Pid, c.cfg.Name, c.cfg.Link),
|
||||
Content: fmt.Sprintf("coach 商品 %s 补货\n商品名:%s\n库存:%d\n链接:%s", c.cfg.Pid, c.cfg.Name, c.ats, c.cfg.Link),
|
||||
})
|
||||
if err != nil {
|
||||
glog.Errorf("消息推送失败:%v", err)
|
||||
|
Loading…
Reference in New Issue
Block a user