From 2b662657c5bc5bc45b69f475c7b2edcf8fc92f0c Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期二, 28 七月 2026 10:58:49 +0800
Subject: [PATCH] Merge branch 'master' of http://124.222.109.197:10000/r/jingshen/cool-admin-midway
---
src/modules/basicdata/service/iot.ts | 95 ++++++++++++++++++++++++-----------------------
1 files changed, 48 insertions(+), 47 deletions(-)
diff --git a/src/modules/basicdata/service/iot.ts b/src/modules/basicdata/service/iot.ts
index a39f305..a267df3 100644
--- a/src/modules/basicdata/service/iot.ts
+++ b/src/modules/basicdata/service/iot.ts
@@ -5,7 +5,7 @@
import { BaseSysDepartmentEntity } from '../../base/entity/sys/department';
import { BasicdataIotEntity } from '../entity/iot';
import { BaseSysPermsService } from '../../base/service/sys/perms';
-import { BaseSysParamService } from '../../base/service/sys/param';
+import { BaseSysParamEntity } from '../../base/entity/sys/param';
import * as _ from 'lodash';
/**
@@ -19,8 +19,8 @@
@InjectEntityModel(BaseSysDepartmentEntity)
baseSysDepartmentEntity: Repository<BaseSysDepartmentEntity>;
- @Inject()
- baseSysParamService: BaseSysParamService;
+ @InjectEntityModel(BaseSysParamEntity)
+ baseSysParamEntity: Repository<BaseSysParamEntity>;
@Inject()
baseSysPermsService: BaseSysPermsService;
@@ -28,45 +28,52 @@
@Inject()
ctx;
-
/**
- * 鑾峰緱閮ㄩ棬鑿滃崟
+ * 鑾峰緱閮ㄩ棬+绔欑偣鍚堝苟鏍戯紙閬靛惊 Cool 鏁版嵁鏉冮檺瑙勮寖锛�
*/
- async list() {
- const permsDepartmentArr = await this.baseSysPermsService.departmentIds(
- this.ctx.admin.userId
- );
- // 杩囨护閮ㄩ棬鏉冮檺
+ async sitelist() {
+ const { userId, username } = this.ctx.admin;
+
+ // 瓒呯涓嶅彈闄�
+ const isAdmin = username === 'admin';
+ let deptIds: any[] = [];
+
+ if (!isAdmin) {
+ deptIds = await this.baseSysPermsService.departmentIds(userId);
+ // 娌¢厤閮ㄩ棬鏉冮檺鏃剁粰涓繀瀹氫负绌虹殑鍊硷紝闃叉鏌ュ嚭鍏ㄥ簱
+ if (_.isEmpty(deptIds)) deptIds = [null];
+ }
+
const sql = `
- (
- SELECT
- a.id AS a_id,
- a.tenantId AS a_tenantId,
- a.name AS a_name,
- a.parentId AS a_parentId,
- a.orderNum AS a_orderNum
- FROM base_sys_department a
- WHERE 1=1
- ${this.setSql(
- this.ctx.admin.username !== 'admin',
- `and (a.departmentId in (?) `,
- [!_.isEmpty(permsDepartmentArr) ? permsDepartmentArr : [null]]
- )}
- )
- UNION ALL
- (
- SELECT
- b.businessId AS a_id,
- a.tenantId AS a_tenantId,
- b.businessName AS a_name,
- b.departmentId AS a_parentId,
- a.orderNum AS a_orderNum
- FROM t_basicdata_site b
- LEFT JOIN base_sys_department a ON b.departmentId = a.id
- )
- ORDER BY a_orderNum ASC`;
- const result = await this.nativeQuery(sql);
- return result;
+ (
+ SELECT
+ a.id AS a_id,
+ a.tenantId AS a_tenantId,
+ a.name AS a_name,
+ a.parentId AS a_parentId,
+ a.orderNum AS a_orderNum
+ FROM base_sys_department a
+ ${isAdmin ? 'WHERE 1=1' : 'WHERE a.id IN (?)'}
+ )
+ UNION ALL
+ (
+ SELECT
+ b.businessId AS a_id,
+ a.tenantId AS a_tenantId,
+ b.businessName AS a_name,
+ b.departmentId AS a_parentId,
+ COALESCE(a.orderNum, 999) AS a_orderNum
+ FROM t_basicdata_site b
+ LEFT JOIN base_sys_department a ON b.departmentId = a.id
+ ${!isAdmin ? 'WHERE b.departmentId IN (?)' : ''}
+ )
+ ORDER BY a_orderNum ASC
+ `;
+
+ // nativeQuery 绗簩涓弬鏁板繀椤绘樉寮忎紶鍙傛暟缁�
+ const params = isAdmin ? [] : [deptIds, deptIds];
+
+ return this.nativeQuery(sql, params);
}
/**
@@ -74,7 +81,7 @@
*/
async getYsDevices(businessId: string) {
// 淇鍘熷厛key銆乻ecret鍙栧�奸鍊抌ug + 澧炲姞await
- const ys7_appKey: string = await this.baseSysParamService.dataByKey('ys7.appKey');
+ // const appKey_result = await this.baseSysParamEntity.findOneBy({ keyName: 'ys7.appKey' });
// departmentId 鏄暟瀛楋紝灏濊瘯杞崲锛涜浆鎹㈠け璐ヨ祴鍊� null
const deptId = /^\d+$/.test(businessId) ? Number(businessId) : null;
const qb = this.basicdataIotEntity.createQueryBuilder('a')
@@ -104,13 +111,7 @@
qb.andWhere('a.businessId = :businessId', { businessId });
}
const result = await qb.orderBy('a.iotName', 'ASC').getMany();
- const deviceList = result.map(item => {
- return {
- ...item,
- iotKey: ys7_appKey
- };
- });
- return deviceList;
+ return result;
}
--
Gitblit v1.9.1