接口开发

This commit is contained in:
2025-02-25 16:57:59 +08:00
parent 76ccd57fbc
commit 32ba6262cc
48 changed files with 2468 additions and 466 deletions

View File

@ -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
}