135 lines
3.0 KiB
Go
135 lines
3.0 KiB
Go
package user
|
|
|
|
import (
|
|
"f5"
|
|
"fmt"
|
|
"main/constant"
|
|
"main/service"
|
|
"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"`
|
|
}{}
|
|
rspObj.Email = c.MustGet("email").(string)
|
|
contributionPoint, err := service.Contribution.GetAddressContribution(accountAddress, false)
|
|
if err != nil {
|
|
f5.RspErr(c, 2, err.Error())
|
|
return
|
|
}
|
|
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() {
|
|
rspObj.NickName = ds.GetByName("name")
|
|
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+present_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
|
|
}
|
|
if 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)
|
|
}
|