feat: 完成源晶权限与经验系统并优化 me/admin 交互
这个提交包含在:
@@ -154,12 +154,15 @@ void SubmissionController::listSubmissions(
|
||||
const auto user_id = ParseOptionalInt64(req->getParameter("user_id"));
|
||||
const auto problem_id = ParseOptionalInt64(req->getParameter("problem_id"));
|
||||
const auto contest_id = ParseOptionalInt64(req->getParameter("contest_id"));
|
||||
const auto created_from = ParseOptionalInt64(req->getParameter("created_from"));
|
||||
const auto created_to = ParseOptionalInt64(req->getParameter("created_to"));
|
||||
const int page = ParseClampedInt(req->getParameter("page"), 1, 1, 100000);
|
||||
const int page_size =
|
||||
ParseClampedInt(req->getParameter("page_size"), 20, 1, 200);
|
||||
|
||||
services::SubmissionService svc(csp::AppState::Instance().db());
|
||||
const auto rows = svc.List(user_id, problem_id, contest_id, page, page_size);
|
||||
const auto rows =
|
||||
svc.List(user_id, problem_id, contest_id, created_from, created_to, page, page_size);
|
||||
|
||||
Json::Value arr(Json::arrayValue);
|
||||
for (const auto& s : rows) arr.append(domain::ToJson(s));
|
||||
@@ -191,6 +194,13 @@ void SubmissionController::getSubmission(
|
||||
}
|
||||
Json::Value payload = domain::ToJson(*s);
|
||||
payload["code"] = s->code;
|
||||
const auto siblings = svc.GetSiblingIds(s->user_id, s->id);
|
||||
payload["same_user_prev_submission_id"] =
|
||||
siblings.prev_id.has_value() ? Json::Value(Json::Int64(*siblings.prev_id))
|
||||
: Json::Value(Json::nullValue);
|
||||
payload["same_user_next_submission_id"] =
|
||||
siblings.next_id.has_value() ? Json::Value(Json::Int64(*siblings.next_id))
|
||||
: Json::Value(Json::nullValue);
|
||||
|
||||
// Attach problem title for frontend linking.
|
||||
{
|
||||
|
||||
在新工单中引用
屏蔽一个用户