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