test.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. package postgres
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "gframe/errors"
  6. "github.com/jackc/pgx/v4"
  7. )
  8. type Test struct {
  9. base
  10. }
  11. func (t Test) UserAdd2(name string) (err error) {
  12. stCode := -999
  13. sql := `select fn_user_add2($1,$2);`
  14. _, err = t.writeDB().QueryFunc(t.ctx(), sql, []interface{}{name, stCode}, []interface{}{&stCode}, func(pgx.QueryFuncRow) error {
  15. //fmt.Printf("%v", stCode)
  16. return nil
  17. })
  18. if stCode < 0 {
  19. err = errors.NewServiceErr(errors.CodeUserErr, "用户添加错误:")
  20. }
  21. if err != nil {
  22. fmt.Printf("QueryFunc error: %v", err)
  23. }
  24. return
  25. }
  26. func (t Test) UserAdd1(paramStr string) (err error) {
  27. stCode := -999
  28. sql := `select fn_user_add($1,$2);`
  29. _, err = t.writeDB().QueryFunc(t.ctx(), sql, []interface{}{paramStr, stCode}, []interface{}{&stCode}, func(pgx.QueryFuncRow) error {
  30. //fmt.Printf("%v", stCode)
  31. return nil
  32. })
  33. if stCode < 0 {
  34. err = errors.NewServiceErr(errors.CodeUserErr, "用户添加错误:")
  35. }
  36. if err != nil {
  37. fmt.Printf("QueryFunc error: %v", err)
  38. }
  39. return
  40. }
  41. type UserListInfo struct {
  42. Id int
  43. Name string
  44. }
  45. func (t Test) UserList1() (rs []interface{}, err error) {
  46. //var id int32
  47. //var name string
  48. //var ct time.Time
  49. var one interface{}
  50. var rs_ struct {
  51. Rs []interface{}
  52. }
  53. //var a interface{}
  54. sql := `select id,name from func_userlist_query();`
  55. _, err = t.writeDB().QueryFunc(t.ctx(), sql, []interface{}{}, []interface{}{&one}, func(rows pgx.QueryFuncRow) error {
  56. rs_.Rs = append(rs_.Rs, one)
  57. return nil
  58. })
  59. if err != nil {
  60. fmt.Printf("QueryFunc error: %v", err)
  61. }
  62. data, err := json.Marshal(rs_)
  63. println(string(data))
  64. return
  65. }
  66. func (t Test) UserList2() (rs []interface{}, err error) {
  67. //var id int32
  68. //var name string
  69. //var ct time.Time
  70. usone := UserListInfo{}
  71. sql := `select id,name from func_userlist_query();`
  72. _, err = t.writeDB().QueryFunc(t.ctx(), sql, []interface{}{}, []interface{}{&usone.Id, &usone.Name}, func(pgx.QueryFuncRow) error {
  73. fmt.Printf("%v\n", usone)
  74. rs = append(rs, usone)
  75. return nil
  76. })
  77. if err != nil {
  78. fmt.Printf("QueryFunc error: %v", err)
  79. }
  80. return
  81. }
  82. func (t Test) UserList() (rs []interface{}, err error) {
  83. var id int
  84. var name string
  85. //var ct time.Time
  86. //usone := UserListInfo{}
  87. sql := `select id,name from func_userlist_query();`
  88. _, err = t.writeDB().QueryFunc(t.ctx(), sql, []interface{}{}, []interface{}{&id, &name}, func(pgx.QueryFuncRow) error {
  89. usone := UserListInfo{id, name}
  90. fmt.Printf("%v\n", usone)
  91. rs = append(rs, usone)
  92. return nil
  93. })
  94. if err != nil {
  95. fmt.Printf("QueryFunc error: %v", err)
  96. }
  97. return
  98. }