Browse Source

提交代码。

Signed-off-by: zouap <zouap@pcl.ac.cn>
tags/v1.22.3.2^2
zouap 3 years ago
parent
commit
08805d42a1
5 changed files with 79 additions and 13 deletions
  1. +1
    -0
      models/dbsql/dataset_foreigntable_for_es.sql
  2. +4
    -4
      models/dbsql/repo_foreigntable_for_es.sql
  3. +2
    -0
      modules/setting/setting.go
  4. +42
    -9
      routers/home.go
  5. +30
    -0
      routers/search.go

+ 1
- 0
models/dbsql/dataset_foreigntable_for_es.sql View File

@@ -120,6 +120,7 @@ $def$
SET description=NEW.description,
title=NEW.title,
category=NEW.category,
download_times=NEW.download_times,
file_name=(select array_to_string(array_agg(name order by created_unix desc),',') from public.attachment where dataset_id=NEW.id)
where id=NEW.id;
return new;


+ 4
- 4
models/dbsql/repo_foreigntable_for_es.sql View File

@@ -1,4 +1,4 @@
drop FOREIGN table if exists public.repository_es;
DROP FOREIGN table if exists public.repository_es;
CREATE FOREIGN TABLE public.repository_es (
id bigint NOT NULL,
owner_id bigint,
@@ -95,7 +95,7 @@ delete from public.repository_es;
balance,
clone_cnt,
num_commit,
git_clone_cnt)
git_clone_cnt,lang)
SELECT
id,
owner_id,
@@ -137,8 +137,8 @@ delete from public.repository_es;
balance,
clone_cnt,
num_commit,
git_clone_cnt
FROM public.repository;
git_clone_cnt,(select string_agg(language, ',') from public.language_stat a where a.repo_id=b.id)
FROM public.repository b;


CREATE OR REPLACE FUNCTION public.insert_repository_data() RETURNS trigger AS


+ 2
- 0
modules/setting/setting.go View File

@@ -436,6 +436,8 @@ var (
//home page
RecommentRepoAddr string

ESSearchURL string

//labelsystem config
LabelTaskName string
LabelDatasetDeleteQueue string


+ 42
- 9
routers/home.go View File

@@ -513,24 +513,37 @@ func NotFound(ctx *context.Context) {
ctx.Data["Title"] = "Page Not Found"
ctx.NotFound("home.NotFound", nil)
}

func RecommendOrgFromPromote(ctx *context.Context) {
url := setting.RecommentRepoAddr + "organizations"
recommendFromPromote(ctx, url)
result, err := recommendFromPromote(url)
if err != nil {
ctx.ServerError("500", err)
return
}
resultOrg := make([]*models.User, 0)
for i, userName := range result {
user, err := models.GetUserByName(userName)
if err == nil {
resultOrg[i] = user
} else {
log.Info("query user error," + err.Error())
}
}
ctx.JSON(200, resultOrg)
}

func recommendFromPromote(ctx *context.Context, url string) []string {
func recommendFromPromote(url string) ([]string, error) {
resp, err := http.Get(url)
if err != nil {
log.Info("Get organizations url error=" + err.Error())
ctx.ServerError("Get organizations url error:", err)
return nil
return nil, err
}
bytes, err := ioutil.ReadAll(resp.Body)
resp.Body.Close()
if err != nil {
log.Info("Get organizations url error=" + err.Error())
ctx.ServerError("Read organizations url error:", err)
return nil
return nil, err
}

allLineStr := string(bytes)
@@ -546,11 +559,31 @@ func recommendFromPromote(ctx *context.Context, url string) []string {
result[i] = strings.Trim(line[tmpIndex+1:], " ")
}
}
return result
return result, nil
}

func RecommendRepoFromPromote(ctx *context.Context) {
url := setting.RecommentRepoAddr + "projects"
recommendFromPromote(ctx, url)

result, err := recommendFromPromote(url)
if err != nil {
ctx.ServerError("500", err)
return
}
resultRepo := make([]*models.Repository, 0)
for i, repoName := range result {
tmpIndex := strings.Index(repoName, ".")
if tmpIndex == -1 {
log.Info("error repo name format.")
} else {
ownerName := repoName[0:tmpIndex]
repoName := repoName[tmpIndex+1:]
repo, err := models.GetRepositoryByOwnerAndName(ownerName, repoName)
if err == nil {
resultRepo[i] = repo
} else {
log.Info("query repo error," + err.Error())
}
}
}
ctx.JSON(200, resultRepo)
}

+ 30
- 0
routers/search.go View File

@@ -0,0 +1,30 @@
package routers

import (
"code.gitea.io/gitea/modules/context"
)

type Table struct {
TableName string
SpecifyField string
SortBy string
Where string
}

type SearchOptions struct {
Page int64
PageSize int64
Key string
SearchObj []Table
}

func Search(ctx *context.Context) {
// TableName := ctx.Query("TableName")
// Key := ctx.Query("Key")
// SortBy := ctx.Query("SortBy")
// Page := ctx.QueryInt64("Page")
// PageSize := ctx.QueryInt64("PageSize")

// ESSearchUrl := setting.RecommentRepoAddr

}

Loading…
Cancel
Save