|
@@ -876,22 +876,22 @@ func (c *Customer) CustomerAllRule() {
|
|
|
"b_delete": false,
|
|
|
}
|
|
|
inc_query := bson.M{
|
|
|
- "s_appid":customerId,
|
|
|
+ "s_appid": customerId,
|
|
|
}
|
|
|
//获取新增历史规则
|
|
|
- inc_rules := []map[string]interface{}{}
|
|
|
- inc_rule :=make(map[string]interface{})
|
|
|
- inc_data,_ := Mgo.FindOne("historylog",inc_query)
|
|
|
- if inc_data!=nil&&(len(*inc_data) !=0){
|
|
|
- for _,t := range (*inc_data)["dep_rule"].([]interface{}){
|
|
|
- if t.(map[string]interface{})["is_new"].(bool){
|
|
|
- inc_rule["id"] = t.(map[string]interface{})["id"] //规则id
|
|
|
+ inc_rules := []map[string]interface{}{}
|
|
|
+ inc_rule := make(map[string]interface{})
|
|
|
+ inc_data, _ := Mgo.FindOne("historylog", inc_query)
|
|
|
+ if inc_data != nil && (len(*inc_data) != 0) {
|
|
|
+ for _, t := range (*inc_data)["dep_rule"].([]interface{}) {
|
|
|
+ if t.(map[string]interface{})["is_new"].(bool) {
|
|
|
+ inc_rule["id"] = t.(map[string]interface{})["id"] //规则id
|
|
|
inc_rule["s_depart_name"] = t.(map[string]interface{})["s_depart_name"]
|
|
|
inc_rule["s_name"] = t.(map[string]interface{})["s_name"]
|
|
|
inc_rule["s_depart_status"] = t.(map[string]interface{})["s_depart_status"]
|
|
|
inc_rule["s_rule_status"] = t.(map[string]interface{})["s_rule_status"]
|
|
|
inc_rule["rule_updatetime"] = t.(map[string]interface{})["rule_updatetime"]
|
|
|
- inc_rules = append(inc_rules,inc_rule)
|
|
|
+ inc_rules = append(inc_rules, inc_rule)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -917,9 +917,9 @@ func (c *Customer) CustomerAllRule() {
|
|
|
res = append(res, history_rule_data)
|
|
|
}
|
|
|
c.ServeJson(map[string]interface{}{
|
|
|
- "status": "success",
|
|
|
- "data": res,
|
|
|
- "inc_rules":inc_rules,
|
|
|
+ "status": "success",
|
|
|
+ "data": res,
|
|
|
+ "inc_rules": inc_rules,
|
|
|
})
|
|
|
} else {
|
|
|
c.ServeJson(map[string]interface{}{
|
|
@@ -931,45 +931,45 @@ func (c *Customer) CustomerAllRule() {
|
|
|
|
|
|
//保存历史规则
|
|
|
func (c *Customer) SaveHistoryRule() {
|
|
|
- rules_id:=c.GetSlice("rulesid")
|
|
|
+ rules_id := c.GetSlice("rulesid")
|
|
|
userid := c.GetString("userid")
|
|
|
var tag_rules []map[string]interface{}
|
|
|
user_rules := make(map[string]interface{})
|
|
|
//获取私有标签
|
|
|
- if userid !=""{
|
|
|
- usertags,_:=Mgo.Find("eusertagrule",map[string]interface{}{"s_userid":userid,"b_delete":false},`{"i_createtime":-1}`,`{"o_list":1}`,false,0,0)
|
|
|
- if usertags!=nil&&len(*usertags)!=0{
|
|
|
- log.Println("usertags",*usertags)
|
|
|
- for _,tag_rule:=range *usertags{
|
|
|
- log.Println("tag_rule",tag_rule)
|
|
|
- delete(tag_rule,"_id")
|
|
|
- tag_rules = append(tag_rules,tag_rule)
|
|
|
+ if userid != "" {
|
|
|
+ usertags, _ := Mgo.Find("eusertagrule", map[string]interface{}{"s_userid": userid, "b_delete": false}, `{"i_createtime":-1}`, `{"o_list":1}`, false, 0, 0)
|
|
|
+ if usertags != nil && len(*usertags) != 0 {
|
|
|
+ log.Println("usertags", *usertags)
|
|
|
+ for _, tag_rule := range *usertags {
|
|
|
+ log.Println("tag_rule", tag_rule)
|
|
|
+ delete(tag_rule, "_id")
|
|
|
+ tag_rules = append(tag_rules, tag_rule)
|
|
|
}
|
|
|
}
|
|
|
- userinfo,_ := Mgo.FindOne("euer",map[string]interface{}{
|
|
|
- "s_userid":userid,
|
|
|
+ userinfo, _ := Mgo.FindOne("euer", map[string]interface{}{
|
|
|
+ "s_userid": userid,
|
|
|
})
|
|
|
- if userinfo !=nil&&len(*userinfo)!=0{
|
|
|
- log.Println("s_name",user_rules["s_name"])
|
|
|
+ if userinfo != nil && len(*userinfo) != 0 {
|
|
|
+ log.Println("s_name", user_rules["s_name"])
|
|
|
user_rules["s_name"] = (*userinfo)["s_customername"]
|
|
|
user_rules["s_appid"] = (*userinfo)["s_appid"]
|
|
|
}
|
|
|
}
|
|
|
//获取用户规则
|
|
|
- if len(rules_id)>0{
|
|
|
+ if len(rules_id) > 0 {
|
|
|
dep_rules := []interface{}{}
|
|
|
- for _,rule := range rules_id{
|
|
|
+ for _, rule := range rules_id {
|
|
|
dep_rule := make(map[string]interface{})
|
|
|
query := bson.M{
|
|
|
- "_id": bson.ObjectIdHex(rule),
|
|
|
- "b_delete": false,
|
|
|
+ "_id": bson.ObjectIdHex(rule),
|
|
|
+ "b_delete": false,
|
|
|
}
|
|
|
- res,_:=Mgo.FindOne("cuserdepartrule",query)
|
|
|
- if res !=nil&&len(*res)!=0{
|
|
|
+ res, _ := Mgo.FindOne("cuserdepartrule", query)
|
|
|
+ if res != nil && len(*res) != 0 {
|
|
|
//获取规则所属部门信息
|
|
|
- department_info,_:=Mgo.FindOne("cuserdepart",map[string]interface{}{
|
|
|
- "_id":bson.ObjectIdHex((*res)["s_departid"].(string)),
|
|
|
- "b_delete":false,
|
|
|
+ department_info, _ := Mgo.FindOne("cuserdepart", map[string]interface{}{
|
|
|
+ "_id": bson.ObjectIdHex((*res)["s_departid"].(string)),
|
|
|
+ "b_delete": false,
|
|
|
})
|
|
|
dep_rule["id"] = (*res)["_id"].(bson.ObjectId).Hex()
|
|
|
dep_rule["is_new"] = true
|
|
@@ -979,21 +979,21 @@ func (c *Customer) SaveHistoryRule() {
|
|
|
dep_rule["rule_updatetime"] = (*department_info)["i_updatetime"]
|
|
|
dep_rule["s_depart_name"] = (*department_info)["s_name"]
|
|
|
dep_rule["s_depart_status"] = (*department_info)["i_isuse"]
|
|
|
- dep_rules = append(dep_rules,dep_rule)
|
|
|
+ dep_rules = append(dep_rules, dep_rule)
|
|
|
}
|
|
|
}
|
|
|
user_rules["dep_rules"] = dep_rules
|
|
|
user_rules["tag_rules"] = tag_rules
|
|
|
user_rules["createtime"] = time.Now().Unix()
|
|
|
}
|
|
|
- issave :=Mgo.Save("historylog",user_rules)
|
|
|
- if issave!=""{
|
|
|
+ issave := Mgo.Save("historylog", user_rules)
|
|
|
+ if issave != "" {
|
|
|
c.ServeJson(map[string]interface{}{
|
|
|
- "status":"success",
|
|
|
+ "status": "success",
|
|
|
})
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
c.ServeJson(map[string]interface{}{
|
|
|
- "status":"fail",
|
|
|
+ "status": "fail",
|
|
|
})
|
|
|
}
|
|
|
|
|
@@ -1045,9 +1045,9 @@ func (c *Customer) HistoryRuleCreate() {
|
|
|
data["b_delete"] = false
|
|
|
data["s_dataid"] = qu.SE.EncodeString(fmt.Sprintf("%v", i_createtime) + s_tagnamekey + s_id)
|
|
|
data["i_type"] = "historyData"
|
|
|
- id = Mgo.Save("cuserdepartrule", data)
|
|
|
+ id = Mgo.Save("euserdepartrule", data)
|
|
|
if id != "" {
|
|
|
- rep = true
|
|
|
+ rep = AddHistoryLog(data, false, id)
|
|
|
} else {
|
|
|
rep = false
|
|
|
}
|
|
@@ -1055,7 +1055,10 @@ func (c *Customer) HistoryRuleCreate() {
|
|
|
query := bson.M{
|
|
|
"_id": qu.StringTOBsonId(id),
|
|
|
}
|
|
|
- rep = Mgo.Update("cuserdepartrule", query, bson.M{"$set": data}, false, false)
|
|
|
+ reps := Mgo.Update("euserdepartrule", query, bson.M{"$set": data}, false, false)
|
|
|
+ if reps {
|
|
|
+ rep = AddHistoryLog(data, true, id)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
c.ServeJson(map[string]interface{}{
|
|
@@ -1069,6 +1072,7 @@ func (c *Customer) HistoryRuleCreate() {
|
|
|
c.T["did"] = id //部门id
|
|
|
c.T["cid"] = id //客户id
|
|
|
c.T["ids"] = id
|
|
|
+ c.T["history_id"] = c.GetString("hid")
|
|
|
c.T["province"] = Province
|
|
|
c.T["city"] = ProvinceCitys
|
|
|
c.T["district"] = CityDistricts
|
|
@@ -1082,3 +1086,25 @@ func (c *Customer) HistoryRuleCreate() {
|
|
|
c.Render("private/cuser_rule_history_edit.html", &c.T)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+func AddHistoryLog(ruleData map[string]interface{}, isUpdate bool, id string) bool {
|
|
|
+ history_id := qu.StringTOBsonId(ruleData["history_id"].(string))
|
|
|
+ hData, ok := Mgo.FindOne("historylog", bson.M{"_id": history_id})
|
|
|
+ if ok && hData != nil && *hData != nil {
|
|
|
+ dep_rules := qu.ObjArrToMapArr((*hData)["dep_rules"].([]interface{}))
|
|
|
+ ruleData["is_new"] = true
|
|
|
+ if isUpdate {
|
|
|
+ for _, v := range dep_rules {
|
|
|
+ if qu.BsonIdToSId(v["_id"]) == id {
|
|
|
+ v = ruleData
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ dep_rules = append(dep_rules, ruleData)
|
|
|
+ }
|
|
|
+ return Mgo.Update("historylog", bson.M{"_id": history_id}, bson.M{"$set": bson.M{"dep_rules": dep_rules}}, false, false)
|
|
|
+ } else {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+
|
|
|
+}
|