package controller import ( "github.com/gin-gonic/gin" "lims-extend/common" "lims-extend/model" "lims-extend/response" ) func GetStatisticsInfoForAdmin(c *gin.Context) { userId := c.Params.ByName("userId") db := common.GetDB() //总发包数 var totalSendCount int64 db.Model(&model.Task{}).Joins("left join plan on task.plan_id = plan.id"). Where("plan.creator_id = ?", userId).Count(&totalSendCount) //发包中总接包数 var totalRecvCount int64 db.Model(&model.Task{}).Joins("left join plan on task.plan_id = plan.id"). Where("plan.creator_id = ? and task.state <> 3", userId).Count(&totalRecvCount) //发包中总完成数 var totalFinishedCount int64 db.Model(&model.Task{}).Joins("left join plan on task.plan_id = plan.id"). Where("plan.creator_id = ? and task.state = 2", userId).Count(&totalFinishedCount) response.Success(c, gin.H{ "totalSendCount": totalSendCount, "totalRecvCount": totalRecvCount, "totalFinishedCount": totalFinishedCount, }, "success") } func GetStatisticsInfoForUser(c *gin.Context) { userId := c.Params.ByName("userId") db := common.GetDB() //总发包数 var totalWaitingCount int64 db.Model(&model.Task{}). Where("executor_id = ? and state = 3", userId).Count(&totalWaitingCount) //发包中总接包数 var totalRecvCount int64 db.Model(&model.Task{}). Where("executor_id = ? and task.state <> 3", userId).Count(&totalRecvCount) //发包中总完成数 var totalFinishedCount int64 db.Model(&model.Task{}). Where("executor_id= ? and task.state = 2", userId).Count(&totalFinishedCount) response.Success(c, gin.H{ "totalWaitingCount": totalWaitingCount, "totalRecvCount": totalRecvCount, "totalFinishedCount": totalFinishedCount, }, "success") }