128 lines
2.6 KiB
Go
128 lines
2.6 KiB
Go
package user
|
|
|
|
import (
|
|
"f5"
|
|
"fmt"
|
|
"main/constant"
|
|
"q5"
|
|
"strings"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
type UserApi struct {
|
|
}
|
|
|
|
func (this *UserApi) Info(c *gin.Context) {
|
|
accountAddress := strings.ToLower(c.Param("account_address"))
|
|
rspObj := struct {
|
|
ErrCode int32 `json:"errcode"`
|
|
ErrMsg string `json:"errmsg"`
|
|
NickName string `json:"nickname"`
|
|
Email string `json:"email"`
|
|
ContributionPoint string `json:"contribution_point"`
|
|
Gold string `json:"gold"`
|
|
Diamond string `json:"diamond"`
|
|
}{}
|
|
var contributionPoint float64
|
|
var gold float64
|
|
var diamond float64
|
|
{
|
|
var dbErr error
|
|
f5.GetGoStyleDb().OrmSelectOne(
|
|
constant.GAME_DB,
|
|
"t_user",
|
|
[][]string{
|
|
{"address", accountAddress},
|
|
},
|
|
func(err error, ds *f5.DataSet) {
|
|
dbErr = err
|
|
if err != nil {
|
|
return
|
|
}
|
|
if ds.Next() {
|
|
gold = q5.ToFloat64(ds.GetByName("gold"))
|
|
diamond = q5.ToFloat64(ds.GetByName("diamond"))
|
|
}
|
|
})
|
|
if dbErr != nil {
|
|
f5.RspErr(c, 500, "server internal error")
|
|
return
|
|
}
|
|
}
|
|
{
|
|
var dbErr error
|
|
f5.GetGoStyleDb().OrmSelectOne(
|
|
constant.BCNFT_DB,
|
|
"t_contribution",
|
|
[][]string{
|
|
{"account_address", accountAddress},
|
|
},
|
|
func(err error, ds *f5.DataSet) {
|
|
dbErr = err
|
|
if err != nil {
|
|
return
|
|
}
|
|
if ds.Next() {
|
|
contributionPoint += q5.ToFloat64(ds.GetByName("contribution"))
|
|
}
|
|
})
|
|
if dbErr != nil {
|
|
f5.RspErr(c, 500, "server internal error")
|
|
return
|
|
}
|
|
}
|
|
{
|
|
var dbErr error
|
|
sql := "SELECT SUM(contribution) FROM t_staking_daily_settlement WHERE account_address = ?"
|
|
params := []string{
|
|
accountAddress,
|
|
}
|
|
f5.GetGoStyleDb().RawQuery(
|
|
constant.BCNFT_DB,
|
|
sql,
|
|
params,
|
|
func(err error, ds *f5.DataSet) {
|
|
dbErr = err
|
|
if err != nil {
|
|
return
|
|
}
|
|
for ds.Next() {
|
|
contributionPoint += q5.ToFloat64(ds.GetByIndex(0))
|
|
}
|
|
})
|
|
if dbErr != nil {
|
|
f5.RspErr(c, 500, "server internal error")
|
|
return
|
|
}
|
|
}
|
|
{
|
|
var dbErr error
|
|
sql := "SELECT SUM(diamond) FROM t_recharge_order WHERE passport_address = ? AND pay_status = 1 AND delivery_status = 0;"
|
|
params := []string{
|
|
accountAddress,
|
|
}
|
|
f5.GetGoStyleDb().RawQuery(
|
|
constant.BCNFT_DB,
|
|
sql,
|
|
params,
|
|
func(err error, ds *f5.DataSet) {
|
|
dbErr = err
|
|
if err != nil {
|
|
return
|
|
}
|
|
for ds.Next() {
|
|
diamond += q5.ToFloat64(ds.GetByIndex(0))
|
|
}
|
|
})
|
|
if dbErr != nil {
|
|
f5.RspErr(c, 500, "server internal error")
|
|
return
|
|
}
|
|
}
|
|
rspObj.ContributionPoint = fmt.Sprintf("%.2f", contributionPoint)
|
|
rspObj.Gold = fmt.Sprintf("%.2f", gold)
|
|
rspObj.Diamond = fmt.Sprintf("%.2f", diamond)
|
|
c.JSON(200, rspObj)
|
|
}
|