Files
mayfly-go/server/internal/sys/infrastructure/persistence/role.go
2024-05-05 14:53:30 +08:00

37 lines
1003 B
Go

package persistence
import (
"mayfly-go/internal/sys/domain/entity"
"mayfly-go/internal/sys/domain/repository"
"mayfly-go/pkg/base"
"mayfly-go/pkg/model"
)
type roleRepoImpl struct {
base.RepoImpl[*entity.Role]
}
func newRoleRepo() repository.Role {
return &roleRepoImpl{base.RepoImpl[*entity.Role]{M: new(entity.Role)}}
}
func (m *roleRepoImpl) GetPageList(condition *entity.RoleQuery, pageParam *model.PageParam, toEntity any, orderBy ...string) (*model.PageResult[any], error) {
qd := model.NewCond().
Like("name", condition.Name).
Like("code", condition.Code).
In("id", condition.Ids).
NotIn("id", condition.NotIds).
OrderBy(orderBy...)
return m.PageByCondToAny(qd, pageParam, toEntity)
}
func (m *roleRepoImpl) ListByQuery(condition *entity.RoleQuery) ([]*entity.Role, error) {
qd := model.NewCond().
Like("name", condition.Name).
Like("code", condition.Code).
In("id", condition.Ids).
NotIn("id", condition.NotIds).
OrderByDesc("id")
return m.SelectByCond(qd)
}