|
@@ -94,25 +94,7 @@ func (yp *Yellowpage) Save() error {
|
|
|
data["i_area"] = area
|
|
|
data["s_address"] = Repl(yp.GetString("s_address"))
|
|
|
//权重
|
|
|
- atrrTitle := coreconfig.SysConfig.AtrrTitle
|
|
|
- web := mongodb.FindById(ESTYPE, entid, `{"_id":-1,"attrWeight":1}`)
|
|
|
- var attrWeight []byte
|
|
|
- if tmp, ok := (*web)["attrWeight"].(string); ok {
|
|
|
- attrWeight, _ = hex.DecodeString(tmp)
|
|
|
- } else {
|
|
|
- attrWeight = make([]byte, 30)
|
|
|
- }
|
|
|
- for k, v := range atrrTitle {
|
|
|
- arr, _ := v.([]interface{})
|
|
|
- index := util.IntAll(arr[0])
|
|
|
- weight := util.IntAll(arr[1])
|
|
|
- if weight < int(attrWeight[index]) {
|
|
|
- delete(data, k)
|
|
|
- } else {
|
|
|
- attrWeight[index] = byte(weight)
|
|
|
- }
|
|
|
- }
|
|
|
- data["attrWeight"] = hex.EncodeToString(attrWeight)
|
|
|
+ setAttrWeight(entid, data, false)
|
|
|
dataSet := map[string]interface{}{
|
|
|
"$set": data,
|
|
|
}
|
|
@@ -219,7 +201,11 @@ func (yp *Yellowpage) UpLoadEntImg() error {
|
|
|
} else {
|
|
|
field = "s_qrcode"
|
|
|
}
|
|
|
- bol := mongodb.Update("enterprise", "{'_id':'"+entid+"'}", map[string]interface{}{"$set": map[string]interface{}{field: yp.GetString("url")}}, false, false)
|
|
|
+ data := bson.M{field: yp.GetString("url")}
|
|
|
+ if field == "s_avatar" {
|
|
|
+ setAttrWeight(entid, data, true)
|
|
|
+ }
|
|
|
+ bol := mongodb.Update("enterprise", "{'_id':'"+entid+"'}", map[string]interface{}{"$set": data}, false, false)
|
|
|
redis.Del("enterprise", "enterpriseInfo_"+entid, "newIndentEnts")
|
|
|
if field == "s_avatar" {
|
|
|
redis.DelByCodePattern("enterprise", "ipcity_*")
|
|
@@ -307,3 +293,31 @@ func (yp *Yellowpage) IsFollowed() error {
|
|
|
yp.ServeJson(bson.M{"status": status})
|
|
|
return nil
|
|
|
}
|
|
|
+
|
|
|
+//权重
|
|
|
+func setAttrWeight(entid string, data bson.M, flag bool) {
|
|
|
+ atrrTitle := coreconfig.SysConfig.AtrrTitle
|
|
|
+ web := mongodb.FindById(ESTYPE, entid, `{"_id":-1,"attrWeight":1}`)
|
|
|
+ var attrWeight []byte
|
|
|
+ if tmp, ok := (*web)["attrWeight"].(string); ok {
|
|
|
+ attrWeight, _ = hex.DecodeString(tmp)
|
|
|
+ } else {
|
|
|
+ attrWeight = make([]byte, 30)
|
|
|
+ }
|
|
|
+ for k, v := range atrrTitle {
|
|
|
+ if !flag && k == "s_avatar" {
|
|
|
+ continue
|
|
|
+ } else if flag && k != "s_avatar" {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ arr, _ := v.([]interface{})
|
|
|
+ index := util.IntAll(arr[0])
|
|
|
+ weight := util.IntAll(arr[1])
|
|
|
+ if weight < int(attrWeight[index]) {
|
|
|
+ delete(data, k)
|
|
|
+ } else {
|
|
|
+ attrWeight[index] = byte(weight)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ data["attrWeight"] = hex.EncodeToString(attrWeight)
|
|
|
+}
|