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