123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- const connection = require('../sql');
- class RoleService {
- // 查询总条数
- async listCount(projectId, name) {
- const statement = "SELECT COUNT(`id`) total FROM roles WHERE project_id = ? and (name LIKE COALESCE(CONCAT('%',?,'%'), name) OR ? IS NULL) ;";
- const [result] = await connection.execute(statement, [projectId, name || null, name || null]);
- return result[0];
- }
- async list(projectId, name, pageNum = 1, pageSize = 10) {
- const offset = (+pageNum - 1) * pageSize + '';
- const limit = pageSize;
- const statement = `SELECT id,project_id projectId,name,half_checked halfChecked,checked,remark,updated_at updatedAt,created_at createdAt,user_id userId,user_name userName FROM roles WHERE project_id = ? and (name LIKE COALESCE(CONCAT('%',?,'%'), name) OR ? IS NULL) ORDER BY updated_at DESC LIMIT ${offset},${limit};`;
- const [result] = await connection.execute(statement, [projectId, name || null, name || null]);
- return result;
- }
- async listAll(projectId) {
- const statement =
- 'SELECT id,project_id projectId,name,half_checked halfChecked,checked,remark,updated_at updatedAt,created_at createdAt,user_id userId,user_name userName FROM roles WHERE project_id = ?;';
- const [result] = await connection.execute(statement, [projectId]);
- return result;
- }
- async create(projectId, name, remark, userId, userName) {
- const statement = 'INSERT INTO roles (project_id, name, remark, user_id, user_name) VALUES (?, ?, ?, ?, ?);';
- const [result] = await connection.execute(statement, [projectId, name, remark, userId, userName]);
- return result;
- }
- async delete(id, projectId) {
- let result = [];
- const statement = 'DELETE FROM roles WHERE id = ? && project_id = ?';
- [result] = await connection.execute(statement, [id, projectId]);
- return result;
- }
- async deleteByProjectId(projectId) {
- let result = [];
- const statement = 'DELETE FROM roles WHERE project_id = ?';
- [result] = await connection.execute(statement, [projectId]);
- return result;
- }
- async update(id, projectId, name = '', remark = '') {
- let result = [];
- const statement = 'UPDATE roles SET name = ?, remark = ? WHERE id = ? && project_id = ?';
- [result] = await connection.execute(statement, [name, remark, id, projectId]);
- return result;
- }
- async updateLimits(id, projectId, checked = '', halfChecked = '') {
- let result = [];
- const statement = 'UPDATE roles SET checked = ?, half_checked = ? WHERE id = ? && project_id = ?';
- [result] = await connection.execute(statement, [checked, halfChecked, id, projectId]);
- return result;
- }
- // 根据角色ID查询权限ID
- async getRoleInfo(id) {
- const statement =
- 'SELECT id,project_id projectId,name,half_checked halfChecked,checked,remark,updated_at updatedAt,created_at createdAt,user_id userId,user_name userName FROM roles WHERE id = ?';
- const [result] = await connection.execute(statement, [id]);
- return result[0];
- }
- // 用户注销所有角色
- async deleteAllRole(userId) {
- const statement = 'DELETE FROM roles WHERE user_id = ?';
- const [result] = await connection.execute(statement, [userId]);
- return result;
- }
- }
- module.exports = new RoleService();
|