diff --git a/fastbee-open-api/src/main/java/com/fastbee/controller/push/ThingsModelPushController.java b/fastbee-open-api/src/main/java/com/fastbee/controller/push/ThingsModelPushController.java index 6645fd66..c2b7adfe 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/controller/push/ThingsModelPushController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/controller/push/ThingsModelPushController.java @@ -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)); } /** 删除 */ diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/cache/impl/TSLCacheImpl.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/cache/impl/TSLCacheImpl.java index c1d8a9e3..69204e1f 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/cache/impl/TSLCacheImpl.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/cache/impl/TSLCacheImpl.java @@ -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(); } } diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/ThingsModelPushConfig.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/ThingsModelPushConfig.java index 18e4f2a6..27d933a0 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/ThingsModelPushConfig.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/domain/ThingsModelPushConfig.java @@ -71,6 +71,9 @@ public class ThingsModelPushConfig extends BaseEntity { @ApiModelProperty("租户名称") private String tenantName; + @ApiModelProperty("配置归属用户ID(列表按此过滤;与接收用户 userIds 不同)") + private Long userId; + /** 物模型项列表(非持久化,前端用) */ private List items; diff --git a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/ThingsModelPushConfigServiceImpl.java b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/ThingsModelPushConfigServiceImpl.java index 8da36cd2..e9e486b3 100644 --- a/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/ThingsModelPushConfigServiceImpl.java +++ b/fastbee-service/fastbee-iot-service/src/main/java/com/fastbee/iot/service/impl/ThingsModelPushConfigServiceImpl.java @@ -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 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); diff --git a/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/ThingsModelPushConfigMapper.xml b/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/ThingsModelPushConfigMapper.xml index 09b80d84..33ff417a 100644 --- a/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/ThingsModelPushConfigMapper.xml +++ b/fastbee-service/fastbee-iot-service/src/main/resources/mapper/iot/ThingsModelPushConfigMapper.xml @@ -19,6 +19,7 @@ + @@ -53,7 +54,7 @@ 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 @@ -90,6 +91,9 @@ AND c.tenant_id = #{tenantId} + + AND c.user_id = #{userId} + ORDER BY c.create_time DESC @@ -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') diff --git a/sql/iot_things_model_push.sql b/sql/iot_things_model_push.sql index b890bf07..53b55298 100644 --- a/sql/iot_things_model_push.sql +++ b/sql/iot_things_model_push.sql @@ -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='物模型数据推送配置';