feat(E8Service): 新增门禁控制和人员信息管理功能- 添加 AccessControlController、AccessControlService 和 AccessControlServiceImpl 类实现门禁控制功能
- 新增 CustomerService 和 CustomerServiceImpl 类提供人员信息管理服务 - 创建相关请求和响应对象类,如 RemoteOpenDoorReq、AccessRecordFindRes等 - 添加 E8ApiUtil 工具类处理与第三方 API 的交互 - 新增 AreaTypeEnum 枚举类表示区域类型
This commit is contained in:
27
ruoyi-modules/E8Service/Dockerfile
Normal file
27
ruoyi-modules/E8Service/Dockerfile
Normal file
@@ -0,0 +1,27 @@
|
||||
# 贝尔实验室 Spring 官方推荐镜像 JDK下载地址 https://bell-sw.com/pages/downloads/
|
||||
FROM bellsoft/liberica-openjdk-debian:17.0.11-cds
|
||||
#FROM bellsoft/liberica-openjdk-debian:21.0.5-cds
|
||||
#FROM findepi/graalvm:java17-native
|
||||
|
||||
LABEL maintainer="Lion Li"
|
||||
|
||||
RUN mkdir -p /smartparks/E8Service/logs \
|
||||
/smartparks/E8Service/temp \
|
||||
/smartparks/E8Service/agent
|
||||
|
||||
WORKDIR /ruoyi/system
|
||||
|
||||
ENV SERVER_PORT=9201 LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS=""
|
||||
|
||||
EXPOSE ${SERVER_PORT}
|
||||
|
||||
ADD ./target/E8Service.jar ./E8Service.jar
|
||||
|
||||
SHELL ["/bin/bash", "-c"]
|
||||
|
||||
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -Dserver.port=${SERVER_PORT} \
|
||||
#-Dskywalking.agent.service_name=ruoyi-system \
|
||||
#-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar \
|
||||
-XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
|
||||
-jar E8Service.jar
|
||||
|
133
ruoyi-modules/E8Service/pom.xml
Normal file
133
ruoyi-modules/E8Service/pom.xml
Normal file
@@ -0,0 +1,133 @@
|
||||
<?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-modules</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>E8Service</artifactId>
|
||||
|
||||
<description>
|
||||
E8Service-e8服务接口
|
||||
</description>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-nacos</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-sentinel</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- RuoYi Common Log -->
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-log</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-service-impl</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-doc</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-mybatis</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-dubbo</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-seata</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-idempotent</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-tenant</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-security</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-translation</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-sensitive</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-common-encrypt</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- RuoYi Api System -->
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-api-system</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-api-resource</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- RuoYi Api System -->
|
||||
<dependency>
|
||||
<groupId>org.dromara</groupId>
|
||||
<artifactId>ruoyi-api-workflow</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<finalName>${project.artifactId}</finalName>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>${spring-boot.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>repackage</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
@@ -0,0 +1,22 @@
|
||||
package org.dromara.E8Service;
|
||||
|
||||
import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;
|
||||
|
||||
/**
|
||||
* 系统模块
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@EnableDubbo
|
||||
@SpringBootApplication
|
||||
public class E8ServiceApplication {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication application = new SpringApplication(E8ServiceApplication.class);
|
||||
application.setApplicationStartup(new BufferingApplicationStartup(2048));
|
||||
application.run(args);
|
||||
System.out.println("(♥◠‿◠)ノ゙ 系统模块启动成功 ლ(´ڡ`ლ)゙ ");
|
||||
}
|
||||
}
|
@@ -0,0 +1,57 @@
|
||||
package org.dromara.E8Service.Service.base;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.dromara.E8Service.domain.QueryDto;
|
||||
import org.dromara.E8Service.domain.custom.req.CustomAddReq;
|
||||
import org.dromara.E8Service.domain.custom.req.CustomFindReq;
|
||||
import org.dromara.E8Service.domain.custom.req.CustomUpdateReq;
|
||||
import org.dromara.E8Service.domain.custom.res.CustomAddRes;
|
||||
import org.dromara.E8Service.domain.custom.res.CustomFindRes;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote CustomerService
|
||||
* @since 2025/6/23
|
||||
*/
|
||||
public interface CustomerService {
|
||||
|
||||
/**
|
||||
* 查询单个人员信息
|
||||
*
|
||||
* @param findReq 传参
|
||||
* @return CustomFindRes
|
||||
*/
|
||||
CustomFindRes findCustomer(CustomFindReq findReq);
|
||||
|
||||
/**
|
||||
* 人员信息分页查询
|
||||
*
|
||||
* @param dto 传参
|
||||
* @return IPage<CustomFindRes>
|
||||
*/
|
||||
IPage<CustomFindRes> findCustomerList(QueryDto dto);
|
||||
|
||||
/**
|
||||
* 新增人员信息
|
||||
*
|
||||
* @param addReq 传参
|
||||
* @return CustomAddRes
|
||||
*/
|
||||
CustomAddRes addCustomer(CustomAddReq addReq);
|
||||
|
||||
/**
|
||||
* 人员信息修改
|
||||
*
|
||||
* @param updateReq 传参
|
||||
* @return Boolean
|
||||
*/
|
||||
Boolean updateCustomer(CustomUpdateReq updateReq);
|
||||
|
||||
/**
|
||||
* 删除人员信息
|
||||
*
|
||||
* @param id 传参
|
||||
* @return Boolean
|
||||
*/
|
||||
Boolean deleteCustomer(Long id);
|
||||
}
|
@@ -0,0 +1,56 @@
|
||||
package org.dromara.E8Service.Service.base;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.dromara.E8Service.domain.QueryDto;
|
||||
import org.dromara.E8Service.domain.lift.req.LiftAddReq;
|
||||
import org.dromara.E8Service.domain.lift.req.LiftUpdateReq;
|
||||
import org.dromara.E8Service.domain.lift.res.LiftFindRes;
|
||||
|
||||
/**
|
||||
* @author zcxlsm
|
||||
* @apiNote LiftService
|
||||
* @since 2025/5/9 18:04
|
||||
*/
|
||||
public interface LiftService {
|
||||
|
||||
/**
|
||||
* 电梯信息分页查询
|
||||
*
|
||||
* @param dto 传参
|
||||
* @return IPage<LiftFindRes>
|
||||
*/
|
||||
IPage<LiftFindRes> getPageList(QueryDto dto);
|
||||
|
||||
/**
|
||||
* 查询电梯楼层
|
||||
*
|
||||
* @param id 传参
|
||||
* @return LiftFindRes
|
||||
*/
|
||||
LiftFindRes getLiftFloor(Long id);
|
||||
|
||||
/**
|
||||
* 添加电梯
|
||||
*
|
||||
* @param addReq 传参
|
||||
* @return Boolean
|
||||
*/
|
||||
Boolean addLift(LiftAddReq addReq);
|
||||
|
||||
/**
|
||||
* 修改电梯信息
|
||||
*
|
||||
* @param updateReq 传参
|
||||
* @return Boolean
|
||||
*/
|
||||
Boolean updateLift(LiftUpdateReq updateReq);
|
||||
|
||||
/**
|
||||
* 删除电梯信息
|
||||
*
|
||||
* @param id 传参
|
||||
* @return Boolean
|
||||
*/
|
||||
Boolean deleteLift(Integer id);
|
||||
}
|
@@ -0,0 +1,171 @@
|
||||
package org.dromara.E8Service.Service.base.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.lang.TypeReference;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.dromara.E8Service.Service.base.CustomerService;
|
||||
import org.dromara.E8Service.domain.ApiResp;
|
||||
import org.dromara.E8Service.domain.QueryDto;
|
||||
import org.dromara.E8Service.domain.custom.req.CustomAddReq;
|
||||
import org.dromara.E8Service.domain.custom.req.CustomFindReq;
|
||||
import org.dromara.E8Service.domain.custom.req.CustomUpdateReq;
|
||||
import org.dromara.E8Service.domain.custom.res.CustomAddRes;
|
||||
import org.dromara.E8Service.domain.custom.res.CustomFindRes;
|
||||
import org.dromara.E8Service.utils.E8ApiUtil;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote CustomerServiceImpl
|
||||
* @since 2025/6/23
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@DubboService
|
||||
public class CustomerServiceImpl implements CustomerService {
|
||||
private final static String CUSTOMER_GET_PAGE_LIST = "/api/E8/customer/get-page-list";
|
||||
private final static String CUSTOMER_GET_FIRST_OR_DEFAULT = "/api/E8/customer/get-first-or-default";
|
||||
private final static String CUSTOMER_CREATE = "/api/E8/customer";
|
||||
private final static String CUSTOMER_UPDATE = "/api/E8/customer/{id}/update";
|
||||
private final static String CUSTOMER_DELETE = "/api/E8/customer/{id}";
|
||||
|
||||
@Resource
|
||||
private E8ApiUtil e8ApiUtil;
|
||||
|
||||
/**
|
||||
* 查询单个人员信息
|
||||
*
|
||||
* @param findReq 传参
|
||||
* @return CustomerInfo
|
||||
*/
|
||||
@Override
|
||||
public CustomFindRes findCustomer(CustomFindReq findReq) {
|
||||
// 将查询请求对象转换为参数映射
|
||||
Map<String, Object> params = BeanUtil.beanToMap(findReq);
|
||||
|
||||
// 调用API接口获取客户信息
|
||||
ApiResp apiResp = e8ApiUtil.doPost(params, CUSTOMER_GET_FIRST_OR_DEFAULT);
|
||||
|
||||
// 检查API调用是否成功
|
||||
if (!apiResp.getSuccess()) {
|
||||
log.info("E8查询人员信息失败 errorMsg:{}", apiResp);
|
||||
// 如果API调用失败,返回null
|
||||
return null;
|
||||
}
|
||||
|
||||
// 将API响应结果转换为CustomFindRes对象并返回
|
||||
return JSONUtil.toBean(JSONUtil.toJsonStr(apiResp.getResult()), CustomFindRes.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 人员信息分页查询
|
||||
*
|
||||
* @param dto 传参
|
||||
* @return IPage<CustomerInfo>
|
||||
*/
|
||||
@Override
|
||||
public IPage<CustomFindRes> findCustomerList(QueryDto dto) {
|
||||
// 创建参数映射,用于存储HTTP请求的参数
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
// 添加分页参数:当前页码和最大结果数量
|
||||
params.put("pageIndex", dto.getPageIndex());
|
||||
params.put("maxResultCount", dto.getMaxResultCount());
|
||||
// 将查询条件对象转换为JSON字符串,并再次转换为Map对象,然后添加到参数映射中
|
||||
params.put("queryDto", JSONUtil.toBean(JSONUtil.toJsonStr(dto.getQueryDto()), CustomFindReq.class));
|
||||
|
||||
// 调用API工具类的POST方法,发送请求到第三方API,并获取响应结果
|
||||
ApiResp apiResp = e8ApiUtil.doPost(params, CUSTOMER_GET_PAGE_LIST);
|
||||
|
||||
|
||||
if (!apiResp.getSuccess()) {
|
||||
log.info("E8人员信息分页查询 errorMsg:{}", apiResp);
|
||||
// 如果API响应不成功,返回null
|
||||
return null;
|
||||
}
|
||||
|
||||
// 将API响应结果转换为Map对象,以便于后续处理
|
||||
Map<String, Object> result = JSONUtil.toBean(JSONUtil.toJsonStr(apiResp.getResult()), new TypeReference<>() {
|
||||
}, false);
|
||||
// 创建一个分页对象,用于存储客户信息列表和分页数据
|
||||
IPage<CustomFindRes> pageInfo = new Page<>(dto.getPageIndex(), dto.getMaxResultCount());
|
||||
// 设置总记录数
|
||||
pageInfo.setTotal(Long.parseLong(result.get("total").toString()));
|
||||
// 将API响应结果中的客户信息列表转换为CustomFindRes对象列表,并设置到分页对象中
|
||||
pageInfo.setRecords(JSONUtil.toList(JSONUtil.toJsonStr(result.get("item")), CustomFindRes.class));
|
||||
|
||||
// 返回分页对象
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增人员信息
|
||||
*
|
||||
* @param addReq 传参
|
||||
* @return Boolean
|
||||
*/
|
||||
@Override
|
||||
public CustomAddRes addCustomer(CustomAddReq addReq) {
|
||||
// 将添加请求对象转换为Map对象,以便后续API调用
|
||||
Map<String, Object> params = BeanUtil.beanToMap(addReq);
|
||||
|
||||
// 执行客户创建API调用,并获取API响应对象
|
||||
ApiResp apiResp = e8ApiUtil.doPost(params, CUSTOMER_CREATE);
|
||||
|
||||
// 检查API调用是否成功
|
||||
if (!apiResp.getSuccess()) {
|
||||
log.info("E8新增人员信息失败 errorMsg:{}", apiResp);
|
||||
// 如果API调用失败,返回null
|
||||
return null;
|
||||
}
|
||||
|
||||
// 返回API调用是否成功的标志
|
||||
return JSONUtil.toBean(JSONUtil.toJsonStr(apiResp.getResult()), CustomAddRes.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 人员信息修改
|
||||
*
|
||||
* @param updateReq 传参
|
||||
* @return Boolean
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateCustomer(CustomUpdateReq updateReq) {
|
||||
// 根据更新请求构建API URL
|
||||
String api = CUSTOMER_UPDATE.replace("{id}", updateReq.getId().toString());
|
||||
|
||||
// 将更新请求对象转换为Map,以便后续API调用
|
||||
Map<String, Object> params = BeanUtil.beanToMap(updateReq);
|
||||
|
||||
// 调用API工具类发送POST请求,并获取API响应对象
|
||||
ApiResp apiResp = e8ApiUtil.doPost(params, api);
|
||||
|
||||
// 返回API调用是否成功的标志
|
||||
return apiResp.getSuccess();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除人员信息
|
||||
*
|
||||
* @param id 传参
|
||||
* @return Boolean
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteCustomer(Long id) {
|
||||
// 构造删除客户的API请求URL
|
||||
String api = CUSTOMER_DELETE.replace("{id}", id.toString());
|
||||
|
||||
// 调用API工具类的 doGetOrDel 方法发送GET或DELETE请求,并获取响应结果
|
||||
ApiResp apiResp = e8ApiUtil.doGetOrDel(api, null, true);
|
||||
|
||||
// 返回API请求是否成功的标志
|
||||
return apiResp.getSuccess();
|
||||
}
|
||||
}
|
@@ -0,0 +1,163 @@
|
||||
package org.dromara.E8Service.Service.base.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.lang.TypeReference;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.dromara.E8Service.Service.base.LiftService;
|
||||
import org.dromara.E8Service.domain.ApiResp;
|
||||
import org.dromara.E8Service.domain.QueryDto;
|
||||
import org.dromara.E8Service.domain.lift.req.LiftAddReq;
|
||||
import org.dromara.E8Service.domain.lift.req.LiftFindReq;
|
||||
import org.dromara.E8Service.domain.lift.req.LiftUpdateReq;
|
||||
import org.dromara.E8Service.domain.lift.res.LiftFindRes;
|
||||
import org.dromara.E8Service.utils.E8ApiUtil;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote LiftServiceImpl
|
||||
* @since 2025/5/9 11:52
|
||||
*/
|
||||
@Service
|
||||
@DubboService
|
||||
public class LiftServiceImpl implements LiftService {
|
||||
|
||||
private static final String GET_PAGE_LIST = "/api/E8Door/man-elevator-management/get-page-list";
|
||||
private static final String GET_LIFT_FLOOR = "/api/E8Door/man-elevator-management/{id}/get-man-elevator-floors";
|
||||
private static final String LIFT_ADD = "/api/E8Door/man-elevator-management";
|
||||
private static final String LIFT_UPDATE = "/api/E8Door/man-elevator-management/{id}/update";
|
||||
private static final String LIFT_DELETE = "/api/E8Door/man-elevator-management/{id}";
|
||||
|
||||
@Resource
|
||||
private E8ApiUtil e8ApiUtil;
|
||||
|
||||
/**
|
||||
* 电梯信息分页查询
|
||||
*
|
||||
* @param dto 传参
|
||||
* @return IPage<LiftFindRes>
|
||||
*/
|
||||
@Override
|
||||
public IPage<LiftFindRes> getPageList(QueryDto dto) {
|
||||
// 创建一个参数映射,用于存储API请求所需的参数
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
// 将分页索引和最大结果数放入参数映射中
|
||||
params.put("pageIndex", dto.getPageIndex());
|
||||
params.put("maxResultCount", dto.getMaxResultCount());
|
||||
// 将查询DTO转换为LiftInfo对象,并将其添加到参数映射中
|
||||
params.put("queryDto", JSONUtil.toBean(JSONUtil.toJsonStr(dto.getQueryDto()), LiftFindReq.class));
|
||||
|
||||
// 调用E8 API工具类的POST方法,传入参数和API路径,获取API响应
|
||||
ApiResp apiResp = e8ApiUtil.doPost(params, GET_PAGE_LIST);
|
||||
// 如果API响应不成功,则返回null
|
||||
if (!apiResp.getSuccess()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// 将API响应的结果转换为一个Map对象
|
||||
Map<String, Object> result = JSONUtil.toBean(JSONUtil.toJsonStr(apiResp.getResult()), new TypeReference<>() {
|
||||
}, false);
|
||||
// 创建一个分页对象,传入分页索引和最大结果数
|
||||
IPage<LiftFindRes> page = new Page<>(dto.getPageIndex(), dto.getMaxResultCount());
|
||||
// 设置分页对象的总记录数
|
||||
page.setTotal(Long.parseLong(result.get("total").toString()));
|
||||
// 将结果中的项转换为LiftFindRes列表,并设置为分页对象的记录
|
||||
page.setRecords(JSONUtil.toList(JSONUtil.toJsonStr(result.get("item")), LiftFindRes.class));
|
||||
|
||||
// 返回填充了数据的分页对象
|
||||
return page;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询电梯楼层
|
||||
*
|
||||
* @param id 传参
|
||||
* @return LiftFindRes
|
||||
*/
|
||||
@Override
|
||||
public LiftFindRes getLiftFloor(Long id) {
|
||||
|
||||
// 构造请求URL,其中{id}将被liftInfo的ID替换
|
||||
String url = GET_LIFT_FLOOR.replace("{id}", id.toString());
|
||||
|
||||
// 调用API接口,获取电梯信息
|
||||
ApiResp apiResp = e8ApiUtil.doPost(null, url);
|
||||
// 如果API调用不成功,则返回null
|
||||
if (!apiResp.getSuccess()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// 将API响应结果转换为LiftFindRes对象,并返回
|
||||
return JSONUtil.toBean(JSONUtil.toJsonStr(apiResp.getResult()), LiftFindRes.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加电梯
|
||||
*
|
||||
* @param addReq 传参
|
||||
* @return Boolean
|
||||
*/
|
||||
@Override
|
||||
public Boolean addLift(LiftAddReq addReq) {
|
||||
// 将添加请求对象转换为Map对象,便于后续操作
|
||||
Map<String, Object> params = BeanUtil.beanToMap(addReq);
|
||||
|
||||
// 调用第三方API进行电梯添加操作,并获取API响应结果
|
||||
ApiResp apiResp = e8ApiUtil.doPost(params, LIFT_ADD);
|
||||
|
||||
// 返回API操作是否成功的标志
|
||||
return apiResp.getSuccess();
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改电梯信息
|
||||
*
|
||||
* @param updateReq 传参
|
||||
* @return Boolean
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateLift(LiftUpdateReq updateReq) {
|
||||
|
||||
// 根据LiftUpdateReq对象中的ID生成请求URL
|
||||
String url = LIFT_UPDATE.replace("{id}", updateReq.getId().toString());
|
||||
|
||||
// 将LiftUpdateReq对象转换为Map类型,以便于API请求参数的处理
|
||||
Map<String, Object> params = BeanUtil.beanToMap(updateReq);
|
||||
|
||||
// 调用E8 API进行POST请求,并返回API响应对象
|
||||
ApiResp apiResp = e8ApiUtil.doPost(params, url);
|
||||
|
||||
// 返回API调用是否成功的标志
|
||||
return apiResp.getSuccess();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除电梯信息
|
||||
*
|
||||
* @param id 传参
|
||||
* @return Boolean
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteLift(Integer id) {
|
||||
|
||||
// 构造删除电梯的API请求URL,使用id替换模板中的{id}占位符
|
||||
String url = LIFT_DELETE.replace("{id}", id.toString());
|
||||
|
||||
// 调用e8ApiUtils工具类执行DELETE请求,并获取API响应结果
|
||||
ApiResp apiResp = e8ApiUtil.doGetOrDel(url, null, true);
|
||||
|
||||
// 返回API响应中的成功标志,表示删除操作是否成功
|
||||
return apiResp.getSuccess();
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,47 @@
|
||||
package org.dromara.E8Service.Service.business;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.dromara.E8Service.domain.AccessControl.req.RemoteOpenDoorReq;
|
||||
import org.dromara.E8Service.domain.AccessControl.res.AccessRecordFindRes;
|
||||
import org.dromara.E8Service.domain.QueryDto;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote AccessControlService
|
||||
* @since 2025/6/24
|
||||
*/
|
||||
public interface AccessControlService {
|
||||
|
||||
/**
|
||||
* 远程开门
|
||||
*
|
||||
* @param req 传参
|
||||
* @return Boolean
|
||||
*/
|
||||
Boolean remoteOpenDoor(RemoteOpenDoorReq req);
|
||||
|
||||
|
||||
/**
|
||||
* 获取通行记录分页列表
|
||||
*
|
||||
* @param dto 传参
|
||||
* @return IPage<AccessRecordFindRes>
|
||||
*/
|
||||
IPage<AccessRecordFindRes> getPageAccessRecordList(QueryDto dto);
|
||||
|
||||
// /**
|
||||
// * 人员授权
|
||||
// *
|
||||
// * @param imageFile 传参
|
||||
// * @return Boolean
|
||||
// */
|
||||
// Boolean addCustomerAuth(Byte[] imageFile);
|
||||
|
||||
// /**
|
||||
// * 获取人员权限分页列表
|
||||
// *
|
||||
// * @param dto 传参
|
||||
// * @return
|
||||
// */
|
||||
// IPage getPageAccessControl(QueryDto dto);
|
||||
}
|
@@ -0,0 +1,16 @@
|
||||
package org.dromara.E8Service.Service.business;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote VoucherControlService
|
||||
* @since 2025/6/24
|
||||
*/
|
||||
public class VoucherControlService {
|
||||
|
||||
/**
|
||||
* 上传人脸
|
||||
*
|
||||
* @param queryDto 查询参数
|
||||
* @return 凭证控制列表
|
||||
*/
|
||||
}
|
@@ -0,0 +1,110 @@
|
||||
package org.dromara.E8Service.Service.business.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.lang.TypeReference;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.dromara.E8Service.Service.business.AccessControlService;
|
||||
import org.dromara.E8Service.domain.AccessControl.req.AccessRecordFindReq;
|
||||
import org.dromara.E8Service.domain.AccessControl.req.RemoteOpenDoorReq;
|
||||
import org.dromara.E8Service.domain.AccessControl.res.AccessRecordFindRes;
|
||||
import org.dromara.E8Service.domain.ApiResp;
|
||||
import org.dromara.E8Service.domain.QueryDto;
|
||||
import org.dromara.E8Service.utils.E8ApiUtil;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote AccessControlServiceImpl
|
||||
* @since 2025/6/24
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@DubboService
|
||||
public class AccessControlServiceImpl implements AccessControlService {
|
||||
|
||||
// 远程开门
|
||||
private static final String REMOTE_OPEN_DOOR = "/api/E8Door/man-device-info/device-control";
|
||||
|
||||
// 获取通行记录分页列表
|
||||
private static final String GET_PAGE_ACCESS_RECORD_PAGE_LIST = "/api/E8Door/man-pass-record/get-page-list";
|
||||
|
||||
// 人员授权
|
||||
private static final String PERSON_AUTHORIZATION = "/api/E8Door/man-auth-info/auth-info-by-type";
|
||||
|
||||
// 获取人员权限分页列表
|
||||
private static final String GET_PAGE_PERSON_AUTHORIZATION_PAGE_LIST = "/api/E8Door/man-person-device-finally/get-page-list";
|
||||
|
||||
@Resource
|
||||
private E8ApiUtil e8ApiUtil;
|
||||
|
||||
/**
|
||||
* 远程开门
|
||||
*
|
||||
* @param req 入参
|
||||
* @return Boolean
|
||||
*/
|
||||
@Override
|
||||
public Boolean remoteOpenDoor(RemoteOpenDoorReq req) {
|
||||
// 将RemoteOpenDoorReq转为Map对象,以便作为API请求的参数
|
||||
Map<String, Object> params = BeanUtil.beanToMap(req);
|
||||
|
||||
// 调用第三方API进行开门操作,传入处理后的参数和指定的API端点
|
||||
ApiResp apiResp = e8ApiUtil.doPost(params, REMOTE_OPEN_DOOR);
|
||||
|
||||
// 返回API调用是否成功的结果
|
||||
return apiResp.getSuccess();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取通行记录分页列表
|
||||
*
|
||||
* @param dto 传参
|
||||
* @return IPage<AccessRecordFindRes>
|
||||
*/
|
||||
@Override
|
||||
public IPage<AccessRecordFindRes> getPageAccessRecordList(QueryDto dto) {
|
||||
// 创建一个参数映射,用于存储API请求的参数
|
||||
Map<String, Object> 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()), AccessRecordFindReq.class));
|
||||
|
||||
// 调用API工具类的POST方法,传入参数和API路径,获取API响应对象
|
||||
ApiResp apiResp = e8ApiUtil.doPost(params, GET_PAGE_ACCESS_RECORD_PAGE_LIST);
|
||||
// 如果API响应不成功,则返回null
|
||||
if (!apiResp.getSuccess()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// 将API响应的结果转换为JSON字符串,再转换为Map对象
|
||||
Map<String, Object> result = JSONUtil.toBean(JSONUtil.toJsonStr(apiResp.getResult()), new TypeReference<>() {
|
||||
}, false);
|
||||
// 创建一个分页对象,传入分页索引和最大结果数
|
||||
IPage<AccessRecordFindRes> page = new Page<>(dto.getPageIndex(), dto.getMaxResultCount());
|
||||
// 从结果映射中获取总记录数,转换为长整型后设置到分页对象中
|
||||
page.setTotal(Long.parseLong(result.get("total").toString()));
|
||||
// 从结果映射中获取项目列表,转换为访问记录信息列表后设置到分页对象中
|
||||
page.setRecords(JSONUtil.toList(JSONUtil.toJsonStr(result.get("item")), AccessRecordFindRes.class));
|
||||
|
||||
// 返回填充了数据的分页对象
|
||||
return page;
|
||||
}
|
||||
|
||||
/**
|
||||
* 人员授权
|
||||
*
|
||||
* @param imageFile 传参
|
||||
* @return Boolean
|
||||
*/
|
||||
|
||||
}
|
@@ -0,0 +1,66 @@
|
||||
package org.dromara.E8Service.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.E8Service.Service.business.AccessControlService;
|
||||
import org.dromara.E8Service.domain.AccessControl.req.RemoteOpenDoorReq;
|
||||
import org.dromara.E8Service.domain.AccessControl.res.AccessRecordFindRes;
|
||||
import org.dromara.E8Service.domain.QueryDto;
|
||||
import org.dromara.common.core.domain.R;
|
||||
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<Boolean> 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<AccessRecordFindRes>
|
||||
*/
|
||||
@PostMapping("/getPageAccessRecordList")
|
||||
public R<IPage<AccessRecordFindRes>> getPageAccessRecordList(QueryDto dto) {
|
||||
log.info("E8获取门禁记录列表 入参:{}", dto);
|
||||
|
||||
IPage<AccessRecordFindRes> page = accessControlService.getPageAccessRecordList(dto);
|
||||
|
||||
if (page == null) {
|
||||
return R.fail("E8获取门禁记录列表,调用失败!");
|
||||
} else {
|
||||
return R.ok(page);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,120 @@
|
||||
package org.dromara.E8Service.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.E8Service.Service.base.DoorDeviceService;
|
||||
import org.dromara.E8Service.domain.DoorDevice.req.DoorDeviceAddReq;
|
||||
import org.dromara.E8Service.domain.DoorDevice.req.DoorDeviceUpdateReq;
|
||||
import org.dromara.E8Service.domain.DoorDevice.res.DoorDeviceAddRes;
|
||||
import org.dromara.E8Service.domain.DoorDevice.res.DoorDeviceFindRes;
|
||||
import org.dromara.E8Service.domain.DoorDevice.res.DoorDeviceUpdateRes;
|
||||
import org.dromara.E8Service.domain.QueryDto;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote DoorDeviceController
|
||||
* @since 2025/6/23
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/e8doorDevice")
|
||||
public class DoorDeviceController {
|
||||
|
||||
private final DoorDeviceService doorDeviceService;
|
||||
|
||||
/**
|
||||
* 查询门禁信息
|
||||
*
|
||||
* @param id 入参
|
||||
* @return Result
|
||||
*/
|
||||
@PostMapping("/findDoorDevice/{id}")
|
||||
public R<DoorDeviceFindRes> findDoorDevice(@PathVariable Long id) {
|
||||
log.info("E8接口 查询门禁信息 入参={}", id);
|
||||
|
||||
DoorDeviceFindRes doorDeviceInfo = doorDeviceService.findDoorDevice(id);
|
||||
|
||||
if (doorDeviceInfo == null) {
|
||||
return R.fail("E8接口查询门禁信息,调用失败!");
|
||||
} else {
|
||||
return R.ok(doorDeviceInfo);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增门禁信息
|
||||
*
|
||||
* @param addReq 入参
|
||||
* @return Boolean
|
||||
*/
|
||||
@PostMapping("/addDoorDevice")
|
||||
public R<DoorDeviceAddRes> addDoorDevice(@RequestBody DoorDeviceAddReq addReq) {
|
||||
log.info("E8接口新增门禁信息 入参={}", addReq);
|
||||
|
||||
DoorDeviceAddRes doorDevice = doorDeviceService.addDoorDevice(addReq);
|
||||
|
||||
if (doorDevice == null) {
|
||||
return R.fail("E8接口新增门禁信息,调用失败!");
|
||||
} else {
|
||||
return R.ok(doorDevice);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 门禁信息修改
|
||||
*
|
||||
* @param updateReq 入参
|
||||
* @return Boolean
|
||||
*/
|
||||
@PostMapping("/updateDoorDevice")
|
||||
public R<DoorDeviceUpdateRes> updateDoorDevice(@RequestBody DoorDeviceUpdateReq updateReq) {
|
||||
log.info("E8接口门禁信息修改 入参={}", updateReq);
|
||||
|
||||
DoorDeviceUpdateRes doorDevice = doorDeviceService.updateDoorDevice(updateReq);
|
||||
|
||||
if (doorDevice == null) {
|
||||
return R.fail("E8接口门禁信息修改,调用失败!");
|
||||
} else {
|
||||
return R.ok(doorDevice);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除门禁信息
|
||||
*
|
||||
* @param id 入参
|
||||
* @return Boolean
|
||||
*/
|
||||
@PostMapping("/deleteDoorDevice/{id}")
|
||||
public R<Boolean> deleteDoorDevice(@PathVariable Integer id) {
|
||||
log.info("E8接口删除门禁信息 入参={}", id);
|
||||
|
||||
Boolean flag = doorDeviceService.deleteDoorDevice(id);
|
||||
|
||||
return flag ? R.ok() : R.fail("E8接口删除门禁信息,调用失败!");
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询门禁信息列表
|
||||
*
|
||||
* @param dto 入参
|
||||
* @return IPage<DoorDeviceFindRes>
|
||||
*/
|
||||
@PostMapping("/findDoorDeviceList")
|
||||
public R<IPage<DoorDeviceFindRes>> findDoorDeviceList(@RequestBody QueryDto dto) {
|
||||
log.info("E8接口查询门禁信息列表 入参={}", dto);
|
||||
|
||||
IPage<DoorDeviceFindRes> doorDeviceList = doorDeviceService.findDoorDeviceList(dto);
|
||||
|
||||
if (ObjectUtils.isEmpty(doorDeviceList)) {
|
||||
return R.fail("E8接口查询门禁信息列表,调用失败!");
|
||||
} else {
|
||||
return R.ok(doorDeviceList);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,60 @@
|
||||
package org.dromara.E8Service.domain.AccessControl.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote AccessRecordFindReq
|
||||
* @since 2025/5/27 15:08
|
||||
*/
|
||||
@Data
|
||||
public class AccessRecordFindReq {
|
||||
|
||||
/**
|
||||
* 是否脱敏 true脱敏,敏感信息加***隐藏;false完整显示
|
||||
*/
|
||||
private Boolean isViewFullData;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
private String startTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
private String endTime;
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
private String customerName;
|
||||
|
||||
/**
|
||||
* 人员手机号码
|
||||
*/
|
||||
private String tel;
|
||||
|
||||
/**
|
||||
* 组织ID
|
||||
*/
|
||||
private Long orgId;
|
||||
|
||||
/**
|
||||
* 门ID
|
||||
*/
|
||||
private Long doorId;
|
||||
|
||||
/**
|
||||
* 设备ID
|
||||
*/
|
||||
private Long deviceId;
|
||||
|
||||
/**
|
||||
* 通行记录类型 0:未知 1:卡开门 2:人脸开门 3:指纹开门 4:密码开门 5:按钮开门 6:条码开门 7:多卡开门 8:密码开门 9:蓝牙开门 10:身份证开门
|
||||
* 11:二维码开门 12:远程开门 13:卡呼梯 14:卡乘梯 15:密码呼梯 16:密码乘梯 17:指纹呼梯 18:指纹乘梯 19:人脸呼梯 20:人脸乘梯
|
||||
* 21:二维码呼梯 22:二维码乘梯 23:扫码呼梯 24:扫码乘梯 25:蓝牙呼梯 26:远程呼梯 27:远程授权
|
||||
*/
|
||||
private Integer recordType;
|
||||
|
||||
}
|
@@ -0,0 +1,48 @@
|
||||
package org.dromara.E8Service.domain.AccessControl.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote RemoteOpenDoorReq
|
||||
* @since 2025/5/27 15:02
|
||||
*/
|
||||
@Data
|
||||
public class RemoteOpenDoorReq {
|
||||
|
||||
/**
|
||||
* 门操作类型 0:开门 1:关门 2:常开 3:常闭 4:取消常开 5:取消常闭 6:取消报警
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 原因
|
||||
*/
|
||||
private String reason;
|
||||
|
||||
/**
|
||||
* 操作人ID
|
||||
*/
|
||||
private Long operatorId;
|
||||
|
||||
/**
|
||||
* 门操作数据
|
||||
*/
|
||||
private List<ControlData> controlList;
|
||||
|
||||
@Data
|
||||
public static class ControlData {
|
||||
|
||||
/**
|
||||
* 门ID
|
||||
*/
|
||||
private Long doorId;
|
||||
|
||||
/**
|
||||
* 设备ID
|
||||
*/
|
||||
private Long deviceId;
|
||||
}
|
||||
}
|
@@ -0,0 +1,245 @@
|
||||
package org.dromara.E8Service.domain.AccessControl.res;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote AccessRecordFindRes
|
||||
* @since 2025/5/27 15:12
|
||||
*/
|
||||
@Data
|
||||
public class AccessRecordFindRes {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 记录ID
|
||||
*/
|
||||
private String recordId;
|
||||
|
||||
/**
|
||||
* 设备ID
|
||||
*/
|
||||
private Long deviceId;
|
||||
|
||||
/**
|
||||
* 设备编号
|
||||
*/
|
||||
private Integer devNo;
|
||||
|
||||
/**
|
||||
* 设备名称
|
||||
*/
|
||||
private String deviceName;
|
||||
|
||||
/**
|
||||
* 门ID
|
||||
*/
|
||||
private Long doorId;
|
||||
|
||||
/**
|
||||
* 门名称
|
||||
*/
|
||||
private String doorName;
|
||||
|
||||
/**
|
||||
* 设备类型(例如:1102-车场控制机,205-辅机等)
|
||||
*/
|
||||
private Integer deviceType;
|
||||
|
||||
/**
|
||||
* 分控ID
|
||||
*/
|
||||
private Long deviceSubId;
|
||||
|
||||
/**
|
||||
* 读头ID
|
||||
*/
|
||||
private Long readerId;
|
||||
|
||||
/**
|
||||
* 读头名称
|
||||
*/
|
||||
private String readerName;
|
||||
|
||||
/**
|
||||
* 出入口类型(0-未知,1-入口,2-出口)
|
||||
*/
|
||||
private Integer gatewayType;
|
||||
|
||||
/**
|
||||
* 区域ID
|
||||
*/
|
||||
private Long areaId;
|
||||
|
||||
/**
|
||||
* 区域名称
|
||||
*/
|
||||
private String areaName;
|
||||
|
||||
/**
|
||||
* 客户ID
|
||||
*/
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 客户编号
|
||||
*/
|
||||
private String customerNo;
|
||||
|
||||
/**
|
||||
* 客户名称
|
||||
*/
|
||||
private String customerName;
|
||||
|
||||
/**
|
||||
* 客户名称(备用字段)
|
||||
*/
|
||||
private String customerName1;
|
||||
|
||||
/**
|
||||
* 客户手机号
|
||||
*/
|
||||
private String customerTel;
|
||||
|
||||
/**
|
||||
* 客户手机号(备用字段)
|
||||
*/
|
||||
private String customerTel1;
|
||||
|
||||
/**
|
||||
* 组织ID
|
||||
*/
|
||||
private String organIds;
|
||||
|
||||
/**
|
||||
* 组织全路径
|
||||
*/
|
||||
private String organFullPath;
|
||||
|
||||
/**
|
||||
* 卡类别(例如:34-普通用户卡,35-胁迫卡等)
|
||||
*/
|
||||
private Integer cardType;
|
||||
|
||||
/**
|
||||
* 凭证编号
|
||||
*/
|
||||
private String idno;
|
||||
|
||||
/**
|
||||
* 凭证类型(例如:10-MF1-A卡,20-个人密码等)
|
||||
*/
|
||||
private Integer voucherType;
|
||||
|
||||
/**
|
||||
* 凭证模式(0-ID卡模式,1-IC卡模式等)
|
||||
*/
|
||||
private Integer voucherMode;
|
||||
|
||||
/**
|
||||
* 图片地址
|
||||
*/
|
||||
private String pictureUrl;
|
||||
|
||||
/**
|
||||
* 监控图片地址
|
||||
*/
|
||||
private String monitorPictureUrl;
|
||||
|
||||
/**
|
||||
* 视频地址
|
||||
*/
|
||||
private String videoUrl;
|
||||
|
||||
/**
|
||||
* 通行记录类型(例如:1-卡开门,2-人脸开门等)
|
||||
*/
|
||||
private Integer recordType;
|
||||
|
||||
/**
|
||||
* 是否脱机记录(0-否,1-是)
|
||||
*/
|
||||
private Integer offineFlag;
|
||||
|
||||
/**
|
||||
* 通行时间
|
||||
*/
|
||||
private Date actionTime;
|
||||
|
||||
/**
|
||||
* 添加时间
|
||||
*/
|
||||
private Date addTime;
|
||||
|
||||
/**
|
||||
* 扩展字段
|
||||
*/
|
||||
private String extend;
|
||||
|
||||
/**
|
||||
* 体温
|
||||
*/
|
||||
private Double temperature;
|
||||
|
||||
/**
|
||||
* 健康状态(0-未知,1-正常,2-异常)
|
||||
*/
|
||||
private Integer healthCodeStatus;
|
||||
|
||||
/**
|
||||
* 设备类型描述
|
||||
*/
|
||||
private String deviceTypeDesc;
|
||||
|
||||
/**
|
||||
* 出入口类型描述
|
||||
*/
|
||||
private String gatewayTypeDesc;
|
||||
|
||||
/**
|
||||
* 凭证类型描述
|
||||
*/
|
||||
private String voucherTypeDesc;
|
||||
|
||||
/**
|
||||
* 凭证模式描述
|
||||
*/
|
||||
private String voucherModeDesc;
|
||||
|
||||
/**
|
||||
* 卡类描述
|
||||
*/
|
||||
private String cardTypeDesc;
|
||||
|
||||
/**
|
||||
* 记录类型描述
|
||||
*/
|
||||
private String recordTypeDesc;
|
||||
|
||||
/**
|
||||
* 体温描述
|
||||
*/
|
||||
private String temperatureDesc;
|
||||
|
||||
/**
|
||||
* 健康码状态描述
|
||||
*/
|
||||
private String healthCodeStatusDesc;
|
||||
|
||||
/**
|
||||
* 人脸凭证地址
|
||||
*/
|
||||
private String voucherUrl;
|
||||
|
||||
/**
|
||||
* 是否显示敏感信息(true-隐藏,false-显示)
|
||||
*/
|
||||
private Boolean isViewFullData;
|
||||
|
||||
}
|
@@ -0,0 +1,198 @@
|
||||
package org.dromara.E8Service.domain.DoorDevice.res;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote DoorDeviceUpdateRes
|
||||
* @since 2025/6/23
|
||||
*/
|
||||
@Data
|
||||
public class DoorDeviceUpdateRes {
|
||||
/**
|
||||
* 设备ID
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private String creationTime;
|
||||
/**
|
||||
* 创建者ID
|
||||
*/
|
||||
private String creatorId;
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private String lastModificationTime;
|
||||
/**
|
||||
* 修改者ID
|
||||
*/
|
||||
private String lastModifierId;
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private Boolean isDeleted;
|
||||
/**
|
||||
* 删除者ID
|
||||
*/
|
||||
private String deleterId;
|
||||
/**
|
||||
* 删除时间
|
||||
*/
|
||||
private String deletionTime;
|
||||
/**
|
||||
* 设备编号
|
||||
*/
|
||||
private String no;
|
||||
/**
|
||||
* 设备编号编码
|
||||
*/
|
||||
private Integer noCode;
|
||||
/**
|
||||
* cloudId
|
||||
*/
|
||||
private String cloudId;
|
||||
/**
|
||||
* name
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 父级设备名称
|
||||
*/
|
||||
private String parentName;
|
||||
/**
|
||||
* 父级设备ID,默认0
|
||||
*/
|
||||
private Integer parentId;
|
||||
/**
|
||||
* 管理机IP
|
||||
*/
|
||||
private String masterIp;
|
||||
/**
|
||||
* 设备IP
|
||||
*/
|
||||
private String ip;
|
||||
/**
|
||||
* 设备端口
|
||||
*/
|
||||
private Long port;
|
||||
/**
|
||||
* 设备MAC
|
||||
*/
|
||||
private String mac;
|
||||
/**
|
||||
* 子网掩码
|
||||
*/
|
||||
private String netMask;
|
||||
/**
|
||||
* 设备网关
|
||||
*/
|
||||
private String gatewayIP;
|
||||
/**
|
||||
* 设备产品线类型 0:车行 1:车位 2:人行
|
||||
*/
|
||||
private Integer productType;
|
||||
/**
|
||||
* 设备类型
|
||||
*/
|
||||
private Long type;
|
||||
/**
|
||||
* 设备类型描述
|
||||
*/
|
||||
private String typeDescription;
|
||||
/**
|
||||
* 业务逻辑设备类型
|
||||
*/
|
||||
private Integer logicType;
|
||||
/**
|
||||
* 设备型号
|
||||
*/
|
||||
private Integer model;
|
||||
/**
|
||||
* 设备型号描述
|
||||
*/
|
||||
private String modelDescription;
|
||||
/**
|
||||
* 机号
|
||||
*/
|
||||
private String modelName;
|
||||
/**
|
||||
* 设备序列号
|
||||
*/
|
||||
private String sn;
|
||||
/**
|
||||
* 设备CPUID
|
||||
*/
|
||||
private String cpuID;
|
||||
/**
|
||||
* 设备在线状态 0:离线 1:在线 2:未知
|
||||
*/
|
||||
private Integer status;
|
||||
/**
|
||||
* 设备在线状态描述
|
||||
*/
|
||||
private String statusDescription;
|
||||
/**
|
||||
* 机号
|
||||
*/
|
||||
private String macNo;
|
||||
/**
|
||||
* 蓝牙地址
|
||||
*/
|
||||
private String bluetoothAddr;
|
||||
/**
|
||||
* 设备层级
|
||||
*/
|
||||
private Integer deviceLevel;
|
||||
/**
|
||||
* 父级设备路径 默认空
|
||||
*/
|
||||
private String parentIdPath;
|
||||
/**
|
||||
* 是否需要升级
|
||||
*/
|
||||
private Boolean isNeedUpgrade;
|
||||
/**
|
||||
* 项目ID
|
||||
*/
|
||||
private Integer projectId;
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
private String creatorName;
|
||||
/**
|
||||
* 关联门
|
||||
*/
|
||||
private String relDoors;
|
||||
/**
|
||||
* int32 出入口类型 0:未知 1:入口 2:出口
|
||||
*/
|
||||
private Integer gatewayType;
|
||||
/**
|
||||
* 出入口类型
|
||||
*/
|
||||
private String gatewayTypeDesc;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* 设备通讯方式 0:TCP/IP 1:RS485
|
||||
*/
|
||||
private Integer commType;
|
||||
/**
|
||||
* 工单号(设备搜索)
|
||||
*/
|
||||
private String projectNumber;
|
||||
/**
|
||||
* 固件版本信息(设备搜索)
|
||||
*/
|
||||
private String version;
|
||||
/**
|
||||
* 子设备列表
|
||||
*/
|
||||
private List<DoorDeviceAddRes> childList;
|
||||
}
|
@@ -0,0 +1,309 @@
|
||||
package org.dromara.E8Service.domain.custom.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote CustomAddReq
|
||||
* @since 2025/5/26 21:43
|
||||
*/
|
||||
@Data
|
||||
public class CustomAddReq {
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 证件类型,0身份证,1驾驶证,2工作证,100其他
|
||||
*/
|
||||
private Integer identityType;
|
||||
|
||||
/**
|
||||
* 证件编号
|
||||
*/
|
||||
private String identityNo;
|
||||
|
||||
/**
|
||||
* 籍贯
|
||||
*/
|
||||
private String hometown;
|
||||
|
||||
/**
|
||||
* 生日
|
||||
*/
|
||||
private String birthday;
|
||||
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 性别,0女,1男
|
||||
*/
|
||||
private Integer gender;
|
||||
|
||||
/**
|
||||
* 职务
|
||||
*/
|
||||
private String duty;
|
||||
|
||||
/**
|
||||
* 房号
|
||||
*/
|
||||
private String roomNo;
|
||||
|
||||
/**
|
||||
* 入职时间
|
||||
*/
|
||||
private String enterTime;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 紧急联系人
|
||||
*/
|
||||
private String emergencyContact;
|
||||
|
||||
/**
|
||||
* 紧急联系人电话
|
||||
*/
|
||||
private String emergencyContactPhone;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 区域全路径(多个以;分割,层级以|分割)
|
||||
*/
|
||||
private String areaFullPath;
|
||||
|
||||
/**
|
||||
* 组织ID(以;分隔)
|
||||
*/
|
||||
private String areaIds;
|
||||
|
||||
/**
|
||||
* 组织全路径(多个以;分割,层级以|分割)
|
||||
*/
|
||||
private String organFullPath;
|
||||
|
||||
/**
|
||||
* 组织ID(以;分隔)
|
||||
*/
|
||||
private String organIds;
|
||||
|
||||
/**
|
||||
* 客户明细
|
||||
*/
|
||||
private CustomerDetail detail;
|
||||
|
||||
/**
|
||||
* 车牌号
|
||||
*/
|
||||
private String carNos;
|
||||
|
||||
/**
|
||||
* 人员图片
|
||||
*/
|
||||
private String image;
|
||||
|
||||
/**
|
||||
* 指纹索引,0-9,0-左手大拇指,4-左手小指,……,9-右手小指
|
||||
*/
|
||||
private String fingerNo;
|
||||
|
||||
/**
|
||||
* 指纹信息 多个以“;分隔”
|
||||
*/
|
||||
private String fingerData;
|
||||
|
||||
/**
|
||||
* 绑定车辆信息
|
||||
*/
|
||||
private List<Vehicle> vehicleInfos;
|
||||
|
||||
/**
|
||||
* 相关联区域
|
||||
*/
|
||||
private List<RelatedArea> relAreas;
|
||||
|
||||
/**
|
||||
* 是否特殊车牌
|
||||
*/
|
||||
private Boolean isSpecialPlate;
|
||||
|
||||
/**
|
||||
* 车辆信息·
|
||||
*/
|
||||
@Data
|
||||
public static class Vehicle {
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 车牌号
|
||||
*/
|
||||
private String plateNO;
|
||||
|
||||
/**
|
||||
* 车牌颜色,0其他,1蓝牌,2黄牌,3白牌,4黑牌,5绿牌,6黄绿牌
|
||||
*/
|
||||
private Integer plateColor;
|
||||
|
||||
/**
|
||||
* 车辆类型0小型车,1大型车,2其它,3摩托车
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 品牌
|
||||
*/
|
||||
private String carLogo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 人员明细
|
||||
*/
|
||||
@Data
|
||||
public static class CustomerDetail {
|
||||
|
||||
/**
|
||||
* 客户Id
|
||||
*/
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 工号
|
||||
*/
|
||||
private String workNo;
|
||||
|
||||
/**
|
||||
* 最高学历,0未知,1小学,2初中,3高中,4大学专科,5大学本科,6硕士研究生,7博士研究生
|
||||
*/
|
||||
private Integer education;
|
||||
|
||||
/**
|
||||
* 毕业学校
|
||||
*/
|
||||
private String school;
|
||||
|
||||
/**
|
||||
* 专业
|
||||
*/
|
||||
private String master;
|
||||
|
||||
/**
|
||||
* 政治面貌
|
||||
*/
|
||||
private String politics;
|
||||
|
||||
/**
|
||||
* 婚姻状况
|
||||
*/
|
||||
private Integer marriage;
|
||||
|
||||
/**
|
||||
* QQ
|
||||
*/
|
||||
private String qq;
|
||||
|
||||
/**
|
||||
* 微信
|
||||
*/
|
||||
private String wechat;
|
||||
|
||||
/**
|
||||
* 驾驶证号
|
||||
*/
|
||||
private String driverLicense;
|
||||
|
||||
/**
|
||||
* 是否忽略反潜回(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnoreEntryBack;
|
||||
|
||||
/**
|
||||
* 是否忽略门时区(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnoreDoorSchedule;
|
||||
|
||||
/**
|
||||
* 是否忽略互锁(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnoreLock;
|
||||
|
||||
/**
|
||||
* 是否忽略报警(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnoreAlarm;
|
||||
|
||||
/**
|
||||
* 是否发行卡凭证(0:未录入;1:未发行;2:已发行)
|
||||
*/
|
||||
private Integer isIssue;
|
||||
|
||||
/**
|
||||
* 是否忽略人时区(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnorePersonSchedule;
|
||||
|
||||
/**
|
||||
* 是否黑名单人员(1:是;0:否)
|
||||
*/
|
||||
private Integer isBlacklist;
|
||||
}
|
||||
|
||||
/**
|
||||
* 相关联的区域
|
||||
*/
|
||||
@Data
|
||||
public static class RelatedArea {
|
||||
/**
|
||||
* 区域id
|
||||
*/
|
||||
private Long areaId;
|
||||
|
||||
/**
|
||||
* 区域名称
|
||||
*/
|
||||
private String areaName;
|
||||
|
||||
/**
|
||||
* 用户类型 0业主,1家属,2租客,3员工,4企业主,11职员,12临时人员,13户主,14外部人员,100其他人员
|
||||
*/
|
||||
private Integer userType;
|
||||
|
||||
/**
|
||||
* 区域类型 0区域,1楼栋,2,房屋,3门,4楼层
|
||||
*/
|
||||
private Integer areaType;
|
||||
|
||||
/**
|
||||
* 区域类型描述
|
||||
*/
|
||||
private String areaTypeDesc;
|
||||
|
||||
/**
|
||||
* 区域编号
|
||||
*/
|
||||
private String areaNo;
|
||||
}
|
||||
}
|
@@ -0,0 +1,75 @@
|
||||
package org.dromara.E8Service.domain.custom.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote CustomFindReq
|
||||
* @since 2025/5/26 20:14
|
||||
*/
|
||||
|
||||
@Data
|
||||
public class CustomFindReq {
|
||||
|
||||
/**
|
||||
* 是否脱敏 true脱敏,敏感信息加***隐藏;false完整显示
|
||||
*/
|
||||
private Boolean isViewFullData;
|
||||
|
||||
/**
|
||||
* 人员ID
|
||||
*/
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 人员编号
|
||||
*/
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 所属区域id
|
||||
*/
|
||||
private Long areaId;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String mobileNo;
|
||||
|
||||
/**
|
||||
* 组织id列表
|
||||
*/
|
||||
private List<Long> orgIds;
|
||||
|
||||
/**
|
||||
* 人员姓名/编号/手机号 模糊查询
|
||||
*/
|
||||
private String matchString;
|
||||
|
||||
/**
|
||||
* 人员是否添加凭证 为true时筛选有凭证的人员
|
||||
*/
|
||||
private Boolean isHasVoucher;
|
||||
|
||||
/**
|
||||
* 需要排除的人员id列表
|
||||
*/
|
||||
private List<Long> exceptIds;
|
||||
|
||||
/**
|
||||
* 完整手机号精确查找
|
||||
*/
|
||||
private String fullMobile;
|
||||
|
||||
/**
|
||||
* 人员是否在多人开门组
|
||||
*/
|
||||
private Boolean isFilterMoreGroup;
|
||||
}
|
@@ -0,0 +1,329 @@
|
||||
package org.dromara.E8Service.domain.custom.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote : CustomUpdateReq
|
||||
* @since 2025/5/27 10:11
|
||||
*/
|
||||
@Data
|
||||
public class CustomUpdateReq {
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 人员编号
|
||||
*/
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 证件类型,0身份证,1驾驶证,2工作证,100其他
|
||||
*/
|
||||
private Integer identityType;
|
||||
|
||||
/**
|
||||
* 证件编号
|
||||
*/
|
||||
private String identityNo;
|
||||
|
||||
/**
|
||||
* 籍贯
|
||||
*/
|
||||
private String hometown;
|
||||
|
||||
/**
|
||||
* 生日
|
||||
*/
|
||||
private String birthday;
|
||||
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 性别,0女,1男
|
||||
*/
|
||||
private Integer gender;
|
||||
|
||||
/**
|
||||
* 职务
|
||||
*/
|
||||
private String duty;
|
||||
|
||||
/**
|
||||
* 房号
|
||||
*/
|
||||
private String roomNo;
|
||||
|
||||
/**
|
||||
* 入职时间
|
||||
*/
|
||||
private String enterTime;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 紧急联系人
|
||||
*/
|
||||
private String emergencyContact;
|
||||
|
||||
/**
|
||||
* 紧急联系人电话
|
||||
*/
|
||||
private String emergencyContactPhone;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 区域全路径(多个以;分割,层级以|分割)
|
||||
*/
|
||||
private String areaFullPath;
|
||||
|
||||
/**
|
||||
* 组织ID(以;分隔)
|
||||
*/
|
||||
private String areaIds;
|
||||
|
||||
/**
|
||||
* 组织全路径(多个以;分割,层级以|分割)
|
||||
*/
|
||||
private String organFullPath;
|
||||
|
||||
/**
|
||||
* 组织ID(以;分隔)
|
||||
*/
|
||||
private String organIds;
|
||||
|
||||
/**
|
||||
* 客户明细
|
||||
*/
|
||||
private CustomerDetail detail;
|
||||
|
||||
/**
|
||||
* 车牌号
|
||||
*/
|
||||
private String carNos;
|
||||
|
||||
/**
|
||||
* 人员图片
|
||||
*/
|
||||
private String image;
|
||||
|
||||
/**
|
||||
* 指纹索引,0-9,0-左手大拇指,4-左手小指,……,9-右手小指
|
||||
*/
|
||||
private String fingerNo;
|
||||
|
||||
/**
|
||||
* 指纹信息 多个以“;分隔”
|
||||
*/
|
||||
private String fingerData;
|
||||
|
||||
/**
|
||||
* 绑定车辆信息
|
||||
*/
|
||||
private List<Vehicle> vehicleInfos;
|
||||
|
||||
/**
|
||||
* 相关联区域
|
||||
*/
|
||||
private List<RelatedArea> relAreas;
|
||||
|
||||
/**
|
||||
* 是否特殊车牌
|
||||
*/
|
||||
private Boolean isSpecialPlate;
|
||||
|
||||
/**
|
||||
* 人员明细
|
||||
*/
|
||||
@Data
|
||||
public static class CustomerDetail {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 客户Id
|
||||
*/
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 工号
|
||||
*/
|
||||
private String workNo;
|
||||
|
||||
/**
|
||||
* 最高学历,0未知,1小学,2初中,3高中,4大学专科,5大学本科,6硕士研究生,7博士研究生
|
||||
*/
|
||||
private Integer education;
|
||||
|
||||
/**
|
||||
* 毕业学校
|
||||
*/
|
||||
private String school;
|
||||
|
||||
/**
|
||||
* 专业
|
||||
*/
|
||||
private String master;
|
||||
|
||||
/**
|
||||
* 政治面貌
|
||||
*/
|
||||
private String politics;
|
||||
|
||||
/**
|
||||
* 婚姻状况
|
||||
*/
|
||||
private Integer marriage;
|
||||
|
||||
/**
|
||||
* QQ
|
||||
*/
|
||||
private String qq;
|
||||
|
||||
/**
|
||||
* 微信
|
||||
*/
|
||||
private String wechat;
|
||||
|
||||
/**
|
||||
* 驾驶证号
|
||||
*/
|
||||
private String driverLicense;
|
||||
|
||||
/**
|
||||
* 是否忽略反潜回(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnoreEntryBack;
|
||||
|
||||
/**
|
||||
* 是否忽略门时区(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnoreDoorSchedule;
|
||||
|
||||
/**
|
||||
* 是否忽略互锁(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnoreLock;
|
||||
|
||||
/**
|
||||
* 是否忽略报警(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnoreAlarm;
|
||||
|
||||
/**
|
||||
* 是否发行卡凭证(0:未录入;1:未发行;2:已发行)
|
||||
*/
|
||||
private Integer isIssue;
|
||||
|
||||
/**
|
||||
* 是否忽略人时区(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnorePersonSchedule;
|
||||
|
||||
/**
|
||||
* 是否黑名单人员(1:是;0:否)
|
||||
*/
|
||||
private Integer isBlacklist;
|
||||
}
|
||||
|
||||
/**
|
||||
* 车辆信息·
|
||||
*/
|
||||
@Data
|
||||
public static class Vehicle {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 车牌号
|
||||
*/
|
||||
private String plateNO;
|
||||
|
||||
/**
|
||||
* 车牌颜色,0其他,1蓝牌,2黄牌,3白牌,4黑牌,5绿牌,6黄绿牌
|
||||
*/
|
||||
private Integer plateColor;
|
||||
|
||||
/**
|
||||
* 车辆类型0小型车,1大型车,2其它,3摩托车
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 品牌
|
||||
*/
|
||||
private String carLogo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 相关联的区域
|
||||
*/
|
||||
@Data
|
||||
public static class RelatedArea {
|
||||
/**
|
||||
* 区域id
|
||||
*/
|
||||
private Long areaId;
|
||||
|
||||
/**
|
||||
* 区域名称
|
||||
*/
|
||||
private String areaName;
|
||||
|
||||
/**
|
||||
* 用户类型 0业主,1家属,2租客,3员工,4企业主,11职员,12临时人员,13户主,14外部人员,100其他人员
|
||||
*/
|
||||
private Integer userType;
|
||||
|
||||
/**
|
||||
* 区域类型 0区域,1楼栋,2,房屋,3门,4楼层
|
||||
*/
|
||||
private Integer areaType;
|
||||
|
||||
/**
|
||||
* 区域类型描述
|
||||
*/
|
||||
private String areaTypeDesc;
|
||||
|
||||
/**
|
||||
* 区域编号
|
||||
*/
|
||||
private String areaNo;
|
||||
}
|
||||
}
|
@@ -0,0 +1,72 @@
|
||||
package org.dromara.E8Service.domain.custom.res;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @apiNote CustomAddRes
|
||||
* @author lsm
|
||||
* @since 2025/6/24
|
||||
*/
|
||||
@Data
|
||||
public class CustomAddRes {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 人员编号
|
||||
*/
|
||||
private String no;
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 证件类型,0身份证,1驾驶证,2工作证,100其他
|
||||
*/
|
||||
private Object identityType;
|
||||
/**
|
||||
* 证件号
|
||||
*/
|
||||
private String identityNo;
|
||||
/**
|
||||
* 籍贯
|
||||
*/
|
||||
private String hometown;
|
||||
/**
|
||||
* 生日
|
||||
*/
|
||||
private Object birthday;
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
private String address;
|
||||
/**
|
||||
* 性别,0女,1男
|
||||
*/
|
||||
private Integer gender;
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String mobile;
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
private String email;
|
||||
/**
|
||||
* 紧急联系人
|
||||
*/
|
||||
private String emergencyContact;
|
||||
/**
|
||||
* 紧急联系人电话
|
||||
*/
|
||||
private String emergencyContactPhone;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
/**
|
||||
* isViewFullData
|
||||
*/
|
||||
private Boolean isViewFullData;
|
||||
}
|
@@ -0,0 +1,490 @@
|
||||
package org.dromara.E8Service.domain.custom.res;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
import org.dromara.E8Service.domain.enums.AreaTypeEnum;
|
||||
import org.dromara.E8Service.domain.enums.UserTypeEnum;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote CustomFindRes
|
||||
* @since 2025/5/26 20:34
|
||||
*/
|
||||
@Data
|
||||
public class CustomFindRes {
|
||||
|
||||
/**
|
||||
* 人员id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private String creationTime;
|
||||
|
||||
/**
|
||||
* 创建者id(uuid)
|
||||
*/
|
||||
private String creatorId;
|
||||
|
||||
/**
|
||||
* 最后修改时间
|
||||
*/
|
||||
private String lastModificationTime;
|
||||
|
||||
/**
|
||||
* 最后修改者id(uuid)
|
||||
*/
|
||||
private String lastModifierId;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private Boolean isDeleted;
|
||||
|
||||
/**
|
||||
* 删除者id(uuid)
|
||||
*/
|
||||
private String deleterId;
|
||||
|
||||
/**
|
||||
* 删除时间
|
||||
*/
|
||||
private String deletionTime;
|
||||
|
||||
/**
|
||||
* 人员编号
|
||||
*/
|
||||
private String no;
|
||||
|
||||
/**
|
||||
* 人员姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 证件类型,0身份证,1驾驶证,2工作证,100其他
|
||||
*/
|
||||
private Integer identityType;
|
||||
|
||||
/**
|
||||
* 证件类型名
|
||||
*/
|
||||
private String identityTypeName;
|
||||
|
||||
/**
|
||||
* 证件编号
|
||||
*/
|
||||
private String identityNo;
|
||||
|
||||
/**
|
||||
* 籍贯
|
||||
*/
|
||||
private String hometown;
|
||||
|
||||
/**
|
||||
* 生日
|
||||
*/
|
||||
private String birthday;
|
||||
|
||||
/**
|
||||
* 地址
|
||||
*/
|
||||
private String address;
|
||||
|
||||
/**
|
||||
* 性别,0女,1男
|
||||
*/
|
||||
private Integer gender;
|
||||
|
||||
/**
|
||||
* 性别名称
|
||||
*/
|
||||
private String genderName;
|
||||
|
||||
/**
|
||||
* 职务
|
||||
*/
|
||||
private String duty;
|
||||
|
||||
/**
|
||||
* 组织名称
|
||||
*/
|
||||
private String orgName;
|
||||
|
||||
/**
|
||||
* 区域名称
|
||||
*/
|
||||
private String areaName;
|
||||
|
||||
/**
|
||||
* 绑定车辆信息
|
||||
*/
|
||||
private List<Vehicle> tempCars;
|
||||
|
||||
/**
|
||||
* 房号
|
||||
*/
|
||||
private String roomNo;
|
||||
|
||||
/**
|
||||
* 入职时间
|
||||
*/
|
||||
private String enterTime;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String mobile;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 紧急联系人
|
||||
*/
|
||||
private String emergencyContact;
|
||||
|
||||
/**
|
||||
* 紧急联系人电话
|
||||
*/
|
||||
private String emergencyContactPhone;
|
||||
|
||||
/**
|
||||
* 箱号
|
||||
*/
|
||||
private String crateName;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 客户明细
|
||||
*/
|
||||
private CustomerDetail detail;
|
||||
|
||||
/**
|
||||
* 区域全路径(多个以;分割,层级以|分割)
|
||||
*/
|
||||
private String areaFullPath;
|
||||
|
||||
/**
|
||||
* 区域全路径(多个以;分割,层级以|分割)
|
||||
*/
|
||||
private String areaIds;
|
||||
|
||||
/**
|
||||
* 组织ID(以;分隔)
|
||||
*/
|
||||
private String organFullPath;
|
||||
|
||||
/**
|
||||
* 组织ID(以;分隔)
|
||||
*/
|
||||
private String organIds;
|
||||
|
||||
/**
|
||||
* 凭证信息
|
||||
*/
|
||||
private String voucherInfos;
|
||||
|
||||
/**
|
||||
* 人员图片
|
||||
*/
|
||||
private String image;
|
||||
|
||||
/**
|
||||
* 人员图片地址
|
||||
*/
|
||||
private String imageUrl;
|
||||
|
||||
/**
|
||||
* 指纹索引,0-9,0-左手大拇指,4-左手小指,……,9-右手小指
|
||||
*/
|
||||
private String fingerNo;
|
||||
|
||||
/**
|
||||
* 指纹信息 多个以“;分隔”
|
||||
*/
|
||||
private String fingerData;
|
||||
|
||||
/**
|
||||
* 是否在黑名单 1:是 0:否
|
||||
*/
|
||||
private Integer isBlacklist;
|
||||
|
||||
/**
|
||||
* 相关联区域
|
||||
*/
|
||||
private List<RelatedArea> relAreas;
|
||||
|
||||
/**
|
||||
* 线上id
|
||||
*/
|
||||
private String onlineId;
|
||||
|
||||
/**
|
||||
* 车牌号
|
||||
*/
|
||||
private String carNos;
|
||||
|
||||
/**
|
||||
* 是否特殊车牌
|
||||
*/
|
||||
private boolean isSpecialPlate;
|
||||
|
||||
/**
|
||||
* 是否脱敏 true脱敏,敏感信息加***隐藏;false完整显示
|
||||
*/
|
||||
private boolean isViewFullData;
|
||||
|
||||
/**
|
||||
* 车辆信息·
|
||||
*/
|
||||
@Data
|
||||
public static class Vehicle {
|
||||
/**
|
||||
* 车辆id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private String creationTime;
|
||||
|
||||
/**
|
||||
* 创建者id(uuid)
|
||||
*/
|
||||
private String creatorId;
|
||||
|
||||
/**
|
||||
* 最后修改时间
|
||||
*/
|
||||
private String lastModificationTime;
|
||||
|
||||
/**
|
||||
* 最后修改者id(uuid)
|
||||
*/
|
||||
private String lastModifierId;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private Boolean isDeleted;
|
||||
|
||||
/**
|
||||
* 删除者id(uuid)
|
||||
*/
|
||||
private String deleterId;
|
||||
|
||||
/**
|
||||
* 删除时间
|
||||
*/
|
||||
private String deletionTime;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 车牌号
|
||||
*/
|
||||
private String plateNO;
|
||||
|
||||
/**
|
||||
* 车牌颜色,0其他,1蓝牌,2黄牌,3白牌,4黑牌,5绿牌,6黄绿牌
|
||||
*/
|
||||
private Integer plateColor;
|
||||
|
||||
/**
|
||||
* 车辆类型0小型车,1大型车,2其它,3摩托车
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 车辆状态
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 品牌
|
||||
*/
|
||||
private String carLogo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 人员明细
|
||||
*/
|
||||
@Data
|
||||
public static class CustomerDetail {
|
||||
/**
|
||||
* 客户明细id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private String creationTime;
|
||||
|
||||
/**
|
||||
* 创建者id(uuid)
|
||||
*/
|
||||
private String creatorId;
|
||||
|
||||
/**
|
||||
* 最后修改时间
|
||||
*/
|
||||
private String lastModificationTime;
|
||||
|
||||
/**
|
||||
* 最后修改者id(uuid)
|
||||
*/
|
||||
private String lastModifierId;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private boolean isDeleted;
|
||||
|
||||
/**
|
||||
* 删除者id(uuid)
|
||||
*/
|
||||
private String deleterId;
|
||||
|
||||
/**
|
||||
* 删除时间
|
||||
*/
|
||||
private String deletionTime;
|
||||
|
||||
/**
|
||||
* 客户Id
|
||||
*/
|
||||
private Integer customerId;
|
||||
|
||||
/**
|
||||
* 工号
|
||||
*/
|
||||
private String workNo;
|
||||
|
||||
/**
|
||||
* 最高学历,0未知,1小学,2初中,3高中,4大学专科,5大学本科,6硕士研究生,7博士研究生
|
||||
*/
|
||||
private Integer education;
|
||||
|
||||
/**
|
||||
* 毕业学校
|
||||
*/
|
||||
private String school;
|
||||
|
||||
/**
|
||||
* 专业
|
||||
*/
|
||||
private String master;
|
||||
|
||||
/**
|
||||
* 政治面貌
|
||||
*/
|
||||
private String politics;
|
||||
|
||||
/**
|
||||
* 婚姻状况
|
||||
*/
|
||||
private Integer marriage;
|
||||
|
||||
/**
|
||||
* QQ
|
||||
*/
|
||||
private String qq;
|
||||
|
||||
/**
|
||||
* 微信
|
||||
*/
|
||||
private String wechat;
|
||||
|
||||
/**
|
||||
* 驾驶证号
|
||||
*/
|
||||
private String driverLicense;
|
||||
|
||||
/**
|
||||
* 是否忽略反潜回(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnoreEntryBack;
|
||||
|
||||
/**
|
||||
* 是否忽略门时区(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnoreDoorSchedule;
|
||||
|
||||
/**
|
||||
* 是否忽略互锁(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnoreLock;
|
||||
|
||||
/**
|
||||
* 是否忽略报警(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnoreAlarm;
|
||||
|
||||
/**
|
||||
* 是否发行卡凭证(0:未录入;1:未发行;2:已发行)
|
||||
*/
|
||||
private Integer isIssue;
|
||||
|
||||
/**
|
||||
* 是否忽略人时区(1:是;0:否)
|
||||
*/
|
||||
private Integer isIgnorePersonSchedule;
|
||||
|
||||
/**
|
||||
* 是否黑名单人员(1:是;0:否)
|
||||
*/
|
||||
private Integer isBlacklist;
|
||||
}
|
||||
|
||||
/**
|
||||
* 相关联的区域
|
||||
*/
|
||||
@Data
|
||||
public static class RelatedArea {
|
||||
/**
|
||||
* 区域id
|
||||
*/
|
||||
private Long areaId;
|
||||
|
||||
/**
|
||||
* 区域名称
|
||||
*/
|
||||
private String areaName;
|
||||
|
||||
/**
|
||||
* 用户类型
|
||||
*/
|
||||
private UserTypeEnum userType;
|
||||
|
||||
/**
|
||||
* 区域类型
|
||||
*/
|
||||
private AreaTypeEnum areaType;
|
||||
|
||||
/**
|
||||
* 区域类型描述
|
||||
*/
|
||||
private String areaTypeDesc;
|
||||
|
||||
/**
|
||||
* 区域编号
|
||||
*/
|
||||
private String areaNo;
|
||||
}
|
||||
}
|
@@ -0,0 +1,45 @@
|
||||
package org.dromara.E8Service.domain.enums;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote AreaTypeEnum
|
||||
* @since 2025/5/26 21:22
|
||||
*/
|
||||
public enum AreaTypeEnum {
|
||||
// 枚举值,括号中是对应的编号和描述
|
||||
REGION(0, "区域"),
|
||||
BUILDING(1, "楼栋"),
|
||||
HOUSE(2, "房屋"),
|
||||
DOOR(3, "门"),
|
||||
FLOOR(4, "楼层");
|
||||
|
||||
// 定义私有变量,用于存储编号和描述
|
||||
private final int code;
|
||||
private final String description;
|
||||
|
||||
// 构造方法,用于初始化每个枚举值的编号和描述
|
||||
AreaTypeEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
// 获取编号的方法
|
||||
public int getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
// 获取描述的方法
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
// 根据编号获取对应的枚举值
|
||||
public static AreaTypeEnum getByCode(int code) {
|
||||
for (AreaTypeEnum areaType : AreaTypeEnum.values()) {
|
||||
if (areaType.getCode() == code) {
|
||||
return areaType;
|
||||
}
|
||||
}
|
||||
return null; // 如果没有找到匹配的编号,返回 null
|
||||
}
|
||||
}
|
@@ -0,0 +1,50 @@
|
||||
package org.dromara.E8Service.domain.enums;
|
||||
|
||||
/**
|
||||
* @author zcxlsm
|
||||
* @apiNote UserEnumType
|
||||
* @since 2025/5/26 21:16
|
||||
*/
|
||||
public enum UserTypeEnum {
|
||||
// 枚举值,括号中是对应的编号和描述
|
||||
OWNER(0, "业主"),
|
||||
FAMILY_MEMBER(1, "家属"),
|
||||
TENANT(2, "租客"),
|
||||
EMPLOYEE(3, "员工"),
|
||||
BUSINESS_OWNER(4, "企业主"),
|
||||
STAFF(11, "职员"),
|
||||
TEMPORARY_PERSONNEL(12, "临时人员"),
|
||||
HOUSEHOLD_HEAD(13, "户主"),
|
||||
EXTERNAL_PERSONNEL(14, "外部人员"),
|
||||
OTHER_PERSONNEL(100, "其他人员");
|
||||
|
||||
// 定义私有变量,用于存储编号和描述
|
||||
private final int code;
|
||||
private final String description;
|
||||
|
||||
// 构造方法,用于初始化每个枚举值的编号和描述
|
||||
UserTypeEnum(int code, String description) {
|
||||
this.code = code;
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
// 获取编号的方法
|
||||
public int getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
// 获取描述的方法
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
// 根据编号获取对应的枚举值
|
||||
public static UserTypeEnum getByCode(int code) {
|
||||
for (UserTypeEnum userType : UserTypeEnum.values()) {
|
||||
if (userType.getCode() == code) {
|
||||
return userType;
|
||||
}
|
||||
}
|
||||
return null; // 如果没有找到匹配的编号,返回 null
|
||||
}
|
||||
}
|
@@ -0,0 +1,27 @@
|
||||
package org.dromara.E8Service.domain.lift.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote LiftAddReq
|
||||
* @since 2025/5/27 11:47
|
||||
*/
|
||||
@Data
|
||||
public class LiftAddReq {
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 区域ID
|
||||
*/
|
||||
private Long areaId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
}
|
@@ -0,0 +1,41 @@
|
||||
package org.dromara.E8Service.domain.lift.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote LiftFindReq
|
||||
* @since 2025/5/27 11:30
|
||||
*/
|
||||
@Data
|
||||
public class LiftFindReq {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 是否脱敏 true脱敏,敏感信息加***隐藏;false完整显示;
|
||||
*/
|
||||
private Boolean isViewFullData;
|
||||
|
||||
/**
|
||||
* 电梯名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 类型 0:单开 1:双开
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 脱离原因 0:人工脱离 1:消防脱离
|
||||
*/
|
||||
private Integer reason;
|
||||
|
||||
/**
|
||||
* 上级区域ID
|
||||
*/
|
||||
private Long parentId;
|
||||
}
|
@@ -0,0 +1,33 @@
|
||||
package org.dromara.E8Service.domain.lift.req;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote LiftUpdateReq
|
||||
* @since 2025/5/27 11:54
|
||||
*/
|
||||
@Data
|
||||
public class LiftUpdateReq {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 区域ID
|
||||
*/
|
||||
private Long areaId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
@@ -0,0 +1,9 @@
|
||||
package org.dromara.E8Service.domain.lift.res;
|
||||
|
||||
/**
|
||||
* @author lsm
|
||||
* @apiNote LiftAddRes
|
||||
* @since 2025/6/24
|
||||
*/
|
||||
public class LiftAddRes {
|
||||
}
|
@@ -0,0 +1,177 @@
|
||||
package org.dromara.E8Service.domain.lift.res;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author zcxlsm
|
||||
* @apiNote LiftFindRes
|
||||
* @since 2025/5/27 11:33
|
||||
*/
|
||||
@Data
|
||||
public class LiftFindRes {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private String creationTime;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String creatorId;
|
||||
|
||||
/**
|
||||
* 最后修改时间
|
||||
*/
|
||||
private String lastModificationTime;
|
||||
|
||||
/**
|
||||
* 最后修改人
|
||||
*/
|
||||
private String lastModifierId;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private Boolean isDeleted;
|
||||
|
||||
/**
|
||||
* 删除人
|
||||
*/
|
||||
private String deleterId;
|
||||
|
||||
/**
|
||||
* 删除时间
|
||||
*/
|
||||
private String deletionTime;
|
||||
|
||||
/**
|
||||
* 电梯编号
|
||||
*/
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 电梯名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 所属区域Id
|
||||
*/
|
||||
private Long areaId;
|
||||
|
||||
/**
|
||||
* 区域名称
|
||||
*/
|
||||
private String areaName;
|
||||
|
||||
/**
|
||||
* 绑定设备ID
|
||||
*/
|
||||
private Long deviceId;
|
||||
|
||||
/**
|
||||
* 设备名称
|
||||
*/
|
||||
private String deviceName;
|
||||
|
||||
/**
|
||||
* 最高楼层限制
|
||||
*/
|
||||
private Integer maxFloorNum;
|
||||
|
||||
/**
|
||||
* 类型 0:单开 1:多开
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 状态 0:正常 1:脱离
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 脱离原因
|
||||
*/
|
||||
private String reason;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建人名称
|
||||
*/
|
||||
private String creatorName;
|
||||
|
||||
/**
|
||||
* 楼层集合
|
||||
*/
|
||||
private List<ManElevatorFloorsDto> floorList;
|
||||
|
||||
/**
|
||||
* 线上ID
|
||||
*/
|
||||
private String onlineId;
|
||||
|
||||
@Data
|
||||
public static class ManElevatorFloorsDto {
|
||||
|
||||
/**
|
||||
* 电梯Id
|
||||
*/
|
||||
private Long elevatorId;
|
||||
|
||||
/**
|
||||
* 楼层权限标识
|
||||
*/
|
||||
private Long floorId;
|
||||
|
||||
/**
|
||||
* 楼层名称
|
||||
*/
|
||||
private String floorName;
|
||||
|
||||
/**
|
||||
* 是否前门
|
||||
*/
|
||||
private boolean isFrontDoor;
|
||||
|
||||
/**
|
||||
* 是否后门
|
||||
*/
|
||||
private boolean isBackDoor;
|
||||
|
||||
/**
|
||||
* 是否公共楼层
|
||||
*/
|
||||
private boolean isCommonFloor;
|
||||
|
||||
/**
|
||||
* 轿厢二维码
|
||||
*/
|
||||
private String outSideCallqrCode;
|
||||
|
||||
/**
|
||||
* 是否选择前门
|
||||
*/
|
||||
private boolean isSelectFrontDoor;
|
||||
|
||||
/**
|
||||
* 是否选择后门
|
||||
*/
|
||||
private boolean isSelectBackDoor;
|
||||
|
||||
/**
|
||||
* 楼层按键值
|
||||
*/
|
||||
private Long floorCode;
|
||||
}
|
||||
}
|
34
ruoyi-modules/E8Service/src/main/resources/application.yml
Normal file
34
ruoyi-modules/E8Service/src/main/resources/application.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
# Tomcat
|
||||
server:
|
||||
port: 7777
|
||||
|
||||
# Spring
|
||||
spring:
|
||||
application:
|
||||
# 应用名称
|
||||
name: E8Service
|
||||
profiles:
|
||||
# 环境配置
|
||||
active: @profiles.active@
|
||||
|
||||
--- # nacos 配置
|
||||
spring:
|
||||
cloud:
|
||||
nacos:
|
||||
# nacos 服务地址
|
||||
server-addr: @nacos.server@
|
||||
username: @nacos.username@
|
||||
password: @nacos.password@
|
||||
discovery:
|
||||
# 注册组
|
||||
group: @nacos.discovery.group@
|
||||
namespace: ${spring.profiles.active}
|
||||
config:
|
||||
# 配置组
|
||||
group: @nacos.config.group@
|
||||
namespace: ${spring.profiles.active}
|
||||
config:
|
||||
import:
|
||||
- optional:nacos:application-common.yml
|
||||
- optional:nacos:datasource.yml
|
||||
- optional:nacos:${spring.application.name}.yml
|
10
ruoyi-modules/E8Service/src/main/resources/banner.txt
Normal file
10
ruoyi-modules/E8Service/src/main/resources/banner.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Spring Boot Version: ${spring-boot.version}
|
||||
Spring Application Name: ${spring.application.name}
|
||||
_ _
|
||||
(_) | |
|
||||
_ __ _ _ ___ _ _ _ ______ ___ _ _ ___ | |_ ___ _ __ ___
|
||||
| '__|| | | | / _ \ | | | || ||______|/ __|| | | |/ __|| __| / _ \| '_ ` _ \
|
||||
| | | |_| || (_) || |_| || | \__ \| |_| |\__ \| |_ | __/| | | | | |
|
||||
|_| \__,_| \___/ \__, ||_| |___/ \__, ||___/ \__| \___||_| |_| |_|
|
||||
__/ | __/ |
|
||||
|___/ |___/
|
28
ruoyi-modules/E8Service/src/main/resources/logback-plus.xml
Normal file
28
ruoyi-modules/E8Service/src/main/resources/logback-plus.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration scan="true" scanPeriod="60 seconds" debug="false">
|
||||
<!-- 日志存放路径 -->
|
||||
<property name="log.path" value="logs/${project.artifactId}" />
|
||||
<!-- 日志输出格式 -->
|
||||
<property name="console.log.pattern"
|
||||
value="%cyan(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}%n) - %msg%n"/>
|
||||
|
||||
<!-- 控制台输出 -->
|
||||
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>${console.log.pattern}</pattern>
|
||||
<charset>utf-8</charset>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<include resource="logback-common.xml" />
|
||||
|
||||
<include resource="logback-logstash.xml" />
|
||||
|
||||
<!-- 开启 skywalking 日志收集 -->
|
||||
<include resource="logback-skylog.xml" />
|
||||
|
||||
<!--系统操作日志-->
|
||||
<root level="info">
|
||||
<appender-ref ref="console" />
|
||||
</root>
|
||||
</configuration>
|
Reference in New Issue
Block a user