增加人像库
This commit is contained in:
parent
6de67e1956
commit
3fb9a76876
@ -0,0 +1,13 @@
|
||||
package org.dromara.common.core.constant;
|
||||
|
||||
public interface CodePrefixConstants {
|
||||
/**
|
||||
* 人像库编码前缀
|
||||
*/
|
||||
String PERSONLIB_CODE_PREFIX = "100";
|
||||
|
||||
/**
|
||||
* 门禁设备编码前缀
|
||||
*/
|
||||
String SIS_DEVICE_CODE_PREFIX = "101";
|
||||
}
|
@ -1,34 +1,33 @@
|
||||
package org.dromara.sis.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.sis.domain.bo.SisAccessControlBo;
|
||||
import org.dromara.sis.domain.vo.SisAccessControlVo;
|
||||
import org.dromara.sis.service.ISisAccessControlService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.sis.domain.vo.SisAccessControlVo;
|
||||
import org.dromara.sis.domain.bo.SisAccessControlBo;
|
||||
import org.dromara.sis.service.ISisAccessControlService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 门禁管理
|
||||
* 前端访问路由地址为:/iot/accessControl
|
||||
* 门禁设备
|
||||
* 前端访问路由地址为:/sis/accessControl
|
||||
*
|
||||
* @author lxj
|
||||
* @date 2025-06-17
|
||||
* @date 2025-06-25
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@ -36,72 +35,72 @@ import java.util.List;
|
||||
@RequestMapping("/accessControl")
|
||||
public class SisAccessControlController extends BaseController {
|
||||
|
||||
private final ISisAccessControlService tbAccessControlService;
|
||||
private final ISisAccessControlService sisAccessControlService;
|
||||
|
||||
/**
|
||||
* 查询门禁管理列表
|
||||
* 查询门禁设备列表
|
||||
*/
|
||||
@SaCheckPermission("property:accessControl:list")
|
||||
@SaCheckPermission("sis:accessControl:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<SisAccessControlVo> list(SisAccessControlBo bo, PageQuery pageQuery) {
|
||||
return tbAccessControlService.queryPageList(bo, pageQuery);
|
||||
return sisAccessControlService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出门禁管理列表
|
||||
* 导出门禁设备列表
|
||||
*/
|
||||
@SaCheckPermission("property:accessControl:export")
|
||||
@Log(title = "门禁管理", businessType = BusinessType.EXPORT)
|
||||
@SaCheckPermission("sis:accessControl:export")
|
||||
@Log(title = "门禁设备", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(SisAccessControlBo bo, HttpServletResponse response) {
|
||||
List<SisAccessControlVo> list = tbAccessControlService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "门禁管理", SisAccessControlVo.class, response);
|
||||
List<SisAccessControlVo> list = sisAccessControlService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "门禁设备", SisAccessControlVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取门禁管理详细信息
|
||||
* 获取门禁设备详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("property:accessControl:query")
|
||||
@SaCheckPermission("sis:accessControl:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<SisAccessControlVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable("id") Long id) {
|
||||
return R.ok(tbAccessControlService.queryById(id));
|
||||
@PathVariable("id") Long id) {
|
||||
return R.ok(sisAccessControlService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增门禁管理
|
||||
* 新增门禁设备
|
||||
*/
|
||||
@SaCheckPermission("property:accessControl:add")
|
||||
@Log(title = "门禁管理", businessType = BusinessType.INSERT)
|
||||
@SaCheckPermission("sis:accessControl:add")
|
||||
@Log(title = "门禁设备", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody SisAccessControlBo bo) {
|
||||
return toAjax(tbAccessControlService.insertByBo(bo));
|
||||
return toAjax(sisAccessControlService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改门禁管理
|
||||
* 修改门禁设备
|
||||
*/
|
||||
@SaCheckPermission("property:accessControl:edit")
|
||||
@Log(title = "门禁管理", businessType = BusinessType.UPDATE)
|
||||
@SaCheckPermission("sis:accessControl:edit")
|
||||
@Log(title = "门禁设备", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SisAccessControlBo bo) {
|
||||
return toAjax(tbAccessControlService.updateByBo(bo));
|
||||
return toAjax(sisAccessControlService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除门禁管理
|
||||
* 删除门禁设备
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("property:accessControl:remove")
|
||||
@Log(title = "门禁管理", businessType = BusinessType.DELETE)
|
||||
@SaCheckPermission("sis:accessControl:remove")
|
||||
@Log(title = "门禁设备", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable("ids") Long[] ids) {
|
||||
return toAjax(tbAccessControlService.deleteWithValidByIds(List.of(ids), true));
|
||||
return toAjax(sisAccessControlService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
|
@ -1,29 +1,28 @@
|
||||
package org.dromara.sis.domain;
|
||||
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import java.util.Date;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 门禁管理对象 tb_access_control
|
||||
* 门禁设备对象 sis_access_control
|
||||
*
|
||||
* @author mocheng
|
||||
* @since 2025-06-17
|
||||
* @author lxj
|
||||
* @date 2025-06-25
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("sis_access_control")
|
||||
public class SisAccessControl extends BaseEntity {
|
||||
public class SisAccessControl extends TenantEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
@ -54,7 +53,7 @@ public class SisAccessControl extends BaseEntity {
|
||||
private String accessIp;
|
||||
|
||||
/**
|
||||
* 设备端口
|
||||
*
|
||||
*/
|
||||
private Long accessPort;
|
||||
|
||||
@ -64,7 +63,7 @@ public class SisAccessControl extends BaseEntity {
|
||||
private Long accessType;
|
||||
|
||||
/**
|
||||
* 工程编号
|
||||
*
|
||||
*/
|
||||
private String factoryCode;
|
||||
|
||||
@ -89,19 +88,9 @@ public class SisAccessControl extends BaseEntity {
|
||||
private String orgCode;
|
||||
|
||||
/**
|
||||
* 数据状态:1有效,0无效
|
||||
* 搜索值
|
||||
*/
|
||||
private Long dataState;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private Long createEmpId;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private Date modifyTime;
|
||||
private String searchValue;
|
||||
|
||||
|
||||
}
|
||||
|
@ -72,20 +72,4 @@ public class SisAccessControlDevice extends TenantEntity {
|
||||
*/
|
||||
private String eqpPwd;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
private Long updateById;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
private String searchValue;
|
||||
|
||||
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ rtsp
|
||||
|
||||
/**
|
||||
* 传输协议(AIBOX 需要,一
|
||||
体机不需要) 1: tcp 2:
|
||||
体机不需要) 1: tcp 2:
|
||||
udp
|
||||
*/
|
||||
private Long transportType;
|
||||
@ -91,20 +91,5 @@ rtsp 时,该字段必填)
|
||||
*/
|
||||
private Long videoId;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
private Long updateById;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
private String searchValue;
|
||||
|
||||
|
||||
}
|
||||
|
@ -52,20 +52,4 @@ public class SisLibDeviceImgRef extends TenantEntity {
|
||||
*/
|
||||
private Long eqpLibImgId;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
private Long updateById;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
private String searchValue;
|
||||
|
||||
|
||||
}
|
||||
|
@ -47,20 +47,5 @@ public class SisLibDeviceRef extends TenantEntity {
|
||||
*/
|
||||
private Long eqpLibState;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
private Long updateById;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
private String searchValue;
|
||||
|
||||
|
||||
}
|
||||
|
@ -52,20 +52,5 @@ public class SisPersonLib extends TenantEntity {
|
||||
*/
|
||||
private Long busiType;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
private Long updateById;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
private String searchValue;
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,9 +1,10 @@
|
||||
package org.dromara.sis.domain;
|
||||
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
@ -80,20 +81,5 @@ public class SisPersonLibImg extends TenantEntity {
|
||||
*/
|
||||
private String birthDate;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
private Long updateById;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
private String searchValue;
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,20 +1,19 @@
|
||||
package org.dromara.sis.domain.bo;
|
||||
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.dromara.sis.domain.SisAccessControl;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.sis.domain.SisAccessControl;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
|
||||
/**
|
||||
* 门禁管理业务对象 tb_access_control
|
||||
* 门禁设备业务对象 sis_access_control
|
||||
*
|
||||
* @author lxj
|
||||
* @date 2025-06-17
|
||||
* @date 2025-06-25
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@ -22,60 +21,63 @@ import org.dromara.sis.domain.SisAccessControl;
|
||||
public class SisAccessControlBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* id
|
||||
*
|
||||
*/
|
||||
@NotNull(message = "不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 门禁设备编码
|
||||
*/
|
||||
@NotBlank(message = "门禁设备编码不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
@NotBlank(message = "门禁设备编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String accessCode;
|
||||
|
||||
/**
|
||||
* 门禁名称
|
||||
*/
|
||||
@NotBlank(message = "门禁名称不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
@NotBlank(message = "门禁名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String accessName;
|
||||
|
||||
/**
|
||||
* 园区编码
|
||||
*/
|
||||
@NotBlank(message = "园区编码不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
@NotBlank(message = "园区编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String communityCode;
|
||||
|
||||
/**
|
||||
* 建筑编码
|
||||
*/
|
||||
@NotBlank(message = "建筑编码不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
@NotBlank(message = "建筑编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String buildingCode;
|
||||
|
||||
/**
|
||||
* 门禁设备ip
|
||||
*/
|
||||
@NotBlank(message = "门禁设备ip不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String accessIp;
|
||||
|
||||
/**
|
||||
* 设备端口
|
||||
*
|
||||
*/
|
||||
@NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long accessPort;
|
||||
|
||||
/**
|
||||
* 门禁设备类型
|
||||
*/
|
||||
@NotNull(message = "门禁设备类型不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Long accssType;
|
||||
@NotNull(message = "门禁设备类型不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long accessType;
|
||||
|
||||
/**
|
||||
* 工程编号
|
||||
*
|
||||
*/
|
||||
@NotBlank(message = "工程编号不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
@NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String factoryCode;
|
||||
|
||||
/**
|
||||
* 控制卡类型:1-系统,2-E8
|
||||
*/
|
||||
@NotNull(message = "控制卡类型:1-系统,2-E8不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
@NotNull(message = "控制卡类型:1-系统,2-E8不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long controlType;
|
||||
|
||||
/**
|
||||
@ -91,14 +93,19 @@ public class SisAccessControlBo extends BaseEntity {
|
||||
/**
|
||||
* 组织编码
|
||||
*/
|
||||
@NotBlank(message = "组织编码不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
@NotBlank(message = "组织编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String orgCode;
|
||||
|
||||
/**
|
||||
* 数据状态:1有效,0无效
|
||||
*/
|
||||
@NotNull(message = "数据状态:1有效,0无效不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
@NotNull(message = "数据状态:1有效,0无效不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long dataState;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
private String searchValue;
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,13 +1,14 @@
|
||||
package org.dromara.sis.domain.bo;
|
||||
|
||||
import org.dromara.sis.domain.SisAccessControlDevice;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.sis.domain.SisAccessControlDevice;
|
||||
|
||||
/**
|
||||
* 门禁设备业务对象 sis_access_control_device
|
||||
@ -23,19 +24,13 @@ public class SisAccessControlDeviceBo extends BaseEntity {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
|
||||
@NotNull(message = "主键id不能为空", groups = {EditGroup.class})
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 设备编码
|
||||
*/
|
||||
@NotBlank(message = "设备编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String eqpNo;
|
||||
|
||||
/**
|
||||
* 设备名称
|
||||
*/
|
||||
@NotBlank(message = "设备名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotBlank(message = "设备名称不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private String eqpName;
|
||||
|
||||
/**
|
||||
@ -56,41 +51,25 @@ public class SisAccessControlDeviceBo extends BaseEntity {
|
||||
/**
|
||||
* 设备ip
|
||||
*/
|
||||
@NotBlank(message = "设备ip不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotBlank(message = "设备ip不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private String eqpIp;
|
||||
|
||||
/**
|
||||
* 设备端口
|
||||
*/
|
||||
@NotNull(message = "设备端口不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotNull(message = "设备端口不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Long eqpPort;
|
||||
|
||||
/**
|
||||
* 设备账号
|
||||
*/
|
||||
@NotBlank(message = "设备账号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotBlank(message = "设备账号不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private String eqpAccount;
|
||||
|
||||
/**
|
||||
* 设备密码
|
||||
*/
|
||||
@NotBlank(message = "设备密码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotBlank(message = "设备密码不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private String eqpPwd;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
private Long updateById;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
private String searchValue;
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,13 +1,16 @@
|
||||
package org.dromara.sis.domain.bo;
|
||||
|
||||
import org.dromara.sis.domain.SisPersonLib;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.translation.annotation.Translation;
|
||||
import org.dromara.common.translation.constant.TransConstant;
|
||||
import org.dromara.sis.domain.SisPersonLib;
|
||||
|
||||
/**
|
||||
* 人像库业务对象 tb_person_lib
|
||||
@ -23,19 +26,15 @@ public class SisPersonLibBo extends BaseEntity {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
|
||||
@NotNull(message = "主键id不能为空", groups = {EditGroup.class})
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 人员库编码
|
||||
*/
|
||||
@NotBlank(message = "人员库编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String libCode;
|
||||
|
||||
/**
|
||||
* 人员库名称
|
||||
*/
|
||||
@NotBlank(message = "人员库名称不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@NotBlank(message = "人员库名称不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private String libName;
|
||||
|
||||
/**
|
||||
@ -48,25 +47,17 @@ public class SisPersonLibBo extends BaseEntity {
|
||||
*/
|
||||
private Long libType;
|
||||
|
||||
/**
|
||||
* 库类型名称
|
||||
*/
|
||||
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "libType", other = "sis_lib_type")
|
||||
private String libTypeName;
|
||||
|
||||
|
||||
/**
|
||||
* 库的业务类型 1: 门禁库,2: 黑名单库
|
||||
*/
|
||||
private Long busiType;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
private Long updateById;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
private String searchValue;
|
||||
private Long busiType = 1L;
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,16 +1,15 @@
|
||||
package org.dromara.sis.domain.vo;
|
||||
|
||||
import org.dromara.sis.domain.SisAccessControlDevice;
|
||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.common.translation.annotation.Translation;
|
||||
import org.dromara.common.translation.constant.TransConstant;
|
||||
import org.dromara.sis.domain.SisAccessControlDevice;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
@ -52,6 +51,9 @@ public class SisAccessControlDeviceVo implements Serializable {
|
||||
@ExcelProperty(value = "厂商编码")
|
||||
private String factoryNo;
|
||||
|
||||
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "factoryNo", other = "sis_access_control_device_type")
|
||||
private String factoryName;
|
||||
|
||||
/**
|
||||
* 设备类型
|
||||
*/
|
||||
|
@ -1,20 +1,24 @@
|
||||
package org.dromara.sis.domain.vo;
|
||||
|
||||
import org.dromara.sis.domain.SisAccessControl;
|
||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.sis.domain.SisAccessControl;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 门禁管理视图对象 tb_access_control
|
||||
* 门禁设备视图对象 sis_access_control
|
||||
*
|
||||
* @author lxj
|
||||
* @date 2025-06-17
|
||||
* @date 2025-06-25
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@ -25,9 +29,9 @@ public class SisAccessControlVo implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*
|
||||
*/
|
||||
@ExcelProperty(value = "id")
|
||||
@ExcelProperty(value = "")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
@ -61,21 +65,21 @@ public class SisAccessControlVo implements Serializable {
|
||||
private String accessIp;
|
||||
|
||||
/**
|
||||
* 设备端口
|
||||
*
|
||||
*/
|
||||
@ExcelProperty(value = "设备端口")
|
||||
@ExcelProperty(value = "")
|
||||
private Long accessPort;
|
||||
|
||||
/**
|
||||
* 门禁设备类型
|
||||
*/
|
||||
@ExcelProperty(value = "门禁设备类型")
|
||||
private Long accssType;
|
||||
private Long accessType;
|
||||
|
||||
/**
|
||||
* 工程编号
|
||||
*
|
||||
*/
|
||||
@ExcelProperty(value = "工程编号")
|
||||
@ExcelProperty(value = "")
|
||||
private String factoryCode;
|
||||
|
||||
/**
|
||||
@ -108,5 +112,11 @@ public class SisAccessControlVo implements Serializable {
|
||||
@ExcelProperty(value = "数据状态:1有效,0无效")
|
||||
private Long dataState;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
@ExcelProperty(value = "搜索值")
|
||||
private String searchValue;
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,17 +1,15 @@
|
||||
package org.dromara.sis.domain.vo;
|
||||
|
||||
import org.dromara.sis.domain.SisDevicePoint;
|
||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import org.dromara.sis.domain.SisDevicePoint;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@ -42,20 +40,17 @@ public class SisDevicePointVo implements Serializable {
|
||||
|
||||
/**
|
||||
* 视频协议 1:onvif 2:
|
||||
rtsp
|
||||
* rtsp
|
||||
*/
|
||||
@ExcelProperty(value = "视频协议 1:onvif 2:
|
||||
rtsp")
|
||||
@ExcelProperty(value = "视频协议")
|
||||
private Long video;
|
||||
|
||||
/**
|
||||
* 传输协议(AIBOX 需要,一
|
||||
体机不需要) 1: tcp 2:
|
||||
udp
|
||||
* 体机不需要) 1: tcp 2:
|
||||
* udp
|
||||
*/
|
||||
@ExcelProperty(value = "传输协议(AIBOX 需要,一
|
||||
体机不需要) 1: tcp 2:
|
||||
udp")
|
||||
@ExcelProperty(value = "传输协议")
|
||||
private Long transportType;
|
||||
|
||||
/**
|
||||
@ -66,11 +61,10 @@ udp")
|
||||
|
||||
/**
|
||||
* rtsp 地址(当视频协议为
|
||||
rtsp 时,该字段必填)
|
||||
* rtsp 时,该字段必填)
|
||||
*/
|
||||
@ExcelProperty(value = "rtsp 地址", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "当=视频协议为
|
||||
rtsp,时=,该字段必填")
|
||||
@ExcelDictFormat(readConverterExp = "视频协议")
|
||||
private String rtspAddr;
|
||||
|
||||
/**
|
||||
@ -99,38 +93,21 @@ rtsp,时=,该字段必填")
|
||||
|
||||
/**
|
||||
* onvif 设备码流添加方
|
||||
式:1:主码流 2:自定
|
||||
义码流
|
||||
* 式:1:主码流 2:自定
|
||||
* 义码流
|
||||
*/
|
||||
@ExcelProperty(value = "onvif 设备码流添加方
|
||||
式:1:主码流 2:自定
|
||||
义码流")
|
||||
@ExcelProperty(value = "码流")
|
||||
private Long videoType;
|
||||
|
||||
/**
|
||||
* 码流 id:当选择自定义码
|
||||
流时,该字段必填,值为
|
||||
获取设备码流信息接口返
|
||||
回的码流 id
|
||||
* 流时,该字段必填,值为
|
||||
* 获取设备码流信息接口返
|
||||
* 回的码流 id
|
||||
*/
|
||||
@ExcelProperty(value = "码流 id:当选择自定义码
|
||||
流时,该字段必填,值为
|
||||
获取设备码流信息接口返
|
||||
回的码流 id")
|
||||
@ExcelProperty(value = "码流id")
|
||||
private Long videoId;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@ExcelProperty(value = "创建人id")
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
@ExcelProperty(value = "更新人id")
|
||||
private Long updateById;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
|
@ -1,17 +1,15 @@
|
||||
package org.dromara.sis.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.sis.domain.SisAccessControl;
|
||||
import org.dromara.sis.domain.vo.SisAccessControlVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 门禁管理Mapper接口
|
||||
* 门禁设备Mapper接口
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-06-17
|
||||
* @author lxj
|
||||
* @date 2025-06-25
|
||||
*/
|
||||
@Mapper
|
||||
public interface SisAccessControlMapper extends BaseMapperPlus<SisAccessControl, SisAccessControlVo> {
|
||||
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
package org.dromara.sis.mapper;
|
||||
|
||||
import org.dromara.sis.domain.SisDevicePoint;
|
||||
import org.dromara.sis.domain.vo.SisDevicePointVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.sis.domain.vo.SisDevicePointVo;
|
||||
|
||||
/**
|
||||
* 宇视设备点位(通道)Mapper接口
|
||||
|
@ -1,64 +1,65 @@
|
||||
package org.dromara.sis.service;
|
||||
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.sis.domain.bo.SisAccessControlBo;
|
||||
import org.dromara.sis.domain.SisAccessControl;
|
||||
import org.dromara.sis.domain.vo.SisAccessControlVo;
|
||||
import org.dromara.sis.domain.bo.SisAccessControlBo;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 门禁管理Service接口
|
||||
* 门禁设备Service接口
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-06-17
|
||||
* @author lxj
|
||||
* @date 2025-06-25
|
||||
*/
|
||||
public interface ISisAccessControlService {
|
||||
|
||||
/**
|
||||
* 查询门禁管理
|
||||
* 查询门禁设备
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 门禁管理
|
||||
* @return 门禁设备
|
||||
*/
|
||||
SisAccessControlVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询门禁管理列表
|
||||
* 分页查询门禁设备列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 门禁管理分页列表
|
||||
* @return 门禁设备分页列表
|
||||
*/
|
||||
TableDataInfo<SisAccessControlVo> queryPageList(SisAccessControlBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的门禁管理列表
|
||||
* 查询符合条件的门禁设备列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 门禁管理列表
|
||||
* @return 门禁设备列表
|
||||
*/
|
||||
List<SisAccessControlVo> queryList(SisAccessControlBo bo);
|
||||
|
||||
/**
|
||||
* 新增门禁管理
|
||||
* 新增门禁设备
|
||||
*
|
||||
* @param bo 门禁管理
|
||||
* @param bo 门禁设备
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(SisAccessControlBo bo);
|
||||
|
||||
/**
|
||||
* 修改门禁管理
|
||||
* 修改门禁设备
|
||||
*
|
||||
* @param bo 门禁管理
|
||||
* @param bo 门禁设备
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(SisAccessControlBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除门禁管理信息
|
||||
* 校验并批量删除门禁设备信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
|
@ -1,24 +1,28 @@
|
||||
package org.dromara.sis.service.impl;
|
||||
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.common.core.constant.CodePrefixConstants;
|
||||
import org.dromara.common.core.service.DictService;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.sis.domain.SisAccessControlDevice;
|
||||
import org.dromara.sis.domain.bo.SisAccessControlDeviceBo;
|
||||
import org.dromara.sis.domain.vo.SisAccessControlDeviceVo;
|
||||
import org.dromara.sis.domain.SisAccessControlDevice;
|
||||
import org.dromara.sis.mapper.SisAccessControlDeviceMapper;
|
||||
import org.dromara.sis.service.ISisAccessControlDeviceService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 门禁设备Service业务层处理
|
||||
@ -27,11 +31,12 @@ import java.util.Collection;
|
||||
* @date 2025-06-25
|
||||
*/
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class SisAccessControlDeviceServiceImpl implements ISisAccessControlDeviceService {
|
||||
|
||||
private final SisAccessControlDeviceMapper baseMapper;
|
||||
@Resource
|
||||
private SisAccessControlDeviceMapper baseMapper;
|
||||
@Resource
|
||||
private DictService dictService;
|
||||
|
||||
/**
|
||||
* 查询门禁设备
|
||||
@ -40,7 +45,7 @@ public class SisAccessControlDeviceServiceImpl implements ISisAccessControlDevic
|
||||
* @return 门禁设备
|
||||
*/
|
||||
@Override
|
||||
public SisAccessControlDeviceVo queryById(Long id){
|
||||
public SisAccessControlDeviceVo queryById(Long id) {
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
@ -74,7 +79,6 @@ public class SisAccessControlDeviceServiceImpl implements ISisAccessControlDevic
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SisAccessControlDevice> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByAsc(SisAccessControlDevice::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getEqpNo()), SisAccessControlDevice::getEqpNo, bo.getEqpNo());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getEqpName()), SisAccessControlDevice::getEqpName, bo.getEqpName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFactoryNo()), SisAccessControlDevice::getFactoryNo, bo.getFactoryNo());
|
||||
lqw.eq(bo.getEqpType() != null, SisAccessControlDevice::getEqpType, bo.getEqpType());
|
||||
@ -83,8 +87,6 @@ public class SisAccessControlDeviceServiceImpl implements ISisAccessControlDevic
|
||||
lqw.eq(bo.getEqpPort() != null, SisAccessControlDevice::getEqpPort, bo.getEqpPort());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getEqpAccount()), SisAccessControlDevice::getEqpAccount, bo.getEqpAccount());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getEqpPwd()), SisAccessControlDevice::getEqpPwd, bo.getEqpPwd());
|
||||
lqw.eq(bo.getCreateById() != null, SisAccessControlDevice::getCreateById, bo.getCreateById());
|
||||
lqw.eq(bo.getUpdateById() != null, SisAccessControlDevice::getUpdateById, bo.getUpdateById());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), SisAccessControlDevice::getSearchValue, bo.getSearchValue());
|
||||
return lqw;
|
||||
}
|
||||
@ -98,7 +100,8 @@ public class SisAccessControlDeviceServiceImpl implements ISisAccessControlDevic
|
||||
@Override
|
||||
public Boolean insertByBo(SisAccessControlDeviceBo bo) {
|
||||
SisAccessControlDevice add = MapstructUtils.convert(bo, SisAccessControlDevice.class);
|
||||
validEntityBeforeSave(add);
|
||||
// 生成设备比吗
|
||||
add.setEqpNo(CodePrefixConstants.SIS_DEVICE_CODE_PREFIX + IdUtil.getSnowflakeNextIdStr());
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
@ -122,7 +125,7 @@ public class SisAccessControlDeviceServiceImpl implements ISisAccessControlDevic
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SisAccessControlDevice entity){
|
||||
private void validEntityBeforeSave(SisAccessControlDevice entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
@ -135,7 +138,7 @@ public class SisAccessControlDeviceServiceImpl implements ISisAccessControlDevic
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
|
@ -9,24 +9,22 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.sis.sdk.e8.DoorDeviceService;
|
||||
import org.dromara.sis.sdk.e8.domain.door.req.DoorDeviceAddReq;
|
||||
import org.dromara.sis.sdk.e8.domain.door.res.DoorDeviceAddRes;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.sis.domain.bo.SisAccessControlBo;
|
||||
import org.dromara.sis.domain.vo.SisAccessControlVo;
|
||||
import org.dromara.sis.domain.SisAccessControl;
|
||||
import org.dromara.sis.mapper.SisAccessControlMapper;
|
||||
import org.dromara.sis.service.ISisAccessControlService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 门禁管理Service业务层处理
|
||||
* 门禁设备Service业务层处理
|
||||
*
|
||||
* @author mocheng
|
||||
* @since 2025-06-17
|
||||
* @author lxj
|
||||
* @date 2025-06-25
|
||||
*/
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@ -34,25 +32,24 @@ import java.util.Collection;
|
||||
public class SisAccessControlServiceImpl implements ISisAccessControlService {
|
||||
|
||||
private final SisAccessControlMapper baseMapper;
|
||||
private final DoorDeviceService doorDeviceService;
|
||||
|
||||
/**
|
||||
* 查询门禁管理
|
||||
* 查询门禁设备
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 门禁管理
|
||||
* @return 门禁设备
|
||||
*/
|
||||
@Override
|
||||
public SisAccessControlVo queryById(Long id) {
|
||||
public SisAccessControlVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询门禁管理列表
|
||||
* 分页查询门禁设备列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 门禁管理分页列表
|
||||
* @return 门禁设备分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SisAccessControlVo> queryPageList(SisAccessControlBo bo, PageQuery pageQuery) {
|
||||
@ -62,10 +59,10 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的门禁管理列表
|
||||
* 查询符合条件的门禁设备列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 门禁管理列表
|
||||
* @return 门禁设备列表
|
||||
*/
|
||||
@Override
|
||||
public List<SisAccessControlVo> queryList(SisAccessControlBo bo) {
|
||||
@ -83,41 +80,25 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBuildingCode()), SisAccessControl::getBuildingCode, bo.getBuildingCode());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getAccessIp()), SisAccessControl::getAccessIp, bo.getAccessIp());
|
||||
lqw.eq(bo.getAccessPort() != null, SisAccessControl::getAccessPort, bo.getAccessPort());
|
||||
lqw.eq(bo.getAccssType() != null, SisAccessControl::getAccessType, bo.getAccssType());
|
||||
lqw.eq(bo.getAccessType() != null, SisAccessControl::getAccessType, bo.getAccessType());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFactoryCode()), SisAccessControl::getFactoryCode, bo.getFactoryCode());
|
||||
lqw.eq(bo.getControlType() != null, SisAccessControl::getControlType, bo.getControlType());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getControlCode()), SisAccessControl::getControlCode, bo.getControlCode());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getOutCode()), SisAccessControl::getOutCode, bo.getOutCode());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getOrgCode()), SisAccessControl::getOrgCode, bo.getOrgCode());
|
||||
lqw.eq(bo.getDataState() != null, SisAccessControl::getDataState, bo.getDataState());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), SisAccessControl::getSearchValue, bo.getSearchValue());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增门禁管理
|
||||
* 新增门禁设备
|
||||
*
|
||||
* @param bo 门禁管理
|
||||
* @param bo 门禁设备
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SisAccessControlBo bo) {
|
||||
SisAccessControl add = MapstructUtils.convert(bo, SisAccessControl.class);
|
||||
|
||||
// 添加E8门禁设备
|
||||
if (add.getControlType() == 2L){
|
||||
DoorDeviceAddReq e8DoorReq = new DoorDeviceAddReq();
|
||||
e8DoorReq.setIp(add.getAccessIp());
|
||||
e8DoorReq.setType(add.getAccessType());
|
||||
e8DoorReq.setPort(add.getAccessPort());
|
||||
e8DoorReq.setName(add.getAccessName());
|
||||
DoorDeviceAddRes e8DoorRes = doorDeviceService.addDoorDevice(e8DoorReq);
|
||||
if (e8DoorRes != null) {
|
||||
add.setOutCode(e8DoorRes.getId().toString());
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
@ -127,9 +108,9 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改门禁管理
|
||||
* 修改门禁设备
|
||||
*
|
||||
* @param bo 门禁管理
|
||||
* @param bo 门禁设备
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
@ -142,12 +123,12 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SisAccessControl entity) {
|
||||
private void validEntityBeforeSave(SisAccessControl entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除门禁管理信息
|
||||
* 校验并批量删除门禁设备信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
@ -155,7 +136,7 @@ public class SisAccessControlServiceImpl implements ISisAccessControlService {
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if (isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
|
@ -1,145 +0,0 @@
|
||||
package org.dromara.sis.service.impl;
|
||||
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.sis.domain.bo.SisDevicePointBo;
|
||||
import org.dromara.sis.domain.vo.SisDevicePointVo;
|
||||
import org.dromara.sis.domain.SisDevicePoint;
|
||||
import org.dromara.sis.mapper.SisDevicePointMapper;
|
||||
import org.dromara.sis.service.ISisDevicePointService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 宇视设备点位(通道)Service业务层处理
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-06-25
|
||||
*/
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class SisDevicePointServiceImpl implements ISisDevicePointService {
|
||||
|
||||
private final SisDevicePointMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询宇视设备点位(通道)
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 宇视设备点位(通道)
|
||||
*/
|
||||
@Override
|
||||
public SisDevicePointVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询宇视设备点位(通道)列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 宇视设备点位(通道)分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<SisDevicePointVo> queryPageList(SisDevicePointBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<SisDevicePoint> lqw = buildQueryWrapper(bo);
|
||||
Page<SisDevicePointVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的宇视设备点位(通道)列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 宇视设备点位(通道)列表
|
||||
*/
|
||||
@Override
|
||||
public List<SisDevicePointVo> queryList(SisDevicePointBo bo) {
|
||||
LambdaQueryWrapper<SisDevicePoint> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<SisDevicePoint> buildQueryWrapper(SisDevicePointBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SisDevicePoint> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByAsc(SisDevicePoint::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getEqpCode()), SisDevicePoint::getEqpCode, bo.getEqpCode());
|
||||
lqw.eq(bo.getVideo() != null, SisDevicePoint::getVideo, bo.getVideo());
|
||||
lqw.eq(bo.getTransportType() != null, SisDevicePoint::getTransportType, bo.getTransportType());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getChannelName()), SisDevicePoint::getChannelName, bo.getChannelName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getRtspAddr()), SisDevicePoint::getRtspAddr, bo.getRtspAddr());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getIp()), SisDevicePoint::getIp, bo.getIp());
|
||||
lqw.eq(bo.getPort() != null, SisDevicePoint::getPort, bo.getPort());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getUsername()), SisDevicePoint::getUsername, bo.getUsername());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getPwd()), SisDevicePoint::getPwd, bo.getPwd());
|
||||
lqw.eq(bo.getVideoType() != null, SisDevicePoint::getVideoType, bo.getVideoType());
|
||||
lqw.eq(bo.getVideoId() != null, SisDevicePoint::getVideoId, bo.getVideoId());
|
||||
lqw.eq(bo.getCreateById() != null, SisDevicePoint::getCreateById, bo.getCreateById());
|
||||
lqw.eq(bo.getUpdateById() != null, SisDevicePoint::getUpdateById, bo.getUpdateById());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), SisDevicePoint::getSearchValue, bo.getSearchValue());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增宇视设备点位(通道)
|
||||
*
|
||||
* @param bo 宇视设备点位(通道)
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(SisDevicePointBo bo) {
|
||||
SisDevicePoint add = MapstructUtils.convert(bo, SisDevicePoint.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改宇视设备点位(通道)
|
||||
*
|
||||
* @param bo 宇视设备点位(通道)
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(SisDevicePointBo bo) {
|
||||
SisDevicePoint update = MapstructUtils.convert(bo, SisDevicePoint.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SisDevicePoint entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除宇视设备点位(通道)信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
@ -79,8 +79,6 @@ public class SisLibDeviceImgRefServiceImpl implements ISisLibDeviceImgRefService
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getEqpCode()), SisLibDeviceImgRef::getEqpCode, bo.getEqpCode());
|
||||
lqw.eq(bo.getEqpLibId() != null, SisLibDeviceImgRef::getEqpLibId, bo.getEqpLibId());
|
||||
lqw.eq(bo.getEqpLibImgId() != null, SisLibDeviceImgRef::getEqpLibImgId, bo.getEqpLibImgId());
|
||||
lqw.eq(bo.getCreateById() != null, SisLibDeviceImgRef::getCreateById, bo.getCreateById());
|
||||
lqw.eq(bo.getUpdateById() != null, SisLibDeviceImgRef::getUpdateById, bo.getUpdateById());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), SisLibDeviceImgRef::getSearchValue, bo.getSearchValue());
|
||||
return lqw;
|
||||
}
|
||||
|
@ -78,8 +78,6 @@ public class SisLibDeviceRefServiceImpl implements ISisLibDeviceRefService {
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getEqpCode()), SisLibDeviceRef::getEqpCode, bo.getEqpCode());
|
||||
lqw.eq(bo.getEqpLibCode() != null, SisLibDeviceRef::getEqpLibCode, bo.getEqpLibCode());
|
||||
lqw.eq(bo.getEqpLibState() != null, SisLibDeviceRef::getEqpLibState, bo.getEqpLibState());
|
||||
lqw.eq(bo.getCreateById() != null, SisLibDeviceRef::getCreateById, bo.getCreateById());
|
||||
lqw.eq(bo.getUpdateById() != null, SisLibDeviceRef::getUpdateById, bo.getUpdateById());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), SisLibDeviceRef::getSearchValue, bo.getSearchValue());
|
||||
return lqw;
|
||||
}
|
||||
|
@ -84,8 +84,6 @@ public class SisPersonLibImgServiceImpl implements ISisPersonLibImgService {
|
||||
lqw.eq(bo.getCertificateType() != null, SisPersonLibImg::getCertificateType, bo.getCertificateType());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCertificateNo()), SisPersonLibImg::getCertificateNo, bo.getCertificateNo());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBirthDate()), SisPersonLibImg::getBirthDate, bo.getBirthDate());
|
||||
lqw.eq(bo.getCreateById() != null, SisPersonLibImg::getCreateById, bo.getCreateById());
|
||||
lqw.eq(bo.getUpdateById() != null, SisPersonLibImg::getUpdateById, bo.getUpdateById());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), SisPersonLibImg::getSearchValue, bo.getSearchValue());
|
||||
return lqw;
|
||||
}
|
||||
|
@ -1,24 +1,26 @@
|
||||
package org.dromara.sis.service.impl;
|
||||
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.sis.mapper.SisPersonLibMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.common.core.constant.CodePrefixConstants;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.sis.domain.SisPersonLib;
|
||||
import org.dromara.sis.domain.bo.SisPersonLibBo;
|
||||
import org.dromara.sis.domain.vo.SisPersonLibVo;
|
||||
import org.dromara.sis.domain.SisPersonLib;
|
||||
import org.dromara.sis.mapper.SisPersonLibMapper;
|
||||
import org.dromara.sis.service.ISisPersonLibService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 人像库Service业务层处理
|
||||
@ -40,7 +42,7 @@ public class SisPersonLibServiceImpl implements ISisPersonLibService {
|
||||
* @return 人像库
|
||||
*/
|
||||
@Override
|
||||
public SisPersonLibVo queryById(Long id){
|
||||
public SisPersonLibVo queryById(Long id) {
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
@ -79,8 +81,6 @@ public class SisPersonLibServiceImpl implements ISisPersonLibService {
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getLibDesc()), SisPersonLib::getLibDesc, bo.getLibDesc());
|
||||
lqw.eq(bo.getLibType() != null, SisPersonLib::getLibType, bo.getLibType());
|
||||
lqw.eq(bo.getBusiType() != null, SisPersonLib::getBusiType, bo.getBusiType());
|
||||
lqw.eq(bo.getCreateById() != null, SisPersonLib::getCreateById, bo.getCreateById());
|
||||
lqw.eq(bo.getUpdateById() != null, SisPersonLib::getUpdateById, bo.getUpdateById());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), SisPersonLib::getSearchValue, bo.getSearchValue());
|
||||
return lqw;
|
||||
}
|
||||
@ -94,10 +94,15 @@ public class SisPersonLibServiceImpl implements ISisPersonLibService {
|
||||
@Override
|
||||
public Boolean insertByBo(SisPersonLibBo bo) {
|
||||
SisPersonLib add = MapstructUtils.convert(bo, SisPersonLib.class);
|
||||
// 生成库编码
|
||||
add.setLibCode(CodePrefixConstants.PERSONLIB_CODE_PREFIX + IdUtil.getSnowflakeNextIdStr());
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
//TODO 写入设备关联库
|
||||
|
||||
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
@ -118,7 +123,7 @@ public class SisPersonLibServiceImpl implements ISisPersonLibService {
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(SisPersonLib entity){
|
||||
private void validEntityBeforeSave(SisPersonLib entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
@ -131,7 +136,7 @@ public class SisPersonLibServiceImpl implements ISisPersonLibService {
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
|
@ -41,7 +41,7 @@ db.num=1
|
||||
|
||||
### Connect URL of DB:
|
||||
db.url.0=jdbc:mysql://47.109.37.87:3002/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
|
||||
db.user.0=root
|
||||
db.user.0=by
|
||||
db.password.0=123456
|
||||
|
||||
### the maximum retry times for push
|
||||
|
Loading…
Reference in New Issue
Block a user