Initial commit

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 13:57:10 +08:00
co-authored by Claude Opus 5
commit 8679200f41
1897 changed files with 257900 additions and 0 deletions
+71
View File
@@ -0,0 +1,71 @@
package daichongctrl
import (
"net/http"
"strconv"
"strings"
"91porn-server/common/daichong"
"91porn-server/common/log"
"91porn-server/common/stderr"
"91porn-server/models/e/daichongmod"
"91porn-server/models/v/usermod"
"91porn-server/models/v/walletmod"
"91porn-server/web/webg"
"github.com/gin-gonic/gin"
)
// 查询玩家信息 doc
// @Summary 查询玩家信息 通知订单生成
// @Description 通知订单生成
// @Tags WEB-daichong
// @Accept mpfd,json
// @Produce json,html
// @Param appId formData string true "代充平台提供的appId"
// @Param data formData string true "加密结果字符串"
// @Success 200 {string} json "{"msg": "操作成功"}"
// @Failure 400 {string} json "{"msg": "操作失败"}"
// @Router /daichong/api/chat/queryPlayerInfo [post]
func QueryPlayerInfo(ctx *gin.Context) {
param := daichongmod.CommnReq{}
if err := ctx.ShouldBind(&param); err != nil {
log.Warn("daichong callback api queryPlayerInfo post param fail error", log.E(err))
ctx.JSON(http.StatusOK, gin.H{"data": nil, "code": stderr.ErrParamError, "msg": stderr.ErrParamError.Msg()})
return
}
if param.AppId != webg.Conf.DaiChong.AppID {
ctx.JSON(http.StatusOK, gin.H{"data": nil, "code": stderr.ErrAppIDNotExist, "msg": stderr.ErrAppIDNotExist.Msg()})
return
}
querySign := daichongmod.BalanceSign{}
if err := daichong.Sign2Struct(&querySign, param.Data, webg.Conf.DaiChong.AppSecret); err != nil {
log.Warn("daichong callback api queryPlayerInfo decrypt sign data fail error", log.E(err))
ctx.JSON(http.StatusOK, gin.H{"data": nil, "code": stderr.Failure, "msg": stderr.Failure.Msg()})
return
}
uidstr := strings.Split(strings.TrimSpace(querySign.Uids), ",")
type userForThird struct {
Uid string `json:"uid"`
NickName string `json:"nickName"`
CoinNum string `json:"coinNum"`
BankCoin string `json:"bankCoin"`
}
ut := make([]userForThird, len(uidstr))
for i, v := range uidstr {
uid, _ := strconv.Atoi(strings.TrimSpace(v))
user, err := usermod.FindUserByUID(uint64(uid))
if err != nil || user == nil {
continue
}
w, _ := walletmod.GetWallet(uint64(uid))
coinNum := w.Amount
ut[i] = userForThird{
Uid: strings.TrimSpace(v),
NickName: user.Name,
CoinNum: strconv.Itoa(int(coinNum)),
BankCoin: "0",
}
}
ctx.JSON(http.StatusOK, gin.H{"data": ut, "code": stderr.Success, "msg": stderr.Success.Msg()})
}