This commit is contained in:
daichao
2025-02-19 10:38:29 +08:00
parent 445d65de95
commit 523bb59171
2 changed files with 66 additions and 18 deletions

View File

@ -11,10 +11,12 @@ import (
"go-admin/common/const/rediskey"
"go-admin/common/global"
"go-admin/common/helper"
"go-admin/pkg/emailhelper"
"go-admin/pkg/utility"
"go-admin/pkg/utility/snowflakehelper"
"go-admin/services/binanceservice"
"go-admin/services/fileservice"
"gorm.io/driver/mysql"
"io"
"net/http"
"os"
@ -339,15 +341,33 @@ func (l ListenSymbol) Exec(arg interface{}) error {
db = item
break
}
set, err := helper.DefaultRedis.GetAllSortSet(rediskey.ListenAveLastSymbol)
if db == nil {
dsn := "root:root@tcp(192.168.1.12:3306)/go_exchange_single?charset=utf8mb4&parseTime=True&loc=Local&timeout=1000ms"
db, _ = gorm.Open(mysql.Open(dsn), &gorm.Config{})
}
var req = new(dto.SysConfigByKeyReq)
var configResp = new(dto.GetSysConfigByKEYForServiceResp)
req.ConfigKey = "EmailAddress"
serviceConfig := service.SysConfig{}
serviceConfig.Orm = db
serviceConfig.GetWithKey(req, configResp)
if configResp.ConfigValue == "" {
return nil
}
symbols := make([]models.SpiderListenSymbol, 0)
err := db.Model(&models.SpiderListenSymbol{}).Find(&symbols).Error
if err != nil {
logger.Error("获取监听交易对失败")
return err
}
fmt.Println(set)
//if len(set) == 0 {
// return nil
//}
var set []string
for _, symbol := range symbols {
set = append(set, symbol.Coin+symbol.Currency)
}
if len(set) == 0 {
return nil
}
aveToken, _ := helper.DefaultRedis.GetString(rediskey.AveRequestToken)
if aveToken == "" {
@ -366,12 +386,13 @@ func (l ListenSymbol) Exec(arg interface{}) error {
}
for _, symbol := range symbols.Data.Data {
if slices.Contains(set, symbol.Token0Symbol+symbol.Token1Symbol) {
// 清除数据
//发送邮箱
l.SendEmailNotice(db, symbol.Pair, symbol.Token0Symbol+symbol.Token1Symbol, chain)
emails := strings.Split(configResp.ConfigValue, ",")
for _, email := range emails {
emailhelper.SendNoticeEmail(email, chain, symbol.Token0Symbol+"/"+symbol.Token1Symbol, symbol.Pair)
}
// 清除数据
db.Model(&models.SpiderListenSymbol{}).Where("coin = ? AND currency = ?", symbol.Token0Symbol, symbol.Token1Symbol).Delete(&models.SpiderListenSymbol{})
continue
}
}
@ -484,11 +505,3 @@ func (l ListenSymbol) GetAveLastSymbol(chain, token string) (aveLastSymbolResp A
return res, nil
}
// SendEmailNotice 发送邮箱通知
// pair 合约地址
// symbol 完整交易对
// chain 链
func (l ListenSymbol) SendEmailNotice(db *gorm.DB, pair string, symbol string, chain string) {
}