diff --git a/api/app/lib/controllers/organization/index.js b/api/app/lib/controllers/organization/index.js index d246b15..ddeeae0 100644 --- a/api/app/lib/controllers/organization/index.js +++ b/api/app/lib/controllers/organization/index.js @@ -189,13 +189,17 @@ async function user (ctx) { order: [['updateTime', 'DESC']] }) - // let userIds = new Set() - // for (let u of userRes.rows.concat(adminRes)) { - // userIds.add(u.pepUserId) - // } - // let userPepRes = await clickHouse.pepEmis.query(`SELECT "user"."name" FROM department_user LEFT JOIN user ON department_user.user=user.id `).toPromise() + let userIds = new Set() + for (let u of userRes.rows.concat(adminRes)) { + userIds.add(u.pepUserId) + } + let userPepRes = await clickHouse.pepEmis.query(`SELECT user.id AS id, "user"."name" AS name, department.name AS depName FROM department_user LEFT JOIN user ON department_user.user=user.id LEFT JOIN department ON department.id=department_user.department WHERE user.id IN (${[...userIds].join(',')})`).toPromise() - // const userDepRes = await clickHouse.pepEmis.query(`SELECT * FROM department`).toPromise() + for (let u of userRes.rows.concat(adminRes)) { + const corUsers = userPepRes.filter(up => up.id == u.pepUserId) + u.dataValues.name = corUsers[0].name + u.dataValues.departments = corUsers.map(cu => cu.depName) + } ctx.status = 200 ctx.body = {