uniugm/admin/apps/game/domain/comm_resource_selection.go
2025-06-09 13:50:00 +08:00

79 lines
2.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package domain
import (
"admin/apps/game/domain/entity"
"admin/apps/game/domain/projects"
dto2 "admin/internal/model/dto"
)
func (svc *CommonResourceService) handleServerUpOrDown(projectEt *entity.Project, resourceName string, params *dto2.CommonRowsSelectionReq) (*dto2.CommonRowsSelectionRsp, error) {
if hook, ok := projects.GetProjectResourceHook(projectEt, resourceName).(projects.IPostResourceOpRowsHook); ok {
rsp, err := hook.RowsSelection(projectEt, resourceName, params.BtnKey, params.Rows)
return rsp, err
}
return nil, nil
}
func (svc *CommonResourceService) handleServerExportCdn(projectEt *entity.Project, resourceName string, params *dto2.CommonRowsSelectionReq) (*dto2.CommonRowsSelectionRsp, error) {
// 导出cdn聚合公告信息一起导
serverList, err := svc.serverRepo.List(projectEt.GetProjectPo().ID)
if err != nil {
return nil, err
}
noticeList, err := svc.noticeRepo.List(projectEt.GetProjectPo().ID)
if err != nil {
return nil, err
}
content, err := genCdnServerListContent(serverList, noticeList)
if err != nil {
return nil, err
}
return &dto2.CommonRowsSelectionRsp{
Msg: content,
NeedRefresh: false,
FileName: projectEt.GetProjectPo().Name + "-区服公告信息.txt",
}, nil
}
func (svc *CommonResourceService) handleNoticeDisable(projectEt *entity.Project, resourceName string, params *dto2.CommonRowsSelectionReq) (*dto2.CommonRowsSelectionRsp, error) {
var err error
if len(params.Rows) == 0 {
// 禁用所有
err = svc.noticeRepo.DisableAll(projectEt.GetProjectID())
} else {
ids := make([]int, 0, len(params.Rows))
for _, v := range params.Rows {
ids = append(ids, int(v["ID"].(float64)))
}
err = svc.noticeRepo.DisableSome(projectEt.GetProjectID(), ids)
}
if err != nil {
return nil, err
}
return &dto2.CommonRowsSelectionRsp{
Msg: "禁用成功!",
NeedRefresh: true,
}, nil
}
func (svc *CommonResourceService) handleNoticeEnable(projectEt *entity.Project, resourceName string, params *dto2.CommonRowsSelectionReq) (*dto2.CommonRowsSelectionRsp, error) {
var err error
if len(params.Rows) == 0 {
// 禁用所有
err = svc.noticeRepo.EnableAll(projectEt.GetProjectID())
} else {
ids := make([]int, 0, len(params.Rows))
for _, v := range params.Rows {
ids = append(ids, int(v["ID"].(float64)))
}
err = svc.noticeRepo.EnableSome(projectEt.GetProjectID(), ids)
}
if err != nil {
return nil, err
}
return &dto2.CommonRowsSelectionRsp{
Msg: "启用成功!",
NeedRefresh: true,
}, nil
}