|
@@ -100,15 +100,21 @@ func biddingAllTask(data []byte, mapInfo map[string]interface{}) {
|
|
|
tid := qutil.BsonIdToSId(tmp["_id"])
|
|
|
if cid == tid {
|
|
|
bnil = false
|
|
|
- //更新bidding表,生成索引
|
|
|
+ //更新bidding表,生成索引;bidding表中modifyinfo中的字段不更新
|
|
|
+ modifyinfo := make(map[string]bool)
|
|
|
+ if tmpmodifyinfo, ok := tmp["modifyinfo"].(map[string]interface{}); ok && tmpmodifyinfo != nil {
|
|
|
+ for k, v := range tmpmodifyinfo {
|
|
|
+ modifyinfo[k] = v.(bool)
|
|
|
+ }
|
|
|
+ }
|
|
|
for _, k := range fields { //fields更新到mongo的字段
|
|
|
v1 := compare[k] //extract
|
|
|
v2 := tmp[k] //bidding
|
|
|
if v2 == nil && v1 != nil {
|
|
|
update[k] = v1
|
|
|
- } else if v2 != nil && v1 != nil {
|
|
|
+ } else if v2 != nil && v1 != nil && !modifyinfo[k] {
|
|
|
update[k] = v1
|
|
|
- } else if v2 != nil && v1 == nil { //
|
|
|
+ } else if v2 != nil && v1 == nil && !modifyinfo[k] { //
|
|
|
if k == "s_subscopeclass" && del["subscopeclass"] == nil {
|
|
|
continue
|
|
|
} else if k == "s_topscopeclass" && del["topscopeclass"] == nil {
|