改良写入字段,减少使用者失误
This commit is contained in:
@@ -279,14 +279,12 @@ func (d *Daemon) parseQuery(q url.Values, lineNum int) (writeItem *saasapi.Write
|
||||
}
|
||||
|
||||
writeItem = &saasapi.WriteItem{
|
||||
Userid: userid,
|
||||
Userid: userid,
|
||||
BytesKv: map[uint32]uint32{},
|
||||
Uint32SKv: map[uint32]uint32{},
|
||||
FlagsWithExpireKv: map[uint32]*saasapi.FlagWithExpire{},
|
||||
}
|
||||
|
||||
// 临时存储,按index排序后再写入
|
||||
u8Map := make(map[uint64]uint8)
|
||||
u32Map := make(map[uint64]uint32)
|
||||
flagMap := make(map[uint64]*saasapi.FlagWithExpire)
|
||||
|
||||
for key, value := range q {
|
||||
parts := strings.Split(strings.ToLower(key), ".")
|
||||
if len(parts) == 2 {
|
||||
@@ -309,9 +307,7 @@ func (d *Daemon) parseQuery(q url.Values, lineNum int) (writeItem *saasapi.Write
|
||||
return
|
||||
}
|
||||
|
||||
if _, exists := u8Map[index]; !exists {
|
||||
u8Map[index] = uint8(nValue)
|
||||
}
|
||||
writeItem.BytesKv[uint32(index)] = uint32(nValue)
|
||||
|
||||
case "u32":
|
||||
index, err := strconv.ParseUint(parts[1], 10, 8)
|
||||
@@ -330,9 +326,7 @@ func (d *Daemon) parseQuery(q url.Values, lineNum int) (writeItem *saasapi.Write
|
||||
return
|
||||
}
|
||||
|
||||
if _, exists := u32Map[index]; !exists {
|
||||
u32Map[index] = uint32(nValue)
|
||||
}
|
||||
writeItem.Uint32SKv[uint32(index)] = uint32(nValue)
|
||||
|
||||
case "flag":
|
||||
index, err := strconv.ParseUint(parts[1], 10, 8)
|
||||
@@ -345,10 +339,6 @@ func (d *Daemon) parseQuery(q url.Values, lineNum int) (writeItem *saasapi.Write
|
||||
return
|
||||
}
|
||||
|
||||
if _, exists := flagMap[index]; exists {
|
||||
continue
|
||||
}
|
||||
|
||||
flag := &saasapi.FlagWithExpire{}
|
||||
switch strings.ToLower(value[0]) {
|
||||
case "true":
|
||||
@@ -379,40 +369,7 @@ func (d *Daemon) parseQuery(q url.Values, lineNum int) (writeItem *saasapi.Write
|
||||
}
|
||||
}
|
||||
|
||||
flagMap[index] = flag
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 按index顺序写入u8
|
||||
if len(u8Map) > 0 {
|
||||
writeItem.WriteBytes = &saasapi.Bytes{}
|
||||
for i := uint64(1); i <= uint64(saasapi.MAX_U8); i++ {
|
||||
if v, exists := u8Map[i]; exists {
|
||||
writeItem.WriteBytes.Bytes = append(writeItem.WriteBytes.Bytes, v)
|
||||
writeItem.WriteBytes.Index_1 |= 1 << (i - 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 按index顺序写入u32
|
||||
if len(u32Map) > 0 {
|
||||
writeItem.WriteUint32S = &saasapi.Uint32S{}
|
||||
for i := uint64(1); i <= uint64(saasapi.MAX_U32); i++ {
|
||||
if v, exists := u32Map[i]; exists {
|
||||
writeItem.WriteUint32S.Uint32S = append(writeItem.WriteUint32S.Uint32S, v)
|
||||
writeItem.WriteUint32S.Index_1 |= 1 << (i - 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 按index顺序写入flag
|
||||
if len(flagMap) > 0 {
|
||||
writeItem.WriteFlagsWithExpire = &saasapi.FlagsWithExpire{}
|
||||
for i := uint64(1); i <= uint64(saasapi.MAX_FLAG); i++ {
|
||||
if v, exists := flagMap[i]; exists {
|
||||
writeItem.WriteFlagsWithExpire.FlagsWithExpire = append(writeItem.WriteFlagsWithExpire.FlagsWithExpire, v)
|
||||
writeItem.WriteFlagsWithExpire.Index_1 |= 1 << (i - 1)
|
||||
writeItem.FlagsWithExpireKv[uint32(index)] = flag
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user