This commit is contained in:
parent
6b1e9253af
commit
8b065703cd
29
ruoyi-api/property-api/pom.xml
Normal file
29
ruoyi-api/property-api/pom.xml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<parent>
|
||||||
|
<groupId>org.dromara</groupId>
|
||||||
|
<artifactId>ruoyi-api</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>property-api</artifactId>
|
||||||
|
|
||||||
|
<description>
|
||||||
|
物业api模块
|
||||||
|
</description>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
|
||||||
|
<!-- RuoYi Common Core-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.dromara</groupId>
|
||||||
|
<artifactId>ruoyi-common-core</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
</project>
|
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -41,6 +41,13 @@
|
|||||||
<version>${revision}</version>
|
<version>${revision}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- 物业模块接口 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.dromara</groupId>
|
||||||
|
<artifactId>property-api</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</dependencyManagement>
|
</dependencyManagement>
|
||||||
</project>
|
</project>
|
||||||
|
@ -110,6 +110,11 @@
|
|||||||
<artifactId>ruoyi-api-workflow</artifactId>
|
<artifactId>ruoyi-api-workflow</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.dromara</groupId>
|
||||||
|
<artifactId>property-api</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
@ -106,6 +106,10 @@
|
|||||||
<groupId>org.dromara</groupId>
|
<groupId>org.dromara</groupId>
|
||||||
<artifactId>ruoyi-api-workflow</artifactId>
|
<artifactId>ruoyi-api-workflow</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.dromara</groupId>
|
||||||
|
<artifactId>property-api</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@ public class SisDeviceManageController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 查询设备管理列表
|
* 查询设备管理列表
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("system:deviceManage:list")
|
@SaCheckPermission("sis:deviceManage:list")
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public TableDataInfo<SisDeviceManageVo> list(SisDeviceManageBo bo, PageQuery pageQuery) {
|
public TableDataInfo<SisDeviceManageVo> list(SisDeviceManageBo bo, PageQuery pageQuery) {
|
||||||
return sisDeviceManageService.queryPageList(bo, 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)
|
@Log(title = "设备管理", businessType = BusinessType.EXPORT)
|
||||||
@PostMapping("/export")
|
@PostMapping("/export")
|
||||||
public void export(SisDeviceManageBo bo, HttpServletResponse response) {
|
public void export(SisDeviceManageBo bo, HttpServletResponse response) {
|
||||||
@ -62,7 +62,7 @@ public class SisDeviceManageController extends BaseController {
|
|||||||
*
|
*
|
||||||
* @param id 主键
|
* @param id 主键
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("system:deviceManage:query")
|
@SaCheckPermission("sis:deviceManage:query")
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public R<SisDeviceManageVo> getInfo(@NotNull(message = "主键不能为空")
|
public R<SisDeviceManageVo> getInfo(@NotNull(message = "主键不能为空")
|
||||||
@PathVariable("id") Long id) {
|
@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)
|
@Log(title = "设备管理", businessType = BusinessType.INSERT)
|
||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PostMapping()
|
@PostMapping()
|
||||||
@ -83,7 +83,7 @@ public class SisDeviceManageController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 修改设备管理
|
* 修改设备管理
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("system:deviceManage:edit")
|
@SaCheckPermission("sis:deviceManage:edit")
|
||||||
@Log(title = "设备管理", businessType = BusinessType.UPDATE)
|
@Log(title = "设备管理", businessType = BusinessType.UPDATE)
|
||||||
@RepeatSubmit()
|
@RepeatSubmit()
|
||||||
@PutMapping()
|
@PutMapping()
|
||||||
@ -96,7 +96,7 @@ public class SisDeviceManageController extends BaseController {
|
|||||||
*
|
*
|
||||||
* @param ids 主键串
|
* @param ids 主键串
|
||||||
*/
|
*/
|
||||||
@SaCheckPermission("system:deviceManage:remove")
|
@SaCheckPermission("sis:deviceManage:remove")
|
||||||
@Log(title = "设备管理", businessType = BusinessType.DELETE)
|
@Log(title = "设备管理", businessType = BusinessType.DELETE)
|
||||||
@DeleteMapping("/{ids}")
|
@DeleteMapping("/{ids}")
|
||||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||||
|
@ -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
|
* 门禁设备ip
|
||||||
@ -83,10 +93,5 @@ public class SisAccessControl extends TenantEntity {
|
|||||||
*/
|
*/
|
||||||
private String outCode;
|
private String outCode;
|
||||||
|
|
||||||
/**
|
|
||||||
* 组织编码
|
|
||||||
*/
|
|
||||||
private String orgCode;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -28,11 +28,6 @@ public class SisDeviceManage extends BaseEntity {
|
|||||||
@TableId(value = "id")
|
@TableId(value = "id")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
|
||||||
* 设备编码
|
|
||||||
*/
|
|
||||||
private String deviceNo;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备名称
|
* 设备名称
|
||||||
*/
|
*/
|
||||||
@ -78,5 +73,30 @@ public class SisDeviceManage extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private Long accessControlId;
|
private Long accessControlId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备账号
|
||||||
|
*/
|
||||||
|
private String deviceAccount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备密码
|
||||||
|
*/
|
||||||
|
private String devicePwd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 录像机账号
|
||||||
|
*/
|
||||||
|
private String vcrAccount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 录像机密码
|
||||||
|
*/
|
||||||
|
private String vcrPwd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备在录像机的通道编码
|
||||||
|
*/
|
||||||
|
private String channelNo;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,19 +1,20 @@
|
|||||||
package org.dromara.sis.domain.bo;
|
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 io.github.linpeilie.annotations.AutoMapper;
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
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
|
* 门禁设备业务对象 sis_access_control
|
||||||
*
|
*
|
||||||
* @author lxj
|
* @author lxj
|
||||||
* @since 2025-06-25
|
* @since 2025-06-25
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@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;
|
private Long id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 门禁设备编码
|
* 门禁设备编码
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "门禁设备编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
@NotBlank(message = "门禁设备编码不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||||
private String accessCode;
|
private String accessCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 门禁名称
|
* 门禁名称
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "门禁名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
@NotBlank(message = "门禁名称不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||||
private String accessName;
|
private String accessName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 园区编码
|
* 园区编码
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "园区编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
private Long communityId;
|
||||||
private String communityCode;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 建筑编码
|
* 建筑编码
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "建筑编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
private Long buildingId;
|
||||||
private String buildingCode;
|
|
||||||
|
/**
|
||||||
|
* 园区编码
|
||||||
|
*/
|
||||||
|
private Long unitId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 建筑编码
|
||||||
|
*/
|
||||||
|
private Long floorId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 门禁设备ip
|
* 门禁设备ip
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "门禁设备ip不能为空", groups = { AddGroup.class, EditGroup.class })
|
@NotBlank(message = "门禁设备ip不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||||
private String accessIp;
|
private String accessIp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
|
@NotNull(message = "不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||||
private Integer accessPort;
|
private Integer accessPort;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 门禁设备类型
|
* 门禁设备类型
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "门禁设备类型不能为空", groups = { AddGroup.class, EditGroup.class })
|
@NotNull(message = "门禁设备类型不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||||
private Long accessType;
|
private Long accessType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
|
@NotBlank(message = "不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||||
private String factoryCode;
|
private String factoryCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 控制卡类型:1-系统,2-E8
|
* 控制卡类型: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;
|
private Long controlType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -90,12 +99,6 @@ public class SisAccessControlBo extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private String outCode;
|
private String outCode;
|
||||||
|
|
||||||
/**
|
|
||||||
* 组织编码
|
|
||||||
*/
|
|
||||||
@NotBlank(message = "组织编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
|
||||||
private String orgCode;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 绑定设备Id
|
* 绑定设备Id
|
||||||
*/
|
*/
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
package org.dromara.sis.domain.bo;
|
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 io.github.linpeilie.annotations.AutoMapper;
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
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
|
* 设备管理业务对象 sis_device_manage
|
||||||
@ -26,12 +27,6 @@ public class SisDeviceManageBo extends BaseEntity {
|
|||||||
@NotNull(message = "主键id不能为空", groups = {EditGroup.class})
|
@NotNull(message = "主键id不能为空", groups = {EditGroup.class})
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
|
||||||
* 设备编码
|
|
||||||
*/
|
|
||||||
@NotBlank(message = "设备编码不能为空", groups = {AddGroup.class, EditGroup.class})
|
|
||||||
private String deviceNo;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备名称
|
* 设备名称
|
||||||
*/
|
*/
|
||||||
@ -58,7 +53,7 @@ public class SisDeviceManageBo extends BaseEntity {
|
|||||||
/**
|
/**
|
||||||
* 父级设备id
|
* 父级设备id
|
||||||
*/
|
*/
|
||||||
@NotNull(message = "父级设备id不能为空", groups = {AddGroup.class, EditGroup.class})
|
// @NotNull(message = "父级设备id不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||||
private Long parentId;
|
private Long parentId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -76,5 +71,32 @@ public class SisDeviceManageBo extends BaseEntity {
|
|||||||
*/
|
*/
|
||||||
private Long accessControlId;
|
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;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -46,14 +46,22 @@ public class SisAccessControlVo implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 园区编码
|
* 园区编码
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "园区编码")
|
private Long communityId;
|
||||||
private String communityCode;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 建筑编码
|
* 建筑编码
|
||||||
*/
|
*/
|
||||||
@ExcelProperty(value = "建筑编码")
|
private Long buildingId;
|
||||||
private String buildingCode;
|
|
||||||
|
/**
|
||||||
|
* 园区编码
|
||||||
|
*/
|
||||||
|
private Long unitId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 建筑编码
|
||||||
|
*/
|
||||||
|
private Long floorId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 门禁设备ip
|
* 门禁设备ip
|
||||||
@ -97,10 +105,5 @@ public class SisAccessControlVo implements Serializable {
|
|||||||
@ExcelProperty(value = "外部编码")
|
@ExcelProperty(value = "外部编码")
|
||||||
private String outCode;
|
private String outCode;
|
||||||
|
|
||||||
/**
|
|
||||||
* 组织编码
|
|
||||||
*/
|
|
||||||
@ExcelProperty(value = "外部编码")
|
|
||||||
private String orgCode;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -31,12 +31,6 @@ public class SisDeviceManageVo implements Serializable {
|
|||||||
@ExcelProperty(value = "主键id")
|
@ExcelProperty(value = "主键id")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/**
|
|
||||||
* 设备编码
|
|
||||||
*/
|
|
||||||
@ExcelProperty(value = "设备编码")
|
|
||||||
private String deviceNo;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 设备名称
|
* 设备名称
|
||||||
*/
|
*/
|
||||||
@ -85,5 +79,29 @@ public class SisDeviceManageVo implements Serializable {
|
|||||||
@ExcelProperty(value = "门禁id")
|
@ExcelProperty(value = "门禁id")
|
||||||
private Long accessControlId;
|
private Long accessControlId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备账号
|
||||||
|
*/
|
||||||
|
private String deviceAccount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备密码
|
||||||
|
*/
|
||||||
|
private String devicePwd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 录像机账号
|
||||||
|
*/
|
||||||
|
private String vcrAccount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 录像机密码
|
||||||
|
*/
|
||||||
|
private String vcrPwd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备在录像机的通道编码
|
||||||
|
*/
|
||||||
|
private String channelNo;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -90,7 +90,11 @@ public class VideoAlarmService {
|
|||||||
* @param alarmReportData 告警数据
|
* @param alarmReportData 告警数据
|
||||||
*/
|
*/
|
||||||
private void handleFacialCapture(UvModel.AlarmReportInfo alarmReportData) {
|
private void handleFacialCapture(UvModel.AlarmReportInfo alarmReportData) {
|
||||||
//TODO
|
// 查询设备是偶绑定门径
|
||||||
|
|
||||||
|
// 校验人脸是偶有同行此门禁的权限
|
||||||
|
|
||||||
|
// 如果有通行权限,则打开门禁
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,33 +1,35 @@
|
|||||||
package org.dromara.sis.service.impl;
|
package org.dromara.sis.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import cn.hutool.core.util.StrUtil;
|
||||||
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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
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.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.DoorDeviceService;
|
||||||
import org.dromara.sis.sdk.e8.domain.door.req.DoorDeviceAddReq;
|
import org.dromara.sis.sdk.e8.domain.door.req.DoorDeviceAddReq;
|
||||||
import org.dromara.sis.sdk.e8.domain.door.res.DoorDeviceAddRes;
|
import org.dromara.sis.sdk.e8.domain.door.res.DoorDeviceAddRes;
|
||||||
|
import org.dromara.sis.service.ISisAccessControlService;
|
||||||
import org.dromara.sis.service.ISisDeviceManageService;
|
import org.dromara.sis.service.ISisDeviceManageService;
|
||||||
import org.springframework.stereotype.Service;
|
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 org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 门禁设备Service业务层处理
|
* 门禁设备Service业务层处理
|
||||||
@ -42,7 +44,11 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
|
|||||||
|
|
||||||
private final SisAccessControlMapper baseMapper;
|
private final SisAccessControlMapper baseMapper;
|
||||||
private final DoorDeviceService doorDeviceService;
|
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 门禁设备
|
* @return 门禁设备
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public SisAccessControlVo queryById(Long id){
|
public SisAccessControlVo queryById(Long id) {
|
||||||
return baseMapper.selectVoById(id);
|
return baseMapper.selectVoById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,8 +93,6 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
|
|||||||
lqw.orderByAsc(SisAccessControl::getId);
|
lqw.orderByAsc(SisAccessControl::getId);
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getAccessCode()), SisAccessControl::getAccessCode, bo.getAccessCode());
|
lqw.eq(StringUtils.isNotBlank(bo.getAccessCode()), SisAccessControl::getAccessCode, bo.getAccessCode());
|
||||||
lqw.like(StringUtils.isNotBlank(bo.getAccessName()), SisAccessControl::getAccessName, bo.getAccessName());
|
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(StringUtils.isNotBlank(bo.getAccessIp()), SisAccessControl::getAccessIp, bo.getAccessIp());
|
||||||
lqw.eq(bo.getAccessPort() != null, SisAccessControl::getAccessPort, bo.getAccessPort());
|
lqw.eq(bo.getAccessPort() != null, SisAccessControl::getAccessPort, bo.getAccessPort());
|
||||||
lqw.eq(bo.getAccessType() != null, SisAccessControl::getAccessType, bo.getAccessType());
|
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(bo.getControlType() != null, SisAccessControl::getControlType, bo.getControlType());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getControlCode()), SisAccessControl::getControlCode, bo.getControlCode());
|
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.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;
|
return lqw;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,12 +118,19 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean insertByBo(SisAccessControlBo bo) {
|
public Boolean insertByBo(SisAccessControlBo bo) {
|
||||||
|
// 校验楼层是否存在
|
||||||
|
RemoteFloorVo remoteFloorVo = remoteFloorService.queryByFloorId(bo.getFloorId());
|
||||||
|
Assert.notNull(remoteFloorVo, "当前楼层信息不存在。");
|
||||||
SisAccessControl add = MapstructUtils.convert(bo, SisAccessControl.class);
|
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, "数据处理失败");
|
Assert.notNull(add, "数据处理失败");
|
||||||
boolean flag = baseMapper.insert(add) > 0;
|
boolean flag = baseMapper.insert(add) > 0;
|
||||||
if (flag) {
|
if (flag) {
|
||||||
// 添加E8门禁设备
|
// 添加E8门禁设备
|
||||||
if (add.getControlType() == 2L){
|
if (add.getControlType() == 2L) {
|
||||||
log.info("开始同步写入E8门禁");
|
log.info("开始同步写入E8门禁");
|
||||||
DoorDeviceAddReq e8DoorReq = new DoorDeviceAddReq();
|
DoorDeviceAddReq e8DoorReq = new DoorDeviceAddReq();
|
||||||
// 设备类型
|
// 设备类型
|
||||||
@ -137,7 +153,7 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
|
|||||||
DoorDeviceAddRes e8DoorRes = doorDeviceService.addDoorDevice(e8DoorReq);
|
DoorDeviceAddRes e8DoorRes = doorDeviceService.addDoorDevice(e8DoorReq);
|
||||||
Assert.notNull(e8DoorRes, "写入E8平台失败");
|
Assert.notNull(e8DoorRes, "写入E8平台失败");
|
||||||
|
|
||||||
log.info("E8平台写入成功,将返回值:{},回写到{}门禁中!",e8DoorRes.getId(),add.getAccessName());
|
log.info("E8平台写入成功,将返回值:{},回写到{}门禁中!", e8DoorRes.getId(), add.getAccessName());
|
||||||
SisAccessControlBo wbBo = new SisAccessControlBo();
|
SisAccessControlBo wbBo = new SisAccessControlBo();
|
||||||
wbBo.setId(add.getId());
|
wbBo.setId(add.getId());
|
||||||
wbBo.setOutCode(e8DoorRes.getId().toString());
|
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();
|
SisDeviceManageBo device = new SisDeviceManageBo();
|
||||||
device.setId(bo.getDeviceId());
|
device.setId(bo.getDeviceId());
|
||||||
device.setAccessControlId(add.getId());
|
device.setAccessControlId(add.getId());
|
||||||
@ -173,7 +189,7 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
|
|||||||
/**
|
/**
|
||||||
* 保存前的数据校验
|
* 保存前的数据校验
|
||||||
*/
|
*/
|
||||||
private void validEntityBeforeSave(SisAccessControl entity){
|
private void validEntityBeforeSave(SisAccessControl entity) {
|
||||||
//TODO 做一些数据校验,如唯一约束
|
//TODO 做一些数据校验,如唯一约束
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -186,7 +202,7 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||||
if(isValid){
|
if (isValid) {
|
||||||
//TODO 做一些业务上的校验,判断是否需要校验
|
//TODO 做一些业务上的校验,判断是否需要校验
|
||||||
}
|
}
|
||||||
return baseMapper.deleteByIds(ids) > 0;
|
return baseMapper.deleteByIds(ids) > 0;
|
||||||
|
@ -74,7 +74,6 @@ public class SisDeviceManageServiceImpl implements ISisDeviceManageService {
|
|||||||
Map<String, Object> params = bo.getParams();
|
Map<String, Object> params = bo.getParams();
|
||||||
LambdaQueryWrapper<SisDeviceManage> lqw = Wrappers.lambdaQuery();
|
LambdaQueryWrapper<SisDeviceManage> lqw = Wrappers.lambdaQuery();
|
||||||
lqw.orderByAsc(SisDeviceManage::getId);
|
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.like(StringUtils.isNotBlank(bo.getDeviceName()), SisDeviceManage::getDeviceName, bo.getDeviceName());
|
||||||
lqw.eq(StringUtils.isNotBlank(bo.getDeviceIp()), SisDeviceManage::getDeviceIp, bo.getDeviceIp());
|
lqw.eq(StringUtils.isNotBlank(bo.getDeviceIp()), SisDeviceManage::getDeviceIp, bo.getDeviceIp());
|
||||||
lqw.eq(bo.getDevicePort() != null, SisDeviceManage::getDevicePort, bo.getDevicePort());
|
lqw.eq(bo.getDevicePort() != null, SisDeviceManage::getDevicePort, bo.getDevicePort());
|
||||||
|
Loading…
Reference in New Issue
Block a user