20260328:数据推送:列表查询用户隔离
This commit is contained in:
parent
8a16a35627
commit
ef7158563e
@ -5,7 +5,6 @@ import com.fastbee.common.core.controller.BaseController;
|
||||
import com.fastbee.common.core.domain.AjaxResult;
|
||||
import com.fastbee.common.core.page.TableDataInfo;
|
||||
import com.fastbee.common.enums.BusinessType;
|
||||
import com.fastbee.common.utils.SecurityUtils;
|
||||
import com.fastbee.iot.data.push.ThingsModelPushHandler;
|
||||
import com.fastbee.iot.domain.ThingsModelPushConfig;
|
||||
import com.fastbee.iot.service.IThingsModelPushConfigService;
|
||||
@ -57,7 +56,7 @@ public class ThingsModelPushController extends BaseController {
|
||||
@Log(title = "推送配置", businessType = BusinessType.INSERT)
|
||||
@PostMapping
|
||||
public AjaxResult add(@RequestBody @Validated ThingsModelPushConfig config) {
|
||||
config.setCreateBy(SecurityUtils.getUsername());
|
||||
|
||||
return toAjax(pushConfigService.insertConfig(config));
|
||||
}
|
||||
|
||||
@ -67,7 +66,6 @@ public class ThingsModelPushController extends BaseController {
|
||||
@Log(title = "推送配置", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody ThingsModelPushConfig config) {
|
||||
config.setUpdateBy(SecurityUtils.getUsername());
|
||||
return toAjax(pushConfigService.updateConfig(config));
|
||||
}
|
||||
|
||||
@ -77,11 +75,7 @@ public class ThingsModelPushController extends BaseController {
|
||||
@Log(title = "推送配置状态", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/status")
|
||||
public AjaxResult changeStatus(@RequestBody ThingsModelPushConfig config) {
|
||||
ThingsModelPushConfig update = new ThingsModelPushConfig();
|
||||
update.setId(config.getId());
|
||||
update.setStatus(config.getStatus());
|
||||
update.setUpdateBy(SecurityUtils.getUsername());
|
||||
return toAjax(pushConfigService.updateConfig(update));
|
||||
return toAjax(pushConfigService.updateConfig(config));
|
||||
}
|
||||
|
||||
/** 删除 */
|
||||
|
||||
@ -466,6 +466,6 @@ public class TSLCacheImpl implements ITSLCache {
|
||||
.map(v -> JSON.parseObject(v.toString(), ValueItem.class))
|
||||
.collect(Collectors.toMap(ValueItem::getId, Function.identity()));
|
||||
}
|
||||
return null;
|
||||
return Collections.emptyMap();
|
||||
}
|
||||
}
|
||||
|
||||
@ -71,6 +71,9 @@ public class ThingsModelPushConfig extends BaseEntity {
|
||||
@ApiModelProperty("租户名称")
|
||||
private String tenantName;
|
||||
|
||||
@ApiModelProperty("配置归属用户ID(列表按此过滤;与接收用户 userIds 不同)")
|
||||
private Long userId;
|
||||
|
||||
/** 物模型项列表(非持久化,前端用) */
|
||||
private List<PushModelItem> items;
|
||||
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
package com.fastbee.iot.service.impl;
|
||||
|
||||
import com.fastbee.common.core.domain.model.LoginUser;
|
||||
import com.fastbee.common.utils.DateUtils;
|
||||
import com.fastbee.common.utils.SecurityUtils;
|
||||
import com.fastbee.iot.domain.PushModelItem;
|
||||
import com.fastbee.iot.domain.PushUser;
|
||||
import com.fastbee.iot.domain.ThingsModelPushConfig;
|
||||
@ -35,6 +37,7 @@ public class ThingsModelPushConfigServiceImpl implements IThingsModelPushConfigS
|
||||
|
||||
@Override
|
||||
public List<ThingsModelPushConfig> selectList(ThingsModelPushConfig query) {
|
||||
query.setUserId(SecurityUtils.getUserId());
|
||||
return mapper.selectList(query);
|
||||
}
|
||||
|
||||
@ -51,6 +54,9 @@ public class ThingsModelPushConfigServiceImpl implements IThingsModelPushConfigS
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int insertConfig(ThingsModelPushConfig config) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
config.setUserId(loginUser.getUserId());
|
||||
config.setCreateBy(loginUser.getUsername());
|
||||
config.setCreateTime(DateUtils.getNowDate());
|
||||
config.setStatus(config.getStatus() == null ? 1 : config.getStatus());
|
||||
config.setDeviceId(config.getDeviceId() == null ? 0L : config.getDeviceId());
|
||||
@ -63,8 +69,12 @@ public class ThingsModelPushConfigServiceImpl implements IThingsModelPushConfigS
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int updateConfig(ThingsModelPushConfig config) {
|
||||
config.setUpdateTime(DateUtils.getNowDate());
|
||||
int rows = mapper.update(config);
|
||||
ThingsModelPushConfig update = new ThingsModelPushConfig();
|
||||
update.setId(config.getId());
|
||||
update.setStatus(config.getStatus());
|
||||
update.setUpdateBy(SecurityUtils.getUsername());
|
||||
update.setUpdateTime(DateUtils.getNowDate());
|
||||
int rows = mapper.update(update);
|
||||
mapper.deleteItemsByConfigId(config.getId());
|
||||
mapper.deleteUsersByConfigId(config.getId());
|
||||
saveItemsAndUsers(config);
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
<result property="status" column="status"/>
|
||||
<result property="tenantId" column="tenant_id"/>
|
||||
<result property="tenantName" column="tenant_name"/>
|
||||
<result property="userId" column="config_owner_user_id"/>
|
||||
<result property="createBy" column="create_by"/>
|
||||
<result property="createTime" column="create_time"/>
|
||||
<result property="updateBy" column="update_by"/>
|
||||
@ -53,7 +54,7 @@
|
||||
<sql id="baseColumns">
|
||||
c.id, c.config_name, c.product_id, c.device_id, c.serial_number,
|
||||
c.template_id, c.push_interval, c.last_push_time, c.status,
|
||||
c.tenant_id, c.tenant_name, c.create_by, c.create_time,
|
||||
c.tenant_id, c.tenant_name, c.user_id AS config_owner_user_id, c.create_by, c.create_time,
|
||||
c.update_by, c.update_time,p.product_name, p.device_type,
|
||||
d.device_name,d.network_address AS device_address, nt.name AS template_name
|
||||
</sql>
|
||||
@ -90,6 +91,9 @@
|
||||
<if test="tenantId != null">
|
||||
AND c.tenant_id = #{tenantId}
|
||||
</if>
|
||||
<if test="userId != null">
|
||||
AND c.user_id = #{userId}
|
||||
</if>
|
||||
ORDER BY c.create_time DESC
|
||||
</select>
|
||||
|
||||
@ -110,11 +114,11 @@
|
||||
INSERT INTO iot_things_model_push_config
|
||||
(config_name, product_id, device_id, serial_number, template_id,
|
||||
push_interval, status,
|
||||
tenant_id, tenant_name, create_by, create_time, del_flag)
|
||||
tenant_id, tenant_name, user_id, create_by, create_time, del_flag)
|
||||
VALUES
|
||||
(#{configName}, #{productId}, #{deviceId}, #{serialNumber}, #{templateId},
|
||||
#{pushInterval}, #{status},
|
||||
#{tenantId}, #{tenantName}, #{createBy}, #{createTime}, '0')
|
||||
#{tenantId}, #{tenantName}, #{userId}, #{createBy}, #{createTime}, '0')
|
||||
</insert>
|
||||
|
||||
<update id="update">
|
||||
|
||||
@ -15,6 +15,7 @@ CREATE TABLE IF NOT EXISTS `iot_things_model_push_config` (
|
||||
`status` TINYINT DEFAULT 1 COMMENT '状态:0=停用 1=启用',
|
||||
`tenant_id` BIGINT DEFAULT NULL COMMENT '租户ID',
|
||||
`tenant_name` VARCHAR(64) DEFAULT NULL COMMENT '租户名称',
|
||||
`user_id` BIGINT DEFAULT NULL COMMENT '配置归属用户ID',
|
||||
`create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
|
||||
@ -22,7 +23,8 @@ CREATE TABLE IF NOT EXISTS `iot_things_model_push_config` (
|
||||
`del_flag` CHAR(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_device_id` (`device_id`),
|
||||
KEY `idx_template_id` (`template_id`)
|
||||
KEY `idx_template_id` (`template_id`),
|
||||
KEY `idx_user_id` (`user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='物模型数据推送配置';
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user