first commit
This commit is contained in:
72
internal/service/project/project.go
Normal file
72
internal/service/project/project.go
Normal file
@@ -0,0 +1,72 @@
|
||||
package project
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strconv"
|
||||
|
||||
db "management/internal/db/sqlc"
|
||||
"management/internal/global"
|
||||
)
|
||||
|
||||
func CreateProject(ctx context.Context, p *db.CreateProjectParams, pf []*db.CreateProjectFileParams) error {
|
||||
return db.Engine.ExecTx(ctx, func(q *db.Queries) error {
|
||||
_, err := q.CreateProject(ctx, p)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, item := range pf {
|
||||
_, err = q.CreateProjectFile(ctx, item)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
func UpdateProject(ctx context.Context, p *db.UpdateProjectParams, pf []*db.CreateProjectFileParams) error {
|
||||
return db.Engine.ExecTx(ctx, func(q *db.Queries) error {
|
||||
_, err := q.UpdateProject(ctx, p)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = q.DeleteProjectFile(ctx, p.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, item := range pf {
|
||||
_, err = q.CreateProjectFile(ctx, item)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
func AllProjects(ctx context.Context) []*global.DataDict {
|
||||
pp, err := db.Engine.AllProjects(ctx)
|
||||
if err != nil || len(pp) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
var res []*global.DataDict
|
||||
res = append(res, &global.DataDict{
|
||||
Name: "请选择",
|
||||
Value: "0",
|
||||
})
|
||||
for _, v := range pp {
|
||||
item := global.DataDict{
|
||||
Name: v.Name,
|
||||
Value: strconv.Itoa(int(v.ID)),
|
||||
}
|
||||
res = append(res, &item)
|
||||
}
|
||||
|
||||
return res
|
||||
}
|
||||
Reference in New Issue
Block a user