智盟项目
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

133 linhas
3.4 KiB

  1. package db
  2. import (
  3. "applet/app/db/model"
  4. "applet/app/utils"
  5. "fmt"
  6. "strings"
  7. )
  8. func GetLifeOrderByOne(oid, mid, types string) *model.LifeOrder {
  9. var data model.LifeOrder
  10. get, err := ZhimengDb.Where("uid=? and pvd_oid=? and pvd=?", mid, oid, types).Get(&data)
  11. if get == false || err != nil {
  12. fmt.Println(err)
  13. return nil
  14. }
  15. return &data
  16. }
  17. func GetLifeOrderByOne1(oid, types string) *model.LifeOrder {
  18. var data model.LifeOrder
  19. get, err := ZhimengDb.Where(" pvd_oid=? and pvd=?", oid, types).Get(&data)
  20. if get == false || err != nil {
  21. fmt.Println(err)
  22. return nil
  23. }
  24. return &data
  25. }
  26. func GetLifeOrderList(args map[string]string) []model.LifeOrder {
  27. /***
  28. p 页数
  29. size 个数
  30. start_time 开始时间
  31. end_time 结束时间
  32. ord_type 订单类型
  33. video_type 视频类型
  34. status 订单状态
  35. settle_status 结算状态
  36. oid 订单号
  37. sort 排序
  38. is_to_settle 智盟结算
  39. to_settle_time 结算上月时间
  40. */
  41. var data = make([]model.LifeOrder, 0)
  42. size := utils.StrToInt(args["size"])
  43. offet := (utils.StrToInt(args["p"]) - 1) * size
  44. sess := ZhimengDb.Where("1=1")
  45. if args["start_time"] != "" {
  46. sess = sess.And("update_time>=?", args["start_time"])
  47. }
  48. if args["end_time"] != "" {
  49. sess = sess.And("update_time<=?", args["end_time"])
  50. }
  51. if args["type"] != "" {
  52. sess = sess.And("pvd=?", args["type"])
  53. }
  54. if args["uid"] != "" {
  55. sess = sess.And("uid=?", args["uid"])
  56. }
  57. if args["pvd"] != "" {
  58. sess = sess.In("pvd", strings.Split(args["pvd"], ","))
  59. }
  60. if args["status"] != "" {
  61. sess = sess.In("status", strings.Split(args["status"], ","))
  62. }
  63. if args["to_settle_time"] != "" {
  64. if args["is_to_settle"] == "1" {
  65. sess = sess.And("platform_settle_time<?", args["to_settle_time"])
  66. }
  67. if args["is_to_settle"] == "2" {
  68. sess = sess.And("create_time<?", args["to_settle_time"])
  69. }
  70. }
  71. sort := "update_time desc,id desc"
  72. if args["sort"] != "" {
  73. sort = args["sort"]
  74. }
  75. if args["is_to_settle"] == "1" {
  76. sess = sess.And("settle_time=?", 0)
  77. }
  78. if args["is_commission"] == "1" {
  79. sess = sess.And("real_commission>?", 0)
  80. }
  81. err := sess.Limit(size, offet).OrderBy(sort).Find(&data)
  82. fmt.Println(err)
  83. fmt.Println(sess.LastSQL())
  84. return data
  85. }
  86. func GetLifeOrderListTotal(args map[string]string) ([]model.LifeOrder, int64) {
  87. var data = make([]model.LifeOrder, 0)
  88. size := utils.StrToInt(args["size"])
  89. offet := (utils.StrToInt(args["p"]) - 1) * size
  90. sess := ZhimengDb.Where("1=1")
  91. if args["start_time"] != "" {
  92. sess = sess.And("create_time>=?", utils.TimeStdParseUnix(args["start_time"]))
  93. }
  94. if args["end_time"] != "" {
  95. sess = sess.And("create_time<=?", utils.TimeStdParseUnix(args["end_time"]))
  96. }
  97. if args["type"] != "" {
  98. sess = sess.And("pvd=?", args["type"])
  99. }
  100. if args["settle_type"] == "0" {
  101. sess = sess.And("settle_time=?", 0)
  102. }
  103. if args["settle_type"] == "1" {
  104. sess = sess.And("settle_time>?", 0)
  105. }
  106. if args["uid"] != "" {
  107. sess = sess.And("uid=?", args["uid"])
  108. }
  109. if args["oid"] != "" {
  110. sess = sess.And("pvd_oid like ?", "%"+args["oid"]+"%")
  111. }
  112. if args["zuid"] != "" {
  113. sess = sess.And("station_uid=?", args["zuid"])
  114. }
  115. if args["status"] != "" {
  116. sess = sess.And("status=?", args["status"])
  117. }
  118. if args["source"] != "" {
  119. sess = sess.And("pvd=?", args["source"])
  120. }
  121. sort := "create_time desc,id desc"
  122. if args["sort"] != "" {
  123. sort = args["sort"]
  124. }
  125. total, err := sess.Limit(size, offet).OrderBy(sort).FindAndCount(&data)
  126. fmt.Println(err)
  127. fmt.Println(sess.LastSQL())
  128. return data, total
  129. }