支付和广告调试

This commit is contained in:
2026-09-15 22:11:05 +08:00
parent 3a79d6a10c
commit 97c9588e5d
12 changed files with 328 additions and 198 deletions
+1
View File
@@ -37,6 +37,7 @@ func AdsClick(ctx *gin.Context) {
common.ServeJSON(ctx, stderr.ErrParamError, nil)
return
}
adser.AsyncAdvertiseClick(arg.ID)
common.ServeJSON(ctx, stderr.Success, nil)
}
+13 -23
View File
@@ -11,6 +11,7 @@ import (
"91porn-server/common/constant"
"91porn-server/common/services/message"
"91porn-server/common/store"
v10 "91porn-server/common/v10"
"91porn-server/models/cache/bannerjumpdata"
"91porn-server/models/cache/sysconfdata"
"91porn-server/models/v/bannerjumpmod"
@@ -32,7 +33,6 @@ import (
"91porn-server/common"
"91porn-server/common/log"
"91porn-server/common/stderr"
"91porn-server/common/version"
"91porn-server/models/commod"
"91porn-server/models/v/sourcemod"
"91porn-server/models/v/systemmod"
@@ -248,40 +248,29 @@ func DomainList(ctx *gin.Context) {
})
common.Go(func() {
defer wg.Done()
builId := v10.ExtractPureEngChar(ua.BuildID)
//版本、广告、公告
verResp, _, annouResp, _, _, _, err := versionser.AdvVersionAnnounThreeServer(ua.Ver, ua.SysType)
versionResp, err := VersionThreeServer(ua.Ver, ua.SysType, builId, ua.BuildID)
if err != nil {
log.Error("VersionThreeServer", log.E(err))
return
}
for k, v := range annouResp {
v.Href = activityclient.ReplaceActivityDomain(v.Href, user, wallet)
annouResp[k] = v
}
//版本业务
//安卓不做限制;iOS 端版本 <= 1.11.2 不下发版本信息
skipVer := false
if ua.SysType == constant.SysTypeIOS {
if cur, err := version.New(ua.Ver); err == nil && cur.LTE(version.MustNew("1.11.2")) {
skipVer = true
}
}
if len(verResp.DownloadLink) > 0 && !skipVer {
if versionResp.HasNewVersion {
versionBody := []*versionmod.VersionBody{
&versionmod.VersionBody{
VersionName: verResp.ServerVersion,
VersionName: versionResp.ServerVersion,
Platform: ua.SysType,
Description: verResp.Description,
ForcedUpdate: verResp.IsForceUpdate,
URL: verResp.DownloadLink[0],
IosUrl: verResp.DownloadLink[0],
Description: versionResp.Description,
ForcedUpdate: versionResp.IsForceUpdate,
URL: versionResp.DownloadLink[0],
IosUrl: versionResp.DownloadLink[0],
}}
sysInfo.Ver = versionBody
}
//公告
sysInfo.Ads.AnnounList = annouResp
})
common.Go(func() {
defer wg.Done()
jtAds, err := adser.JtAdvertiseThreeServer()
if err != nil {
log.Error("JtAdvertiseThreeServer error occur", log.E(err))
@@ -324,6 +313,7 @@ func DomainList(ctx *gin.Context) {
adsList = append(adsList, adsinfo)
}
}
log.Info("JtAdvertiseThreeServer", log.Any("ads", adsList))
sysInfo.Ads.AdsList = adsList
})
common.Go(func() {
+73
View File
@@ -0,0 +1,73 @@
package pingctrl
import (
"91porn-server/app/appg"
"91porn-server/common/httputil"
"91porn-server/common/log"
"encoding/json"
"fmt"
"net/http"
)
type PacketType int32
const (
PacketTypeEnterprise PacketType = 1 // 企业签
PacketTypeShop PacketType = 2 // 商店包
PacketTypeTestFlight PacketType = 3 // TF包
)
type AppVersionReq struct {
AppId int32 `json:"appId" binding:"required"` // AppID
SysType string `json:"sysType,omitempty"` // 终端类型
PktType PacketType `json:"pktType,omitempty"` // 包类型
CurVersion string `json:"curVersion,omitempty"` // 当前版本
CurPackageName string `json:"curPackageName,omitempty"` // 包名
}
type AppVersionResp struct {
HasNewVersion bool `json:"hasNewVersion,omitempty"` // 是否存在新版本
ServerVersion string `json:"serverVersion,omitempty"` // 服务器新版本
DownloadLink []string `json:"downloadLink,omitempty"` // 下载地址
Description string `json:"description,omitempty"` // 描述
IsForceUpdate bool `json:"isForceUpdate,omitempty"` // 是否强制升级
Size string `json:"size,omitempty"` // 大小
Md5 string `json:"md5,omitempty"` // md5
}
func VersionThreeServer(curVersion, sysType, buildID, packageName string) (resp AppVersionResp, err error) {
req := AppVersionReq{
AppId: 2,
PktType: PacketTypeEnterprise,
SysType: sysType,
CurVersion: curVersion,
CurPackageName: packageName,
}
// TF包
if len(buildID) > 0 {
req.PktType = PacketTypeTestFlight
}
url := appg.Conf.URL.VersionUrl + "/api/stat/version/app"
bodyStr, err := json.Marshal(req)
if err != nil {
log.Error("VersionThreeServer json.Marshal fail", log.Any("req", req), log.E(err))
}
code, err := httputil.New().POSTWithJResp(&resp, url, nil, bodyStr)
if err != nil {
log.Error("VersionThreeServer POSTWithJResp ", log.Any("url", url), log.E(err))
return
}
if code != http.StatusOK {
log.Error("VersionThreeServer response status ", log.Any("code", code))
err = fmt.Errorf("response status err")
return
}
log.Info("VersionThreeServer response", log.Any("resp", resp.DownloadLink), log.Any("version", resp.HasNewVersion))
return
}
+7
View File
@@ -9,6 +9,7 @@ import (
"fmt"
"io"
"net/http"
"time"
"91porn-server/app/service/rechargeser"
"91porn-server/common/log"
@@ -44,6 +45,12 @@ func CallBack(ctx *gin.Context) {
return "", err
}
rb.TransNo = rchgutil.RChgIDDisassemble(rb.TransNo)
if rb.SuccessAt.IsZero() {
rb.SuccessAt = time.Now()
}
if rb.PaymentAt.IsZero() {
rb.PaymentAt = rb.SuccessAt
}
if err = rechargeser.RechargeCallBack(ctx, rb.OID, rb.PayMoney, rb.TransNo, rb.Code, rb.PaymentAt, rb.SuccessAt); err != nil {
log.Error(fmt.Sprintf("%s RechargeCallBack fail error:%+v:", name, err))
}
+1
View File
@@ -52,5 +52,6 @@ func Click(ctx *gin.Context) {
common.ServeJSON(ctx, stderr.ErrTokenIsNotExist, "")
return
}
adser.AsyncAdvertiseClick(p.Id)
common.ServeJSON(ctx, stderr.Success, nil)
}