|
@@ -45,7 +45,7 @@ type Front struct {
|
|
|
changeEvent xweb.Mapper `xweb:"/center/changeEvent"` //节点更新
|
|
|
getJson xweb.Mapper `xweb:"/center/spider/json"` //
|
|
|
delRedis xweb.Mapper `xweb:"/center/spider/delRedis"` //清理Redis
|
|
|
- updateESP xweb.Mapper `xweb:"/center/spider/updateesp"` //修改爬虫的节点和状态
|
|
|
+ updateESP xweb.Mapper `xweb:"/center/spider/updateesp"` //修改爬虫的节点/状态/平台
|
|
|
|
|
|
spiderModel xweb.Mapper `xweb:"/center/model"` //获取补充模型
|
|
|
runStep xweb.Mapper `xweb:"/center/run"` //方法测试
|
|
@@ -387,38 +387,30 @@ func (f *Front) LoadIndex() {
|
|
|
if platform != "-1" {
|
|
|
query["platform"] = platform
|
|
|
}
|
|
|
+ if search != "" {
|
|
|
+ query["$or"] = []interface{}{
|
|
|
+ bson.M{"code": bson.M{"$regex": search}},
|
|
|
+ bson.M{"createuser": bson.M{"$regex": search}},
|
|
|
+ bson.M{"param_common.1": bson.M{"$regex": search}},
|
|
|
+ }
|
|
|
+ }
|
|
|
if auth == role_examine { //审核员
|
|
|
if state > -1 {
|
|
|
query["state"] = state
|
|
|
} else {
|
|
|
query["state"] = Sp_state_1
|
|
|
}
|
|
|
- if search != "" {
|
|
|
- query["$or"] = []interface{}{
|
|
|
- bson.M{"code": bson.M{"$regex": search}},
|
|
|
- bson.M{"createuser": bson.M{"$regex": search}},
|
|
|
- bson.M{"param_common.1": bson.M{"$regex": search}},
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
} else if auth == role_dev { //开发员
|
|
|
if state > -1 {
|
|
|
query["state"] = state
|
|
|
}
|
|
|
query["createuserid"] = f.GetSession("userid")
|
|
|
- query["$or"] = []interface{}{
|
|
|
- bson.M{"code": bson.M{"$regex": search}},
|
|
|
- bson.M{"createuser": bson.M{"$regex": search}},
|
|
|
- bson.M{"param_common.1": bson.M{"$regex": search}},
|
|
|
- }
|
|
|
+
|
|
|
} else { //管理员
|
|
|
if state > -1 {
|
|
|
query["state"] = state
|
|
|
}
|
|
|
- query["$or"] = []interface{}{
|
|
|
- bson.M{"code": bson.M{"$regex": search}},
|
|
|
- bson.M{"createuser": bson.M{"$regex": search}},
|
|
|
- bson.M{"param_common.1": bson.M{"$regex": search}},
|
|
|
- }
|
|
|
}
|
|
|
sort := `{"%s":%d}`
|
|
|
orderIndex := f.GetString("order[0][column]")
|
|
@@ -433,6 +425,7 @@ func (f *Front) LoadIndex() {
|
|
|
sort = fmt.Sprintf(sort, orderName, orderType)
|
|
|
page := start / 10
|
|
|
//log.Println("sort", sort, orderName)
|
|
|
+ qu.Debug("query:", query, "sort:", sort)
|
|
|
luas := *mgdb.Find("luaconfig", query, sort, list_fields, false, start, limit)
|
|
|
count := mgdb.Count("luaconfig", query)
|
|
|
for k, v := range luas {
|
|
@@ -746,86 +739,60 @@ func (f *Front) Assign() {
|
|
|
f.Write("n")
|
|
|
return
|
|
|
}
|
|
|
- ids := f.GetString("ids")
|
|
|
codes := f.GetString("codes")
|
|
|
- email := f.GetString("email")
|
|
|
- idarr := strings.Split(ids, ",")
|
|
|
- codesarr := strings.Split(codes, ",")
|
|
|
- var idsinter []interface{}
|
|
|
- isemail := strings.Index(ids, "@")
|
|
|
- user := *mgdb.FindOne("user", bson.M{"s_email": email})
|
|
|
- if len(user) > 0 {
|
|
|
- userid := user["_id"].(bson.ObjectId).Hex()
|
|
|
- name := user["s_name"].(string)
|
|
|
- var query bson.M
|
|
|
- if isemail > -1 {
|
|
|
- query = bson.M{
|
|
|
- "createuseremail": bson.M{
|
|
|
- "$in": idarr,
|
|
|
- },
|
|
|
- }
|
|
|
- } else {
|
|
|
- idsinter = make([]interface{}, len(idarr))
|
|
|
- for k, v := range idarr {
|
|
|
- idsinter[k] = bson.ObjectIdHex(v)
|
|
|
- }
|
|
|
- query = bson.M{
|
|
|
- "_id": bson.M{
|
|
|
- "$in": idsinter,
|
|
|
- },
|
|
|
- }
|
|
|
+ userid := f.GetString("userid") //分配给谁
|
|
|
+ codesarr := strings.Split(codes, ",") //被分配的爬虫
|
|
|
+ user, _ := u.MgoE.FindById("user", userid, nil)
|
|
|
+ if user != nil && len(*user) > 0 {
|
|
|
+ name := qu.ObjToString((*user)["s_name"])
|
|
|
+ query := map[string]interface{}{
|
|
|
+ "code": map[string]interface{}{
|
|
|
+ "$in": codesarr,
|
|
|
+ },
|
|
|
}
|
|
|
-
|
|
|
- set := bson.M{
|
|
|
- "$set": bson.M{
|
|
|
+ qu.Debug(query)
|
|
|
+ set := map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
"createuserid": userid,
|
|
|
- "createuser": user["s_name"],
|
|
|
- "createuseremail": user["s_email"],
|
|
|
- "modifyuser": user["s_name"],
|
|
|
+ "createuser": name,
|
|
|
+ "createuseremail": (*user)["s_email"],
|
|
|
+ "modifyuser": name,
|
|
|
"modifyuserid": userid,
|
|
|
},
|
|
|
}
|
|
|
- b := mgdb.Update("luaconfig", query, set, false, true)
|
|
|
+ b := u.MgoE.Update("luaconfig", query, set, false, true)
|
|
|
if b {
|
|
|
+ go editModify(codesarr, userid, name) //修改爬虫对应任务的维护人
|
|
|
f.Write("y")
|
|
|
- editModify(codesarr, userid, name) //分配
|
|
|
} else {
|
|
|
f.Write("n")
|
|
|
}
|
|
|
} else {
|
|
|
f.Write("null")
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//修改维护人
|
|
|
func editModify(codesarr []string, userid, name string) {
|
|
|
+ qu.Debug("修改爬虫对应任务的维护人:", name, codesarr)
|
|
|
//修改modifyid和modify
|
|
|
- for _, v := range codesarr {
|
|
|
- query := bson.M{
|
|
|
- "s_code": v,
|
|
|
- "i_state": bson.M{
|
|
|
- "$ne": 4,
|
|
|
- },
|
|
|
- }
|
|
|
- task := *mgdb.Find("task", query, nil, nil, false, -1, -1)
|
|
|
- if len(task) > 0 {
|
|
|
- for _, v := range task { //循环 修改任务
|
|
|
- update := bson.M{
|
|
|
- "$set": bson.M{
|
|
|
- "s_modify": name,
|
|
|
- "s_modifyid": userid,
|
|
|
- },
|
|
|
- }
|
|
|
- queryT := bson.M{
|
|
|
- "_id": v["_id"],
|
|
|
- }
|
|
|
- flag := mgdb.Update("task", queryT, update, false, false)
|
|
|
- log.Println("分配修改任务维护人:", flag)
|
|
|
- }
|
|
|
- } else {
|
|
|
- continue
|
|
|
- }
|
|
|
- }
|
|
|
+ query := map[string]interface{}{
|
|
|
+ "s_code": map[string]interface{}{
|
|
|
+ "$in": codesarr,
|
|
|
+ },
|
|
|
+ "i_state": map[string]interface{}{
|
|
|
+ "$nin": []int{4, 6},
|
|
|
+ },
|
|
|
+ }
|
|
|
+ set := map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "s_modify": name,
|
|
|
+ "s_modifyid": userid,
|
|
|
+ },
|
|
|
+ }
|
|
|
+ b := u.MgoE.Update("task", query, set, false, true)
|
|
|
+ qu.Debug("任务重新分配成功", b)
|
|
|
}
|
|
|
|
|
|
//清理Redis
|
|
@@ -877,9 +844,16 @@ func (f *Front) UpdateESP() {
|
|
|
set["state"] = 0
|
|
|
} else if w == "platform" {
|
|
|
set["platform"] = val
|
|
|
- if val != "golua平台" { //由lua平台切换到其他平台,删除爬虫spider_heart心跳
|
|
|
+ if val != "golua平台" { //由lua平台切换到其他平台,删除心跳;爬虫下架;修改爬虫状态
|
|
|
+ set["state"] = 0
|
|
|
b := mgu.Update("spider_heart", "spider", "spider", map[string]interface{}{"code": code}, map[string]interface{}{"$set": map[string]interface{}{"del": true}}, false, true)
|
|
|
qu.Debug("Del Heart:", b)
|
|
|
+ b, err := UpStateAndUpSpider(code, "", "", "", Sp_state_6) //线上爬虫下架
|
|
|
+ qu.Debug("爬虫下架成功:", b)
|
|
|
+ if !b || err != nil {
|
|
|
+ f.Write("n")
|
|
|
+ return
|
|
|
+ }
|
|
|
}
|
|
|
} else { //修改节点
|
|
|
event, _ := strconv.Atoi(val)
|
|
@@ -890,6 +864,7 @@ func (f *Front) UpdateESP() {
|
|
|
code := f.GetString("c")
|
|
|
set["state"] = 6
|
|
|
b, err := UpStateAndUpSpider(code, "", "", "", Sp_state_6) //线上爬虫下架
|
|
|
+ qu.Debug("爬虫下架成功:", b)
|
|
|
if !b || err != nil {
|
|
|
f.Write("n")
|
|
|
return
|