mirror of
https://github.com/halejohn/Cloudreve.git
synced 2026-01-26 09:34:57 +08:00
Modify: clean useless codes
This commit is contained in:
@@ -1,75 +0,0 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
model "github.com/HFO4/cloudreve/models"
|
||||
"github.com/HFO4/cloudreve/pkg/serializer"
|
||||
"github.com/gin-gonic/gin"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// OrderBatchService 订单批量操作服务
|
||||
type OrderBatchService struct {
|
||||
ID []uint `json:"id" binding:"min=1"`
|
||||
}
|
||||
|
||||
// Delete 删除订单
|
||||
func (service *OrderBatchService) Delete(c *gin.Context) serializer.Response {
|
||||
if err := model.DB.Where("id in (?)", service.ID).Delete(&model.Order{}).Error; err != nil {
|
||||
return serializer.DBErr("无法删除订单", err)
|
||||
}
|
||||
return serializer.Response{}
|
||||
}
|
||||
|
||||
// Orders 列出订单
|
||||
func (service *AdminListService) Orders() serializer.Response {
|
||||
var res []model.Order
|
||||
total := 0
|
||||
|
||||
tx := model.DB.Model(&model.Order{})
|
||||
if service.OrderBy != "" {
|
||||
tx = tx.Order(service.OrderBy)
|
||||
}
|
||||
|
||||
for k, v := range service.Conditions {
|
||||
tx = tx.Where(k+" = ?", v)
|
||||
}
|
||||
|
||||
if len(service.Searches) > 0 {
|
||||
search := ""
|
||||
for k, v := range service.Searches {
|
||||
search += k + " like '%" + v + "%' OR "
|
||||
}
|
||||
search = strings.TrimSuffix(search, " OR ")
|
||||
tx = tx.Where(search)
|
||||
}
|
||||
|
||||
// 计算总数用于分页
|
||||
tx.Count(&total)
|
||||
|
||||
// 查询记录
|
||||
tx.Limit(service.PageSize).Offset((service.Page - 1) * service.PageSize).Find(&res)
|
||||
|
||||
// 查询对应用户,同时计算HashID
|
||||
users := make(map[uint]model.User)
|
||||
for _, file := range res {
|
||||
users[file.UserID] = model.User{}
|
||||
}
|
||||
|
||||
userIDs := make([]uint, 0, len(users))
|
||||
for k := range users {
|
||||
userIDs = append(userIDs, k)
|
||||
}
|
||||
|
||||
var userList []model.User
|
||||
model.DB.Where("id in (?)", userIDs).Find(&userList)
|
||||
|
||||
for _, v := range userList {
|
||||
users[v.ID] = v
|
||||
}
|
||||
|
||||
return serializer.Response{Data: map[string]interface{}{
|
||||
"total": total,
|
||||
"items": res,
|
||||
"users": users,
|
||||
}}
|
||||
}
|
||||
@@ -71,10 +71,7 @@ func (service *PolicyService) Delete() serializer.Response {
|
||||
// 检查用户组使用
|
||||
var groups []model.Group
|
||||
model.DB.Model(&model.Group{}).Where(
|
||||
"policies like ? OR policies like ? OR policies like ? OR policies like ?",
|
||||
fmt.Sprintf("[%d,%%", service.ID),
|
||||
fmt.Sprintf("%%,%d]", service.ID),
|
||||
fmt.Sprintf("%%,%d,%%", service.ID),
|
||||
"policies like ?",
|
||||
fmt.Sprintf("%%[%d]%%", service.ID),
|
||||
).Find(&groups)
|
||||
|
||||
|
||||
@@ -71,12 +71,6 @@ func (service *UserBatchService) Delete() serializer.Response {
|
||||
model.DB.Where("user_id = ?", uid).Delete(&model.Download{})
|
||||
model.DB.Where("user_id = ?", uid).Delete(&model.Task{})
|
||||
|
||||
// 删除订单记录
|
||||
model.DB.Where("user_id = ?", uid).Delete(&model.Order{})
|
||||
|
||||
// 删除容量包
|
||||
model.DB.Where("user_id = ?", uid).Delete(&model.StoragePack{})
|
||||
|
||||
// 删除标签
|
||||
model.DB.Where("user_id = ?", uid).Delete(&model.Tag{})
|
||||
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
package admin
|
||||
|
||||
import (
|
||||
model "github.com/HFO4/cloudreve/models"
|
||||
"github.com/HFO4/cloudreve/pkg/serializer"
|
||||
"github.com/gofrs/uuid"
|
||||
)
|
||||
|
||||
// GenerateRedeemsService 兑换码生成服务
|
||||
type GenerateRedeemsService struct {
|
||||
Num int `json:"num" binding:"required,min=1,max=100"`
|
||||
ID int64 `json:"id"`
|
||||
Time int `json:"time" binding:"required,min=1"`
|
||||
Type int `json:"type" binding:"min=0,max=2"`
|
||||
}
|
||||
|
||||
// SingleIDService 单ID服务
|
||||
type SingleIDService struct {
|
||||
ID uint `uri:"id" binding:"required"`
|
||||
}
|
||||
|
||||
// DeleteRedeem 删除兑换码
|
||||
func (service *SingleIDService) DeleteRedeem() serializer.Response {
|
||||
if err := model.DB.Where("id = ?", service.ID).Delete(&model.Redeem{}).Error; err != nil {
|
||||
return serializer.DBErr("无法删除兑换码", err)
|
||||
}
|
||||
|
||||
return serializer.Response{}
|
||||
}
|
||||
|
||||
// Generate 生成兑换码
|
||||
func (service *GenerateRedeemsService) Generate() serializer.Response {
|
||||
res := make([]string, service.Num)
|
||||
redeem := model.Redeem{}
|
||||
|
||||
// 开始事务
|
||||
tx := model.DB.Begin()
|
||||
if err := tx.Error; err != nil {
|
||||
return serializer.DBErr("无法开启事务", err)
|
||||
}
|
||||
|
||||
// 创建每个兑换码
|
||||
for i := 0; i < service.Num; i++ {
|
||||
redeem.Model.ID = 0
|
||||
redeem.Num = service.Time
|
||||
redeem.Type = service.Type
|
||||
redeem.ProductID = service.ID
|
||||
redeem.Used = false
|
||||
|
||||
// 生成唯一兑换码
|
||||
u2, err := uuid.NewV4()
|
||||
if err != nil {
|
||||
tx.Rollback()
|
||||
return serializer.Err(serializer.CodeInternalSetting, "无法生成兑换码", err)
|
||||
}
|
||||
|
||||
redeem.Code = u2.String()
|
||||
if err := tx.Create(&redeem).Error; err != nil {
|
||||
tx.Rollback()
|
||||
return serializer.DBErr("无法创建兑换码记录", err)
|
||||
}
|
||||
|
||||
res[i] = redeem.Code
|
||||
}
|
||||
|
||||
if err := tx.Commit().Error; err != nil {
|
||||
return serializer.DBErr("无法创建兑换码记录", err)
|
||||
}
|
||||
|
||||
return serializer.Response{Data: res}
|
||||
|
||||
}
|
||||
|
||||
// Redeems 列出激活码
|
||||
func (service *AdminListService) Redeems() serializer.Response {
|
||||
var res []model.Redeem
|
||||
total := 0
|
||||
|
||||
tx := model.DB.Model(&model.Redeem{})
|
||||
if service.OrderBy != "" {
|
||||
tx = tx.Order(service.OrderBy)
|
||||
}
|
||||
|
||||
for k, v := range service.Conditions {
|
||||
tx = tx.Where("? = ?", k, v)
|
||||
}
|
||||
|
||||
// 计算总数用于分页
|
||||
tx.Count(&total)
|
||||
|
||||
// 查询记录
|
||||
tx.Limit(service.PageSize).Offset((service.Page - 1) * service.PageSize).Find(&res)
|
||||
|
||||
return serializer.Response{Data: map[string]interface{}{
|
||||
"total": total,
|
||||
"items": res,
|
||||
}}
|
||||
}
|
||||
Reference in New Issue
Block a user