123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- const userService = require('../service/project.user.service');
- const util = require('../utils/util');
- module.exports = {
- // 用户列表
- async list(ctx) {
- const { projectId, userName = null, pageNum, pageSize } = ctx.request.query;
- if (!projectId || projectId == 0) {
- return ctx.throw(400, '项目ID不能为空');
- }
- const list = await userService.list(projectId, userName, pageNum, pageSize);
- const { total } = await userService.listCount(projectId, userName);
- util.success(ctx, {
- list,
- total,
- pageSize: +pageSize,
- pageNum: +pageNum,
- });
- },
- // 用户创建
- async create(ctx) {
- const params = ctx.request.body;
- if (!params.projectId) {
- return ctx.throw(400, '项目ID不能为空');
- }
- if (!params.userId || !params.userName) {
- return ctx.throw(400, '用户ID和用户名不能为空');
- }
- // 1:管理员, 2:普通用户,如果是普通用户,必须传入角色id
- if (!params.systemRole || params.systemRole > 9) {
- return ctx.throw(400, '系统角色不能为空');
- }
- // 如果是普通用户,必须传入角色id
- if (params.systemRole == 2 && !params.roleId) {
- return ctx.throw(400, '用户角色不能为空');
- }
- if (params.systemRole == 1) {
- params.roleId = 0;
- }
- const { userId, userName } = util.decodeToken(ctx);
- // 获取用户角色
- const user = await userService.getUserRole(params.userId, params.projectId);
- if (user) {
- return ctx.throw(400, '该用户已存在');
- }
- params.createUserId = userId;
- params.createUserName = userName;
- await userService.createUser(params);
- util.success(ctx);
- },
- // 用户删除
- async delete(ctx) {
- const { id } = ctx.request.body;
- if (!util.isNumber(id)) {
- return ctx.throw(400, '用户ID不能为空');
- }
- await userService.deleteUser(id);
- util.success(ctx);
- },
- // 用户更新
- async update(ctx) {
- const params = ctx.request.body;
- if (!util.isNumber(params.id)) {
- return ctx.throw(400, '用户ID不能为空');
- }
- if (!params.systemRole) {
- return ctx.throw(400, '系统角色不能为空');
- }
- // 1:管理员, 2:普通用户,如果是普通用户,必须传入角色id
- if (params.systemRole == 2 && !params.roleId) {
- return ctx.throw(400, '用户角色不能为空');
- }
- if (params.systemRole == 1) {
- params.roleId = 0;
- }
- await userService.updateUser(params);
- util.success(ctx);
- },
- // 用户详情
- async detail(ctx) {
- const { id } = ctx.request.query;
- if (!util.isNumber(id)) {
- return ctx.throw(400, '用户ID不能为空');
- }
- const userInfo = await userService.detail(+id);
- util.success(ctx, userInfo);
- },
- };
|