调试修改HTTP接口

This commit is contained in:
lixiaoyuan
2025-09-05 19:44:26 +08:00
parent c1cce63c85
commit aca9a8f0ae
34 changed files with 2142 additions and 179 deletions

View File

@@ -143,19 +143,21 @@ Errcode DAO::insertUser(Fields& params)
params.set(DMUser::USER_ID, Snowflake::instance().getIdStr());
params.set(DMUser::CREATETIME, createTime);
params.set(DMUser::PASSWD, "123456");
std::string userRoleId = params.remove(DMRole::ROLE_ID);
ret = dao->insertFields(params);
if (ret != 0)
{
return Errcode(ret);
}
std::string userRoleId = params.remove(DMRole::ROLE_ID);
if (!userRoleId.empty())
{
Fields paramsUserRole;
paramsUserRole.set(DMUser::USER_ID, params.value(DMUser::USER_ID));
paramsUserRole.set(DMRole::ROLE_ID, userRoleId);
paramsUserRole.set(DMUser::UPDATETIME, createTime);
dao->setTableName(DMUserRole::TABLENAME);
ret = dao->duplicateUpdate(paramsUserRole, {DMUser::USER_ID});
}
return Errcode::OK;
@@ -211,19 +213,20 @@ Errcode DAO::login(std::shared_ptr<DaoEntity> dao, std::string account, std::str
Errcode DAO::queryRolePermission(std::shared_ptr<DaoEntity> dao, int roleId, vector<Fields>& result)
{
std::string sql = "SELECT rp.role_id, rp.permission_id, p.name FROM role_permission rp"
" LEFT JOIN permission p ON p.permission_id = rp.permission_id"
" WHERE rp.is_open='1' AND rp.role_id ='" + std::to_string(roleId) + "';";
std::string sql = R"(SELECT rp.role_id, p.permission_id, p.parent_id, p.route, p.name, rp.is_view, rp.is_add, rp.is_edit, rp.is_del
FROM role_permission rp
LEFT JOIN permission p ON p.permission_id = rp.permission_id
WHERE rp.is_open='1' AND rp.role_id =')" + std::to_string(roleId) + "';";
return DAO::exec(dao, sql, result);
}
Errcode DAO::queryRolePermission(std::shared_ptr<DaoEntity> dao, vector<Fields>& result)
{
// 查询 role 的 permission
std::string sql = "SELECT rp.role_id, rp.permission_id, rp.is_open, r.name role_name, p.name permission_name FROM role_permission rp"
" LEFT JOIN `role` r ON r.role_id = rp.role_id"
" LEFT JOIN permission p ON p.permission_id = rp.permission_id"
" WHERE rp.is_open='1';";
std::string sql = R"(SELECT rp.role_id, r.name role_name, rp.permission_id, p.parent_id, p.route, p.name, rp.is_view, rp.is_add, rp.is_edit, rp.is_del FROM role_permission rp
LEFT JOIN `role` r ON r.role_id = rp.role_id
LEFT JOIN permission p ON p.permission_id = rp.permission_id
WHERE rp.is_open='1';)";
return DAO::exec(dao, sql, result);
}
@@ -317,29 +320,14 @@ Errcode DAO::queryRoleList(PageInfo& pageInfo, vector<Fields>& result)
return QueryPagination("*", sqlCondition, pageInfo, result);
}
Errcode DAO::updateRolePermission(std::shared_ptr<DaoEntity> dao, std::string roleId, std::string permission)
Errcode DAO::updateRolePermission(std::shared_ptr<DaoEntity> dao, std::string roleId, vector<Fields>& vecFields)
{
NJsonNode jnode;
NJson::parse(permission, jnode);
std::vector<Fields> vec;
for (auto& item: jnode)
{
std::string permissionId;
if (item.is_number()) { permissionId = std::to_string(item.get<int>()); }
if (item.is_string()) { permissionId = item.get<std::string>(); }
if (!permissionId.empty())
{
Fields field;
field.set("role_id", roleId);
field.set("permission_id", permissionId);
vec.emplace_back(field);
}
}
if (!dao) dao = DaoEntity::create("");
dao->setTableName(DMRolePermission::TABLENAME);
std::string sqlDel = "DELETE from " + DMRolePermission::TABLENAME + " WHERE role_id='" + roleId + "';";
int ret = dao->exec(sqlDel);
if (ret != 0 ){ return Errcode(ret); };
ret = dao->insertFields(vec);
ret = dao->insertFields(vecFields);
if (ret != 0) { return Errcode(ret); };
return Errcode::OK;
}
@@ -360,29 +348,31 @@ Errcode DAO::insertRole(Fields& params)
err = DAO::exec(dao, sql, res);
if (err == Errcode::OK && res.size() > 0)
{
std::string roleId = res[0].value("role_id");
err = DAO::updateRolePermission(dao, roleId, permission);
//std::string roleId = res[0].value("role_id");
//err = DAO::updateRolePermission(dao, roleId, permission);
}
}
return err;
}
// 更新角色
Errcode DAO::updateRoleById(Fields& params)
Errcode DAO::updateRoleById(std::shared_ptr<DaoEntity> dao, Fields& params)
{
if (!dao) dao = DaoEntity::create("");
dao->setTableName(DMRole::TABLENAME);
auto roleId = params.value(DMRole::ROLE_ID);
if (roleId.empty())
{
return Errcode::ERR_DB_SQL;
}
auto permission = params.remove("permission");
auto dao = DaoEntity::create(DMRole::TABLENAME);
auto err = DAO::update(dao, DMRole::TABLENAME, params, DMRole::ROLE_ID);
if (err == Errcode::OK && !permission.empty())
{
err = DAO::updateRolePermission(dao, roleId, permission);
}
//if (err == Errcode::OK && !permission.empty())
//{
// err = DAO::updateRolePermission(dao, roleId, permission);
//}
return err;
}