projectx/internal/db/sqlc/sys_department.sql.go
2025-03-31 11:59:42 +08:00

358 lines
8.6 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.28.0
// source: sys_department.sql
package db
import (
"context"
"time"
)
const allSysDepartment = `-- name: AllSysDepartment :many
SELECT id, name, parent_id, parent_path, status, sort, created_at, updated_at FROM sys_department
WHERE status = 0
ORDER BY sort DESC
`
func (q *Queries) AllSysDepartment(ctx context.Context) ([]*SysDepartment, error) {
rows, err := q.db.Query(ctx, allSysDepartment)
if err != nil {
return nil, err
}
defer rows.Close()
items := []*SysDepartment{}
for rows.Next() {
var i SysDepartment
if err := rows.Scan(
&i.ID,
&i.Name,
&i.ParentID,
&i.ParentPath,
&i.Status,
&i.Sort,
&i.CreatedAt,
&i.UpdatedAt,
); err != nil {
return nil, err
}
items = append(items, &i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const countSysDepartmentCondition = `-- name: CountSysDepartmentCondition :one
SELECT COUNT(*) FROM sys_department
WHERE (NOT $1::Boolean OR status = $2)
AND (NOT $3::Boolean OR id = $4)
AND (NOT $5::Boolean OR parent_id = $6)
AND ($7::text = '' OR name ILIKE '%' || $7 || '%')
`
type CountSysDepartmentConditionParams struct {
IsStatus bool `json:"is_status"`
Status int32 `json:"status"`
IsID bool `json:"is_id"`
ID int32 `json:"id"`
IsParentID bool `json:"is_parent_id"`
ParentID int32 `json:"parent_id"`
Name string `json:"name"`
}
func (q *Queries) CountSysDepartmentCondition(ctx context.Context, arg *CountSysDepartmentConditionParams) (int64, error) {
row := q.db.QueryRow(ctx, countSysDepartmentCondition,
arg.IsStatus,
arg.Status,
arg.IsID,
arg.ID,
arg.IsParentID,
arg.ParentID,
arg.Name,
)
var count int64
err := row.Scan(&count)
return count, err
}
const createSysDepartment = `-- name: CreateSysDepartment :one
INSERT INTO sys_department (
name,
parent_id,
parent_path,
status,
sort,
created_at,
updated_at
) VALUES (
$1, $2, $3, $4, $5, $6, $7
) RETURNING id, name, parent_id, parent_path, status, sort, created_at, updated_at
`
type CreateSysDepartmentParams struct {
Name string `json:"name"`
ParentID int32 `json:"parent_id"`
ParentPath string `json:"parent_path"`
Status int32 `json:"status"`
Sort int32 `json:"sort"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
func (q *Queries) CreateSysDepartment(ctx context.Context, arg *CreateSysDepartmentParams) (*SysDepartment, error) {
row := q.db.QueryRow(ctx, createSysDepartment,
arg.Name,
arg.ParentID,
arg.ParentPath,
arg.Status,
arg.Sort,
arg.CreatedAt,
arg.UpdatedAt,
)
var i SysDepartment
err := row.Scan(
&i.ID,
&i.Name,
&i.ParentID,
&i.ParentPath,
&i.Status,
&i.Sort,
&i.CreatedAt,
&i.UpdatedAt,
)
return &i, err
}
const existsSysDepartment = `-- name: ExistsSysDepartment :one
SELECT EXISTS (
SELECT 1 FROM sys_department
)
`
func (q *Queries) ExistsSysDepartment(ctx context.Context) (bool, error) {
row := q.db.QueryRow(ctx, existsSysDepartment)
var exists bool
err := row.Scan(&exists)
return exists, err
}
const getSysDepartment = `-- name: GetSysDepartment :one
SELECT id, name, parent_id, parent_path, status, sort, created_at, updated_at FROM sys_department
WHERE id = $1 LIMIT 1
`
func (q *Queries) GetSysDepartment(ctx context.Context, id int32) (*SysDepartment, error) {
row := q.db.QueryRow(ctx, getSysDepartment, id)
var i SysDepartment
err := row.Scan(
&i.ID,
&i.Name,
&i.ParentID,
&i.ParentPath,
&i.Status,
&i.Sort,
&i.CreatedAt,
&i.UpdatedAt,
)
return &i, err
}
const listSysDepartment = `-- name: ListSysDepartment :many
SELECT id, name, parent_id, parent_path, status, sort, created_at, updated_at FROM sys_department
WHERE status = 0
`
func (q *Queries) ListSysDepartment(ctx context.Context) ([]*SysDepartment, error) {
rows, err := q.db.Query(ctx, listSysDepartment)
if err != nil {
return nil, err
}
defer rows.Close()
items := []*SysDepartment{}
for rows.Next() {
var i SysDepartment
if err := rows.Scan(
&i.ID,
&i.Name,
&i.ParentID,
&i.ParentPath,
&i.Status,
&i.Sort,
&i.CreatedAt,
&i.UpdatedAt,
); err != nil {
return nil, err
}
items = append(items, &i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const listSysDepartmentCondition = `-- name: ListSysDepartmentCondition :many
SELECT id, name, parent_id, parent_path, status, sort, created_at, updated_at FROM sys_department
WHERE (NOT $1::Boolean OR status = $2)
AND (NOT $3::Boolean OR id = $4)
AND (NOT $5::Boolean OR parent_id = $6)
AND ($7::text = '' OR name ILIKE '%' || $7 || '%')
ORDER BY created_at DESC
OFFSET $8
LIMIT $9
`
type ListSysDepartmentConditionParams struct {
IsStatus bool `json:"is_status"`
Status int32 `json:"status"`
IsID bool `json:"is_id"`
ID int32 `json:"id"`
IsParentID bool `json:"is_parent_id"`
ParentID int32 `json:"parent_id"`
Name string `json:"name"`
Skip int32 `json:"skip"`
Size int32 `json:"size"`
}
func (q *Queries) ListSysDepartmentCondition(ctx context.Context, arg *ListSysDepartmentConditionParams) ([]*SysDepartment, error) {
rows, err := q.db.Query(ctx, listSysDepartmentCondition,
arg.IsStatus,
arg.Status,
arg.IsID,
arg.ID,
arg.IsParentID,
arg.ParentID,
arg.Name,
arg.Skip,
arg.Size,
)
if err != nil {
return nil, err
}
defer rows.Close()
items := []*SysDepartment{}
for rows.Next() {
var i SysDepartment
if err := rows.Scan(
&i.ID,
&i.Name,
&i.ParentID,
&i.ParentPath,
&i.Status,
&i.Sort,
&i.CreatedAt,
&i.UpdatedAt,
); err != nil {
return nil, err
}
items = append(items, &i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const listSysDepartmentRecursive = `-- name: ListSysDepartmentRecursive :many
WITH RECURSIVE dist AS (SELECT sys_department.id, sys_department.name, sys_department.parent_id, sys_department.parent_path, sys_department.status, sys_department.sort, sys_department.created_at, sys_department.updated_at
FROM sys_department
WHERE status = 0
UNION ALL
SELECT sys_department.id, sys_department.name, sys_department.parent_id, sys_department.parent_path, sys_department.status, sys_department.sort, sys_department.created_at, sys_department.updated_at
FROM sys_department,
dist
WHERE sys_department.id = dist.parent_id)
SELECT DISTINCT id, name, parent_id, parent_path, status, sort, created_at, updated_at
FROM dist
ORDER BY sort DESC
`
type ListSysDepartmentRecursiveRow struct {
ID int32 `json:"id"`
Name string `json:"name"`
ParentID int32 `json:"parent_id"`
ParentPath string `json:"parent_path"`
Status int32 `json:"status"`
Sort int32 `json:"sort"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
func (q *Queries) ListSysDepartmentRecursive(ctx context.Context) ([]*ListSysDepartmentRecursiveRow, error) {
rows, err := q.db.Query(ctx, listSysDepartmentRecursive)
if err != nil {
return nil, err
}
defer rows.Close()
items := []*ListSysDepartmentRecursiveRow{}
for rows.Next() {
var i ListSysDepartmentRecursiveRow
if err := rows.Scan(
&i.ID,
&i.Name,
&i.ParentID,
&i.ParentPath,
&i.Status,
&i.Sort,
&i.CreatedAt,
&i.UpdatedAt,
); err != nil {
return nil, err
}
items = append(items, &i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const updateSysDepartment = `-- name: UpdateSysDepartment :one
UPDATE sys_department
SET name = $2,
parent_id = $3,
parent_path = $4,
status = $5,
sort = $6,
updated_at = $7
WHERE id = $1
RETURNING id, name, parent_id, parent_path, status, sort, created_at, updated_at
`
type UpdateSysDepartmentParams struct {
ID int32 `json:"id"`
Name string `json:"name"`
ParentID int32 `json:"parent_id"`
ParentPath string `json:"parent_path"`
Status int32 `json:"status"`
Sort int32 `json:"sort"`
UpdatedAt time.Time `json:"updated_at"`
}
func (q *Queries) UpdateSysDepartment(ctx context.Context, arg *UpdateSysDepartmentParams) (*SysDepartment, error) {
row := q.db.QueryRow(ctx, updateSysDepartment,
arg.ID,
arg.Name,
arg.ParentID,
arg.ParentPath,
arg.Status,
arg.Sort,
arg.UpdatedAt,
)
var i SysDepartment
err := row.Scan(
&i.ID,
&i.Name,
&i.ParentID,
&i.ParentPath,
&i.Status,
&i.Sort,
&i.CreatedAt,
&i.UpdatedAt,
)
return &i, err
}