user.go 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package controller
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "lims-extend/common"
  5. "lims-extend/model"
  6. "lims-extend/response"
  7. )
  8. func GetStatisticsInfoForAdmin(c *gin.Context) {
  9. userId := c.Params.ByName("userId")
  10. db := common.GetDB()
  11. //总发包数
  12. var totalSendCount int64
  13. db.Model(&model.Task{}).Joins("left join plan on task.plan_id = plan.id").
  14. Where("plan.creator_id = ?", userId).Count(&totalSendCount)
  15. //发包中总接包数
  16. var totalRecvCount int64
  17. db.Model(&model.Task{}).Joins("left join plan on task.plan_id = plan.id").
  18. Where("plan.creator_id = ? and task.state <> 3", userId).Count(&totalRecvCount)
  19. //发包中总完成数
  20. var totalFinishedCount int64
  21. db.Model(&model.Task{}).Joins("left join plan on task.plan_id = plan.id").
  22. Where("plan.creator_id = ? and task.state = 2", userId).Count(&totalFinishedCount)
  23. response.Success(c, gin.H{
  24. "totalSendCount": totalSendCount,
  25. "totalRecvCount": totalRecvCount,
  26. "totalFinishedCount": totalFinishedCount,
  27. }, "success")
  28. }
  29. func GetStatisticsInfoForUser(c *gin.Context) {
  30. userId := c.Params.ByName("userId")
  31. db := common.GetDB()
  32. //待领取任务数
  33. var totalWaitingCount int64
  34. db.Model(&model.Task{}).
  35. Where("executor_id = ? and state = 3", userId).Count(&totalWaitingCount)
  36. //发包中总接包数
  37. var totalRecvCount int64
  38. db.Model(&model.Task{}).
  39. Where("executor_id = ? and task.state <> 3", userId).Count(&totalRecvCount)
  40. //发包中总完成数
  41. var totalFinishedCount int64
  42. db.Model(&model.Task{}).
  43. Where("executor_id= ? and task.state = 2", userId).Count(&totalFinishedCount)
  44. response.Success(c, gin.H{
  45. "totalWaitingCount": totalWaitingCount,
  46. "totalRecvCount": totalRecvCount,
  47. "totalFinishedCount": totalFinishedCount,
  48. }, "success")
  49. }
  50. func IsJoinedCompany(c *gin.Context) {
  51. db := common.GetDB()
  52. userId := c.Params.ByName("userId")
  53. var company2user model.Company2Users
  54. if err := db.Model(&model.Company2Users{}).Where("user_id = ?", userId).First(&company2user).Error; err != nil {
  55. // 状态3 是指没有提交过申请
  56. company2user.State = 3
  57. response.Success(c, gin.H{"res": company2user}, "未加入任何公司")
  58. return
  59. }
  60. var company model.Company
  61. db.Model(&model.Company{}).Where("id = ?", company2user.CompanyId).First(&company)
  62. type result struct {
  63. model.Company2Users
  64. CompanyName string `json:"company_name"`
  65. }
  66. res := result{
  67. Company2Users: company2user,
  68. CompanyName: company.Name,
  69. }
  70. response.Success(c, gin.H{"res": res}, "查询成功")
  71. }