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
@@ -0,0 +1,33 @@
package tonesearcher
import "91porn-server/app/service/searcher"
type ToneRes struct {
Name string `json:"name"` //主题名
Types string `json:"types"` //类型
Cover string `json:"cover"` //封面
PlayCount int64 `json:"playCount"` //播放数
PayCount int64 `json:"payCount"` //购买数
Sort int `json:"-"` //排序
}
type Result struct {
dat []ToneRes
hasNext bool
}
func (*Result) Types() searcher.ResultTypes {
return searcher.ToneSearchResult
}
func (r *Result) Data() interface{} {
return r.dat
}
func (r *Result) Count() int64 {
return int64(len(r.dat))
}
func (r *Result) HasNext() bool {
return r.hasNext
}
@@ -0,0 +1,74 @@
package tonesearcher
import (
"91porn-server/app/appg"
"91porn-server/app/service/searcher"
"91porn-server/common/constant/redisconst"
"91porn-server/common/log"
"91porn-server/models/v/tonemod"
"91porn-server/models/v/tonerecomod"
"go.mongodb.org/mongo-driver/bson"
)
// M M
type M = bson.M
type ToneValue = tonemod.ToneValue
// ToneSearcher ToneSearcher
type ToneSearcher struct {
}
// NewToneSearcher NewToneSearcher
func NewToneSearcher() searcher.Searcher {
return &ToneSearcher{}
}
// Search Search
func (t *ToneSearcher) Search(unuse1 searcher.KeyWorder, unuse2 searcher.Opter) (result searcher.Resulter, err error) {
enable := true
enableMatch := tonemod.EnableMatch{Enable: &enable}
max := int64(7)
list, err := tonemod.List(bson.D{{Key: "sortKey", Value: 1}}, 0, max, enableMatch.New())
if err != nil {
return nil, err
}
toneValue := GetToneValue()
toneResList := make([]ToneRes, len(list))
for i, v := range list {
toneRes := ToneRes{
Name: v.Name,
Types: v.Types,
Cover: v.Cover,
Sort: v.SortKey,
}
switch v.Types {
case tonerecomod.OfficialRecom:
toneRes.PlayCount = toneValue.OfficialRecomPlayCount
case tonerecomod.GoldCoinArea:
toneRes.PayCount = toneValue.GoldCoinAreaPayCount
case tonerecomod.LatestUpload:
toneRes.PlayCount = toneValue.LatestUploadPlayCount
case tonerecomod.MostLikes:
toneRes.PlayCount = toneValue.MostLikesPlayCount
case tonerecomod.PlayAtMost:
toneRes.PlayCount = toneValue.PlayAtMostPlayCount
case tonerecomod.MostComments:
toneRes.PlayCount = toneValue.MostCommentsPlayCount
case tonerecomod.FreeArea:
toneRes.PlayCount = toneValue.FreeAreaPlayCount
}
toneResList[i] = toneRes
}
return &Result{toneResList, false}, nil
}
func GetToneValue() ToneValue {
var toneValue ToneValue
redisKey := redisconst.ToneKey()
if err := appg.Redis.Scan(redisKey, &toneValue); err != nil {
log.Warn("tone Run redis Scan error", log.E(err))
}
return toneValue
}