package leader import ( "time" "zhiyuan/pkg/app" orderParam "zhiyuan/pkg/param/order" "zhiyuan/pkg/utils" "zhiyuan/services/aftersale/order" "github.com/gin-gonic/gin" ) func StatisComment(c *gin.Context) { data := map[string]interface{}{} data["star1"], _ = order.CommentCount(map[string]interface{}{"leader": c.GetInt("adminID"), "star": 1}) data["star2"], _ = order.CommentCount(map[string]interface{}{"leader": c.GetInt("adminID"), "star": 2}) data["star3"], _ = order.CommentCount(map[string]interface{}{"leader": c.GetInt("adminID"), "star": 3}) data["star4"], _ = order.CommentCount(map[string]interface{}{"leader": c.GetInt("adminID"), "star": 4}) data["star5"], _ = order.CommentCount(map[string]interface{}{"leader": c.GetInt("adminID"), "star": 5}) app.Success(c, data) } func StatisOrder(c *gin.Context) { orderBaseMap := map[string]interface{}{ "deleted_at": 0, "leader": c.GetInt("adminID"), } data := map[string]interface{}{} dayDate := utils.GetZeroTime(time.Now()).Unix() data["day_num"], _ = order.Count(utils.MergeMap(map[string]interface{}{"created_at >": dayDate}, orderBaseMap)) data["confirm"], _ = order.Count(utils.MergeMap(map[string]interface{}{"state": orderParam.State.Allotted.ID}, orderBaseMap)) data["repairing"], _ = order.Count(utils.MergeMap(map[string]interface{}{"if(state=90,90,if(is_force=0,state,100)) in": []int{ orderParam.State.Suspending.ID, orderParam.State.Repairing.ID, orderParam.State.SupConfirmed.ID, orderParam.State.Confirmed.ID, }}, orderBaseMap)) data["repaired"], _ = order.Count(utils.MergeMap(map[string]interface{}{"if(state=90,90,if(is_force=0,state,100)) in ": []int{ orderParam.State.Repaired.ID, orderParam.State.Completed.ID, orderParam.State.ForceCompleted.ID, }}, orderBaseMap)) data["total"], _ = order.Count(orderBaseMap) data["unfinished"] = data["total"].(int64) - data["repaired"].(int64) data["visit_num"], _ = order.Count(utils.MergeMap(map[string]interface{}{"deleted_at": 0, "recent_visit_time between": []interface{}{dayDate, dayDate + 86399}}, orderBaseMap)) app.Success(c, data) } func StatisRepair(c *gin.Context) { where := " o.deleted_at=0 and r.audit_type != 0 AND o.leader={{admin_id}}" param := make(map[string]interface{}) param["admin_id"] = c.GetInt("adminID") data := map[string]interface{}{} /*orderBaseMap := map[string]interface{}{ "audit_type !=": 0, "leader": c.GetInt("adminID"), } data["all"], _ = order.CountRepair(utils.MergeMap(map[string]interface{}{}, orderBaseMap)) data["state0"], _ = order.CountRepair(utils.MergeMap(map[string]interface{}{"audit_state": 0}, orderBaseMap)) data["state1"], _ = order.CountRepair(utils.MergeMap(map[string]interface{}{"audit_state": 1}, orderBaseMap)) data["state2"], _ = order.CountRepair(utils.MergeMap(map[string]interface{}{"audit_state": 2}, orderBaseMap))*/ total, err := order.GetCountWidthOrder(where, param) if err != nil { app.Error(c, err.Error()) return } data["all"] = total total, err = order.GetCountWidthOrder(where+" AND r.audit_state=0", param) if err != nil { app.Error(c, err.Error()) return } data["state0"] = total total, err = order.GetCountWidthOrder(where+" AND r.audit_state=1", param) if err != nil { app.Error(c, err.Error()) return } data["state1"] = total total, err = order.GetCountWidthOrder(where+" AND r.audit_state=2", param) if err != nil { app.Error(c, err.Error()) return } data["state2"] = total app.Success(c, data) }