use of io.jpom.model.PageResultDto in project Jpom by dromara.
the class RepositoryController method giteeRepos.
/**
* gitee 仓库
*
* @param token 个人令牌
* @param page 分页
* @return page
*/
private PageResultDto<JSONObject> giteeRepos(String token, Page page) {
//
HttpResponse userResponse = HttpUtil.createGet("https://gitee.com/api/v5/user").form("access_token", token).execute();
Assert.state(userResponse.isOk(), "令牌不正确:" + userResponse.body());
JSONObject userBody = JSONObject.parseObject(userResponse.body());
String username = userBody.getString("login");
// 拉取仓库信息
HttpResponse reposResponse = HttpUtil.createGet("https://gitee.com/api/v5/user/repos").form("access_token", token).form("sort", "pushed").form("page", page.getPageNumber()).form("per_page", page.getPageSize()).execute();
String body = reposResponse.body();
Assert.state(userResponse.isOk(), "拉取仓库信息错误:" + body);
String totalCountStr = reposResponse.header("total_count");
int totalCount = Convert.toInt(totalCountStr, 0);
// String totalPage = reposResponse.header("total_page");
JSONArray jsonArray = JSONArray.parseArray(body);
List<JSONObject> objects = jsonArray.stream().map(o -> {
JSONObject repo = (JSONObject) o;
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", repo.getString("name"));
String htmlUrl = repo.getString("html_url");
jsonObject.put("url", htmlUrl);
jsonObject.put("full_name", repo.getString("full_name"));
jsonObject.put("private", repo.getBooleanValue("private"));
jsonObject.put("description", repo.getString("description"));
//
jsonObject.put("username", username);
jsonObject.put("exists", RepositoryController.this.checkRepositoryUrl(null, htmlUrl));
return jsonObject;
}).collect(Collectors.toList());
//
PageResultDto<JSONObject> pageResultDto = new PageResultDto<>(page.getPageNumber(), page.getPageSize(), totalCount);
pageResultDto.setResult(objects);
return pageResultDto;
}
use of io.jpom.model.PageResultDto in project Jpom by dromara.
the class RepositoryController method gitlabRepos.
/**
* gitlab 仓库
* <p>
* https://docs.gitlab.com/ee/api/projects.html#list-all-projects
*
* @param token 个人令牌
* @param page 分页
* @return page
*/
private PageResultDto<JSONObject> gitlabRepos(String token, Page page) {
//
HttpResponse userResponse = HttpUtil.createGet("https://gitlab.com/api/v4/user").form("access_token", token).execute();
Assert.state(userResponse.isOk(), "令牌不正确:" + userResponse.body());
JSONObject userBody = JSONObject.parseObject(userResponse.body());
String username = userBody.getString("username");
// 拉取仓库信息
HttpResponse reposResponse = HttpUtil.createGet("https://gitlab.com/api/v4/projects").form("private_token", token).form("membership", true).form("simple", true).form("order_by", "updated_at").form("page", page.getPageNumber()).form("per_page", Math.max(page.getPageSize(), 15)).execute();
String body = reposResponse.body();
Assert.state(userResponse.isOk(), "拉取仓库信息错误:" + body);
String totalCountStr = reposResponse.header("X-Total");
int totalCount = Convert.toInt(totalCountStr, 0);
// String totalPage = reposResponse.header("total_page");
JSONArray jsonArray = JSONArray.parseArray(body);
List<JSONObject> objects = jsonArray.stream().map(o -> {
JSONObject repo = (JSONObject) o;
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", repo.getString("name"));
String htmlUrl = repo.getString("http_url_to_repo");
jsonObject.put("url", htmlUrl);
jsonObject.put("full_name", repo.getString("path_with_namespace"));
jsonObject.put("private", StrUtil.equalsIgnoreCase("private", repo.getString("visibility")));
jsonObject.put("description", repo.getString("description"));
//
jsonObject.put("username", username);
jsonObject.put("exists", RepositoryController.this.checkRepositoryUrl(null, htmlUrl));
return jsonObject;
}).collect(Collectors.toList());
//
PageResultDto<JSONObject> pageResultDto = new PageResultDto<>(page.getPageNumber(), page.getPageSize(), totalCount);
pageResultDto.setResult(objects);
return pageResultDto;
}
use of io.jpom.model.PageResultDto in project Jpom by dromara.
the class RepositoryController method githubRepos.
/**
* github 仓库
*
* @param token 个人令牌
* @param page 分页
* @return page
*/
private PageResultDto<JSONObject> githubRepos(String token, Page page) {
String accept = "application/vnd.github.v3+json";
HttpRequest request = HttpUtil.createGet("https://api.github.com/user");
request.header("Authorization", StrUtil.format("token {}", token));
request.header("Accept", accept);
HttpResponse httpResponse = request.execute();
String body = httpResponse.body();
Assert.state(httpResponse.isOk(), "令牌信息错误:" + body);
JSONObject userBody = JSONObject.parseObject(body);
String username = userBody.getString("login");
// 拉取仓库信息
HttpRequest httpRequestRepos = HttpUtil.createGet("https://api.github.com/user/repos");
httpRequestRepos.header("Authorization", StrUtil.format("token {}", token));
httpRequestRepos.header("Accept", accept);
HttpResponse reposResponse = httpRequestRepos.form("access_token", token).form("sort", "pushed").form("page", page.getPageNumber()).form("per_page", page.getPageSize()).execute();
body = reposResponse.body();
Assert.state(reposResponse.isOk(), "拉取仓库信息错误:" + body);
JSONArray jsonArray = JSONArray.parseArray(body);
List<JSONObject> objects = jsonArray.stream().map(o -> {
JSONObject repo = (JSONObject) o;
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", repo.getString("name"));
String cloneUrl = repo.getString("clone_url");
jsonObject.put("url", cloneUrl);
jsonObject.put("full_name", repo.getString("full_name"));
jsonObject.put("description", repo.getString("description"));
jsonObject.put("private", repo.getBooleanValue("private"));
//
jsonObject.put("username", username);
jsonObject.put("exists", RepositoryController.this.checkRepositoryUrl(null, cloneUrl));
return jsonObject;
}).collect(Collectors.toList());
//
PageResultDto<JSONObject> pageResultDto = new PageResultDto<>(page.getPageNumber(), page.getPageSize(), 1000);
pageResultDto.setResult(objects);
return pageResultDto;
}
use of io.jpom.model.PageResultDto in project Jpom by dromara.
the class BaseDbCommonService method listPage.
/**
* 分页查询
*
* @param where 条件
* @param page 分页
* @return 结果
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
public PageResultDto<T> listPage(Entity where, Page page) {
if (!DbConfig.getInstance().isInit()) {
// ignore
log.error("The database is not initialized, this execution will be ignored:{},{}", this.tClass, this.getClass());
return PageResultDto.EMPTY;
}
where.setTableName(getTableName());
PageResult<Entity> pageResult;
Db db = Db.use();
db.setWrapper((Character) null);
try {
pageResult = db.page(where, page);
} catch (Exception e) {
throw warpException(e);
}
//
List<T> list = pageResult.stream().map(entity -> {
T entityToBean = this.entityToBean(entity, this.tClass);
this.fillSelectResult(entityToBean);
return entityToBean;
}).collect(Collectors.toList());
PageResultDto<T> pageResultDto = new PageResultDto(pageResult);
pageResultDto.setResult(list);
if (pageResultDto.isEmpty() && pageResultDto.getPage() > 1) {
Assert.state(pageResultDto.getTotal() <= 0, "筛选的分页有问题,当前页码查询不到任何数据");
}
return pageResultDto;
}
Aggregations