statis.go 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package leader
  2. import (
  3. "time"
  4. "zhiyuan/pkg/app"
  5. orderParam "zhiyuan/pkg/param/order"
  6. "zhiyuan/pkg/utils"
  7. "zhiyuan/services/aftersale/order"
  8. "github.com/gin-gonic/gin"
  9. )
  10. func StatisComment(c *gin.Context) {
  11. data := map[string]interface{}{}
  12. data["star1"], _ = order.CommentCount(map[string]interface{}{"leader": c.GetInt("adminID"), "star": 1})
  13. data["star2"], _ = order.CommentCount(map[string]interface{}{"leader": c.GetInt("adminID"), "star": 2})
  14. data["star3"], _ = order.CommentCount(map[string]interface{}{"leader": c.GetInt("adminID"), "star": 3})
  15. data["star4"], _ = order.CommentCount(map[string]interface{}{"leader": c.GetInt("adminID"), "star": 4})
  16. data["star5"], _ = order.CommentCount(map[string]interface{}{"leader": c.GetInt("adminID"), "star": 5})
  17. app.Success(c, data)
  18. }
  19. func StatisOrder(c *gin.Context) {
  20. orderBaseMap := map[string]interface{}{
  21. "deleted_at": 0,
  22. "leader": c.GetInt("adminID"),
  23. }
  24. data := map[string]interface{}{}
  25. dayDate := utils.GetZeroTime(time.Now()).Unix()
  26. data["day_num"], _ = order.Count(utils.MergeMap(map[string]interface{}{"created_at >": dayDate}, orderBaseMap))
  27. data["confirm"], _ = order.Count(utils.MergeMap(map[string]interface{}{"state": orderParam.State.Allotted.ID}, orderBaseMap))
  28. data["repairing"], _ = order.Count(utils.MergeMap(map[string]interface{}{"if(state=90,90,if(is_force=0,state,100)) in": []int{
  29. orderParam.State.Suspending.ID,
  30. orderParam.State.Repairing.ID,
  31. orderParam.State.SupConfirmed.ID,
  32. orderParam.State.Confirmed.ID,
  33. }}, orderBaseMap))
  34. data["repaired"], _ = order.Count(utils.MergeMap(map[string]interface{}{"if(state=90,90,if(is_force=0,state,100)) in ": []int{
  35. orderParam.State.Repaired.ID,
  36. orderParam.State.Completed.ID,
  37. orderParam.State.ForceCompleted.ID,
  38. }}, orderBaseMap))
  39. data["total"], _ = order.Count(orderBaseMap)
  40. data["unfinished"] = data["total"].(int64) - data["repaired"].(int64)
  41. data["visit_num"], _ = order.Count(utils.MergeMap(map[string]interface{}{"deleted_at": 0, "recent_visit_time between": []interface{}{dayDate, dayDate + 86399}}, orderBaseMap))
  42. app.Success(c, data)
  43. }
  44. func StatisRepair(c *gin.Context) {
  45. where := " o.deleted_at=0 and r.audit_type != 0 AND o.leader={{admin_id}}"
  46. param := make(map[string]interface{})
  47. param["admin_id"] = c.GetInt("adminID")
  48. data := map[string]interface{}{}
  49. /*orderBaseMap := map[string]interface{}{
  50. "audit_type !=": 0,
  51. "leader": c.GetInt("adminID"),
  52. }
  53. data["all"], _ = order.CountRepair(utils.MergeMap(map[string]interface{}{}, orderBaseMap))
  54. data["state0"], _ = order.CountRepair(utils.MergeMap(map[string]interface{}{"audit_state": 0}, orderBaseMap))
  55. data["state1"], _ = order.CountRepair(utils.MergeMap(map[string]interface{}{"audit_state": 1}, orderBaseMap))
  56. data["state2"], _ = order.CountRepair(utils.MergeMap(map[string]interface{}{"audit_state": 2}, orderBaseMap))*/
  57. total, err := order.GetCountWidthOrder(where, param)
  58. if err != nil {
  59. app.Error(c, err.Error())
  60. return
  61. }
  62. data["all"] = total
  63. total, err = order.GetCountWidthOrder(where+" AND r.audit_state=0", param)
  64. if err != nil {
  65. app.Error(c, err.Error())
  66. return
  67. }
  68. data["state0"] = total
  69. total, err = order.GetCountWidthOrder(where+" AND r.audit_state=1", param)
  70. if err != nil {
  71. app.Error(c, err.Error())
  72. return
  73. }
  74. data["state1"] = total
  75. total, err = order.GetCountWidthOrder(where+" AND r.audit_state=2", param)
  76. if err != nil {
  77. app.Error(c, err.Error())
  78. return
  79. }
  80. data["state2"] = total
  81. app.Success(c, data)
  82. }