fix: 修复 survey.Analyzer 去重 BUG

This commit is contained in:
kercylan98 2023-09-07 20:01:14 +08:00
parent 5fb1dcbcea
commit a4ba3f1fa8
1 changed files with 4 additions and 2 deletions

View File

@ -70,11 +70,12 @@ func (slf *Analyzer) IncreaseNonRepeat(key string, record R, recordKey string, d
for _, v := range dimension {
dvs = append(dvs, record.GetString(v))
}
dk := strings.Join(dvs, "_")
dk := strings.Join(append([]string{key}, dvs...), "_")
if _, e := slf.repeat[dk]; e {
slf.m.Unlock()
return
}
slf.repeat[dk] = struct{}{}
slf.m.Unlock()
slf.Increase(key, record, recordKey)
}
@ -89,11 +90,12 @@ func (slf *Analyzer) IncreaseValueNonRepeat(key string, record R, value float64,
for _, v := range dimension {
dvs = append(dvs, record.GetString(v))
}
dk := strings.Join(dvs, "_")
dk := strings.Join(append([]string{key}, dvs...), "_")
if _, e := slf.repeat[dk]; e {
slf.m.Unlock()
return
}
slf.repeat[dk] = struct{}{}
slf.m.Unlock()
slf.IncreaseValue(key, value)
}