@@ -0,0 +1,151 @@
|
||||
package ai_mate_ctrl
|
||||
|
||||
import (
|
||||
"91porn-server/app/appg"
|
||||
"91porn-server/app/service/ai_mate_ser"
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/common/stderr"
|
||||
"fmt"
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
// GetCurrencys doc
|
||||
// @Summary AI伴侣
|
||||
// @Description 获取AI伴侣币列表
|
||||
// @Tags mine
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Success 200 {string} json "{"msg": "操作成功"}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/app/aimate/currencys [get]
|
||||
func GetCurrencys(ctx *gin.Context) {
|
||||
code, data := ai_mate_ser.GetCurrencyList()
|
||||
if code != stderr.Success {
|
||||
common.ServeJSON(ctx, code, nil)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, code, gin.H{"list": data})
|
||||
}
|
||||
|
||||
// Exchange doc
|
||||
// @Summary AI伴侣
|
||||
// @Description 兑换AI伴侣货币
|
||||
// @Tags mine
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param q query ai_mate_ser.ExchangeReq false "请求参数"
|
||||
// @Success 200 {string} json "{"msg": "操作成功"}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/app/aimate/exchange [post]
|
||||
func Exchange(ctx *gin.Context) {
|
||||
uid, err := common.GetUID(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
||||
return
|
||||
}
|
||||
var req ai_mate_ser.ExchangeReq
|
||||
if err = ctx.ShouldBindJSON(&req); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
ua, _ := common.GetUA(ctx)
|
||||
ip := common.GetIP(ctx)
|
||||
code := ai_mate_ser.Exchange(uid, req, ua, ip)
|
||||
if code != stderr.Success {
|
||||
common.ServeJSON(ctx, code, nil)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, code, "操作成功")
|
||||
}
|
||||
|
||||
// Login doc
|
||||
// @Summary AI伴侣
|
||||
// @Description 获取当前用户的AI女友登录地址
|
||||
// @Tags mine
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Success 200 {object} ai_mate_ser.LoginResp
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/app/aimate/login [get]
|
||||
func Login(ctx *gin.Context) {
|
||||
uid, err := common.GetUID(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
||||
return
|
||||
}
|
||||
if appg.Conf.URL.AIMateH5 == "" {
|
||||
common.ServeJSON(ctx, stderr.FunctionNotEnabled, nil)
|
||||
return
|
||||
}
|
||||
ret, err := ai_mate_ser.Login(uid)
|
||||
if err != nil {
|
||||
log.Error("ai_mate_ser Login failed", log.Any("uid", uid), log.E(err))
|
||||
common.ServeJSON(ctx, stderr.Failure, nil)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, ret)
|
||||
}
|
||||
|
||||
// GetBalance doc
|
||||
// @Summary AI伴侣
|
||||
// @Description 获取用户AI伴侣余额
|
||||
// @Tags mine
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Success 200 {string} json "{"msg": "操作成功"}"
|
||||
// @Failure 400 {string} json "{"msg": "操作失败"}"
|
||||
// @Router /api/app/aimate/getBalance [get]
|
||||
func GetBalance(ctx *gin.Context) {
|
||||
uid, err := common.GetUID(ctx)
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrNoToken, err)
|
||||
return
|
||||
}
|
||||
|
||||
if appg.Conf.URL.AIMateH5 == "" {
|
||||
common.ServeJSON(ctx, stderr.FunctionNotEnabled, nil)
|
||||
return
|
||||
}
|
||||
|
||||
ret, err := ai_mate_ser.GetNewBalance(uid)
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("uid:%d, ai_mate_ser GetNewBalance err:%v", uid, err))
|
||||
common.ServeJSON(ctx, stderr.Failure, nil)
|
||||
return
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, ret)
|
||||
}
|
||||
|
||||
// GianBalance 保留历史拼写错误的接口,兼容旧客户端。
|
||||
func GianBalance(ctx *gin.Context) {
|
||||
GetBalance(ctx)
|
||||
}
|
||||
|
||||
// SyncInfo doc
|
||||
// @Summary 同步聊天信息
|
||||
// @Description 同步聊天信息
|
||||
// @Tags AI伴侣模块
|
||||
// @Accept mpfd,json
|
||||
// @Produce json,html
|
||||
// @Param param body ai_mate_ser.SyncInfoRes true "参数列表"
|
||||
// @Success 200 {string} string "成功"
|
||||
// @Failure 400 {string} string "获取失败的返回结果"
|
||||
// @Router /api/app/aimate/sync [post]
|
||||
func SyncInfo(ctx *gin.Context) {
|
||||
var in ai_mate_ser.SyncInfoRes
|
||||
if err := ctx.ShouldBindJSON(&in); err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, err)
|
||||
return
|
||||
}
|
||||
|
||||
err := in.Sync()
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("uid:%v,aimate sync err:%v", in.UID, err))
|
||||
common.ServeJSON(ctx, stderr.Failure, err)
|
||||
return
|
||||
}
|
||||
ctx.JSON(http.StatusOK, stderr.Success.Msg())
|
||||
}
|
||||
Reference in New Issue
Block a user