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
+109
View File
@@ -0,0 +1,109 @@
package activityser
import (
"fmt"
"time"
"91porn-server/common/db"
"91porn-server/common/log"
"91porn-server/common/stderr"
"91porn-server/models/v/activitymod"
"91porn-server/web/webg"
)
// 新增活动
func Add(in activitymod.AddCond) stderr.Code {
result, err := activitymod.Add(in)
if err != nil {
return stderr.ErrDbInsertError
}
log.Info(fmt.Sprintf("新增活动[%v]成功", result))
return stderr.Success
}
// 修改活动
func Modify(in *activitymod.ModifyCond) stderr.Code {
var jobStatus bool
now := time.Now()
// 获取活动信息
activityDetail, err := activitymod.Get(in.ID)
if err != nil {
return stderr.ErrDbQueryError
}
// 活动开启限制
if in.Status != nil {
// 时间限制
if *in.Status && (in.StartTime.After(now) || !in.EndTime.After(now)) {
return stderr.ActivityDateError
}
// 开启/关闭任务
if (*in.Status && !activityDetail.Status) || (!*in.Status && activityDetail.Status) {
jobStatus = true
}
}
if err = webg.VideoDB.Trans(func(t *db.MongoTool) error {
if err = activitymod.Modify(t, in.Cond(), in.Bson()); err != nil {
return stderr.ErrDbUpdateError
}
if jobStatus {
if err = OpenBotDraw(in.ID, *in.Status); err != nil {
return err
}
}
return nil
}); err != nil {
return stderr.ErrDbTransError
}
return stderr.Success
}
// 查询列表
func QueryAll(in *activitymod.QueryAllCond) (interface{}, stderr.Code) {
var data map[string]interface{} = map[string]interface{}{
"list": []interface{}{},
"count": 0,
}
count, err := activitymod.Count(in.Query())
if err != nil {
return nil, stderr.ErrDbQueryError
}
if count == 0 {
return data, stderr.Success
}
list, err := activitymod.QueryAll(in.Query(), in.Options())
if err != nil {
return nil, stderr.ErrDbQueryError
}
data["count"] = count
data["list"] = list
return data, stderr.Success
}
func QueryDropDownBox() (interface{}, stderr.Code) {
list, err := activitymod.QueryDropDownBox()
if err != nil {
return nil, stderr.ErrDbQueryError
}
data := make([]map[string]interface{}, len(list))
for i, v := range list {
data[i] = map[string]interface{}{
"label": v.Title,
"value": v.ID.Hex(),
}
}
return data, stderr.Success
}
func LoadingJob() error {
// 获取所有开启中活动
activityList, err := activitymod.QueryDropDownBox()
if err != nil {
return err
}
for _, v := range activityList {
if err = OpenBotDraw(v.ID, v.Status); err != nil {
return err
}
}
return nil
}