hxd 3 місяців тому
батько
коміт
cc28531f92

+ 1 - 0
portal-service-application/src/main/java/com/hfln/portal/application/controller/web/WebDeviceController.java

@@ -64,4 +64,5 @@ public class WebDeviceController {
         return ApiResult.success(DeviceGateway.updateDevice(Params));
     }
 
+
 }

+ 3 - 0
portal-service-common/src/main/java/com/hfln/portal/common/request/device/DeviceListQueryReq.java

@@ -9,6 +9,9 @@ import java.time.LocalDate;
 @Data
 public class DeviceListQueryReq extends PageVo {
 
+    @Schema(description = "租户ID")
+    private Long tenantId;
+
     @Schema(description = "设备ID")
     private String clientId;
 

+ 3 - 0
portal-service-common/src/main/java/com/hfln/portal/common/request/device/UpdateDeviceParams.java

@@ -22,6 +22,9 @@ public class UpdateDeviceParams extends BaseVO {
     @Schema(description = "用户Id", required = true)
     private Long userId;
 
+    @Schema(description = "租户ID")
+    private Long tenantId;
+
     @Schema(description = "设备名称:最多10个字符")
     @Size(max = 10, message = "设备名称不能超过10个字符")
     private String devName;

+ 8 - 6
portal-service-common/src/main/java/com/hfln/portal/common/request/web/DeviceAddParam.java

@@ -12,11 +12,6 @@ import java.time.LocalDateTime;
 @EqualsAndHashCode(callSuper = true)
 @Data
 public class DeviceAddParam extends BaseVO {
-    /**
-     * 主键ID
-     */
-    @Schema(description = "主键ID")
-    private Long devId;
 
     /**
      * 设备ID
@@ -26,12 +21,19 @@ public class DeviceAddParam extends BaseVO {
     private String clientId;
 
     /**
-     * 用户openid
+     * 用户表主键id
      */
     @Schema(description = "用户Id")
     private Long userId;
 
     /**
+     * 租户表主键id
+     */
+    @Schema(description = "租户Id")
+    private Long tenantId;
+
+
+    /**
      * 设备名称
      */
     @Schema(description = "设备名称")

+ 12 - 0
portal-service-common/src/main/java/com/hfln/portal/common/response/user/UserTokenInfo.java

@@ -74,6 +74,9 @@ public class UserTokenInfo extends BaseVO {
     @Schema(description = "用户表主键")
     private Long userId;
 
+    @Schema(description = "当前用户的租户id")
+    private Long tenantId;
+
     /**
      * @return token 名称
      */
@@ -255,6 +258,15 @@ public class UserTokenInfo extends BaseVO {
         this.userId = userId;
     }
 
+
+    public Long getTenantId() {
+        return tenantId;
+    }
+
+    public void setTenantId(Long tenantId) {
+        this.tenantId = tenantId;
+    }
+
     /**
      * toString
      */

+ 1 - 0
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/gateway/impl/DeviceGatewayImpl.java

@@ -356,6 +356,7 @@ public class DeviceGatewayImpl implements DeviceGateway {
 
 
         //2..更新数据
+        devInfo.setTenantId(params.getTenantId());
         devInfo.setDevName(params.getDevName());
         devInfo.setHeight(params.getHeight());
         devInfo.setWifiName(params.getWifiName());

+ 11 - 4
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/gateway/impl/WebGatewayImpl.java

@@ -94,6 +94,8 @@ public class WebGatewayImpl implements WebGateway {
     private TblDicService tblDicService;
     @Autowired
     private TblDicItemService tblDicItemService;
+    @Autowired
+    private UserService userService;
 
     @Override
     public UploadRes uploadDev(MultipartFile file) throws IOException {
@@ -145,9 +147,13 @@ public class WebGatewayImpl implements WebGateway {
         if (queryReq.getPageSize() == null || queryReq.getPageSize() <= 0){
             queryReq.setPageSize(10);
         }
-        // 执行分页查询
-        Page<DevInfo> devInfoPage = devInfoService.queryDevList(queryReq);
-        // 换为目标VO
+
+        // 执行分页查询,根据tenantId是否为空来选择不同的查询方法
+//        Page<DevInfo> devInfoPage = devInfoService.queryDevList(queryReq);
+        Page<DevInfo> devInfoPage = (queryReq.getTenantId() != null)
+                ? devInfoService.queryDevListByTenantId(queryReq)
+                : devInfoService.queryDevList(queryReq);
+        // 换为目标DTO
         List<DeviceDTO> targets = CopyUtils.copyList(devInfoPage.getRecords(), DeviceDTO.class);
         return CopyUtils.copyPage(devInfoPage, targets);
     }
@@ -164,6 +170,7 @@ public class WebGatewayImpl implements WebGateway {
         saveInfo.setClientId(deviceAddParam.getClientId());
         saveInfo.setDevType(deviceAddParam.getDevType());
         saveInfo.setSoftware(deviceAddParam.getSoftware());
+        saveInfo.setTenantId(deviceAddParam.getTenantId());
         saveInfo.setStatusLight(1);
         saveInfo.setOnline(0);
         saveInfo.setIsDeleted(BasePO.DeleteFlag.NOT_DELETED);
@@ -213,7 +220,7 @@ public class WebGatewayImpl implements WebGateway {
         SaTokenInfo tokenInfo = StpUtil.getTokenInfo();
         AdminLoginRes res = CopyUtils.copy(tokenInfo, AdminLoginRes.class);
         BeanUtils.copyProperties(adminUser, res);
-
+        res.setTenantId(adminUser.getTenantId());
         log.info("当前用户account:{},登录成功", param.getAccount());
         return res;
     }

+ 7 - 1
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/po/DevInfo.java

@@ -27,12 +27,18 @@ public class DevInfo extends BasePO {
     private String clientId;
 
     /**
-     * 用户openid
+     * 用户主键id
      */
     @TableField("user_id")
     private Long userId;
 
     /**
+     * 租户表主键id
+     */
+    @TableField("tenant_id")
+    private Long tenantId;
+
+    /**
      * 设备名称
      */
     @TableField("dev_name")

+ 6 - 0
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/po/UserInfo.java

@@ -19,6 +19,12 @@ public class UserInfo extends BasePO {
     private Long userId;
 
     /**
+     * 租户表主键id
+     */
+    @TableField("tenant_id")
+    private Long tenantId;
+
+    /**
      * 用户openid,唯一标识
      */
     private String openid;

+ 2 - 0
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/service/DevInfoService.java

@@ -26,4 +26,6 @@ public interface DevInfoService extends IService<DevInfo> {
     Page<DevInfo> queryDevList(DeviceListQueryReq queryReq);
 
     DevInfo queryOneByClientId(String clientId);
+
+    Page<DevInfo> queryDevListByTenantId(DeviceListQueryReq queryReq);
 }

+ 36 - 0
portal-service-infrastructure/src/main/java/com/hfln/portal/infrastructure/service/impl/DevInfoServiceImpl.java

@@ -200,4 +200,40 @@ public class DevInfoServiceImpl extends ServiceImpl<DevInfoMapper, DevInfo> impl
         wrapper.eq(DevInfo::getClientId, clientId);
         return this.baseMapper.selectOne(wrapper);
     }
+
+    @Override
+    public Page<DevInfo> queryDevListByTenantId(DeviceListQueryReq queryReq) {
+        Page<DevInfo> page = new Page<>(queryReq.getPageNo(), queryReq.getPageSize());
+
+        // 2. 构建查询条件
+        LambdaQueryWrapper<DevInfo> queryWrapper = new LambdaQueryWrapper<>();
+        if (StringUtils.hasText(queryReq.getClientId())) {
+            queryWrapper.like(DevInfo::getClientId, queryReq.getClientId());
+        }
+        if (StringUtils.hasText(queryReq.getDevName())) {
+            queryWrapper.like(DevInfo::getDevName, queryReq.getDevName());
+        }
+        if (queryReq.getOnline() != null) {
+            queryWrapper.eq(DevInfo::getOnline, queryReq.getOnline());
+        }
+
+        // 3. 添加日期条件
+        if (Objects.nonNull(queryReq.getCreateTimeStart())) {
+            queryWrapper.ge(DevInfo::getCreateTime, queryReq.getCreateTimeStart());
+        }
+        if (Objects.nonNull(queryReq.getCreateTimeEnd())) {
+            queryWrapper.lt(DevInfo::getCreateTime, queryReq.getCreateTimeEnd().plusDays(1));
+        }
+
+        // 4. 添加 tenantId 条件
+        if (queryReq.getTenantId() != null) {
+            queryWrapper.eq(DevInfo::getTenantId, queryReq.getTenantId());
+        }
+
+        // 5. 设置排序
+        queryWrapper.orderByDesc(DevInfo::getCreateTime);
+
+        // 6. 执行查询
+        return this.baseMapper.selectPage(page, queryWrapper);
+    }
 }