uniugm/admin/apps/game/domain/project.go
2025-04-18 17:43:08 +08:00

49 lines
1.1 KiB
Go

package domain
import (
"admin/apps/game/domain/entity"
"admin/apps/game/domain/repo"
"admin/apps/game/model/dto"
"gorm.io/gorm"
)
type ProjectSvc struct {
proRepo repo.IProjectRepo
}
func NewProjectSvc(db *gorm.DB) *ProjectSvc {
svc := &ProjectSvc{
proRepo: repo.NewProjectRepo(db),
}
registerRestfulSvc("project", svc)
return svc
}
func (svc *ProjectSvc) List(pageNo, pageLen int) ([]*dto.CommonDtoFieldDesc, []IRestfulEntity, error) {
entityList, err := svc.proRepo.List(pageNo, pageLen)
if err != nil {
return nil, nil, err
}
iList := make([]IRestfulEntity, 0, len(entityList))
for _, v := range entityList {
iList = append(iList, v)
}
return entity.ProjectDtoFieldsDescInfo, iList, nil
}
func (svc *ProjectSvc) Post(obj dto.CommonDtoValues) (IRestfulEntity, error) {
et := entity.FromProjectDto(obj)
err := svc.proRepo.Create(et)
return et, err
}
func (svc *ProjectSvc) Put(obj dto.CommonDtoValues) (IRestfulEntity, error) {
et := entity.FromProjectDto(obj)
err := svc.proRepo.Edit(et)
return et, err
}
func (svc *ProjectSvc) Delete(id int) error {
return svc.proRepo.Delete(id)
}