diff --git a/ruoyi-api/property-api/pom.xml b/ruoyi-api/property-api/pom.xml
new file mode 100644
index 0000000..6b8bb86
--- /dev/null
+++ b/ruoyi-api/property-api/pom.xml
@@ -0,0 +1,29 @@
+
+
+
+ org.dromara
+ ruoyi-api
+ ${revision}
+
+ 4.0.0
+
+ property-api
+
+
+ 物业api模块
+
+
+
+
+
+
+ org.dromara
+ ruoyi-common-core
+
+
+
+
+
+
diff --git a/ruoyi-api/property-api/src/main/java/org/dromara/property/api/domain/vo/RemoteFloorVo.java b/ruoyi-api/property-api/src/main/java/org/dromara/property/api/domain/vo/RemoteFloorVo.java
new file mode 100644
index 0000000..62adc36
--- /dev/null
+++ b/ruoyi-api/property-api/src/main/java/org/dromara/property/api/domain/vo/RemoteFloorVo.java
@@ -0,0 +1,57 @@
+package org.dromara.property.api.domain.vo;
+
+import lombok.Data;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+@Data
+public class RemoteFloorVo implements Serializable {
+
+ @Serial
+ private static final long serialVersionUID = 1L;
+
+ private Long id;
+
+ /**
+ * 社区id
+ */
+ private Long communityId;
+
+ /**
+ * 建筑名称
+ */
+ private Long buildingId;
+
+ /**
+ * 单元编码
+ */
+ private Long unitId;
+
+ /**
+ * 楼层数名称
+ */
+ private String floorName;
+
+ /**
+ * 楼层号
+ */
+ private Long floorNumber;
+
+ /**
+ * 楼层类型
+ */
+ private Integer floorType;
+
+ /**
+ * 房间数量
+ */
+ private Integer roomCount;
+
+ /**
+ * 层高
+ */
+ private Integer floorHeight;
+
+
+}
diff --git a/ruoyi-api/ruoyi-api-bom/pom.xml b/ruoyi-api/ruoyi-api-bom/pom.xml
index dc105a7..06936e3 100644
--- a/ruoyi-api/ruoyi-api-bom/pom.xml
+++ b/ruoyi-api/ruoyi-api-bom/pom.xml
@@ -41,6 +41,13 @@
${revision}
+
+
+ org.dromara
+ property-api
+ ${revision}
+
+
diff --git a/ruoyi-modules/Property/pom.xml b/ruoyi-modules/Property/pom.xml
index ae6ad89..40ad288 100644
--- a/ruoyi-modules/Property/pom.xml
+++ b/ruoyi-modules/Property/pom.xml
@@ -110,6 +110,11 @@
ruoyi-api-workflow
+
+ org.dromara
+ property-api
+
+
diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/dubbo/RemoteFloorServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/dubbo/RemoteFloorServiceImpl.java
new file mode 100644
index 0000000..a17f0b2
--- /dev/null
+++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/dubbo/RemoteFloorServiceImpl.java
@@ -0,0 +1,29 @@
+package org.dromara.property.dubbo;
+
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.property.api.RemoteFloorService;
+import org.dromara.property.api.domain.vo.RemoteFloorVo;
+import org.dromara.property.domain.vo.TbFloorVo;
+import org.dromara.property.service.ITbFloorService;
+
+/**
+ * 楼层服务远程调用实现
+ *
+ * @author lxj
+ */
+@Slf4j
+@RequiredArgsConstructor
+@DubboService
+public class RemoteFloorServiceImpl implements RemoteFloorService {
+
+ private final ITbFloorService floorService;
+
+ @Override
+ public RemoteFloorVo queryByFloorId(Long floorId) {
+ TbFloorVo tbFloorVo = floorService.queryById(floorId);
+ return MapstructUtils.convert(tbFloorVo, RemoteFloorVo.class);
+ }
+}
diff --git a/ruoyi-modules/Sis/pom.xml b/ruoyi-modules/Sis/pom.xml
index f8f3f87..1a005cd 100644
--- a/ruoyi-modules/Sis/pom.xml
+++ b/ruoyi-modules/Sis/pom.xml
@@ -106,6 +106,10 @@
org.dromara
ruoyi-api-workflow
+
+ org.dromara
+ property-api
+
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/SisDeviceManageController.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/SisDeviceManageController.java
index 1b438c1..2320f96 100644
--- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/SisDeviceManageController.java
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/SisDeviceManageController.java
@@ -40,7 +40,7 @@ public class SisDeviceManageController extends BaseController {
/**
* 查询设备管理列表
*/
- @SaCheckPermission("system:deviceManage:list")
+ @SaCheckPermission("sis:deviceManage:list")
@GetMapping("/list")
public TableDataInfo list(SisDeviceManageBo bo, PageQuery pageQuery) {
return sisDeviceManageService.queryPageList(bo, pageQuery);
@@ -49,7 +49,7 @@ public class SisDeviceManageController extends BaseController {
/**
* 导出设备管理列表
*/
- @SaCheckPermission("system:deviceManage:export")
+ @SaCheckPermission("sis:deviceManage:export")
@Log(title = "设备管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(SisDeviceManageBo bo, HttpServletResponse response) {
@@ -62,7 +62,7 @@ public class SisDeviceManageController extends BaseController {
*
* @param id 主键
*/
- @SaCheckPermission("system:deviceManage:query")
+ @SaCheckPermission("sis:deviceManage:query")
@GetMapping("/{id}")
public R getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
@@ -72,7 +72,7 @@ public class SisDeviceManageController extends BaseController {
/**
* 新增设备管理
*/
- @SaCheckPermission("system:deviceManage:add")
+ @SaCheckPermission("sis:deviceManage:add")
@Log(title = "设备管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
@@ -83,7 +83,7 @@ public class SisDeviceManageController extends BaseController {
/**
* 修改设备管理
*/
- @SaCheckPermission("system:deviceManage:edit")
+ @SaCheckPermission("sis:deviceManage:edit")
@Log(title = "设备管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
@@ -96,7 +96,7 @@ public class SisDeviceManageController extends BaseController {
*
* @param ids 主键串
*/
- @SaCheckPermission("system:deviceManage:remove")
+ @SaCheckPermission("sis:deviceManage:remove")
@Log(title = "设备管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R remove(@NotEmpty(message = "主键不能为空")
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/SisAccessControl.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/SisAccessControl.java
index 911f416..292b588 100644
--- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/SisAccessControl.java
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/SisAccessControl.java
@@ -41,12 +41,22 @@ public class SisAccessControl extends TenantEntity {
/**
* 园区编码
*/
- private String communityCode;
+ private Long communityId;
/**
* 建筑编码
*/
- private String buildingCode;
+ private Long buildingId;
+
+ /**
+ * 园区编码
+ */
+ private Long unitId;
+
+ /**
+ * 建筑编码
+ */
+ private Long floorId;
/**
* 门禁设备ip
@@ -83,10 +93,5 @@ public class SisAccessControl extends TenantEntity {
*/
private String outCode;
- /**
- * 组织编码
- */
- private String orgCode;
-
}
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/SisDeviceManage.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/SisDeviceManage.java
index 51d347c..09015a2 100644
--- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/SisDeviceManage.java
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/SisDeviceManage.java
@@ -28,11 +28,6 @@ public class SisDeviceManage extends BaseEntity {
@TableId(value = "id")
private Long id;
- /**
- * 设备编码
- */
- private String deviceNo;
-
/**
* 设备名称
*/
@@ -78,5 +73,30 @@ public class SisDeviceManage extends BaseEntity {
*/
private Long accessControlId;
+ /**
+ * 设备账号
+ */
+ private String deviceAccount;
+
+ /**
+ * 设备密码
+ */
+ private String devicePwd;
+
+ /**
+ * 录像机账号
+ */
+ private String vcrAccount;
+
+ /**
+ * 录像机密码
+ */
+ private String vcrPwd;
+
+ /**
+ * 设备在录像机的通道编码
+ */
+ private String channelNo;
+
}
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/bo/SisAccessControlBo.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/bo/SisAccessControlBo.java
index ee1075e..b9e2d1c 100644
--- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/bo/SisAccessControlBo.java
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/bo/SisAccessControlBo.java
@@ -1,19 +1,20 @@
package org.dromara.sis.domain.bo;
-import org.dromara.sis.domain.SisAccessControl;
-import org.dromara.common.mybatis.core.domain.BaseEntity;
-import org.dromara.common.core.validate.AddGroup;
-import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
-import jakarta.validation.constraints.*;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.sis.domain.SisAccessControl;
/**
* 门禁设备业务对象 sis_access_control
*
* @author lxj
- * @since 2025-06-25
+ * @since 2025-06-25
*/
@Data
@EqualsAndHashCode(callSuper = true)
@@ -23,61 +24,69 @@ public class SisAccessControlBo extends BaseEntity {
/**
*
*/
- @NotNull(message = "不能为空", groups = { EditGroup.class })
+ @NotNull(message = "不能为空", groups = {EditGroup.class})
private Long id;
/**
* 门禁设备编码
*/
- @NotBlank(message = "门禁设备编码不能为空", groups = { AddGroup.class, EditGroup.class })
+ @NotBlank(message = "门禁设备编码不能为空", groups = {AddGroup.class, EditGroup.class})
private String accessCode;
/**
* 门禁名称
*/
- @NotBlank(message = "门禁名称不能为空", groups = { AddGroup.class, EditGroup.class })
+ @NotBlank(message = "门禁名称不能为空", groups = {AddGroup.class, EditGroup.class})
private String accessName;
/**
* 园区编码
*/
- @NotBlank(message = "园区编码不能为空", groups = { AddGroup.class, EditGroup.class })
- private String communityCode;
+ private Long communityId;
/**
* 建筑编码
*/
- @NotBlank(message = "建筑编码不能为空", groups = { AddGroup.class, EditGroup.class })
- private String buildingCode;
+ private Long buildingId;
+
+ /**
+ * 园区编码
+ */
+ private Long unitId;
+
+ /**
+ * 建筑编码
+ */
+ private Long floorId;
/**
* 门禁设备ip
*/
- @NotBlank(message = "门禁设备ip不能为空", groups = { AddGroup.class, EditGroup.class })
+ @NotBlank(message = "门禁设备ip不能为空", groups = {AddGroup.class, EditGroup.class})
private String accessIp;
/**
*
*/
- @NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
+ @NotNull(message = "不能为空", groups = {AddGroup.class, EditGroup.class})
private Integer accessPort;
/**
* 门禁设备类型
*/
- @NotNull(message = "门禁设备类型不能为空", groups = { AddGroup.class, EditGroup.class })
+ @NotNull(message = "门禁设备类型不能为空", groups = {AddGroup.class, EditGroup.class})
private Long accessType;
/**
*
*/
- @NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
+ @NotBlank(message = "不能为空", groups = {AddGroup.class, EditGroup.class})
private String factoryCode;
/**
* 控制卡类型:1-系统,2-E8
*/
- @NotNull(message = "控制卡类型:1-系统,2-E8不能为空", groups = { AddGroup.class, EditGroup.class })
+ @NotNull(message = "控制卡类型:1-系统,2-E8不能为空", groups = {AddGroup.class, EditGroup.class})
private Long controlType;
/**
@@ -90,12 +99,6 @@ public class SisAccessControlBo extends BaseEntity {
*/
private String outCode;
- /**
- * 组织编码
- */
- @NotBlank(message = "组织编码不能为空", groups = { AddGroup.class, EditGroup.class })
- private String orgCode;
-
/**
* 绑定设备Id
*/
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/bo/SisDeviceManageBo.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/bo/SisDeviceManageBo.java
index f1fd769..7ae514e 100644
--- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/bo/SisDeviceManageBo.java
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/bo/SisDeviceManageBo.java
@@ -1,13 +1,14 @@
package org.dromara.sis.domain.bo;
-import org.dromara.sis.domain.SisDeviceManage;
-import org.dromara.common.mybatis.core.domain.BaseEntity;
-import org.dromara.common.core.validate.AddGroup;
-import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
-import jakarta.validation.constraints.*;
+import org.dromara.common.core.validate.AddGroup;
+import org.dromara.common.core.validate.EditGroup;
+import org.dromara.common.mybatis.core.domain.BaseEntity;
+import org.dromara.sis.domain.SisDeviceManage;
/**
* 设备管理业务对象 sis_device_manage
@@ -26,12 +27,6 @@ public class SisDeviceManageBo extends BaseEntity {
@NotNull(message = "主键id不能为空", groups = {EditGroup.class})
private Long id;
- /**
- * 设备编码
- */
- @NotBlank(message = "设备编码不能为空", groups = {AddGroup.class, EditGroup.class})
- private String deviceNo;
-
/**
* 设备名称
*/
@@ -58,7 +53,7 @@ public class SisDeviceManageBo extends BaseEntity {
/**
* 父级设备id
*/
- @NotNull(message = "父级设备id不能为空", groups = {AddGroup.class, EditGroup.class})
+// @NotNull(message = "父级设备id不能为空", groups = {AddGroup.class, EditGroup.class})
private Long parentId;
/**
@@ -76,5 +71,32 @@ public class SisDeviceManageBo extends BaseEntity {
*/
private Long accessControlId;
+ /**
+ * 设备账号
+ */
+ @NotBlank(message = "设备账号不能为空", groups = {AddGroup.class, EditGroup.class})
+ private String deviceAccount;
+
+ /**
+ * 设备密码
+ */
+ @NotBlank(message = "设备密码不能为空", groups = {AddGroup.class, EditGroup.class})
+ private String devicePwd;
+
+ /**
+ * 录像机账号
+ */
+ private String vcrAccount;
+
+ /**
+ * 录像机密码
+ */
+ private String vcrPwd;
+
+ /**
+ * 设备在录像机的通道编码
+ */
+ private String channelNo;
+
}
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/vo/SisAccessControlVo.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/vo/SisAccessControlVo.java
index 8a4d579..9d626fc 100644
--- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/vo/SisAccessControlVo.java
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/vo/SisAccessControlVo.java
@@ -46,14 +46,22 @@ public class SisAccessControlVo implements Serializable {
/**
* 园区编码
*/
- @ExcelProperty(value = "园区编码")
- private String communityCode;
+ private Long communityId;
/**
* 建筑编码
*/
- @ExcelProperty(value = "建筑编码")
- private String buildingCode;
+ private Long buildingId;
+
+ /**
+ * 园区编码
+ */
+ private Long unitId;
+
+ /**
+ * 建筑编码
+ */
+ private Long floorId;
/**
* 门禁设备ip
@@ -97,10 +105,5 @@ public class SisAccessControlVo implements Serializable {
@ExcelProperty(value = "外部编码")
private String outCode;
- /**
- * 组织编码
- */
- @ExcelProperty(value = "外部编码")
- private String orgCode;
}
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/vo/SisDeviceManageVo.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/vo/SisDeviceManageVo.java
index 6ac3c70..7b4c4ea 100644
--- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/vo/SisDeviceManageVo.java
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/vo/SisDeviceManageVo.java
@@ -31,12 +31,6 @@ public class SisDeviceManageVo implements Serializable {
@ExcelProperty(value = "主键id")
private Long id;
- /**
- * 设备编码
- */
- @ExcelProperty(value = "设备编码")
- private String deviceNo;
-
/**
* 设备名称
*/
@@ -85,5 +79,29 @@ public class SisDeviceManageVo implements Serializable {
@ExcelProperty(value = "门禁id")
private Long accessControlId;
+ /**
+ * 设备账号
+ */
+ private String deviceAccount;
+
+ /**
+ * 设备密码
+ */
+ private String devicePwd;
+
+ /**
+ * 录像机账号
+ */
+ private String vcrAccount;
+
+ /**
+ * 录像机密码
+ */
+ private String vcrPwd;
+
+ /**
+ * 设备在录像机的通道编码
+ */
+ private String channelNo;
}
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/unview/service/VideoAlarmService.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/unview/service/VideoAlarmService.java
index 5e0dd56..3a5b0f2 100644
--- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/unview/service/VideoAlarmService.java
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/unview/service/VideoAlarmService.java
@@ -90,7 +90,11 @@ public class VideoAlarmService {
* @param alarmReportData 告警数据
*/
private void handleFacialCapture(UvModel.AlarmReportInfo alarmReportData) {
- //TODO
+ // 查询设备是偶绑定门径
+
+ // 校验人脸是偶有同行此门禁的权限
+
+ // 如果有通行权限,则打开门禁
}
/**
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisAccessControlServiceImpl.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisAccessControlServiceImpl.java
index c50a818..bcc9f1a 100644
--- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisAccessControlServiceImpl.java
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisAccessControlServiceImpl.java
@@ -1,33 +1,35 @@
package org.dromara.sis.service.impl;
import cn.hutool.core.lang.Assert;
-import org.dromara.common.core.utils.MapstructUtils;
-import org.dromara.common.core.utils.StringUtils;
-import org.dromara.common.mybatis.core.page.TableDataInfo;
-import org.dromara.common.mybatis.core.page.PageQuery;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.dromara.sis.domain.SisDeviceManage;
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StringUtils;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.property.api.RemoteFloorService;
+import org.dromara.property.api.domain.vo.RemoteFloorVo;
+import org.dromara.sis.domain.SisAccessControl;
+import org.dromara.sis.domain.bo.SisAccessControlBo;
import org.dromara.sis.domain.bo.SisDeviceManageBo;
-import org.dromara.sis.mapper.SisDeviceManageMapper;
+import org.dromara.sis.domain.vo.SisAccessControlVo;
+import org.dromara.sis.mapper.SisAccessControlMapper;
import org.dromara.sis.sdk.e8.DoorDeviceService;
import org.dromara.sis.sdk.e8.domain.door.req.DoorDeviceAddReq;
import org.dromara.sis.sdk.e8.domain.door.res.DoorDeviceAddRes;
+import org.dromara.sis.service.ISisAccessControlService;
import org.dromara.sis.service.ISisDeviceManageService;
import org.springframework.stereotype.Service;
-import org.dromara.sis.domain.bo.SisAccessControlBo;
-import org.dromara.sis.domain.vo.SisAccessControlVo;
-import org.dromara.sis.domain.SisAccessControl;
-import org.dromara.sis.mapper.SisAccessControlMapper;
-import org.dromara.sis.service.ISisAccessControlService;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Collection;
import java.util.List;
import java.util.Map;
-import java.util.Collection;
/**
* 门禁设备Service业务层处理
@@ -42,7 +44,11 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
private final SisAccessControlMapper baseMapper;
private final DoorDeviceService doorDeviceService;
- private final ISisDeviceManageService sisDeviceManageService;
+ private final ISisDeviceManageService sisDeviceManageService;
+
+ @DubboReference
+ private RemoteFloorService remoteFloorService;
+
/**
* 查询门禁设备
@@ -51,7 +57,7 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
* @return 门禁设备
*/
@Override
- public SisAccessControlVo queryById(Long id){
+ public SisAccessControlVo queryById(Long id) {
return baseMapper.selectVoById(id);
}
@@ -87,8 +93,6 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
lqw.orderByAsc(SisAccessControl::getId);
lqw.eq(StringUtils.isNotBlank(bo.getAccessCode()), SisAccessControl::getAccessCode, bo.getAccessCode());
lqw.like(StringUtils.isNotBlank(bo.getAccessName()), SisAccessControl::getAccessName, bo.getAccessName());
- lqw.eq(StringUtils.isNotBlank(bo.getCommunityCode()), SisAccessControl::getCommunityCode, bo.getCommunityCode());
- lqw.eq(StringUtils.isNotBlank(bo.getBuildingCode()), SisAccessControl::getBuildingCode, bo.getBuildingCode());
lqw.eq(StringUtils.isNotBlank(bo.getAccessIp()), SisAccessControl::getAccessIp, bo.getAccessIp());
lqw.eq(bo.getAccessPort() != null, SisAccessControl::getAccessPort, bo.getAccessPort());
lqw.eq(bo.getAccessType() != null, SisAccessControl::getAccessType, bo.getAccessType());
@@ -96,7 +100,12 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
lqw.eq(bo.getControlType() != null, SisAccessControl::getControlType, bo.getControlType());
lqw.eq(StringUtils.isNotBlank(bo.getControlCode()), SisAccessControl::getControlCode, bo.getControlCode());
lqw.eq(StringUtils.isNotBlank(bo.getOutCode()), SisAccessControl::getOutCode, bo.getOutCode());
- lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), SisAccessControl::getSearchValue, bo.getSearchValue());
+ if (StrUtil.isNotEmpty(bo.getSearchValue())) {
+ lqw.or().eq(SisAccessControl::getCommunityId, bo.getSearchValue());
+ lqw.or().eq(SisAccessControl::getBuildingId, bo.getSearchValue());
+ lqw.or().eq(SisAccessControl::getUnitId, bo.getSearchValue());
+ lqw.or().eq(SisAccessControl::getFloorId, bo.getSearchValue());
+ }
return lqw;
}
@@ -109,12 +118,19 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean insertByBo(SisAccessControlBo bo) {
+ // 校验楼层是否存在
+ RemoteFloorVo remoteFloorVo = remoteFloorService.queryByFloorId(bo.getFloorId());
+ Assert.notNull(remoteFloorVo, "当前楼层信息不存在。");
SisAccessControl add = MapstructUtils.convert(bo, SisAccessControl.class);
+ add.setCommunityId(remoteFloorVo.getCommunityId());
+ add.setBuildingId(remoteFloorVo.getBuildingId());
+ add.setUnitId(remoteFloorVo.getUnitId());
+ add.setFloorId(remoteFloorVo.getId());
Assert.notNull(add, "数据处理失败");
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
// 添加E8门禁设备
- if (add.getControlType() == 2L){
+ if (add.getControlType() == 2L) {
log.info("开始同步写入E8门禁");
DoorDeviceAddReq e8DoorReq = new DoorDeviceAddReq();
// 设备类型
@@ -137,7 +153,7 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
DoorDeviceAddRes e8DoorRes = doorDeviceService.addDoorDevice(e8DoorReq);
Assert.notNull(e8DoorRes, "写入E8平台失败");
- log.info("E8平台写入成功,将返回值:{},回写到{}门禁中!",e8DoorRes.getId(),add.getAccessName());
+ log.info("E8平台写入成功,将返回值:{},回写到{}门禁中!", e8DoorRes.getId(), add.getAccessName());
SisAccessControlBo wbBo = new SisAccessControlBo();
wbBo.setId(add.getId());
wbBo.setOutCode(e8DoorRes.getId().toString());
@@ -147,7 +163,7 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
}
// 判断是否绑定摄像头
- if (bo.getDeviceId() != null){
+ if (bo.getDeviceId() != null) {
SisDeviceManageBo device = new SisDeviceManageBo();
device.setId(bo.getDeviceId());
device.setAccessControlId(add.getId());
@@ -173,7 +189,7 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
/**
* 保存前的数据校验
*/
- private void validEntityBeforeSave(SisAccessControl entity){
+ private void validEntityBeforeSave(SisAccessControl entity) {
//TODO 做一些数据校验,如唯一约束
}
@@ -186,7 +202,7 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
*/
@Override
public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
- if(isValid){
+ if (isValid) {
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisDeviceManageServiceImpl.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisDeviceManageServiceImpl.java
index 4a7fb40..8cc06ff 100644
--- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisDeviceManageServiceImpl.java
+++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/service/impl/SisDeviceManageServiceImpl.java
@@ -74,7 +74,6 @@ public class SisDeviceManageServiceImpl implements ISisDeviceManageService {
Map params = bo.getParams();
LambdaQueryWrapper lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(SisDeviceManage::getId);
- lqw.eq(StringUtils.isNotBlank(bo.getDeviceNo()), SisDeviceManage::getDeviceNo, bo.getDeviceNo());
lqw.like(StringUtils.isNotBlank(bo.getDeviceName()), SisDeviceManage::getDeviceName, bo.getDeviceName());
lqw.eq(StringUtils.isNotBlank(bo.getDeviceIp()), SisDeviceManage::getDeviceIp, bo.getDeviceIp());
lqw.eq(bo.getDevicePort() != null, SisDeviceManage::getDevicePort, bo.getDevicePort());