2024-08-26 14:18:31 +08:00

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