Нема описа
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

query_project.go 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package project
  2. import (
  3. "context"
  4. "fmt"
  5. "git.x2erp.com/qdy/go-base/ctx"
  6. "git.x2erp.com/qdy/go-base/logger"
  7. "git.x2erp.com/qdy/go-base/model/response"
  8. "git.x2erp.com/qdy/go-base/util"
  9. "git.x2erp.com/qdy/go-db/factory/database"
  10. "git.x2erp.com/qdy/go-svc-configure/internal/service/dao"
  11. "git.x2erp.com/qdy/go-svc-configure/internal/tables"
  12. )
  13. // GetProject 查询单个项目
  14. func GetProject(projectID string, ctx context.Context, dbFactory *database.DBFactory, reqCtx *ctx.RequestContext) *response.QueryResult[tables.ProjectDB] {
  15. logger.Debug("GetProject-开始查询项目")
  16. if projectID == "" {
  17. logger.ErrorC(reqCtx, "项目ID不能为空")
  18. return util.CreateErrorResult[tables.ProjectDB]("项目ID不能为空", reqCtx)
  19. }
  20. // 获取数据库连接
  21. db := dbFactory.GetDB()
  22. // 查询项目
  23. project, err := dao.GetProjectByProjectID(ctx, db, projectID)
  24. if err != nil {
  25. logger.ErrorC(reqCtx, fmt.Sprintf("查询项目失败: %v", err))
  26. return util.CreateErrorResult[tables.ProjectDB](fmt.Sprintf("查询项目失败: %v", err), reqCtx)
  27. }
  28. logger.Debug(fmt.Sprintf("成功查询项目: %s", projectID))
  29. return util.CreateSuccessResultData[tables.ProjectDB](*project, reqCtx)
  30. }
  31. // ListProjects 查询项目列表
  32. func ListProjects(ctx context.Context, dbFactory *database.DBFactory, reqCtx *ctx.RequestContext) *response.QueryResult[[]tables.ProjectDB] {
  33. logger.Debug("ListProjects-开始查询项目列表")
  34. // 获取数据库连接
  35. db := dbFactory.GetDB()
  36. // 查询项目列表
  37. projects, err := dao.ListProjects(ctx, db)
  38. if err != nil {
  39. logger.ErrorC(reqCtx, fmt.Sprintf("查询项目列表失败: %v", err))
  40. return util.CreateErrorResult[[]tables.ProjectDB](fmt.Sprintf("查询项目列表失败: %v", err), reqCtx)
  41. }
  42. result := util.CreateSuccessResultData[[]tables.ProjectDB](projects, reqCtx)
  43. result.Count = len(projects)
  44. result.TotalCount = len(projects)
  45. logger.Debug(fmt.Sprintf("成功查询项目列表, 共 %d 个项目", len(projects)))
  46. return result
  47. }