diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/AccessControlController.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/AccessControlController.java deleted file mode 100644 index c26d76b1..00000000 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/AccessControlController.java +++ /dev/null @@ -1,64 +0,0 @@ -package org.dromara.sis.controller; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.dromara.common.core.domain.R; -import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.sis.sdk.e8.AccessControlService; -import org.dromara.sis.sdk.e8.domain.accesscontrol.req.RemoteOpenDoorReq; -import org.dromara.sis.sdk.e8.domain.accesscontrol.res.AccessRecordFindRes; -import org.dromara.sis.sdk.e8.domain.QueryDto; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author lsm - * @apiNote AccessControlController - * @since 2025/6/24 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -@RequestMapping("/e8accessControl") -public class AccessControlController { - - private final AccessControlService accessControlService; - - /** - * 远程开门 - * - * @param req 传参 - * @return Boolean - */ - @PostMapping("/remoteOpenDoor") - public R remoteOpenDoor(RemoteOpenDoorReq req) { - log.info("E8远程开门 入参:{}", req); - - Boolean flag = accessControlService.remoteOpenDoor(req); - - if (flag) { - return R.ok(); - } else { - return R.fail("E8远程开门,调用失败!"); - } - } - - /** - * 获取门禁记录列表 - * - * @param dto 查询参数 - * @return IPage - */ - @PostMapping("/getPageAccessRecordList") - public R> getPageAccessRecordList(QueryDto dto) { - log.info("E8获取门禁记录列表 入参:{}", dto); - TableDataInfo page = accessControlService.getPageAccessRecordList(dto); - if (page == null) { - return R.fail("E8获取门禁记录列表,调用失败!"); - } else { - return R.ok(page); - } - } - -} diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/e8/AccessControlController.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/e8/AccessControlController.java new file mode 100644 index 00000000..6459b2b8 --- /dev/null +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/e8/AccessControlController.java @@ -0,0 +1,108 @@ +package org.dromara.sis.controller.e8; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.dromara.common.core.domain.R; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.sis.sdk.e8.AccessControlService; +import org.dromara.sis.sdk.e8.domain.accessControl.req.CustomerAuthAddReq; +import org.dromara.sis.sdk.e8.domain.accessControl.req.RemoteOpenDoorReq; +import org.dromara.sis.sdk.e8.domain.accessControl.res.AccessRecordFindRes; +import org.dromara.sis.sdk.e8.domain.QueryDto; +import org.dromara.sis.sdk.e8.domain.accessControl.res.CustomerAuthFindRes; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author lsm + * @apiNote AccessControlController + * @since 2025/6/24 + */ +@Slf4j +@RestController +@RequiredArgsConstructor +@RequestMapping("/e8accessControl") +public class AccessControlController { + + private final AccessControlService accessControlService; + + /** + * 远程开门 + * + * @param req 传参 + * @return Boolean + */ + @PostMapping("/remoteOpenDoor") + public R remoteOpenDoor(@RequestBody RemoteOpenDoorReq req) { + log.info("E8远程开门 入参:{}", req); + + Boolean flag = accessControlService.remoteOpenDoor(req); + + if (flag) { + return R.ok(); + } else { + return R.fail("E8远程开门,调用失败!"); + } + } + + /** + * 获取门禁记录列表 + * + * @param dto 查询参数 + * @return IPage + * @apiNote 获取参数示例 {"maxResultCount":10,"pageIndex":1,"queryDto":{"isViewFullData":false}} + */ + @PostMapping("/getPageAccessRecordList") + public R> getPageAccessRecordList(@RequestBody QueryDto dto) { + log.info("E8获取门禁记录列表 入参:{}", dto); + TableDataInfo page = accessControlService.getPageAccessRecordList(dto); + if (page == null) { + return R.fail("E8获取门禁记录列表,调用失败!"); + } else { + return R.ok(page); + } + } + + /** + * 人员授权 + * + * @param req 传参 + * @return Boolean + * @apiNote 参数示例 {"accessAuthModel":0,"authData":[{"floors":[],"gatewayType":1,"id":528705580163141,"type":0}],"authType":0,"elevatorAuthModel":1,"endTime":"2025-07-2511: 23: 39","personIds":[539696740646981],"scheduleId":1,"startTime":"2025-06-2511: 23: 39"} + */ + @PostMapping("/addCustomerAuth") + public R addCustomerAuth(@RequestBody CustomerAuthAddReq req) { + log.info("E8人员授权 入参:{}", req); + + Boolean flag = accessControlService.addCustomerAuth(req); + + if (flag) { + return R.ok(); + } else { + return R.fail("E8人员授权,调用失败!"); + } + } + + /** + * 获取人员权限分页列表 + * + * @param dto 获取参数 + * @return TableDataInfo + * @apiNote 获取参数示例 {"maxResultCount":10,"pageIndex":1,"queryDto":{"isViewFullData":false}} + */ + @PostMapping("getPageCustomerAuth") + public R> getPageCustomerAuth(@RequestBody QueryDto dto) { + log.info("E8获取人员权限分页列表 入参:{}", dto); + + TableDataInfo page = accessControlService.getPageCustomerAuth(dto); + + if (page == null) { + return R.fail("E8获取人员权限分页列表,调用失败!"); + } else { + return R.ok(page); + } + } + +} diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/DoorDeviceController.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/e8/DoorDeviceController.java similarity index 90% rename from ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/DoorDeviceController.java rename to ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/e8/DoorDeviceController.java index d202e950..2e256be6 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/DoorDeviceController.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/controller/e8/DoorDeviceController.java @@ -1,4 +1,4 @@ -package org.dromara.sis.controller; +package org.dromara.sis.controller.e8; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -9,7 +9,6 @@ import org.dromara.sis.sdk.e8.domain.door.req.DoorDeviceAddReq; import org.dromara.sis.sdk.e8.domain.door.req.DoorDeviceUpdateReq; import org.dromara.sis.sdk.e8.domain.door.res.DoorDeviceAddRes; import org.dromara.sis.sdk.e8.domain.door.res.DoorDeviceFindRes; -import org.dromara.sis.sdk.e8.domain.door.res.DoorDeviceUpdateRes; import org.dromara.sis.sdk.e8.domain.QueryDto; import org.springframework.util.ObjectUtils; import org.springframework.web.bind.annotation.*; @@ -70,15 +69,15 @@ public class DoorDeviceController { * @return Boolean */ @PostMapping("/updateDoorDevice") - public R updateDoorDevice(@RequestBody DoorDeviceUpdateReq updateReq) { + public R updateDoorDevice(@RequestBody DoorDeviceUpdateReq updateReq) { log.info("E8接口门禁信息修改 入参={}", updateReq); - DoorDeviceUpdateRes doorDevice = doorDeviceService.updateDoorDevice(updateReq); + Boolean flag = doorDeviceService.updateDoorDevice(updateReq); - if (doorDevice == null) { - return R.fail("E8接口门禁信息修改,调用失败!"); + if (flag) { + return R.ok(); } else { - return R.ok(doorDevice); + return R.fail("E8接口门禁信息修改,调用失败!"); } } diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/vo/SisDevicePointVo.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/vo/SisDevicePointVo.java index 8e818878..ef84ef44 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/vo/SisDevicePointVo.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/domain/vo/SisDevicePointVo.java @@ -13,7 +13,6 @@ import java.io.Serializable; import java.util.Date; - /** * 宇视设备点位(通道)视图对象 sis_device_point * @@ -42,20 +41,17 @@ public class SisDevicePointVo implements Serializable { /** * 视频协议 1:onvif 2: -rtsp + * rtsp */ - @ExcelProperty(value = "视频协议 1:onvif 2: -rtsp") + @ExcelProperty(value = "视频协议 1:onvif 2:rtsp") private Long video; /** * 传输协议(AIBOX 需要,一 -体机不需要) 1: tcp 2: -udp + * 体机不需要) 1: tcp 2: + * udp */ - @ExcelProperty(value = "传输协议(AIBOX 需要,一 -体机不需要) 1: tcp 2: -udp") + @ExcelProperty(value = "传输协议(AIBOX 需要,一体机不需要) 1:tcp 2:udp") private Long transportType; /** @@ -66,11 +62,10 @@ udp") /** * rtsp 地址(当视频协议为 -rtsp 时,该字段必填) + * rtsp 时,该字段必填) */ @ExcelProperty(value = "rtsp 地址", converter = ExcelDictConvert.class) - @ExcelDictFormat(readConverterExp = "当=视频协议为 -rtsp,时=,该字段必填") + @ExcelDictFormat(readConverterExp = "当=视频协议为rtsp, 时 =,该字段必填") private String rtspAddr; /** @@ -99,24 +94,19 @@ rtsp,时=,该字段必填") /** * onvif 设备码流添加方 -式:1:主码流 2:自定 -义码流 + 式:1:主码流 2:自定 + 义码流 */ - @ExcelProperty(value = "onvif 设备码流添加方 -式:1:主码流 2:自定 -义码流") + @ExcelProperty(value = "onvif 设备码流添加方式:1:主码流 2:自定义码流") private Long videoType; /** * 码流 id:当选择自定义码 -流时,该字段必填,值为 -获取设备码流信息接口返 -回的码流 id + 流时,该字段必填,值为 + 获取设备码流信息接口返 + 回的码流 id */ - @ExcelProperty(value = "码流 id:当选择自定义码 -流时,该字段必填,值为 -获取设备码流信息接口返 -回的码流 id") + @ExcelProperty(value = "码流 id:当选择自定义码流时,该字段必填,值为获取设备码流信息接口返回的码流 id") private Long videoId; /** diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/AccessControlService.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/AccessControlService.java index 00d39f21..726be5e0 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/AccessControlService.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/AccessControlService.java @@ -1,9 +1,12 @@ package org.dromara.sis.sdk.e8; import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.sis.sdk.e8.domain.accesscontrol.req.RemoteOpenDoorReq; -import org.dromara.sis.sdk.e8.domain.accesscontrol.res.AccessRecordFindRes; +import org.dromara.sis.sdk.e8.domain.accessControl.req.CustomerAuthAddReq; +import org.dromara.sis.sdk.e8.domain.accessControl.req.CustomerAuthFindReq; +import org.dromara.sis.sdk.e8.domain.accessControl.req.RemoteOpenDoorReq; +import org.dromara.sis.sdk.e8.domain.accessControl.res.AccessRecordFindRes; import org.dromara.sis.sdk.e8.domain.QueryDto; +import org.dromara.sis.sdk.e8.domain.accessControl.res.CustomerAuthFindRes; /** * @author lsm @@ -29,19 +32,19 @@ public interface AccessControlService { */ TableDataInfo getPageAccessRecordList(QueryDto dto); -// /** -// * 人员授权 -// * -// * @param imageFile 传参 -// * @return Boolean -// */ -// Boolean addCustomerAuth(Byte[] imageFile); + /** + * 人员授权 + * + * @param req 传参 + * @return Boolean + */ + Boolean addCustomerAuth(CustomerAuthAddReq req); -// /** -// * 获取人员权限分页列表 -// * -// * @param dto 传参 -// * @return -// */ -// IPage getPageAccessControl(QueryDto dto); + /** + * 获取人员权限分页列表 + * + * @param dto 传参 + * @return TableDataInfo + */ + TableDataInfo getPageCustomerAuth(QueryDto dto); } diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/DoorDeviceService.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/DoorDeviceService.java index a0f8603e..f50bbaf5 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/DoorDeviceService.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/DoorDeviceService.java @@ -45,7 +45,7 @@ public interface DoorDeviceService { * @param updateReq 入参 * @return DoorDeviceUpdateRes */ - DoorDeviceUpdateRes updateDoorDevice(DoorDeviceUpdateReq updateReq); + Boolean updateDoorDevice(DoorDeviceUpdateReq updateReq); /** * 删除门禁信息 diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/req/AccessRecordFindReq.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/req/AccessRecordFindReq.java index dbe63238..3cabd92c 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/req/AccessRecordFindReq.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/req/AccessRecordFindReq.java @@ -1,4 +1,4 @@ -package org.dromara.sis.sdk.e8.domain.accesscontrol.req; +package org.dromara.sis.sdk.e8.domain.accessControl.req; import lombok.Data; diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/req/CustomerAuthAddReq.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/req/CustomerAuthAddReq.java new file mode 100644 index 00000000..9d7c66cb --- /dev/null +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/req/CustomerAuthAddReq.java @@ -0,0 +1,112 @@ +package org.dromara.sis.sdk.e8.domain.accessControl.req; + +import lombok.Data; + +import java.util.List; + +/** + * @author lsm + * @apiNote CustomerAuthAddReq + * @since 2025/6/25 + */ +@Data +public class CustomerAuthAddReq { + + /** + * 门禁授权类型 0:人员 + */ + private Integer authType; + + /** + * 时区ID + */ + private Long scheduleId; + + /** + * 人员ID集合 + */ + private List personIds; + + /** + * 授权数据 + */ + private List authData; + + /** + * 开始时间 + */ + private String startTime; + + /** + * 结束时间 + */ + private String endTime; + + /** + * 授权日期类型 0:默认 1:一月 2:半年 3:一年 4:三年 5:永久 + */ + private Integer dateType; + + @Data + public static class AuthGroupData { + + /** + * 门/电梯ID + */ + private Long id; + + /** + * 类型 0:门 1:电梯 + */ + private Integer type; + + /** + * 出入口类型 0:未知 1:入口 2:出口 + */ + private Integer gatewayType; + + /** + * 楼层 + */ + private List floors; + } + + @Data + public static class Floor { + + /** + * 楼层权限标识 + */ + private Long floorId; + + /** + * 楼层名称 + */ + private String floorName; + + /** + * 是否前门可用 + */ + private Boolean isFrontDoor; + + /** + * 是否后门可用 + */ + private Boolean isBackDoor; + + /** + * 是否选择前门 + */ + private Boolean isSelectFrontDoor; + + /** + * 是否选择后门 + */ + private Boolean isSelectBackDoor; + + /** + * 是否公共门 + */ + private Boolean isCommonFloor; + } +} diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/req/CustomerAuthFindReq.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/req/CustomerAuthFindReq.java new file mode 100644 index 00000000..637f16a5 --- /dev/null +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/req/CustomerAuthFindReq.java @@ -0,0 +1,52 @@ +package org.dromara.sis.sdk.e8.domain.accessControl.req; + +import lombok.Data; + +/** + * @author lsm + * @apiNote CustomerAuthFindReq + * @since 2025/6/25 + */ +@Data +public class CustomerAuthFindReq { + + /** + * 是否脱敏 true脱敏,敏感信息加***隐藏;false完整显示; + */ + private Boolean isViewFullData; + + /** + * 客户编号 + */ + private String customerNo; + + /** + * 客户姓名 + */ + private String customerName; + + /** + * 客户手机号码 + */ + private String customerMobile; + + /** + * 组织ID + */ + private Long organId; + + /** + * 门/电梯ID + */ + private Long itemId; + + /** + * 授权开始时间 + */ + private String authStartTime; + + /** + * 授权结束时间 + */ + private String authEndTime; +} diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/req/RemoteOpenDoorReq.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/req/RemoteOpenDoorReq.java index 3322910d..c4b98512 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/req/RemoteOpenDoorReq.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/req/RemoteOpenDoorReq.java @@ -1,4 +1,4 @@ -package org.dromara.sis.sdk.e8.domain.accesscontrol.req; +package org.dromara.sis.sdk.e8.domain.accessControl.req; import lombok.Data; diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/res/AccessRecordFindRes.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/res/AccessRecordFindRes.java index dcd3cb5e..4d92ba1f 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/res/AccessRecordFindRes.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/res/AccessRecordFindRes.java @@ -1,4 +1,4 @@ -package org.dromara.sis.sdk.e8.domain.accesscontrol.res; +package org.dromara.sis.sdk.e8.domain.accessControl.res; import lombok.Data; diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/res/CustomerAuthFindRes.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/res/CustomerAuthFindRes.java new file mode 100644 index 00000000..0828a586 --- /dev/null +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/domain/accesscontrol/res/CustomerAuthFindRes.java @@ -0,0 +1,210 @@ +package org.dromara.sis.sdk.e8.domain.accessControl.res; + +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @author lsm + * @apiNote CustomerAuthFindRes + * @since 2025/6/25 + */ +@Data +public class CustomerAuthFindRes { + + /** + * 主键 + */ + private Long id; + + /** + * 创建时间 + */ + private Date creationTime; + + /** + * 创建人 + */ + private String creatorId; + + /** + * 最后修改时间 + */ + private Date lastModificationTime; + + /** + * 最后修改人 + */ + private String lastModifierId; + + /** + * 是否删除 + */ + private Boolean isDeleted; + + /** + * 删除人 + */ + private String deleterId; + + /** + * 删除时间 + */ + private Date deletionTime; + + /** + * 客户ID + */ + private Long personId; + + /** + * 主设备ID + */ + private Long mainDeviceId; + + /** + * 读头ID + */ + private Long readerId; + + /** + * 组织ID + */ + private Long organId; + + /** + * 组织名称 + */ + private String orgName; + + /** + * 区域ID + */ + private Long areaId; + + /** + * 区域名称 + */ + private String areaName; + + /** + * 客户姓名 + */ + private String customerName; + + /** + * 客户编号 + */ + private String customerNo; + + /** + * 客户手机号码 + */ + private String mobile; + + /** + * 门/电梯名称 + */ + private String itemName; + + /** + * 是否显示敏感信息 true隐藏 false显示 + */ + private Boolean isViewFullData; + + /** + * 授权楼层字符串 + */ + private String content; + + /** + * 授权开始时间 + */ + private Date startTime; + + /** + * 授权结束时间 + */ + private Date endTime; + + /** + * 设施类型 0:门禁 1:电梯 + */ + private Integer facilityType; + + /** + * 时区ID + */ + private Long scheduleId; + + /** + * 时区名称 + */ + private String scheduleName; + + /** + * 授权人 + */ + private String authName; + + /** + * 授权时间段 + */ + private String duration; + + /** + * 出入口类型 0:未知 1:入口 2:出口 + */ + private Integer gatewayType; + + /** + * 出入口类型描述 + */ + private String gatewayTypeDesc; + + /** + * 授权楼层 + */ + private List floors; + + @Data + public static class Floor { + + /** + * 楼层权限标识 + */ + private Long floorId; + + /** + * 楼层名称 + */ + private String floorName; + + /** + * 是否前门可用 + */ + private Boolean isFrontDoor; + + /** + * 是否后门可用 + */ + private Boolean isBackDoor; + + /** + * 是否选择前门 + */ + private Boolean isSelectFrontDoor; + + /** + * 是否选择后门 + */ + private Boolean isSelectBackDoor; + + /** + * 是否公共门 + */ + private Boolean isCommonFloor; + } + +} diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/impl/AccessControlServiceImpl.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/impl/AccessControlServiceImpl.java index 0d578506..8d5d4124 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/impl/AccessControlServiceImpl.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/impl/AccessControlServiceImpl.java @@ -7,11 +7,14 @@ import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboService; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.sis.sdk.e8.AccessControlService; -import org.dromara.sis.sdk.e8.domain.accesscontrol.req.AccessRecordFindReq; -import org.dromara.sis.sdk.e8.domain.accesscontrol.req.RemoteOpenDoorReq; -import org.dromara.sis.sdk.e8.domain.accesscontrol.res.AccessRecordFindRes; +import org.dromara.sis.sdk.e8.domain.accessControl.req.AccessRecordFindReq; +import org.dromara.sis.sdk.e8.domain.accessControl.req.CustomerAuthAddReq; +import org.dromara.sis.sdk.e8.domain.accessControl.req.CustomerAuthFindReq; +import org.dromara.sis.sdk.e8.domain.accessControl.req.RemoteOpenDoorReq; +import org.dromara.sis.sdk.e8.domain.accessControl.res.AccessRecordFindRes; import org.dromara.sis.sdk.e8.domain.ApiResp; import org.dromara.sis.sdk.e8.domain.QueryDto; +import org.dromara.sis.sdk.e8.domain.accessControl.res.CustomerAuthFindRes; import org.dromara.sis.sdk.e8.utils.E8ApiUtil; import org.springframework.stereotype.Service; @@ -100,8 +103,58 @@ public class AccessControlServiceImpl implements AccessControlService { /** * 人员授权 * - * @param imageFile 传参 + * @param req 传参 * @return Boolean */ + @Override + public Boolean addCustomerAuth(CustomerAuthAddReq req) { + // 创建一个参数映射,用于存储API请求的参数 + Map params = BeanUtil.beanToMap(req); + + // 调用API工具类的POST方法,传入参数和API路径,获取API响应对象 + ApiResp apiResp = e8ApiUtil.doPost(params, PERSON_AUTHORIZATION); + + if (!apiResp.getSuccess()) log.error("调用E8人员授权失败,errorMsg:{}", apiResp); + + // 返回API调用是否成功 + return apiResp.getSuccess(); + } + + /** + * 获取人员权限分页列表 + * + * @param dto 传参 + * @return TableDataInfo + */ + @Override + public TableDataInfo getPageCustomerAuth(QueryDto dto) { + // 创建一个参数映射,用于存储API请求的参数 + Map params = new HashMap<>(); + // 将分页索引和最大结果数放入参数映射中 + params.put("pageIndex", dto.getPageIndex()); + params.put("maxResultCount", dto.getMaxResultCount()); + // 将查询DTO转换为JSON字符串,再转换为Map对象,然后放入参数映射中 + params.put("queryDto", JSONUtil.toBean(JSONUtil.toJsonStr(dto.getQueryDto()), CustomerAuthFindReq.class)); + + // 调用API工具类的POST方法,传入参数和API路径,获取API响应对象 + ApiResp apiResp = e8ApiUtil.doPost(params, GET_PAGE_PERSON_AUTHORIZATION_PAGE_LIST); + // 如果API响应不成功,则返回null + if (!apiResp.getSuccess()) { + log.error("调用E8获取人员权限分页列表失败,errorMsg:{}", apiResp); + return null; + } + + // 将API响应的结果转换为JSON字符串,再转换为Map对象 + Map result = JSONUtil.toBean(JSONUtil.toJsonStr(apiResp.getResult()), new TypeReference<>() { + }, false); + // 创建一个分页对象,传入分页索引和最大结果数 + TableDataInfo tableData = new TableDataInfo<>(); + // 从结果映射中获取总记录数,转换为长整型后设置到分页对象中 + tableData.setTotal(Long.parseLong(result.get("total").toString())); + // 从结果映射中获取项目列表,转换为访问记录信息列表后设置到分页对象中 + tableData.setRows(JSONUtil.toList(JSONUtil.toJsonStr(result.get("item")), CustomerAuthFindRes.class)); + // 返回填充了数据的分页对象 + return tableData; + } } diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/impl/DoorDeviceServiceImpl.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/impl/DoorDeviceServiceImpl.java index b5c2e4c6..649e2eeb 100644 --- a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/impl/DoorDeviceServiceImpl.java +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/impl/DoorDeviceServiceImpl.java @@ -13,7 +13,6 @@ import org.dromara.sis.sdk.e8.domain.door.req.DoorDeviceFindReq; import org.dromara.sis.sdk.e8.domain.door.req.DoorDeviceUpdateReq; import org.dromara.sis.sdk.e8.domain.door.res.DoorDeviceAddRes; import org.dromara.sis.sdk.e8.domain.door.res.DoorDeviceFindRes; -import org.dromara.sis.sdk.e8.domain.door.res.DoorDeviceUpdateRes; import org.dromara.sis.sdk.e8.domain.QueryDto; import org.dromara.sis.sdk.e8.utils.E8ApiUtil; import org.springframework.stereotype.Service; @@ -135,7 +134,7 @@ public class DoorDeviceServiceImpl implements DoorDeviceService { * @return DoorDeviceUpdateRes */ @Override - public DoorDeviceUpdateRes updateDoorDevice(DoorDeviceUpdateReq updateReq) { + public Boolean updateDoorDevice(DoorDeviceUpdateReq updateReq) { // 构造门设备更新API的URL String api = DOOR_DEVICE_UPDATE.replace("{id}", updateReq.getId().toString()); @@ -146,13 +145,9 @@ public class DoorDeviceServiceImpl implements DoorDeviceService { // 调用API进行门设备信息更新 ApiResp apiResp = e8ApiUtil.doPost(params, api); - if (!apiResp.getSuccess()) { - log.error("修改E8门禁信息,errorMsg:{}", apiResp); - // 如果响应不成功,则返回null - return null; - } + if (!apiResp.getSuccess()) log.error("修改E8门禁信息,errorMsg:{}", apiResp); - return JSONUtil.toBean(JSONUtil.toJsonStr(apiResp.getResult()), DoorDeviceUpdateRes.class); + return apiResp.getSuccess(); } /** @@ -170,9 +165,7 @@ public class DoorDeviceServiceImpl implements DoorDeviceService { // 调用E8 API工具类进行HTTP DELETE请求,参数为构造的API路径和null(因为DELETE请求通常不需要请求体) ApiResp apiResp = e8ApiUtil.doGetOrDel(api, null, true); - if (!apiResp.getSuccess()) { - log.error("删除E8门禁信息,errorMsg:{}", apiResp); - } + if (!apiResp.getSuccess()) log.error("删除E8门禁信息,errorMsg:{}", apiResp); // 返回API响应的成功标志 return apiResp.getSuccess(); diff --git a/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/impl/VoucherControlServiceImpl.java b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/impl/VoucherControlServiceImpl.java new file mode 100644 index 00000000..4ccffb9f --- /dev/null +++ b/ruoyi-modules/Sis/src/main/java/org/dromara/sis/sdk/e8/impl/VoucherControlServiceImpl.java @@ -0,0 +1,12 @@ +package org.dromara.sis.sdk.e8.impl; + +import lombok.Data; + +/** + * @author lsm + * @apiNote VoucherControlServiceImpl + * @since 2025/6/25 + */ +@Data +public class VoucherControlServiceImpl { +}