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