@@ -0,0 +1,48 @@
|
||||
package walletctrl
|
||||
|
||||
import (
|
||||
"91porn-server/app/service/ai_undress_server"
|
||||
"91porn-server/app/service/aiser"
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/models/v/walletmod"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// GetWalletAmount doc
|
||||
// @Summary 获取钱包信息
|
||||
// @Description 获取钱包信息
|
||||
// @Tags 钱包
|
||||
// @Accept mpfd,json
|
||||
// @Produce json,html
|
||||
// @Success 200 {object} walletmod.Wallet "{"msg": "操作成功"}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /mine/wallet [get]
|
||||
func GetWalletAmount(ctx *gin.Context) {
|
||||
uid, err := common.GetUID(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrNoToken, err.Error())
|
||||
return
|
||||
}
|
||||
// 从AI女友页面返回后,钱包查询会先尝试把第三方剩余余额下分回主钱包。
|
||||
// 下分失败只记录告警,钱包接口仍返回当前本地余额。
|
||||
if err = aiser.TrySettleDown(ctx.Request.Context(), uid); err != nil {
|
||||
log.Warn("wallet AI girlfriend settlement failed", log.Any("uid", uid), log.E(err))
|
||||
}
|
||||
w, err := walletmod.GetWallet(uid)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrServerUnavailable, err.Error())
|
||||
return
|
||||
}
|
||||
resp := &walletmod.WalletResp{}
|
||||
|
||||
// 当日剩余ai免费脱衣次数
|
||||
if w != nil {
|
||||
resp.Wallet = *w
|
||||
resp.TodayAiFreeTimes = ai_undress_server.GetTodayRemainingAiFreeUndressTimes(*w)
|
||||
}
|
||||
|
||||
common.ServeJSON(ctx, stderr.Success, resp)
|
||||
}
|
||||
Reference in New Issue
Block a user