| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package service
- import (
- "github.com/sirupsen/logrus"
- "sportfitness/base/assembly/heartRate/model"
- "sportfitness/base/assembly/heartRate/repository/postgre"
- "sportfitness/base/assembly/heartRate/repository/redis"
- )
- type CalculationUnit struct {
- }
- func (CalculationUnit) calculate(src model.BandData) (result model.HrCourseDetail) {
- // TODO 实现计算
- return
- }
- func (c CalculationUnit) loop() {
- data, err := redis.GetHubBandData()
- if err != nil {
- logrus.Errorf("接收心率数据失败:%s", err)
- return
- }
- if len(data) == 0 {
- return
- }
- postgre.PGHr{}.SaveHrBatch(data)
- var results []model.HrCourseDetail
- for _, one := range data {
- results = append(results, c.calculate(one))
- }
- redis.HrStoreR4(results)
- }
- func (c CalculationUnit) Run() {
- go func() {
- for {
- c.loop()
- }
- }()
- }
|