Quellcode durchsuchen

获取爬虫开发服务

mxs vor 10 Monaten
Ursprung
Commit
dbba6f59f0
1 geänderte Dateien mit 43 neuen und 6 gelöschten Zeilen
  1. 43 6
      server.go

+ 43 - 6
server.go

@@ -23,7 +23,7 @@ type UserInfo struct {
 	Ids      []string `json:"ids"`
 }
 
-type CodesInfo struct {
+type ListInfo struct {
 	List  []map[string]interface{} `json:"list"`
 	Total int                      `json:"total"`
 }
@@ -83,7 +83,7 @@ func (a *App) ServerActionUserLogout() map[string]interface{} {
 // ServerActionCodeList 获取爬虫列表
 func (a *App) ServerActionCodeList(param map[string]interface{}) map[string]interface{} {
 	qu.Debug("param---", param)
-	data := &CodesInfo{}
+	data := &ListInfo{}
 	var msg string
 	var err int
 	if User != nil {
@@ -113,11 +113,34 @@ func (a *App) ServerActionCodeList(param map[string]interface{}) map[string]inte
 
 // ServerActionGetModifyUsers 获取爬虫开发人员列表
 func (a *App) ServerActionGetModifyUsers() map[string]interface{} {
-	data := map[string]interface{}{}
-	GetResult(data, nil, "getmodifyusers")
+	data := &ListInfo{}
+	var msg string
+	var err int
+	if User != nil && User.Auth > 1 { //禁止开发查询
+		GetResult(data, nil, "getmodifyusers")
+		if len(User.Ids) > 0 { //外包审核员或管理员只能查看外包开发人员信息
+			resultUsers := []map[string]interface{}{}
+			for _, user := range data.List {
+				userid := qu.ObjToString(user["_id"])
+				for _, id := range User.Ids {
+					if userid == id {
+						resultUsers = append(resultUsers, user)
+						break
+					}
+				}
+			}
+			data.List = resultUsers
+			data.Total = len(resultUsers)
+		}
+	} else {
+		msg = "查询开发列表失败"
+		err = 1
+		qu.Debug(msg)
+	}
+
 	return map[string]interface{}{
-		"msg":  "",
-		"err":  0,
+		"msg":  msg,
+		"err":  err,
 		"data": data,
 	}
 }
@@ -164,6 +187,20 @@ func (a *App) ServerActionUpdateCode(param map[string]interface{}) map[string]in
 		"data": data,
 	}
 }
+
+func formatUser(user map[string]interface{}) {
+	v := reflect.ValueOf(User)
+	if v.Kind() == reflect.Ptr {
+		v = v.Elem()
+	}
+	t := v.Type()
+	for i := 0; i < v.NumField(); i++ {
+		field := t.Field(i).Tag.Get("json")
+		value := v.Field(i).Interface()
+		user[field] = value
+	}
+}
+
 func GetResult(result interface{}, param map[string]interface{}, route string) {
 	jsonData, err := json.Marshal(param)
 	if err != nil {