增加门禁设备
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run

This commit is contained in:
15683799673 2025-06-29 02:59:43 +08:00
parent 6b1e9253af
commit 8b065703cd
16 changed files with 315 additions and 94 deletions

View 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>

View File

@ -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;
}

View File

@ -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>

View File

@ -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>

View File

@ -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);
}
}

View File

@ -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>

View File

@ -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 = "主键不能为空")

View File

@ -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;
} }

View File

@ -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;
} }

View File

@ -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
*/ */

View File

@ -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;
} }

View File

@ -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;
} }

View File

@ -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;
} }

View File

@ -90,7 +90,11 @@ public class VideoAlarmService {
* @param alarmReportData 告警数据 * @param alarmReportData 告警数据
*/ */
private void handleFacialCapture(UvModel.AlarmReportInfo alarmReportData) { private void handleFacialCapture(UvModel.AlarmReportInfo alarmReportData) {
//TODO // 查询设备是偶绑定门径
// 校验人脸是偶有同行此门禁的权限
// 如果有通行权限则打开门禁
} }
/** /**

View File

@ -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;

View File

@ -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());