jingquan #8

Merged
dyf merged 6 commits from liwenlong/fys-Multi-tenant:jingquan into main 2025-08-22 18:26:44 +08:00
5 changed files with 52 additions and 17 deletions
Showing only changes of commit e6d0e883fb - Show all commits

View File

@ -65,4 +65,9 @@ public class DeviceQueryCriteria extends BaseEntity {
/* app绑定用户id */ /* app绑定用户id */
private Long bindingUserId; private Long bindingUserId;
/* 是否为管理员 */
private Boolean isAdmin = false;
} }

View File

@ -35,4 +35,10 @@ public class DeviceTypeQueryCriteria extends BaseEntity implements Serializable
@Schema(name = "每页数据量", example = "10") @Schema(name = "每页数据量", example = "10")
private Integer pageSize = 10; private Integer pageSize = 10;
/* 是否为管理员 */
private Boolean isAdmin = false;
} }

View File

@ -106,6 +106,13 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
criteria.setDeviceType(deviceTypeGrant.getDeviceTypeId()); criteria.setDeviceType(deviceTypeGrant.getDeviceTypeId());
} }
} }
// 管理员
String username = LoginHelper.getUsername();
if (username.equals("admin")) {
criteria.setIsAdmin(true);
}
IPage<Device> devices = deviceMapper.findAll(criteria, page); IPage<Device> devices = deviceMapper.findAll(criteria, page);
List<Device> records = devices.getRecords(); List<Device> records = devices.getRecords();

View File

@ -53,8 +53,12 @@ public class DeviceTypeServiceImpl extends ServiceImpl<DeviceTypeMapper, DeviceT
*/ */
@Override @Override
public TableDataInfo<DeviceType> queryAll(DeviceTypeQueryCriteria criteria, Page<DeviceType> page) { public TableDataInfo<DeviceType> queryAll(DeviceTypeQueryCriteria criteria, Page<DeviceType> page) {
criteria.setCustomerId(LoginHelper.getUserId()); // 管理员
// return String username = LoginHelper.getUsername();
if (!username.equals("admin")) {
criteria.setCustomerId(LoginHelper.getUserId());
}
IPage<DeviceType> deviceTypeIPage = deviceTypeMapper.findAll(criteria, page); IPage<DeviceType> deviceTypeIPage = deviceTypeMapper.findAll(criteria, page);
return new TableDataInfo<DeviceType>(deviceTypeIPage.getRecords(), deviceTypeIPage.getTotal()); return new TableDataInfo<DeviceType>(deviceTypeIPage.getRecords(), deviceTypeIPage.getTotal());
} }
@ -74,8 +78,16 @@ public class DeviceTypeServiceImpl extends ServiceImpl<DeviceTypeMapper, DeviceT
@Override @Override
public List<DeviceType> queryDeviceTypes() { public List<DeviceType> queryDeviceTypes() {
DeviceTypeQueryCriteria criteria = new DeviceTypeQueryCriteria(); DeviceTypeQueryCriteria criteria = new DeviceTypeQueryCriteria();
Long userId = LoginHelper.getUserId();
criteria.setCustomerId(userId); // 管理员
String username = LoginHelper.getUsername();
if (!username.equals("admin")) {
criteria.setCustomerId(LoginHelper.getUserId());
Long userId = LoginHelper.getUserId();
criteria.setCustomerId(userId);
}
return deviceTypeMapper.findAll(criteria); return deviceTypeMapper.findAll(criteria);
} }

View File

@ -74,8 +74,11 @@
<if test="criteria.params.beginTime != null and criteria.params.endTime != null"> <if test="criteria.params.beginTime != null and criteria.params.endTime != null">
and da.create_time between #{criteria.params.beginTime} and #{criteria.params.endTime} and da.create_time between #{criteria.params.beginTime} and #{criteria.params.endTime}
</if> </if>
AND da.assignee_id = #{criteria.currentOwnerId} <!-- 管理员可以查看所有设备,普通用户只能查看自己的设备 -->
AND dg.customer_id = #{criteria.currentOwnerId} <if test="criteria.isAdmin != true">
AND da.assignee_id = #{criteria.currentOwnerId}
AND dg.customer_id = #{criteria.currentOwnerId}
</if>
</where> </where>
) AS ranked ) AS ranked
WHERE rn = 1 WHERE rn = 1
@ -213,18 +216,20 @@
WHERE original_device_id = #{originalDeviceId} WHERE original_device_id = #{originalDeviceId}
</select> </select>
<select id="getDeviceInfo" resultType="com.fuyuanshen.equipment.domain.vo.AppDeviceVo"> <select id="getDeviceInfo" resultType="com.fuyuanshen.equipment.domain.vo.AppDeviceVo">
select d.id, d.device_name, d.device_name, select d.id,
d.device_name, d.device_name,
d.device_mac, d.device_name,
d.device_sn, d.device_name,
d.device_imei, d.device_mac,
d.device_pic, d.device_sn,
dt.type_name, d.device_imei,
dt.communication_mode, d.device_pic,
d.bluetooth_name, dt.type_name,
dt.model_dictionary detailPageUrl dt.communication_mode,
d.bluetooth_name,
dt.model_dictionary detailPageUrl
from device d from device d
inner join device_type dt on d.device_type = dt.id inner join device_type dt on d.device_type = dt.id
where d.device_mac = #{deviceMac} where d.device_mac = #{deviceMac}
</select> </select>