1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- 'use strict';
- /**
- * 决策大屏用户查看权限-数据模型
- *
- * @author ellisran
- * @date 2021/09/23
- * @version
- */
- const accountGroup = require('../const/account_group').group;
- module.exports = app => {
- class datacollectAudit extends app.BaseService {
- constructor(ctx) {
- super(ctx);
- this.tableName = 'datacollect_audit';
- }
- async getGroupInfo(pid, groupid) {
- const sql = 'SELECT * FROM ?? WHERE pid = ? AND groupid = ? AND uid is NULL';
- const sqlParam = [this.tableName, pid, groupid];
- return await this.db.queryOne(sql, sqlParam);
- }
- async saveAudit(pid, groupid, uid) {
- const data = {
- pid,
- groupid,
- uid,
- create_time: new Date(),
- };
- return await this.db.insert(this.tableName, data);
- }
- async saveGroup(pid, groupid) {
- const transaction = await this.db.beginTransaction();
- try {
- // 删除所在组的用户
- await transaction.delete(this.tableName, { pid, groupid });
- const data = {
- pid,
- groupid,
- create_time: new Date(),
- };
- await transaction.insert(this.tableName, data);
- await transaction.commit();
- return true;
- } catch (err) {
- await transaction.rollback();
- throw err;
- }
- }
- async delAudit(id) {
- return await this.db.delete(this.tableName, { id });
- }
- async getList(pid) {
- const list = await this.db.select(this.tableName, { where: { pid } });
- for (const l of list) {
- if (l.uid) {
- const accountInfo = await this.ctx.service.projectAccount.getDataById(l.uid);
- l.name = accountInfo.name;
- } else {
- l.name = accountGroup[l.groupid];
- }
- }
- return list;
- }
- }
- return datacollectAudit;
- };
|