79 lines
2.5 KiB
Go
79 lines
2.5 KiB
Go
|
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
|
|||
|
}
|