Eric0718 2 years ago
parent
commit
f279bde49c
5 changed files with 39 additions and 41 deletions
  1. 2 5
      blockchain/scan.go
  2. 25 17
      controller/controller.go
  3. 1 0
      dbUtil/dbCoon.go
  4. 2 11
      main.go
  5. 9 8
      routers/routers.go

+ 2 - 5
blockchain/scan.go

@@ -43,7 +43,7 @@ func init() {
 	TopsMap = tm
 
 	go scanBlock()
-	//go confirmClaimedTxs()
+	go confirmClaimedTxs()
 }
 
 func scanBlock() {
@@ -176,14 +176,11 @@ func confirmClaimedTxs() {
 		time.Sleep(time.Second * 5)
 		logs.Info("confirmClaimedTxs mark= %v\n", mark)
 		var txs []models.ClaimedTxs
-		ok, err := dbUtil.Engine.Where("state = ?", 0).Where("droped = ?", 0).Where("id > ?", mark).Get(&txs)
+		err := dbUtil.Engine.Where("state = ?", 0).Where("droped = ?", 0).Where("id > ?", mark).Find(&txs)
 		if err != nil {
 			logs.Error(err)
 			continue
 		}
-		if !ok {
-			continue
-		}
 		if len(txs) > 0 {
 			mark = txs[len(txs)-1].Id
 		}

+ 25 - 17
controller/controller.go

@@ -4,11 +4,14 @@ import (
 	"fmt"
 	"ktogame/models"
 	"ktogame/util"
-	"math/big"
 	"strings"
+	"time"
+
+	"github.com/shopspring/decimal"
 )
 
-func (uc *UserController) Reinput(user string) {
+func (uc *UserController) Reinput() {
+	user := uc.GetString("addr")
 	var ui models.UserInfo
 	ok, err := uc.engine.Id(user).Get(&ui)
 	if err != nil {
@@ -72,13 +75,12 @@ func (uc *UserController) Reinput(user string) {
 		ErrResponse(uc.Controller, err)
 		return
 	}
-	TxObjectResponse(uc.Controller, "success")
+	TxObjectResponse(uc.Controller, "ok")
 }
 func (uc *UserController) GetClaimSignature() {
 	addr := uc.GetString("addr")
-	tk := uc.GetString("token")
-	tm := uc.GetString("time")
-	user := util.GetPri(tk, addr[len(addr)-16:])
+	s := uc.GetString("sign")
+	user := util.GetPri(s, addr[len(addr)-16:])
 	if strings.ToLower(user) != strings.ToLower(addr) {
 		ErrResponse(uc.Controller, "无效地址")
 		return
@@ -90,13 +92,14 @@ func (uc *UserController) GetClaimSignature() {
 		return
 	}
 
-	// format := time.Now().AddDate(0, 0, 1).Format("2006-01-02")
-	// te, _ := time.ParseInLocation("2006-01-02", format, time.Local)
-	// pow := decimal.NewFromFloat(float64(10)).Pow(decimal.NewFromFloat(float64(18)))
-	// amount := decimal.NewFromFloat(ua.AvailableClaim).Mul(pow).BigInt().String()
-	amount := big.NewInt(0).SetUint64(uint64(ua.AvailableClaim)).String()
-	out1 := util.Sign(amount, strings.ToLower(user[2:]), tm)
-	sign := out1 + "-" + amount + "-" + tm
+	format := time.Now().AddDate(0, 0, 1).Format("2006-01-02")
+	te, _ := time.ParseInLocation("2006-01-02", format, time.Local)
+
+	pow := decimal.NewFromFloat(float64(10)).Pow(decimal.NewFromFloat(float64(18)))
+	amount := decimal.NewFromFloat(ua.AvailableClaim).Mul(pow).BigInt().String()
+
+	out1 := util.Sign(amount, strings.ToLower(user[2:]), fmt.Sprint(te.Unix()))
+	sign := out1 + "-" + amount + "-" + fmt.Sprint(te.Unix())
 	code := util.EnPriCode(sign, addr[len(addr)-16:])
 	TxObjectResponse(uc.Controller, code)
 }
@@ -116,7 +119,7 @@ func (uc *UserController) SetClaimHash() {
 		return
 	}
 	if !ok {
-		TxObjectResponse(uc.Controller, "-1")
+		TxObjectResponse(uc.Controller, "user not exist!")
 		return
 	}
 	if ua.AvailableClaim == 0 {
@@ -140,9 +143,10 @@ func (uc *UserController) SetClaimHash() {
 		return
 	}
 	TxObjectResponse(uc.Controller, "ok")
+	return
 }
 func (uc *UserController) GetUserInfo() {
-	user := uc.GetString("address")
+	user := uc.GetString("addr")
 	var us models.UserInfo
 	ok, err := uc.engine.ID(user).Get(&us)
 	if err != nil {
@@ -154,9 +158,10 @@ func (uc *UserController) GetUserInfo() {
 		return
 	}
 	TxObjectResponse(uc.Controller, us)
+	return
 }
 func (uc *UserController) GetTeamList() {
-	user := uc.GetString("address")
+	user := uc.GetString("addr")
 	s, err := uc.GetInt("size")
 	if err != nil {
 		TxObjectResponse(uc.Controller, err)
@@ -191,9 +196,10 @@ func (uc *UserController) GetTeamList() {
 	}
 	res := models.Page{Limit: l, Size: s, Total: c, DataList: addrList}
 	TxObjectResponse(uc.Controller, res)
+	return
 }
 func (uc *UserController) GetPerformance() {
-	user := uc.GetString("address")
+	user := uc.GetString("addr")
 	var per models.Performance
 
 	ok, err := uc.engine.Id(user).Get(&per)
@@ -206,6 +212,7 @@ func (uc *UserController) GetPerformance() {
 		return
 	}
 	TxObjectResponse(uc.Controller, per)
+	return
 }
 func (uc *UserController) TotalUsers() {
 	var us models.UserInfo
@@ -219,4 +226,5 @@ func (uc *UserController) TotalUsers() {
 		return
 	}
 	TxObjectResponse(uc.Controller, us)
+	return
 }

+ 1 - 0
dbUtil/dbCoon.go

@@ -25,4 +25,5 @@ func init() {
 		log.Fatal("错误=", err)
 	}
 	Engine = e
+	fmt.Println("dbUtil init")
 }

+ 2 - 11
main.go

@@ -1,10 +1,9 @@
 package main
 
 import (
+	"fmt"
 	_ "ktogame/blockchain"
-	"ktogame/dbUtil"
 	_ "ktogame/dbUtil"
-	"ktogame/models"
 	_ "ktogame/routers"
 
 	"github.com/astaxie/beego"
@@ -32,14 +31,6 @@ func main() {
 	i18n.SetMessage("zh-CN", "conf/locale_zh-CN.ini")
 	i18n.SetMessage("en-US", "conf/locale_en-US.ini")
 	beego.BConfig.RecoverPanic = true
-	{
-		var nodes []models.UserInfo
-		err := dbUtil.Engine.Where("state = ?", 1).Find(&nodes)
-		if err != nil {
-			logs.Error(err)
-		}
-		logs.Info("nodes:=======", nodes)
-	}
+	fmt.Println("main============")
 	beego.Run()
-
 }

+ 9 - 8
routers/routers.go

@@ -1,18 +1,19 @@
 package routers
 
 import (
+	"fmt"
 	"ktogame/controller"
 
 	"github.com/astaxie/beego"
 )
 
 func init() {
-	beego.Router("/api/GetUserInfo", &controller.UserController{}, "POST:Reinput")
-	beego.Router("/api/BindAddress", &controller.UserController{}, "POST:GetClaimSignature")
-	beego.Router("/api/TeamUser", &controller.UserController{}, "POST:SetClaimHash")
-	beego.Router("/api/BonusPool", &controller.UserController{}, "POST:GetUserInfo")
-	beego.Router("/api/Withdrawal", &controller.UserController{}, "POST:GetTeamList")
-	beego.Router("/api/Withdrawal2", &controller.UserController{}, "POST:GetPerformance")
-	beego.Router("/api/GetUserAll", &controller.UserController{}, "POST:TotalUsers")
-
+	beego.Router("/api/Reinput", &controller.UserController{}, "POST:Reinput")
+	beego.Router("/api/GetClaimSignature", &controller.UserController{}, "POST:GetClaimSignature")
+	beego.Router("/api/SetClaimHash", &controller.UserController{}, "POST:SetClaimHash")
+	beego.Router("/api/GetUserInfo", &controller.UserController{}, "POST:GetUserInfo")
+	beego.Router("/api/GetTeamList", &controller.UserController{}, "POST:GetTeamList")
+	beego.Router("/api/GetPerformance", &controller.UserController{}, "POST:GetPerformance")
+	beego.Router("/api/TotalUsers", &controller.UserController{}, "POST:TotalUsers")
+	fmt.Println("routers init")
 }