hrRedis.go 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. // Package service
  2. /**
  3. * @ File: hrRedis.go
  4. * @ Date: 2021/6/9 15:07
  5. * @ Author: JYQ
  6. * @ Description: 心率相关Redis操作
  7. */
  8. package service
  9. import (
  10. "sportfitness/base/assembly/heartRate/model"
  11. "sportfitness/base/assembly/heartRate/repository/postgre"
  12. "sportfitness/base/assembly/heartRate/repository/redis"
  13. "sportfitness/base/errors"
  14. )
  15. type HrRedis struct {
  16. base
  17. }
  18. // ClassStartR1AndOnClassByUUStdID 确认上课时创建R1与OnClass
  19. func (h HrRedis) ClassStartR1AndOnClassByUUStdID(token string, objectShopId int64, uuid string) string {
  20. optId := h.checkPermission(token, objectShopId)
  21. rst, err := postgre.PGHr{}.GetStdInfoAndCrIdByUUStdID(optId, objectShopId, uuid)
  22. if err != nil {
  23. panic(errors.PGError)
  24. }
  25. rsMap, b := h.JSONToMap(rst)
  26. if !b {
  27. return rst
  28. }
  29. sn := rsMap["rs"].(map[string]interface{})["sn_info"].([]interface{})
  30. eqSn := rsMap["rs"].(map[string]interface{})["eqsn_list"].([]interface{})
  31. var snInfo []model.HrVerifyDetail
  32. // 心率带信息sn_info
  33. for _, v := range sn {
  34. one := model.HrVerifyDetail{}
  35. one.Sn = v.(map[string]interface{})["sn"].(string)
  36. one.Age = int(v.(map[string]interface{})["age"].(float64))
  37. one.Sex = int(v.(map[string]interface{})["sex"].(float64))
  38. one.Name = v.(map[string]interface{})["name"].(string)
  39. one.CrId = int64(v.(map[string]interface{})["cr_id"].(float64))
  40. one.Height = int(v.(map[string]interface{})["height"].(float64))
  41. one.Weight = int(v.(map[string]interface{})["weight"].(float64))
  42. one.HeadImg = v.(map[string]interface{})["headurl"].(string)
  43. one.GroupNo = int(v.(map[string]interface{})["group_no"].(float64))
  44. one.IsPrivate = int(v.(map[string]interface{})["is_private"].(float64))
  45. one.IsBirthday = int(v.(map[string]interface{})["is_birthday"].(float64))
  46. one.PowerPercent = int(v.(map[string]interface{})["power_percent"].(float64))
  47. snInfo = append(snInfo, one)
  48. }
  49. // eqSn信息eqsn_list
  50. var eqSnInfo []model.ClassStartDetail
  51. //var onClass []model.CrIdList
  52. for _, k := range eqSn {
  53. one := model.ClassStartDetail{}
  54. //class := model.CrIdList{}
  55. one.EqSn = k.(map[string]interface{})["eqsn"].(string)
  56. //class.EqSn = k.(map[string]interface{})["eqsn"].(string)
  57. classInfo := k.(map[string]interface{})["std_info"].(map[string]interface{})["classinfo"].([]interface{})
  58. for _, c := range classInfo {
  59. // 循环遍历classInfo
  60. info := model.ClassInfo{}
  61. info.Coach = c.(map[string]interface{})["coach"].(string)
  62. info.ClassName = c.(map[string]interface{})["class_name"].(string)
  63. info.ClassType = int(c.(map[string]interface{})["class_type"].(float64))
  64. info.MemberCount = int(c.(map[string]interface{})["member_count"].(float64))
  65. one.StdInfo.ClassInfoList = append(one.StdInfo.ClassInfoList, info)
  66. }
  67. crId := k.(map[string]interface{})["crid_list"].([]interface{})
  68. for _, c := range crId {
  69. id := int64(c.(float64))
  70. one.CrIdLIst = append(one.CrIdLIst, id)
  71. }
  72. eqSnInfo = append(eqSnInfo, one)
  73. //onClass = append(onClass, class)
  74. }
  75. redis.OnClassRedis(eqSnInfo)
  76. redis.HrVerifyR1(snInfo)
  77. //redis
  78. return rst
  79. }