|
@@ -5,9 +5,8 @@ import (
|
|
|
"fmt"
|
|
|
"io/ioutil"
|
|
|
"log"
|
|
|
+ "mongodb"
|
|
|
qu "qfw/util"
|
|
|
- mgdb "qfw/util/mongodb"
|
|
|
- mgu "qfw/util/mongodbutil"
|
|
|
"sort"
|
|
|
util "spiderutil"
|
|
|
"strconv"
|
|
@@ -17,7 +16,6 @@ import (
|
|
|
|
|
|
"github.com/go-xweb/xweb"
|
|
|
"github.com/tealeg/xlsx"
|
|
|
- "gopkg.in/mgo.v2/bson"
|
|
|
)
|
|
|
|
|
|
type TaskM struct {
|
|
@@ -77,14 +75,14 @@ func (t *TaskM) Taskfile() {
|
|
|
errorinfo[cells[0].Value] = "第" + fmt.Sprint(k+1) + "行未指定爬虫"
|
|
|
continue
|
|
|
}
|
|
|
- query := bson.M{
|
|
|
+ query := map[string]interface{}{
|
|
|
"s_code": code,
|
|
|
- "i_state": bson.M{
|
|
|
+ "i_state": map[string]interface{}{
|
|
|
"$in": []int{0, 1, 2, 3, 5},
|
|
|
},
|
|
|
}
|
|
|
- task := *mgdb.FindOne("task", query)
|
|
|
- if len(task) > 0 { //任务已存在
|
|
|
+ task, _ := u.MgoE.FindOne("task", query)
|
|
|
+ if len(*task) > 0 { //任务已存在
|
|
|
errorinfo[cells[0].Value] = "第" + fmt.Sprint(k+1) + "行爬虫任务已存在"
|
|
|
continue
|
|
|
}
|
|
@@ -124,16 +122,17 @@ func (t *TaskM) Taskfile() {
|
|
|
timeDate, _ := time.ParseInLocation(qu.Date_Full_Layout, completeTimeStr, time.Local)
|
|
|
completeTime = timeDate.Unix()
|
|
|
}
|
|
|
- lua := *mgdb.FindOne("luaconfig", map[string]interface{}{"code": code})
|
|
|
- if len(lua) > 0 {
|
|
|
- param := lua["param_common"]
|
|
|
+ //lua := *mgdb.FindOne("luaconfig", map[string]interface{}{"code": code})
|
|
|
+ lua, _ := u.MgoEB.FindOne("luaconfig", map[string]interface{}{"code": code})
|
|
|
+ if len(*lua) > 0 {
|
|
|
+ param := (*lua)["param_common"]
|
|
|
o["s_site"] = param.([]interface{})[1] //取数组中的某个值
|
|
|
o["s_channel"] = param.([]interface{})[2]
|
|
|
- o["i_state"] = 1
|
|
|
- o["s_modify"] = lua["createuser"]
|
|
|
- o["s_modifyid"] = lua["createuserid"]
|
|
|
+ o["i_state"] = 2
|
|
|
+ o["s_modify"] = (*lua)["createuser"]
|
|
|
+ o["s_modifyid"] = (*lua)["createuserid"]
|
|
|
o["l_comeintime"] = time.Now().Unix()
|
|
|
- o["i_event"] = lua["event"]
|
|
|
+ o["i_event"] = (*lua)["event"]
|
|
|
o["i_times"] = 0
|
|
|
o["s_date"] = time.Now().Format("2006-01-02")
|
|
|
o["s_source"] = "人工"
|
|
@@ -143,7 +142,8 @@ func (t *TaskM) Taskfile() {
|
|
|
o["s_type"] = stype
|
|
|
o["l_complete"] = completeTime
|
|
|
o["i_pendstate"] = 0
|
|
|
- mgdb.Save("task", o)
|
|
|
+ o["l_checktime"] = time.Now().Unix()
|
|
|
+ u.MgoE.Save("task", o)
|
|
|
//清空map
|
|
|
o = map[string]interface{}{}
|
|
|
} else {
|
|
@@ -188,10 +188,10 @@ func (t *TaskM) ManagerTask() {
|
|
|
query := queryCriteria(userid, urgency, taskState, event, stype)
|
|
|
if search != "" {
|
|
|
query["$or"] = []interface{}{
|
|
|
- bson.M{"s_code": bson.M{"$regex": search}},
|
|
|
- bson.M{"s_modify": bson.M{"$regex": search}},
|
|
|
- bson.M{"s_site": bson.M{"$regex": search}},
|
|
|
- bson.M{"s_channel": bson.M{"$regex": search}},
|
|
|
+ map[string]interface{}{"s_code": map[string]interface{}{"$regex": search}},
|
|
|
+ map[string]interface{}{"s_modify": map[string]interface{}{"$regex": search}},
|
|
|
+ map[string]interface{}{"s_site": map[string]interface{}{"$regex": search}},
|
|
|
+ map[string]interface{}{"s_channel": map[string]interface{}{"$regex": search}},
|
|
|
}
|
|
|
}
|
|
|
sort := `{"%s":%d}`
|
|
@@ -208,21 +208,12 @@ func (t *TaskM) ManagerTask() {
|
|
|
//sort = `{"l_complete":1,` + sortb + `}`
|
|
|
sort = `{` + sortb + `,"l_complete":1}`
|
|
|
}
|
|
|
- qu.Debug("query:", query)
|
|
|
- task := *mgdb.Find("task", query, sort, nil, false, start, limit)
|
|
|
- count := mgdb.Count("task", query)
|
|
|
+ qu.Debug("query:", query, sort)
|
|
|
+ task, _ := u.MgoE.Find("task", query, sort, nil, false, start, limit)
|
|
|
+ count := u.MgoE.Count("task", query)
|
|
|
page := start / 10
|
|
|
- if len(task) > 0 {
|
|
|
- for k, v := range task {
|
|
|
- // if v["f_num"] == nil {
|
|
|
- // v["f_num"] = 0
|
|
|
- // }
|
|
|
- // if v["f_min"] == nil {
|
|
|
- // v["f_min"] = 0
|
|
|
- // }
|
|
|
- // if v["i_minNum"] == nil {
|
|
|
- // v["i_minNum"] = 0
|
|
|
- // }
|
|
|
+ if len(*task) > 0 {
|
|
|
+ for k, v := range *task {
|
|
|
v["num"] = k + 1 + page*10
|
|
|
v["encode"] = util.Se.Encode2Hex(fmt.Sprint(v["s_code"]))
|
|
|
s_urgency := qu.IntAll(v["s_urgency"])
|
|
@@ -235,36 +226,29 @@ func (t *TaskM) ManagerTask() {
|
|
|
} else if s_urgency == 4 {
|
|
|
v["s_urgency"] = "特别紧急"
|
|
|
}
|
|
|
-
|
|
|
- if v["i_state"] == 0 {
|
|
|
+ state := qu.IntAll(v["i_state"])
|
|
|
+ if state == 0 {
|
|
|
v["i_state"] = "待确认"
|
|
|
- } else if v["i_state"] == 1 {
|
|
|
+ } else if state == 1 {
|
|
|
v["i_state"] = "待处理"
|
|
|
- } else if v["i_state"] == 2 {
|
|
|
+ } else if state == 2 {
|
|
|
v["i_state"] = "处理中"
|
|
|
- } else if v["i_state"] == 3 {
|
|
|
+ } else if state == 3 {
|
|
|
v["i_state"] = "待审核"
|
|
|
- } else if v["i_state"] == 4 {
|
|
|
+ } else if state == 4 {
|
|
|
v["i_state"] = "审核通过"
|
|
|
- } else if v["i_state"] == 5 {
|
|
|
+ } else if state == 5 {
|
|
|
v["i_state"] = "未通过"
|
|
|
- } else if v["i_state"] == 6 {
|
|
|
+ } else if state == 6 {
|
|
|
v["i_state"] = "关闭"
|
|
|
}
|
|
|
if v["i_event"] == nil { //节点
|
|
|
v["i_event"] = 0
|
|
|
}
|
|
|
- // if v["continueTimes"] == nil { //特别紧急任务连续报错次数
|
|
|
- // v["continueTimes"] = 0
|
|
|
- // } else {
|
|
|
- // for _, times := range v["continueTimes"].(map[string]interface{}) {
|
|
|
- // v["continueTimes"] = times
|
|
|
- // }
|
|
|
- // }
|
|
|
l_complete := qu.Int64All(v["l_complete"])
|
|
|
v["l_complete"] = qu.FormatDateByInt64(&l_complete, qu.Date_Full_Layout)
|
|
|
//v["l_complete"] = time.Unix(v["l_complete"].(int64), 0).Format("2006-01-02 15:04:05")
|
|
|
- v["_id"] = v["_id"].(bson.ObjectId).Hex()
|
|
|
+ v["_id"] = mongodb.BsonIdToSId(v["_id"])
|
|
|
//根据code查询luaconfig
|
|
|
param := findLua(v["s_code"].(string))
|
|
|
if len(param) < 13 || param == nil {
|
|
@@ -282,8 +266,9 @@ func (t *TaskM) ManagerTask() {
|
|
|
}
|
|
|
|
|
|
func findLua(code string) []interface{} {
|
|
|
- lua := *mgdb.FindOneByField("luaconfig", `{"code":"`+code+`"}`, `{"param_common":1}`)
|
|
|
- param := lua["param_common"].([]interface{})
|
|
|
+ //lua := *mgdb.FindOneByField("luaconfig", `{"code":"`+code+`"}`, `{"param_common":1}`)
|
|
|
+ lua, _ := u.MgoEB.FindOneByField("luaconfig", map[string]interface{}{"code": code}, map[string]interface{}{"param_common": 1})
|
|
|
+ param := (*lua)["param_common"].([]interface{})
|
|
|
return param
|
|
|
}
|
|
|
|
|
@@ -295,7 +280,7 @@ func (t *TaskM) Mytask() {
|
|
|
return
|
|
|
}
|
|
|
userid := qu.ObjToString(t.GetSession("userid"))
|
|
|
- query := bson.M{}
|
|
|
+ query := map[string]interface{}{}
|
|
|
if t.Method() == "POST" {
|
|
|
start, _ := t.GetInteger("start")
|
|
|
limit, _ := t.GetInteger("length")
|
|
@@ -312,9 +297,9 @@ func (t *TaskM) Mytask() {
|
|
|
query = queryCriteria(userid, urgency, taskState, event, stype)
|
|
|
if search != "" {
|
|
|
query["$or"] = []interface{}{
|
|
|
- bson.M{"s_code": bson.M{"$regex": search}},
|
|
|
- bson.M{"s_site": bson.M{"$regex": search}},
|
|
|
- bson.M{"s_channel": bson.M{"$regex": search}},
|
|
|
+ map[string]interface{}{"s_code": map[string]interface{}{"$regex": search}},
|
|
|
+ map[string]interface{}{"s_site": map[string]interface{}{"$regex": search}},
|
|
|
+ map[string]interface{}{"s_channel": map[string]interface{}{"$regex": search}},
|
|
|
}
|
|
|
}
|
|
|
sort := `{"%s":%d}`
|
|
@@ -329,41 +314,44 @@ func (t *TaskM) Mytask() {
|
|
|
// sorta := strings.Replace(sort, "{", "", -1)
|
|
|
// sortb := strings.Replace(sorta, "}", "", -1)
|
|
|
// sortNew := `{"l_complete": 1,` + sortb + `}`
|
|
|
- task := *mgdb.Find("task", query, sort, nil, false, start, limit)
|
|
|
- count := mgdb.Count("task", query)
|
|
|
- if task != nil {
|
|
|
- for _, v := range task {
|
|
|
+ qu.Debug(query, sort)
|
|
|
+ task, _ := u.MgoE.Find("task", query, sort, nil, false, start, limit)
|
|
|
+ count := u.MgoE.Count("task", query)
|
|
|
+ if task != nil && len(*task) > 0 {
|
|
|
+ for _, v := range *task {
|
|
|
code := fmt.Sprint(v["s_code"])
|
|
|
relatecode := ""
|
|
|
- lua, _ := u.MgoE.FindOneByField("luaconfig", map[string]interface{}{"code": code, "state": 5}, map[string]interface{}{"relatecode": 1})
|
|
|
+ //lua, _ := u.MgoE.FindOneByField("luaconfig", map[string]interface{}{"code": code, "state": 5}, map[string]interface{}{"relatecode": 1})
|
|
|
+ lua, _ := u.MgoEB.FindOneByField("luaconfig", map[string]interface{}{"code": code, "state": 5}, map[string]interface{}{"relatecode": 1})
|
|
|
if len(*lua) > 0 {
|
|
|
relatecode = qu.ObjToString((*lua)["relatecode"])
|
|
|
}
|
|
|
v["relatecode"] = relatecode
|
|
|
v["encode"] = util.Se.Encode2Hex(code)
|
|
|
- if v["s_urgency"] == "1" {
|
|
|
+ urgency := qu.ObjToString(v["s_urgency"])
|
|
|
+ if urgency == "1" {
|
|
|
v["s_urgency"] = "普通"
|
|
|
- } else if v["s_urgency"] == "2" {
|
|
|
+ } else if urgency == "2" {
|
|
|
v["s_urgency"] = "紧急"
|
|
|
- } else if v["s_urgency"] == "3" {
|
|
|
+ } else if urgency == "3" {
|
|
|
v["s_urgency"] = "非常紧急"
|
|
|
- } else if v["s_urgency"] == "4" {
|
|
|
+ } else if urgency == "4" {
|
|
|
v["s_urgency"] = "特别紧急"
|
|
|
}
|
|
|
-
|
|
|
- if v["i_state"] == 0 {
|
|
|
+ state := qu.IntAll(v["i_state"])
|
|
|
+ if state == 0 {
|
|
|
v["i_state"] = "待确认"
|
|
|
- } else if v["i_state"] == 1 {
|
|
|
+ } else if state == 1 {
|
|
|
v["i_state"] = "待处理"
|
|
|
- } else if v["i_state"] == 2 {
|
|
|
+ } else if state == 2 {
|
|
|
v["i_state"] = "处理中"
|
|
|
- } else if v["i_state"] == 3 {
|
|
|
+ } else if state == 3 {
|
|
|
v["i_state"] = "待审核"
|
|
|
- } else if v["i_state"] == 4 {
|
|
|
+ } else if state == 4 {
|
|
|
v["i_state"] = "审核通过"
|
|
|
- } else if v["i_state"] == 5 {
|
|
|
+ } else if state == 5 {
|
|
|
v["i_state"] = "未通过"
|
|
|
- } else if v["i_state"] == 6 {
|
|
|
+ } else if state == 6 {
|
|
|
v["i_state"] = "关闭"
|
|
|
}
|
|
|
if v["i_event"] == nil { //节点
|
|
@@ -371,7 +359,7 @@ func (t *TaskM) Mytask() {
|
|
|
}
|
|
|
|
|
|
v["l_complete"] = time.Unix(v["l_complete"].(int64), 0).Format("2006-01-02 15:04:05")
|
|
|
- v["_id"] = v["_id"].(bson.ObjectId).Hex()
|
|
|
+ v["_id"] = mongodb.BsonIdToSId(v["_id"])
|
|
|
}
|
|
|
}
|
|
|
t.ServeJson(map[string]interface{}{"draw": draw, "data": task, "recordsFiltered": count, "recordsTotal": count})
|
|
@@ -387,13 +375,13 @@ func (t *TaskM) Mytask() {
|
|
|
if SessionFailuer {
|
|
|
query["s_modifyid"] = userid
|
|
|
query["i_state"] = 5
|
|
|
- task := *mgdb.Find("task", query, nil, nil, false, -1, -1)
|
|
|
- failedtasknum = len(task)
|
|
|
+ task, _ := u.MgoE.Find("task", query, nil, nil, false, -1, -1)
|
|
|
+ failedtasknum = len(*task)
|
|
|
SessionFailuer = false
|
|
|
}
|
|
|
//查询是否有错误爬虫
|
|
|
modifyuser := qu.ObjToString(t.GetSession("loginuser"))
|
|
|
- errluanum := mgu.Count("spider_loadfail", "spider", "spider",
|
|
|
+ errluanum := u.MgoS.Count("spider_loadfail",
|
|
|
map[string]interface{}{
|
|
|
"modifyuser": modifyuser,
|
|
|
"modifytime": map[string]interface{}{
|
|
@@ -411,29 +399,30 @@ func (t *TaskM) Mytask() {
|
|
|
func (t *TaskM) CheckCode() {
|
|
|
code := t.GetString("code")
|
|
|
status := "notHasCode"
|
|
|
- var lua map[string]interface{}
|
|
|
+ lua := &map[string]interface{}{}
|
|
|
if code != "" {
|
|
|
- query := bson.M{
|
|
|
+ query := map[string]interface{}{
|
|
|
"s_code": code,
|
|
|
- "i_state": bson.M{
|
|
|
+ "i_state": map[string]interface{}{
|
|
|
"$in": []int{0, 1, 2, 3, 5},
|
|
|
},
|
|
|
}
|
|
|
- task := *mgdb.FindOne("task", query)
|
|
|
- if task != nil {
|
|
|
- task["l_complete"] = time.Unix(task["l_complete"].(int64), 0).Format("2006-01-02 15:04:05")
|
|
|
+ task, _ := u.MgoE.FindOne("task", query)
|
|
|
+ if task != nil && len(*task) > 0 {
|
|
|
+ (*task)["l_complete"] = time.Unix((*task)["l_complete"].(int64), 0).Format("2006-01-02 15:04:05")
|
|
|
status = "hasCode"
|
|
|
|
|
|
} else {
|
|
|
- luaQuery := bson.M{
|
|
|
+ luaQuery := map[string]interface{}{
|
|
|
"code": code,
|
|
|
}
|
|
|
- lua = *mgdb.FindOne("luaconfig", luaQuery)
|
|
|
+ //lua = *mgdb.FindOne("luaconfig", luaQuery)
|
|
|
+ lua, _ = u.MgoEB.FindOne("luaconfig", luaQuery)
|
|
|
}
|
|
|
t.ServeJson(map[string]interface{}{
|
|
|
"status": status,
|
|
|
"task": task,
|
|
|
- "lua": lua,
|
|
|
+ "lua": *lua,
|
|
|
})
|
|
|
}
|
|
|
}
|
|
@@ -483,18 +472,20 @@ func (t *TaskM) SaveNewTask() {
|
|
|
newTask["s_site"] = site //站点
|
|
|
newTask["s_channel"] = channel //栏目
|
|
|
newTask["s_code"] = code //代码
|
|
|
- newTask["i_state"] = 1 //完成状态
|
|
|
+ newTask["i_state"] = 2 //完成状态
|
|
|
newTask["l_comeintime"] = comeintime //创建时间
|
|
|
newTask["s_date"] = time.Now().Format("2006-01-02")
|
|
|
newTask["i_times"] = 0
|
|
|
newTask["i_pendstate"] = 0
|
|
|
- queryL := bson.M{
|
|
|
+ newTask["l_checktime"] = time.Now().Unix()
|
|
|
+ queryL := map[string]interface{}{
|
|
|
"code": code,
|
|
|
}
|
|
|
- lua := *mgdb.FindOne("luaconfig", queryL)
|
|
|
+ //lua := *mgdb.FindOne("luaconfig", queryL)
|
|
|
+ lua, _ := u.MgoEB.FindOne("luaconfig", queryL)
|
|
|
if lua != nil {
|
|
|
- newTask["s_modifyid"] = lua["createuserid"] //维护人员id
|
|
|
- newTask["i_event"] = lua["event"] //节点
|
|
|
+ newTask["s_modifyid"] = (*lua)["createuserid"] //维护人员id
|
|
|
+ newTask["i_event"] = (*lua)["event"] //节点
|
|
|
}
|
|
|
newTask["s_modify"] = modify //维护人员
|
|
|
newTask["s_descript"] = descript //描述
|
|
@@ -522,8 +513,8 @@ func (t *TaskM) SaveNewTask() {
|
|
|
newTask["l_complete"] = timeDate.Unix()
|
|
|
}
|
|
|
}
|
|
|
- task := mgdb.Save("task", newTask)
|
|
|
- if task != "" {
|
|
|
+ taskid := u.MgoE.Save("task", newTask)
|
|
|
+ if taskid != "" {
|
|
|
t.ServeJson(map[string]interface{}{
|
|
|
"state": "ok",
|
|
|
})
|
|
@@ -532,21 +523,21 @@ func (t *TaskM) SaveNewTask() {
|
|
|
|
|
|
//编辑 查看任务
|
|
|
func (t *TaskM) EditTask(ids string) error {
|
|
|
- auth := t.GetSession("auth")
|
|
|
+ auth := qu.IntAll(t.GetSession("auth"))
|
|
|
//code := strings.Split(codes, "__")[0]
|
|
|
id := strings.Split(ids, "__")[0]
|
|
|
param := strings.Split(ids, "__")[1]
|
|
|
if t.Method() == "GET" {
|
|
|
- query := bson.M{
|
|
|
+ query := map[string]interface{}{
|
|
|
//"s_code": util.Se.Decode4Hex(code),
|
|
|
- "_id": bson.ObjectIdHex(id),
|
|
|
+ "_id": mongodb.StringTOBsonId(id),
|
|
|
}
|
|
|
- task := *mgdb.FindOne("task", query)
|
|
|
- if task != nil {
|
|
|
- task["l_comeintime"] = time.Unix(task["l_comeintime"].(int64), 0).Format("2006-01-02 15:04:05")
|
|
|
- task["l_complete"] = time.Unix(task["l_complete"].(int64), 0).Format("2006-01-02 15:04:05")
|
|
|
- if task["a_mrecord"] != nil {
|
|
|
- mrecord := qu.ObjArrToMapArr(task["a_mrecord"].([]interface{}))
|
|
|
+ task, _ := u.MgoE.FindOne("task", query)
|
|
|
+ if task != nil && len(*task) > 0 {
|
|
|
+ (*task)["l_comeintime"] = time.Unix((*task)["l_comeintime"].(int64), 0).Format("2006-01-02 15:04:05")
|
|
|
+ (*task)["l_complete"] = time.Unix((*task)["l_complete"].(int64), 0).Format("2006-01-02 15:04:05")
|
|
|
+ if (*task)["a_mrecord"] != nil {
|
|
|
+ mrecord := qu.ObjArrToMapArr((*task)["a_mrecord"].([]interface{}))
|
|
|
if mrecord != nil && len(mrecord) > 0 {
|
|
|
for _, v := range mrecord {
|
|
|
v["l_mrecord_comeintime"] = time.Unix(qu.Int64All(v["l_mrecord_comeintime"]), 0).Format("2006-01-02 15:04:05")
|
|
@@ -554,17 +545,17 @@ func (t *TaskM) EditTask(ids string) error {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if task["a_check"] != nil {
|
|
|
- check := qu.ObjArrToMapArr(task["a_check"].([]interface{}))
|
|
|
+ if (*task)["a_check"] != nil {
|
|
|
+ check := qu.ObjArrToMapArr((*task)["a_check"].([]interface{}))
|
|
|
if check != nil && len(check) > 0 {
|
|
|
for _, v := range check {
|
|
|
v["l_check_checkTime"] = time.Unix(qu.Int64All(v["l_check_checkTime"]), 0).Format("2006-01-02 15:04:05")
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- t.T["encode"] = util.Se.Encode2Hex(fmt.Sprint(task["s_code"]))
|
|
|
+ t.T["encode"] = util.Se.Encode2Hex(fmt.Sprint((*task)["s_code"]))
|
|
|
t.T["id"] = id
|
|
|
- t.T["task"] = task
|
|
|
+ t.T["task"] = *task
|
|
|
t.T["param"] = param
|
|
|
if t.GetSession(id) == "" || t.GetSession(id) == nil {
|
|
|
t.T["xgTime"] = time.Unix(time.Now().Unix(), 0).Format("2006-01-02 15:04:05")
|
|
@@ -593,10 +584,10 @@ func (t *TaskM) Del() {
|
|
|
t.ServeJson("没有权限")
|
|
|
return
|
|
|
}
|
|
|
- del := bson.M{
|
|
|
- "_id": bson.ObjectIdHex(id),
|
|
|
+ del := map[string]interface{}{
|
|
|
+ "_id": mongodb.StringTOBsonId(id),
|
|
|
}
|
|
|
- ok := mgdb.Del("task", del)
|
|
|
+ ok := u.MgoE.Del("task", del)
|
|
|
if ok {
|
|
|
state = "ok"
|
|
|
}
|
|
@@ -645,23 +636,23 @@ func (t *TaskM) UpdateTask() {
|
|
|
l_complete = ft.CompleteTime(urgency)
|
|
|
}
|
|
|
|
|
|
- queryU := bson.M{
|
|
|
+ queryU := map[string]interface{}{
|
|
|
"s_name": modify,
|
|
|
}
|
|
|
- task := *mgdb.FindOne("user", queryU)
|
|
|
- queryT := bson.M{
|
|
|
- "_id": bson.ObjectIdHex(id),
|
|
|
+ task, _ := u.MgoE.FindOne("user", queryU)
|
|
|
+ queryT := map[string]interface{}{
|
|
|
+ "_id": mongodb.StringTOBsonId(id),
|
|
|
}
|
|
|
- update := bson.M{
|
|
|
- "$set": bson.M{
|
|
|
+ update := map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
"s_modify": modify,
|
|
|
"s_descript": descript,
|
|
|
"s_urgency": urgency,
|
|
|
"l_complete": l_complete,
|
|
|
- "s_modifyid": task["_id"].(bson.ObjectId).Hex(),
|
|
|
+ "s_modifyid": mongodb.BsonIdToSId((*task)["_id"]),
|
|
|
},
|
|
|
}
|
|
|
- ok := mgdb.Update("task", queryT, update, false, false)
|
|
|
+ ok := u.MgoE.Update("task", queryT, update, false, false)
|
|
|
if ok {
|
|
|
state = "ok"
|
|
|
t.SetSession("jumpMark", "y")
|
|
@@ -679,44 +670,23 @@ func (t *TaskM) UpdateTaskState() {
|
|
|
if t.GetSession(id) == nil {
|
|
|
t.SetSession(id, xgTime)
|
|
|
}
|
|
|
- query := bson.M{
|
|
|
- "_id": bson.ObjectIdHex(id),
|
|
|
+ query := map[string]interface{}{
|
|
|
+ "_id": mongodb.StringTOBsonId(id),
|
|
|
}
|
|
|
- task := *mgdb.FindOne("task", query)
|
|
|
+ task, _ := u.MgoE.FindOne("task", query)
|
|
|
updateOk := false
|
|
|
- if len(task) > 0 {
|
|
|
- state := qu.IntAll(task["i_state"])
|
|
|
+ if len(*task) > 0 {
|
|
|
+ state := qu.IntAll((*task)["i_state"])
|
|
|
if state == 1 { //修改任务状态为待处理
|
|
|
- update := bson.M{
|
|
|
- "$set": bson.M{
|
|
|
+ update := map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
"i_state": 2,
|
|
|
},
|
|
|
}
|
|
|
- updateOk = mgdb.Update("task", query, update, false, false) //更新任务状态
|
|
|
- code := qu.ObjToString(task["s_code"])
|
|
|
- mgdb.Update("luaconfig", map[string]interface{}{"code": code}, map[string]interface{}{"$set": map[string]interface{}{"ismodify": true}}, false, false)
|
|
|
- // code := qu.ObjToString(task["s_code"])
|
|
|
- // lua := *mgdb.FindOne("luaconfig", map[string]interface{}{"code": code})
|
|
|
- // if len(lua) > 0 {
|
|
|
- // lua_state := qu.IntAll(lua["state"])
|
|
|
- // if lua_state == sp.Sp_state_5 {
|
|
|
- // b, err := sp.UpStateAndUpSpider(code, "", "", "", sp.Sp_state_6) //点击修改爬虫时,线上爬虫下架
|
|
|
- // if b && err == nil { //下架成功
|
|
|
- // log.Println("爬虫下架成功", code, ",任务id:", id)
|
|
|
- // ok := mgdb.Update("task", query, update, false, false) //更新任务状态
|
|
|
- // if ok {
|
|
|
- // updateOk = true
|
|
|
- // }
|
|
|
- // } else {
|
|
|
- // log.Println("修改任务失败", id)
|
|
|
- // }
|
|
|
- // } else {
|
|
|
- // ok := mgdb.Update("task", query, update, false, false) //更新任务状态
|
|
|
- // if ok {
|
|
|
- // updateOk = true
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
+ updateOk = u.MgoE.Update("task", query, update, false, false) //更新任务状态
|
|
|
+ code := qu.ObjToString((*task)["s_code"])
|
|
|
+ //mgdb.Update("luaconfig", map[string]interface{}{"code": code}, map[string]interface{}{"$set": map[string]interface{}{"ismodify": true}}, false, false)
|
|
|
+ u.MgoEB.Update("luaconfig", map[string]interface{}{"code": code}, map[string]interface{}{"$set": map[string]interface{}{"ismodify": true}}, false, false)
|
|
|
} else {
|
|
|
updateOk = true
|
|
|
}
|
|
@@ -779,26 +749,26 @@ func (t *TaskM) Audit() {
|
|
|
//search := strings.Replace(searchStr, " ", "", -1)
|
|
|
search := strings.TrimSpace(searchStr)
|
|
|
//查询自己的任务
|
|
|
- query := bson.M{}
|
|
|
- query = bson.M{
|
|
|
- "i_state": bson.M{
|
|
|
+ query := map[string]interface{}{}
|
|
|
+ query = map[string]interface{}{
|
|
|
+ "i_state": map[string]interface{}{
|
|
|
"$gte": 3,
|
|
|
"$lte": 5,
|
|
|
},
|
|
|
}
|
|
|
if state >= 0 && taskState >= 0 {
|
|
|
- query = bson.M{
|
|
|
+ query = map[string]interface{}{
|
|
|
"s_urgency": strconv.Itoa(state),
|
|
|
"i_state": taskState,
|
|
|
}
|
|
|
} else if state < 0 && taskState >= 0 {
|
|
|
- query = bson.M{
|
|
|
+ query = map[string]interface{}{
|
|
|
"i_state": taskState,
|
|
|
}
|
|
|
} else if state >= 0 && taskState < 0 {
|
|
|
- query = bson.M{
|
|
|
+ query = map[string]interface{}{
|
|
|
"s_urgency": strconv.Itoa(state),
|
|
|
- "i_state": bson.M{
|
|
|
+ "i_state": map[string]interface{}{
|
|
|
"$gte": 3,
|
|
|
"$lte": 5,
|
|
|
},
|
|
@@ -806,9 +776,9 @@ func (t *TaskM) Audit() {
|
|
|
}
|
|
|
if search != "" {
|
|
|
query["$or"] = []interface{}{
|
|
|
- bson.M{"s_code": bson.M{"$regex": search}},
|
|
|
- bson.M{"s_site": bson.M{"$regex": search}},
|
|
|
- bson.M{"s_channel": bson.M{"$regex": search}},
|
|
|
+ map[string]interface{}{"s_code": map[string]interface{}{"$regex": search}},
|
|
|
+ map[string]interface{}{"s_site": map[string]interface{}{"$regex": search}},
|
|
|
+ map[string]interface{}{"s_channel": map[string]interface{}{"$regex": search}},
|
|
|
}
|
|
|
}
|
|
|
sort := `{"%s":%d}`
|
|
@@ -823,39 +793,40 @@ func (t *TaskM) Audit() {
|
|
|
sorta := strings.Replace(sort, "{", "", -1)
|
|
|
sortb := strings.Replace(sorta, "}", "", -1)
|
|
|
sortNew := `{"l_complete": 1,` + sortb + `}`
|
|
|
- task := *mgdb.Find("task", query, sortNew, nil, false, start, limit)
|
|
|
- count := mgdb.Count("task", query)
|
|
|
- if task != nil {
|
|
|
- for _, v := range task {
|
|
|
+ task, _ := u.MgoE.Find("task", query, sortNew, nil, false, start, limit)
|
|
|
+ count := u.MgoE.Count("task", query)
|
|
|
+ if task != nil && len(*task) > 0 {
|
|
|
+ for _, v := range *task {
|
|
|
v["encode"] = util.Se.Encode2Hex(fmt.Sprint(v["s_code"]))
|
|
|
- if v["s_urgency"] == "1" {
|
|
|
+ urgency := qu.ObjToString(v["s_urgency"])
|
|
|
+ if urgency == "1" {
|
|
|
v["s_urgency"] = "普通"
|
|
|
- } else if v["s_urgency"] == "2" {
|
|
|
+ } else if urgency == "2" {
|
|
|
v["s_urgency"] = "紧急"
|
|
|
- } else if v["s_urgency"] == "3" {
|
|
|
+ } else if urgency == "3" {
|
|
|
v["s_urgency"] = "非常紧急"
|
|
|
- } else if v["s_urgency"] == "4" {
|
|
|
+ } else if urgency == "4" {
|
|
|
v["s_urgency"] = "特别紧急"
|
|
|
}
|
|
|
-
|
|
|
- if v["i_state"] == 0 {
|
|
|
+ state := qu.IntAll(v["i_state"])
|
|
|
+ if state == 0 {
|
|
|
v["i_state"] = "待确认"
|
|
|
- } else if v["i_state"] == 1 {
|
|
|
+ } else if state == 1 {
|
|
|
v["i_state"] = "待处理"
|
|
|
- } else if v["i_state"] == 2 {
|
|
|
+ } else if state == 2 {
|
|
|
v["i_state"] = "处理中"
|
|
|
- } else if v["i_state"] == 3 {
|
|
|
+ } else if state == 3 {
|
|
|
v["i_state"] = "待审核"
|
|
|
- } else if v["i_state"] == 4 {
|
|
|
+ } else if state == 4 {
|
|
|
v["i_state"] = "审核通过"
|
|
|
- } else if v["i_state"] == 5 {
|
|
|
+ } else if state == 5 {
|
|
|
v["i_state"] = "未通过"
|
|
|
- } else if v["i_state"] == 6 {
|
|
|
+ } else if state == 6 {
|
|
|
v["i_state"] = "关闭"
|
|
|
}
|
|
|
|
|
|
v["l_complete"] = time.Unix(v["l_complete"].(int64), 0).Format("2006-01-02 15:04:05")
|
|
|
- v["_id"] = v["_id"].(bson.ObjectId).Hex()
|
|
|
+ v["_id"] = mongodb.BsonIdToSId(v["_id"])
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -867,18 +838,18 @@ func (t *TaskM) Audit() {
|
|
|
|
|
|
//更新task
|
|
|
func UpdateOldTask(id, descript, urgency string, complete int64) {
|
|
|
- queryT := bson.M{
|
|
|
- "_id": bson.ObjectIdHex(id),
|
|
|
+ queryT := map[string]interface{}{
|
|
|
+ "_id": mongodb.StringTOBsonId(id),
|
|
|
}
|
|
|
- update := bson.M{
|
|
|
- "$set": bson.M{
|
|
|
+ update := map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
"s_descript": descript,
|
|
|
"s_urgency": urgency,
|
|
|
"l_complete": complete,
|
|
|
"l_comeintime": time.Now().Unix(),
|
|
|
},
|
|
|
}
|
|
|
- ok := mgdb.Update("task", queryT, update, false, false)
|
|
|
+ ok := u.MgoE.Update("task", queryT, update, false, false)
|
|
|
if ok {
|
|
|
log.Println("更新已有任务成功")
|
|
|
} else {
|
|
@@ -895,31 +866,34 @@ func (t *TaskM) AssignChangeTaskState() {
|
|
|
auth := qu.IntAll(t.GetSession("auth"))
|
|
|
if auth == role_admin {
|
|
|
//先根据code查有没有相关任务,再根据id修改任务状态
|
|
|
- query := bson.M{
|
|
|
+ query := map[string]interface{}{
|
|
|
"s_code": code,
|
|
|
- "i_state": bson.M{
|
|
|
+ "i_state": map[string]interface{}{
|
|
|
"$in": []int{1, 2, 3, 5},
|
|
|
},
|
|
|
}
|
|
|
- task := *mgdb.FindOne("task", query)
|
|
|
- if len(task) > 0 { //有相关任务不能分发
|
|
|
+ task, _ := u.MgoE.FindOne("task", query)
|
|
|
+ if len(*task) > 0 { //有相关任务不能分发
|
|
|
t.ServeJson("e")
|
|
|
return
|
|
|
}
|
|
|
//没有相关任务,修改状态
|
|
|
- query = bson.M{
|
|
|
- "_id": bson.ObjectIdHex(id),
|
|
|
+ query = map[string]interface{}{
|
|
|
+ "_id": mongodb.StringTOBsonId(id),
|
|
|
+ }
|
|
|
+ set := map[string]interface{}{
|
|
|
+ "i_state": 1,
|
|
|
+ "l_checktime": time.Now().Unix(),
|
|
|
}
|
|
|
- set := bson.M{"i_state": 1}
|
|
|
if reason != "" {
|
|
|
- tmp := *mgdb.FindOne("task", query)
|
|
|
- descript := qu.ObjToString(tmp["s_descript"]) + "审核人员追加描述:------------------------------\n" + reason + "\n"
|
|
|
+ tmp, _ := u.MgoE.FindOne("task", query)
|
|
|
+ descript := qu.ObjToString((*tmp)["s_descript"]) + "审核人员追加描述:------------------------------\n" + reason + "\n"
|
|
|
set["s_descript"] = descript
|
|
|
}
|
|
|
- update := bson.M{
|
|
|
+ update := map[string]interface{}{
|
|
|
"$set": set,
|
|
|
}
|
|
|
- flag := mgdb.Update("task", query, update, false, false)
|
|
|
+ flag := u.MgoE.Update("task", query, update, false, false)
|
|
|
if flag {
|
|
|
t.ServeJson("y")
|
|
|
t.SetSession("jumpMark", "y")
|
|
@@ -939,15 +913,16 @@ func (t *TaskM) CloseChangeTaskState() {
|
|
|
auth := qu.IntAll(t.GetSession("auth"))
|
|
|
if auth == role_admin {
|
|
|
//根据id关闭任务
|
|
|
- query := bson.M{
|
|
|
- "_id": bson.ObjectIdHex(id),
|
|
|
+ query := map[string]interface{}{
|
|
|
+ "_id": mongodb.StringTOBsonId(id),
|
|
|
}
|
|
|
- update := bson.M{
|
|
|
- "$set": bson.M{
|
|
|
- "i_state": 6,
|
|
|
+ update := map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "i_state": 6,
|
|
|
+ "l_checktime": time.Now().Unix(),
|
|
|
},
|
|
|
}
|
|
|
- flag := mgdb.Update("task", query, update, false, false)
|
|
|
+ flag := u.MgoE.Update("task", query, update, false, false)
|
|
|
if flag {
|
|
|
go updateClose(code) //更新closerate数据
|
|
|
t.ServeJson("y")
|
|
@@ -966,31 +941,32 @@ func (t *TaskM) BatchAssign() {
|
|
|
ids := strings.Split(t.GetString("ids"), ",")
|
|
|
codes := strings.Split(t.GetString("codes"), ",")
|
|
|
auth := qu.IntAll(t.GetSession("auth"))
|
|
|
- query := bson.M{}
|
|
|
+ query := map[string]interface{}{}
|
|
|
var existCode []string
|
|
|
if auth == role_admin {
|
|
|
for k, code := range codes {
|
|
|
- query = bson.M{
|
|
|
+ query = map[string]interface{}{
|
|
|
"s_code": code,
|
|
|
- "i_state": bson.M{
|
|
|
+ "i_state": map[string]interface{}{
|
|
|
"$in": []int{1, 2, 3, 5},
|
|
|
},
|
|
|
}
|
|
|
- task := *mgdb.FindOne("task", query)
|
|
|
+ task, _ := u.MgoE.FindOne("task", query)
|
|
|
//log.Println("task", task)
|
|
|
- if len(task) > 0 { //任务已经存在
|
|
|
+ if len(*task) > 0 { //任务已经存在
|
|
|
existCode = append(existCode, code)
|
|
|
} else {
|
|
|
id := ids[k]
|
|
|
- query = bson.M{
|
|
|
- "_id": bson.ObjectIdHex(id),
|
|
|
+ query = map[string]interface{}{
|
|
|
+ "_id": mongodb.StringTOBsonId(id),
|
|
|
}
|
|
|
- update := bson.M{
|
|
|
- "$set": bson.M{
|
|
|
- "i_state": 1,
|
|
|
+ update := map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "i_state": 1,
|
|
|
+ "l_checktime": time.Now().Unix(),
|
|
|
},
|
|
|
}
|
|
|
- flag := mgdb.Update("task", query, update, false, false)
|
|
|
+ flag := u.MgoE.Update("task", query, update, false, false)
|
|
|
log.Println("任务id:", id, " 更新:", flag)
|
|
|
}
|
|
|
}
|
|
@@ -1009,15 +985,16 @@ func (t *TaskM) BatchClose() {
|
|
|
var falseCode []string
|
|
|
if auth == role_admin {
|
|
|
for k, id := range ids {
|
|
|
- query := bson.M{
|
|
|
- "_id": bson.ObjectIdHex(id),
|
|
|
+ query := map[string]interface{}{
|
|
|
+ "_id": mongodb.StringTOBsonId(id),
|
|
|
}
|
|
|
- update := bson.M{
|
|
|
- "$set": bson.M{
|
|
|
- "i_state": 6,
|
|
|
+ update := map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "i_state": 6,
|
|
|
+ "l_checktime": time.Now().Unix(),
|
|
|
},
|
|
|
}
|
|
|
- flag := mgdb.Update("task", query, update, false, false)
|
|
|
+ flag := u.MgoE.Update("task", query, update, false, false)
|
|
|
log.Println("任务id:", id, " 关闭:", flag)
|
|
|
if !flag {
|
|
|
falseCode = append(falseCode, codes[k])
|
|
@@ -1036,16 +1013,17 @@ func (t *TaskM) BatchDeal() {
|
|
|
ids := strings.Split(t.GetString("ids"), ",")
|
|
|
auth := qu.IntAll(t.GetSession("auth"))
|
|
|
if auth == role_admin {
|
|
|
- update := bson.M{
|
|
|
- "$set": bson.M{
|
|
|
- "i_state": 2,
|
|
|
+ update := map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
+ "i_state": 2,
|
|
|
+ "l_checktime": time.Now().Unix(),
|
|
|
},
|
|
|
}
|
|
|
for _, id := range ids {
|
|
|
- query := bson.M{
|
|
|
- "_id": bson.ObjectIdHex(id),
|
|
|
+ query := map[string]interface{}{
|
|
|
+ "_id": mongodb.StringTOBsonId(id),
|
|
|
}
|
|
|
- flag := mgdb.Update("task", query, update, false, false)
|
|
|
+ flag := u.MgoE.Update("task", query, update, false, false)
|
|
|
log.Println("任务id:", id, " 更新为处理中:", flag)
|
|
|
}
|
|
|
t.ServeJson("处理成功")
|
|
@@ -1067,29 +1045,29 @@ func (t *TaskM) GetJumpMark() {
|
|
|
//更新closerate
|
|
|
func updateClose(code string) {
|
|
|
defer qu.Catch()
|
|
|
- query := bson.M{
|
|
|
+ query := map[string]interface{}{
|
|
|
"s_code": code,
|
|
|
}
|
|
|
- data := *mgdb.FindOne("closerate", query)
|
|
|
- if data != nil && len(data) > 0 {
|
|
|
- arr := qu.ObjArrToStringArr(data["timeClose"].([]interface{}))
|
|
|
+ data, _ := u.MgoE.FindOne("closerate", query)
|
|
|
+ if data != nil && len(*data) > 0 {
|
|
|
+ arr := qu.ObjArrToStringArr((*data)["timeClose"].([]interface{}))
|
|
|
last := arr[len(arr)-1] //更新最后一天的数据
|
|
|
timeAndClose := strings.Split(last, ":")
|
|
|
if len(timeAndClose) >= 2 {
|
|
|
arr[len(arr)-1] = timeAndClose[0] + ":3"
|
|
|
}
|
|
|
//更新
|
|
|
- update := bson.M{
|
|
|
- "$set": bson.M{
|
|
|
+ update := map[string]interface{}{
|
|
|
+ "$set": map[string]interface{}{
|
|
|
"timeClose": arr,
|
|
|
},
|
|
|
}
|
|
|
- flag := mgdb.Update("closerate", query, update, false, false)
|
|
|
+ flag := u.MgoE.Update("closerate", query, update, false, false)
|
|
|
fmt.Println("closerate关闭任务:code ", flag)
|
|
|
}
|
|
|
}
|
|
|
-func queryCriteria(userid string, urgency, taskState, event, stype int) (query bson.M) {
|
|
|
- query = bson.M{}
|
|
|
+func queryCriteria(userid string, urgency, taskState, event, stype int) (query map[string]interface{}) {
|
|
|
+ query = map[string]interface{}{}
|
|
|
if userid != "" && userid != "-1" {
|
|
|
query["s_modifyid"] = userid
|
|
|
}
|
|
@@ -1107,36 +1085,36 @@ func queryCriteria(userid string, urgency, taskState, event, stype int) (query b
|
|
|
}
|
|
|
|
|
|
// if urgency >= 0 && taskState >= 0 && event >= 0 { //选择节点,状态和紧急度
|
|
|
- // query = bson.M{
|
|
|
+ // query = map[string]interface{}{
|
|
|
// "s_urgency": strconv.Itoa(urgency),
|
|
|
// "i_state": taskState,
|
|
|
// "i_event": event,
|
|
|
// }
|
|
|
// } else if event >= 0 && urgency < 0 && taskState >= 0 { //选择节点和状态,未选择紧急度
|
|
|
- // query = bson.M{
|
|
|
+ // query = map[string]interface{}{
|
|
|
// "i_state": taskState,
|
|
|
// "i_event": event,
|
|
|
// }
|
|
|
// } else if event >= 0 && urgency >= 0 && taskState < 0 { //选择节点和紧急度,未选择状态
|
|
|
- // query = bson.M{
|
|
|
+ // query = map[string]interface{}{
|
|
|
// "i_event": event,
|
|
|
// "s_urgency": strconv.Itoa(urgency),
|
|
|
// }
|
|
|
// } else if event >= 0 && urgency < 0 && taskState < 0 { //选择节点,未选择紧急度和状态
|
|
|
- // query = bson.M{
|
|
|
+ // query = map[string]interface{}{
|
|
|
// "i_event": event,
|
|
|
// }
|
|
|
// } else if event < 0 && urgency >= 0 && taskState >= 0 { //未选择节点,选择紧急度和状态
|
|
|
- // query = bson.M{
|
|
|
+ // query = map[string]interface{}{
|
|
|
// "s_urgency": strconv.Itoa(urgency),
|
|
|
// "i_state": taskState,
|
|
|
// }
|
|
|
// } else if event < 0 && urgency < 0 && taskState >= 0 { //未选择节点和紧急度,选择状态
|
|
|
- // query = bson.M{
|
|
|
+ // query = map[string]interface{}{
|
|
|
// "i_state": taskState,
|
|
|
// }
|
|
|
// } else if event < 0 && urgency >= 0 && taskState < 0 { //未选择节点和状态,选择紧急度
|
|
|
- // query = bson.M{
|
|
|
+ // query = map[string]interface{}{
|
|
|
// "s_urgency": strconv.Itoa(urgency),
|
|
|
// }
|
|
|
// } else {
|