|
@@ -6,7 +6,6 @@ import (
|
|
"ktogame/util"
|
|
"ktogame/util"
|
|
"math/big"
|
|
"math/big"
|
|
"strings"
|
|
"strings"
|
|
- "time"
|
|
|
|
)
|
|
)
|
|
|
|
|
|
func (uc *UserController) Reinput(user string) {
|
|
func (uc *UserController) Reinput(user string) {
|
|
@@ -20,18 +19,18 @@ func (uc *UserController) Reinput(user string) {
|
|
ErrResponse(uc.Controller, "db get failed!")
|
|
ErrResponse(uc.Controller, "db get failed!")
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- if ui.AvailableReinput < ModBase*Decimals {
|
|
|
|
|
|
+ if ui.AvailableReinput < ModBase {
|
|
ErrResponse(uc.Controller, "no available reinput balance")
|
|
ErrResponse(uc.Controller, "no available reinput balance")
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
///update availableReinput by left in db
|
|
///update availableReinput by left in db
|
|
///update totalReinput
|
|
///update totalReinput
|
|
- left := uint64(ui.AvailableReinput) % (ModBase * Decimals)
|
|
|
|
|
|
+ left := uint64(ui.AvailableReinput) % ModBase
|
|
reinputValue := ui.AvailableReinput - float64(left)
|
|
reinputValue := ui.AvailableReinput - float64(left)
|
|
ui.AvailableReinput = float64(left)
|
|
ui.AvailableReinput = float64(left)
|
|
ui.TotalReinputed += reinputValue
|
|
ui.TotalReinputed += reinputValue
|
|
- if ui.TotalReinputed >= CommunityLimit*Decimals {
|
|
|
|
|
|
+ if ui.TotalReinputed >= CommunityLimit {
|
|
ui.State = CommunityUsers
|
|
ui.State = CommunityUsers
|
|
}
|
|
}
|
|
_, err = uc.engine.ID(user).Cols("available_reinput").Update(&ui)
|
|
_, err = uc.engine.ID(user).Cols("available_reinput").Update(&ui)
|
|
@@ -77,8 +76,9 @@ func (uc *UserController) Reinput(user string) {
|
|
}
|
|
}
|
|
func (uc *UserController) GetClaimSignature() {
|
|
func (uc *UserController) GetClaimSignature() {
|
|
addr := uc.GetString("addr")
|
|
addr := uc.GetString("addr")
|
|
- s := uc.GetString("token")
|
|
|
|
- user := util.GetPri(s, addr[len(addr)-16:])
|
|
|
|
|
|
+ tk := uc.GetString("token")
|
|
|
|
+ tm := uc.GetString("time")
|
|
|
|
+ user := util.GetPri(tk, addr[len(addr)-16:])
|
|
if strings.ToLower(user) != strings.ToLower(addr) {
|
|
if strings.ToLower(user) != strings.ToLower(addr) {
|
|
ErrResponse(uc.Controller, "无效地址")
|
|
ErrResponse(uc.Controller, "无效地址")
|
|
return
|
|
return
|
|
@@ -90,13 +90,13 @@ func (uc *UserController) GetClaimSignature() {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
- format := time.Now().AddDate(0, 0, 1).Format("2006-01-02")
|
|
|
|
- te, _ := time.ParseInLocation("2006-01-02", format, time.Local)
|
|
|
|
|
|
+ // 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)))
|
|
// pow := decimal.NewFromFloat(float64(10)).Pow(decimal.NewFromFloat(float64(18)))
|
|
// amount := decimal.NewFromFloat(ua.AvailableClaim).Mul(pow).BigInt().String()
|
|
// amount := decimal.NewFromFloat(ua.AvailableClaim).Mul(pow).BigInt().String()
|
|
amount := big.NewInt(0).SetUint64(uint64(ua.AvailableClaim)).String()
|
|
amount := big.NewInt(0).SetUint64(uint64(ua.AvailableClaim)).String()
|
|
- out1 := util.Sign(amount, strings.ToLower(user[2:]), fmt.Sprint(te.Unix()))
|
|
|
|
- sign := out1 + "-" + amount + "-" + fmt.Sprint(te.Unix())
|
|
|
|
|
|
+ out1 := util.Sign(amount, strings.ToLower(user[2:]), tm)
|
|
|
|
+ sign := out1 + "-" + amount + "-" + tm
|
|
code := util.EnPriCode(sign, addr[len(addr)-16:])
|
|
code := util.EnPriCode(sign, addr[len(addr)-16:])
|
|
TxObjectResponse(uc.Controller, code)
|
|
TxObjectResponse(uc.Controller, code)
|
|
}
|
|
}
|
|
@@ -141,5 +141,84 @@ func (uc *UserController) SetClaimHash() {
|
|
}
|
|
}
|
|
TxObjectResponse(uc.Controller, "ok")
|
|
TxObjectResponse(uc.Controller, "ok")
|
|
}
|
|
}
|
|
-func (uc *UserController) GetUserInfo() {}
|
|
|
|
-func (uc *UserController) GetTeamList() {}
|
|
|
|
|
|
+func (uc *UserController) GetUserInfo() {
|
|
|
|
+ user := uc.GetString("address")
|
|
|
|
+ var us models.UserInfo
|
|
|
|
+ ok, err := uc.engine.ID(user).Get(&us)
|
|
|
|
+ if err != nil {
|
|
|
|
+ TxObjectResponse(uc.Controller, err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if !ok {
|
|
|
|
+ TxObjectResponse(uc.Controller, us)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ TxObjectResponse(uc.Controller, us)
|
|
|
|
+}
|
|
|
|
+func (uc *UserController) GetTeamList() {
|
|
|
|
+ user := uc.GetString("address")
|
|
|
|
+ s, err := uc.GetInt("size")
|
|
|
|
+ if err != nil {
|
|
|
|
+ TxObjectResponse(uc.Controller, err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ l, err := uc.GetInt("limit")
|
|
|
|
+ if err != nil {
|
|
|
|
+ TxObjectResponse(uc.Controller, err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ var us models.UserInfo
|
|
|
|
+ var teamList []models.UserInfo
|
|
|
|
+
|
|
|
|
+ ok, err := uc.engine.ID(user).Get(&us)
|
|
|
|
+ if err != nil {
|
|
|
|
+ TxObjectResponse(uc.Controller, err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if !ok {
|
|
|
|
+ TxObjectResponse(uc.Controller, us)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ c, err := uc.engine.Where("superiors like ?", "%,"+fmt.Sprint(us.Id)).FindAndCount(&teamList)
|
|
|
|
+ if err != nil {
|
|
|
|
+ TxObjectResponse(uc.Controller, err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ var addrList []string
|
|
|
|
+ for _, u := range teamList {
|
|
|
|
+ addrList = append(addrList, u.Addr)
|
|
|
|
+ }
|
|
|
|
+ res := models.Page{Limit: l, Size: s, Total: c, DataList: addrList}
|
|
|
|
+ TxObjectResponse(uc.Controller, res)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (uc *UserController) GetPerformance() {
|
|
|
|
+ user := uc.GetString("address")
|
|
|
|
+ var per models.Performance
|
|
|
|
+
|
|
|
|
+ ok, err := uc.engine.Id(user).Get(&per)
|
|
|
|
+ if err != nil {
|
|
|
|
+ TxObjectResponse(uc.Controller, err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if !ok {
|
|
|
|
+ TxObjectResponse(uc.Controller, per)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ TxObjectResponse(uc.Controller, per)
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func (uc *UserController) TotalUsers() {
|
|
|
|
+ var us models.UserInfo
|
|
|
|
+ ok, err := uc.engine.Desc("id").Get(&us)
|
|
|
|
+ if err != nil {
|
|
|
|
+ TxObjectResponse(uc.Controller, err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if !ok {
|
|
|
|
+ TxObjectResponse(uc.Controller, us)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ TxObjectResponse(uc.Controller, us)
|
|
|
|
+}
|