|
@@ -649,6 +649,7 @@ func GetBlockAttributeViewKeys(blockID string) (ret []*BlockAttributeViewKeys) {
|
|
|
}
|
|
|
|
|
|
// 字段排序
|
|
|
+ refreshAttrViewKeyIDs(attrView)
|
|
|
sorts := map[string]int{}
|
|
|
for i, k := range attrView.KeyIDs {
|
|
|
sorts[k] = i
|
|
@@ -2449,24 +2450,7 @@ func SortAttributeViewKey(avID, keyID, previousKeyID string) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- existKeyIDs := map[string]bool{}
|
|
|
- for _, keyValues := range attrView.KeyValues {
|
|
|
- existKeyIDs[keyValues.Key.ID] = true
|
|
|
- }
|
|
|
-
|
|
|
- for k, _ := range existKeyIDs {
|
|
|
- if !gulu.Str.Contains(k, attrView.KeyIDs) {
|
|
|
- attrView.KeyIDs = append(attrView.KeyIDs, k)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- var tmp []string
|
|
|
- for _, k := range attrView.KeyIDs {
|
|
|
- if ok := existKeyIDs[k]; ok {
|
|
|
- tmp = append(tmp, k)
|
|
|
- }
|
|
|
- }
|
|
|
- attrView.KeyIDs = tmp
|
|
|
+ refreshAttrViewKeyIDs(attrView)
|
|
|
|
|
|
var currentKeyID string
|
|
|
var idx, previousIndex int
|
|
@@ -2495,6 +2479,29 @@ func SortAttributeViewKey(avID, keyID, previousKeyID string) (err error) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+func refreshAttrViewKeyIDs(attrView *av.AttributeView) {
|
|
|
+ // 订正 keyIDs 数据
|
|
|
+
|
|
|
+ existKeyIDs := map[string]bool{}
|
|
|
+ for _, keyValues := range attrView.KeyValues {
|
|
|
+ existKeyIDs[keyValues.Key.ID] = true
|
|
|
+ }
|
|
|
+
|
|
|
+ for k, _ := range existKeyIDs {
|
|
|
+ if !gulu.Str.Contains(k, attrView.KeyIDs) {
|
|
|
+ attrView.KeyIDs = append(attrView.KeyIDs, k)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ var tmp []string
|
|
|
+ for _, k := range attrView.KeyIDs {
|
|
|
+ if ok := existKeyIDs[k]; ok {
|
|
|
+ tmp = append(tmp, k)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ attrView.KeyIDs = tmp
|
|
|
+}
|
|
|
+
|
|
|
func (tx *Transaction) doAddAttrViewColumn(operation *Operation) (ret *TxErr) {
|
|
|
var icon string
|
|
|
if nil != operation.Data {
|