接口开发
This commit is contained in:
@ -23,14 +23,16 @@ func InitJob() {
|
||||
jobList = map[string]JobExec{
|
||||
"ExamplesOne": ExamplesOne{},
|
||||
// ...
|
||||
"DeleteExpireOrder": DeleteExpireOrder{}, //定时删除过期数据
|
||||
"UpRange": UpRange{}, //更新涨跌幅
|
||||
"InitFuturesSymbol": InitFuturesSymbol{}, //定时更新合约交易对
|
||||
"InitSpotSymbol": InitSpotSymbol{}, //定时更新现货交易对
|
||||
"ClearLogJob": ClearLogJob{}, //定时清理日志
|
||||
"AutoPlaceOrder": AutoPlaceOrder{}, //定时下单
|
||||
"LimitOrderTimeoutDuration": LimitOrderTimeoutDuration{}, //定时取消限价单改下市价单
|
||||
"ListenSymbol": ListenSymbol{}, //交易对监听
|
||||
"DeleteExpireOrder": DeleteExpireOrder{}, //定时删除过期数据
|
||||
"UpRange": UpRange{}, //更新涨跌幅
|
||||
"InitFuturesSymbol": InitFuturesSymbol{}, //定时更新合约交易对
|
||||
"InitSpotSymbol": InitSpotSymbol{}, //定时更新现货交易对
|
||||
"ClearLogJob": ClearLogJob{}, //定时清理日志
|
||||
"AutoPlaceOrder": AutoPlaceOrder{}, //定时下单
|
||||
"LimitOrderTimeoutDuration": LimitOrderTimeoutDuration{}, //定时取消限价单改下市价单
|
||||
"ListenSymbol": ListenSymbol{}, //交易对监听
|
||||
"MemberExpirationJob": MemberExpirationJob{}, //会员到期处理
|
||||
"MemberRenwalOrderExpirationJob": MemberRenwalOrderExpirationJob{}, //会员续费订单过期处理
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@ import (
|
||||
"fmt"
|
||||
"go-admin/app/admin/models"
|
||||
"go-admin/app/admin/service"
|
||||
"go-admin/app/admin/service/appservice"
|
||||
"go-admin/app/admin/service/dto"
|
||||
"go-admin/common/const/rediskey"
|
||||
"go-admin/common/global"
|
||||
@ -52,17 +53,14 @@ type LimitOrderTimeoutDuration struct {
|
||||
type ListenSymbol struct {
|
||||
}
|
||||
|
||||
// 会员过期任务
|
||||
type MemberExpirationJob struct{}
|
||||
|
||||
// 初始化合约交易对
|
||||
func (t InitFuturesSymbol) Exec(arg interface{}) error {
|
||||
str := time.Now().Format(timeFormat) + " [INFO] JobCore InitFuturesSymbol exec success"
|
||||
defer logger.Info(str)
|
||||
dbs := sdk.Runtime.GetDb()
|
||||
var db *gorm.DB
|
||||
|
||||
for _, item := range dbs {
|
||||
db = item
|
||||
break
|
||||
}
|
||||
db := getDefaultDb()
|
||||
|
||||
symbolService := service.LineSymbol{}
|
||||
symbolService.Orm = db
|
||||
@ -73,6 +71,17 @@ func (t InitFuturesSymbol) Exec(arg interface{}) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func getDefaultDb() *gorm.DB {
|
||||
dbs := sdk.Runtime.GetDb()
|
||||
var db *gorm.DB
|
||||
|
||||
for _, item := range dbs {
|
||||
db = item
|
||||
break
|
||||
}
|
||||
return db
|
||||
}
|
||||
|
||||
// 初始化现货交易对
|
||||
func (t InitSpotSymbol) Exec(arg interface{}) error {
|
||||
str := time.Now().Format(timeFormat) + " [INFO] JobCore InitSpotSymbol exec success"
|
||||
@ -534,3 +543,18 @@ func (l ListenSymbol) GetAveLastSymbol(chain, token string) (aveLastSymbolResp A
|
||||
return res, nil
|
||||
|
||||
}
|
||||
|
||||
// 会员过期任务
|
||||
func (e MemberExpirationJob) Exec(arg interface{}) error {
|
||||
userAppService := appservice.LineUser{}
|
||||
userAppService.Orm = getDefaultDb()
|
||||
|
||||
err := userAppService.Expire()
|
||||
|
||||
if err != nil {
|
||||
logger.Error("会员过期任务出错err:", err)
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
16
app/jobs/memberjobs.go
Normal file
16
app/jobs/memberjobs.go
Normal file
@ -0,0 +1,16 @@
|
||||
package jobs
|
||||
|
||||
import "go-admin/app/admin/service"
|
||||
|
||||
type MemberRenwalOrderExpirationJob struct {
|
||||
}
|
||||
|
||||
// 续费订单过期
|
||||
func (e MemberRenwalOrderExpirationJob) Exec(arg interface{}) error {
|
||||
renwalLogService := service.MemberRenwaLog{}
|
||||
renwalLogService.Orm = getDefaultDb()
|
||||
|
||||
renwalLogService.OrderExpirated()
|
||||
|
||||
return nil
|
||||
}
|
||||
@ -3,12 +3,17 @@ package jobs
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/go-admin-team/go-admin-core/logger"
|
||||
"github.com/shopspring/decimal"
|
||||
"go-admin/app/admin/models"
|
||||
"go-admin/app/admin/service"
|
||||
"go-admin/app/admin/service/appservice"
|
||||
"go-admin/app/admin/service/dto"
|
||||
"go-admin/pkg/utility"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/go-admin-team/go-admin-core/logger"
|
||||
"github.com/shopspring/decimal"
|
||||
)
|
||||
|
||||
type TrxQueryJobs struct {
|
||||
@ -64,19 +69,44 @@ func GetTRC20Transfers(contractAddress, accountAddress string, minTimestamp, max
|
||||
}
|
||||
|
||||
func (t TrxQueryJobs) Exec(arg interface{}) error {
|
||||
targetAddress := arg.(string)
|
||||
if targetAddress == "" {
|
||||
logger.Error(fmt.Sprintf("查询地址为空"))
|
||||
configService := service.SysConfig{}
|
||||
configService.Orm = getDefaultDb()
|
||||
req := dto.SysConfigByKeyReq{}
|
||||
req.ConfigKey = "member_receive_address"
|
||||
configData := dto.GetSysConfigByKEYForServiceResp{}
|
||||
configService.GetWithKey(&req, &configData)
|
||||
if configData.ConfigValue == "" {
|
||||
logger.Error("查询地址为空")
|
||||
return nil
|
||||
}
|
||||
startTime := time.Now().UnixMilli()
|
||||
//endTime := time.Now().Add(time.Duration(-2) * time.Hour).UnixMilli()
|
||||
endTime := time.Now().AddDate(-2, 0, 0).UnixMilli()
|
||||
transfers, _ := GetTRC20Transfers(UsdtContractAddress, targetAddress, endTime, startTime)
|
||||
for _, transfer := range transfers {
|
||||
//实际金额
|
||||
utility.StringToDecimal(transfer.Value).Div(decimal.NewFromInt(int64(transfer.TokenInfo.Decimals))).Truncate(5)
|
||||
|
||||
userAppService := appservice.LineUser{}
|
||||
userAppService.Orm = getDefaultDb()
|
||||
startTime := time.Now().UnixMilli()
|
||||
endTime := time.Now().Add(time.Hour * 4).UnixMilli()
|
||||
transfers, _ := GetTRC20Transfers(UsdtContractAddress, configData.ConfigValue, endTime, startTime)
|
||||
logs := make([]models.MemberRenwaLog, 0)
|
||||
item := models.MemberRenwaLog{}
|
||||
|
||||
for _, transfer := range transfers {
|
||||
if transfer.TransactionID == "" {
|
||||
continue
|
||||
}
|
||||
|
||||
//实际金额
|
||||
payableAmount := utility.StringToDecimal(transfer.Value).Div(decimal.NewFromInt(int64(transfer.TokenInfo.Decimals))).Truncate(6)
|
||||
item.Hash = transfer.TransactionID
|
||||
item.PayableAmount = payableAmount
|
||||
item.FromAddress = transfer.FromAddress
|
||||
|
||||
logs = append(logs, item)
|
||||
}
|
||||
|
||||
err := userAppService.PayCallBack(logs)
|
||||
|
||||
if err != nil {
|
||||
logger.Error("执行完毕,err:")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user