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 }