增加门禁设备管理

This commit is contained in:
lxj
2025-06-25 12:21:11 +08:00
parent d8d01b7d38
commit 71ba316e91
66 changed files with 1786 additions and 1122 deletions

View File

@@ -15,9 +15,9 @@ 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.TbAccessControlBo;
import org.dromara.sis.domain.vo.TbAccessControlVo;
import org.dromara.sis.service.ITbAccessControlService;
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.*;
@@ -34,16 +34,16 @@ import java.util.List;
@RequiredArgsConstructor
@RestController
@RequestMapping("/accessControl")
public class TbAccessControlController extends BaseController {
public class SisAccessControlController extends BaseController {
private final ITbAccessControlService tbAccessControlService;
private final ISisAccessControlService tbAccessControlService;
/**
* 查询门禁管理列表
*/
@SaCheckPermission("property:accessControl:list")
@GetMapping("/list")
public TableDataInfo<TbAccessControlVo> list(TbAccessControlBo bo, PageQuery pageQuery) {
public TableDataInfo<SisAccessControlVo> list(SisAccessControlBo bo, PageQuery pageQuery) {
return tbAccessControlService.queryPageList(bo, pageQuery);
}
@@ -53,9 +53,9 @@ public class TbAccessControlController extends BaseController {
@SaCheckPermission("property:accessControl:export")
@Log(title = "门禁管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TbAccessControlBo bo, HttpServletResponse response) {
List<TbAccessControlVo> list = tbAccessControlService.queryList(bo);
ExcelUtil.exportExcel(list, "门禁管理", TbAccessControlVo.class, response);
public void export(SisAccessControlBo bo, HttpServletResponse response) {
List<SisAccessControlVo> list = tbAccessControlService.queryList(bo);
ExcelUtil.exportExcel(list, "门禁管理", SisAccessControlVo.class, response);
}
/**
@@ -65,7 +65,7 @@ public class TbAccessControlController extends BaseController {
*/
@SaCheckPermission("property:accessControl:query")
@GetMapping("/{id}")
public R<TbAccessControlVo> getInfo(@NotNull(message = "主键不能为空")
public R<SisAccessControlVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return R.ok(tbAccessControlService.queryById(id));
}
@@ -77,7 +77,7 @@ public class TbAccessControlController extends BaseController {
@Log(title = "门禁管理", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TbAccessControlBo bo) {
public R<Void> add(@Validated(AddGroup.class) @RequestBody SisAccessControlBo bo) {
return toAjax(tbAccessControlService.insertByBo(bo));
}
@@ -88,7 +88,7 @@ public class TbAccessControlController extends BaseController {
@Log(title = "门禁管理", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TbAccessControlBo bo) {
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SisAccessControlBo bo) {
return toAjax(tbAccessControlService.updateByBo(bo));
}

View File

@@ -0,0 +1,106 @@
package org.dromara.sis.controller;
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.SisAccessControlDeviceVo;
import org.dromara.sis.domain.bo.SisAccessControlDeviceBo;
import org.dromara.sis.service.ISisAccessControlDeviceService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 门禁设备
* 前端访问路由地址为:/sis/accessControlDevice
*
* @author mocheng
* @date 2025-06-25
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/accessControlDevice")
public class SisAccessControlDeviceController extends BaseController {
private final ISisAccessControlDeviceService sisAccessControlDeviceService;
/**
* 查询门禁设备列表
*/
@SaCheckPermission("sis:accessControlDevice:list")
@GetMapping("/list")
public TableDataInfo<SisAccessControlDeviceVo> list(SisAccessControlDeviceBo bo, PageQuery pageQuery) {
return sisAccessControlDeviceService.queryPageList(bo, pageQuery);
}
/**
* 导出门禁设备列表
*/
@SaCheckPermission("sis:accessControlDevice:export")
@Log(title = "门禁设备", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(SisAccessControlDeviceBo bo, HttpServletResponse response) {
List<SisAccessControlDeviceVo> list = sisAccessControlDeviceService.queryList(bo);
ExcelUtil.exportExcel(list, "门禁设备", SisAccessControlDeviceVo.class, response);
}
/**
* 获取门禁设备详细信息
*
* @param id 主键
*/
@SaCheckPermission("sis:accessControlDevice:query")
@GetMapping("/{id}")
public R<SisAccessControlDeviceVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return R.ok(sisAccessControlDeviceService.queryById(id));
}
/**
* 新增门禁设备
*/
@SaCheckPermission("sis:accessControlDevice:add")
@Log(title = "门禁设备", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SisAccessControlDeviceBo bo) {
return toAjax(sisAccessControlDeviceService.insertByBo(bo));
}
/**
* 修改门禁设备
*/
@SaCheckPermission("sis:accessControlDevice:edit")
@Log(title = "门禁设备", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SisAccessControlDeviceBo bo) {
return toAjax(sisAccessControlDeviceService.updateByBo(bo));
}
/**
* 删除门禁设备
*
* @param ids 主键串
*/
@SaCheckPermission("sis:accessControlDevice:remove")
@Log(title = "门禁设备", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable("ids") Long[] ids) {
return toAjax(sisAccessControlDeviceService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -0,0 +1,106 @@
package org.dromara.sis.controller;
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.SisDevicePointVo;
import org.dromara.sis.domain.bo.SisDevicePointBo;
import org.dromara.sis.service.ISisDevicePointService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 宇视设备点位(通道)
* 前端访问路由地址为:/sis/devicePoint
*
* @author mocheng
* @date 2025-06-25
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/devicePoint")
public class SisDevicePointController extends BaseController {
private final ISisDevicePointService sisDevicePointService;
/**
* 查询宇视设备点位(通道)列表
*/
@SaCheckPermission("sis:devicePoint:list")
@GetMapping("/list")
public TableDataInfo<SisDevicePointVo> list(SisDevicePointBo bo, PageQuery pageQuery) {
return sisDevicePointService.queryPageList(bo, pageQuery);
}
/**
* 导出宇视设备点位(通道)列表
*/
@SaCheckPermission("sis:devicePoint:export")
@Log(title = "宇视设备点位(通道)", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(SisDevicePointBo bo, HttpServletResponse response) {
List<SisDevicePointVo> list = sisDevicePointService.queryList(bo);
ExcelUtil.exportExcel(list, "宇视设备点位(通道)", SisDevicePointVo.class, response);
}
/**
* 获取宇视设备点位(通道)详细信息
*
* @param id 主键
*/
@SaCheckPermission("sis:devicePoint:query")
@GetMapping("/{id}")
public R<SisDevicePointVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return R.ok(sisDevicePointService.queryById(id));
}
/**
* 新增宇视设备点位(通道)
*/
@SaCheckPermission("sis:devicePoint:add")
@Log(title = "宇视设备点位(通道)", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SisDevicePointBo bo) {
return toAjax(sisDevicePointService.insertByBo(bo));
}
/**
* 修改宇视设备点位(通道)
*/
@SaCheckPermission("sis:devicePoint:edit")
@Log(title = "宇视设备点位(通道)", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SisDevicePointBo bo) {
return toAjax(sisDevicePointService.updateByBo(bo));
}
/**
* 删除宇视设备点位(通道)
*
* @param ids 主键串
*/
@SaCheckPermission("sis:devicePoint:remove")
@Log(title = "宇视设备点位(通道)", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable("ids") Long[] ids) {
return toAjax(sisDevicePointService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -17,9 +17,9 @@ 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.TbPersonLibVo;
import org.dromara.sis.domain.bo.TbPersonLibBo;
import org.dromara.sis.service.ITbPersonLibService;
import org.dromara.sis.domain.vo.SisPersonLibVo;
import org.dromara.sis.domain.bo.SisPersonLibBo;
import org.dromara.sis.service.ISisPersonLibService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
@@ -33,16 +33,16 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@RequiredArgsConstructor
@RestController
@RequestMapping("/personLib")
public class TbPersonLibController extends BaseController {
public class SisPersonLibController extends BaseController {
private final ITbPersonLibService tbPersonLibService;
private final ISisPersonLibService tbPersonLibService;
/**
* 查询人像库列表
*/
@SaCheckPermission("sis:personLib:list")
@GetMapping("/list")
public TableDataInfo<TbPersonLibVo> list(TbPersonLibBo bo, PageQuery pageQuery) {
public TableDataInfo<SisPersonLibVo> list(SisPersonLibBo bo, PageQuery pageQuery) {
return tbPersonLibService.queryPageList(bo, pageQuery);
}
@@ -52,9 +52,9 @@ public class TbPersonLibController extends BaseController {
@SaCheckPermission("sis:personLib:export")
@Log(title = "人像库", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TbPersonLibBo bo, HttpServletResponse response) {
List<TbPersonLibVo> list = tbPersonLibService.queryList(bo);
ExcelUtil.exportExcel(list, "人像库", TbPersonLibVo.class, response);
public void export(SisPersonLibBo bo, HttpServletResponse response) {
List<SisPersonLibVo> list = tbPersonLibService.queryList(bo);
ExcelUtil.exportExcel(list, "人像库", SisPersonLibVo.class, response);
}
/**
@@ -64,7 +64,7 @@ public class TbPersonLibController extends BaseController {
*/
@SaCheckPermission("sis:personLib:query")
@GetMapping("/{id}")
public R<TbPersonLibVo> getInfo(@NotNull(message = "主键不能为空")
public R<SisPersonLibVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return R.ok(tbPersonLibService.queryById(id));
}
@@ -76,7 +76,7 @@ public class TbPersonLibController extends BaseController {
@Log(title = "人像库", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TbPersonLibBo bo) {
public R<Void> add(@Validated(AddGroup.class) @RequestBody SisPersonLibBo bo) {
return toAjax(tbPersonLibService.insertByBo(bo));
}
@@ -87,7 +87,7 @@ public class TbPersonLibController extends BaseController {
@Log(title = "人像库", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TbPersonLibBo bo) {
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SisPersonLibBo bo) {
return toAjax(tbPersonLibService.updateByBo(bo));
}

View File

@@ -17,9 +17,9 @@ 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.TbPersonLibImgVo;
import org.dromara.sis.domain.bo.TbPersonLibImgBo;
import org.dromara.sis.service.ITbPersonLibImgService;
import org.dromara.sis.domain.vo.SisPersonLibImgVo;
import org.dromara.sis.domain.bo.SisPersonLibImgBo;
import org.dromara.sis.service.ISisPersonLibImgService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
@@ -33,16 +33,16 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
@RequiredArgsConstructor
@RestController
@RequestMapping("/personLibImg")
public class TbPersonLibImgController extends BaseController {
public class SisPersonLibImgController extends BaseController {
private final ITbPersonLibImgService tbPersonLibImgService;
private final ISisPersonLibImgService tbPersonLibImgService;
/**
* 查询人像信息列表
*/
@SaCheckPermission("sis:personLibImg:list")
@GetMapping("/list")
public TableDataInfo<TbPersonLibImgVo> list(TbPersonLibImgBo bo, PageQuery pageQuery) {
public TableDataInfo<SisPersonLibImgVo> list(SisPersonLibImgBo bo, PageQuery pageQuery) {
return tbPersonLibImgService.queryPageList(bo, pageQuery);
}
@@ -52,9 +52,9 @@ public class TbPersonLibImgController extends BaseController {
@SaCheckPermission("sis:personLibImg:export")
@Log(title = "人像信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(TbPersonLibImgBo bo, HttpServletResponse response) {
List<TbPersonLibImgVo> list = tbPersonLibImgService.queryList(bo);
ExcelUtil.exportExcel(list, "人像信息", TbPersonLibImgVo.class, response);
public void export(SisPersonLibImgBo bo, HttpServletResponse response) {
List<SisPersonLibImgVo> list = tbPersonLibImgService.queryList(bo);
ExcelUtil.exportExcel(list, "人像信息", SisPersonLibImgVo.class, response);
}
/**
@@ -64,7 +64,7 @@ public class TbPersonLibImgController extends BaseController {
*/
@SaCheckPermission("sis:personLibImg:query")
@GetMapping("/{id}")
public R<TbPersonLibImgVo> getInfo(@NotNull(message = "主键不能为空")
public R<SisPersonLibImgVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
return R.ok(tbPersonLibImgService.queryById(id));
}
@@ -76,7 +76,7 @@ public class TbPersonLibImgController extends BaseController {
@Log(title = "人像信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody TbPersonLibImgBo bo) {
public R<Void> add(@Validated(AddGroup.class) @RequestBody SisPersonLibImgBo bo) {
return toAjax(tbPersonLibImgService.insertByBo(bo));
}
@@ -87,7 +87,7 @@ public class TbPersonLibImgController extends BaseController {
@Log(title = "人像信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody TbPersonLibImgBo bo) {
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SisPersonLibImgBo bo) {
return toAjax(tbPersonLibImgService.updateByBo(bo));
}

View File

@@ -16,8 +16,8 @@ import java.io.Serial;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_access_control")
public class TbAccessControl extends BaseEntity {
@TableName("sis_access_control")
public class SisAccessControl extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;

View File

@@ -0,0 +1,91 @@
package org.dromara.sis.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 门禁设备对象 sis_access_control_device
*
* @author mocheng
* @date 2025-06-25
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sis_access_control_device")
public class SisAccessControlDevice extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 设备编码
*/
private String eqpNo;
/**
* 设备名称
*/
private String eqpName;
/**
* 厂商编码
*/
private String factoryNo;
/**
* 设备类型
*/
private Long eqpType;
/**
* 接入类型(1: 平台接入2:设备接入)
*/
private Long accessType;
/**
* 设备ip
*/
private String eqpIp;
/**
* 设备端口
*/
private Long eqpPort;
/**
* 设备账号
*/
private String eqpAccount;
/**
* 设备密码
*/
private String eqpPwd;
/**
* 创建人id
*/
private Long createById;
/**
* 更新人id
*/
private Long updateById;
/**
* 搜索值
*/
private String searchValue;
}

View File

@@ -0,0 +1,110 @@
package org.dromara.sis.domain;
import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 宇视设备点位(通道)对象 sis_device_point
*
* @author mocheng
* @date 2025-06-25
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sis_device_point")
public class SisDevicePoint extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 设备编码
*/
private String eqpCode;
/**
* 视频协议 1onvif 2
rtsp
*/
private Long video;
/**
* 传输协议(AIBOX 需要,一
体机不需要) 1: tcp 2:
udp
*/
private Long transportType;
/**
* 点位名称
*/
private String channelName;
/**
* rtsp 地址(当视频协议为
rtsp 时,该字段必填)
*/
private String rtspAddr;
/**
* 点位名称
*/
private String ip;
/**
* 端口
*/
private Long port;
/**
* 通道相机账号
*/
private String username;
/**
* 相机密码
*/
private String pwd;
/**
* onvif 设备码流添加方
1主码流 2自定
义码流
*/
private Long videoType;
/**
* 码流 id当选择自定义码
流时,该字段必填,值为
获取设备码流信息接口返
回的码流 id
*/
private Long videoId;
/**
* 创建人id
*/
private Long createById;
/**
* 更新人id
*/
private Long updateById;
/**
* 搜索值
*/
private String searchValue;
}

View File

@@ -15,8 +15,8 @@ import java.io.Serial;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_lib_device_img_ref")
public class TbLibDeviceImgRef extends TenantEntity {
@TableName("sis_lib_device_img_ref")
public class SisLibDeviceImgRef extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;

View File

@@ -15,8 +15,8 @@ import java.io.Serial;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_lib_device_ref")
public class TbLibDeviceRef extends TenantEntity {
@TableName("sis_lib_device_ref")
public class SisLibDeviceRef extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;

View File

@@ -15,8 +15,8 @@ import java.io.Serial;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_person_lib")
public class TbPersonLib extends TenantEntity {
@TableName("sis_person_lib")
public class SisPersonLib extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;

View File

@@ -15,8 +15,8 @@ import java.io.Serial;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_person_lib_img")
public class TbPersonLibImg extends TenantEntity {
@TableName("sis_person_lib_img")
public class SisPersonLibImg extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;

View File

@@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
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.TbAccessControl;
import org.dromara.sis.domain.SisAccessControl;
/**
* 门禁管理业务对象 tb_access_control
@@ -18,8 +18,8 @@ import org.dromara.sis.domain.TbAccessControl;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TbAccessControl.class, reverseConvertGenerate = false)
public class TbAccessControlBo extends BaseEntity {
@AutoMapper(target = SisAccessControl.class, reverseConvertGenerate = false)
public class SisAccessControlBo extends BaseEntity {
/**
* id

View File

@@ -0,0 +1,96 @@
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 lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 门禁设备业务对象 sis_access_control_device
*
* @author mocheng
* @date 2025-06-25
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SisAccessControlDevice.class, reverseConvertGenerate = false)
public class SisAccessControlDeviceBo extends BaseEntity {
/**
* 主键id
*/
@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 })
private String eqpName;
/**
* 厂商编码
*/
private String factoryNo;
/**
* 设备类型
*/
private Long eqpType;
/**
* 接入类型(1: 平台接入2:设备接入)
*/
private Long accessType;
/**
* 设备ip
*/
@NotBlank(message = "设备ip不能为空", groups = { AddGroup.class, EditGroup.class })
private String eqpIp;
/**
* 设备端口
*/
@NotNull(message = "设备端口不能为空", groups = { AddGroup.class, EditGroup.class })
private Long eqpPort;
/**
* 设备账号
*/
@NotBlank(message = "设备账号不能为空", groups = { AddGroup.class, EditGroup.class })
private String eqpAccount;
/**
* 设备密码
*/
@NotBlank(message = "设备密码不能为空", groups = { AddGroup.class, EditGroup.class })
private String eqpPwd;
/**
* 创建人id
*/
private Long createById;
/**
* 更新人id
*/
private Long updateById;
/**
* 搜索值
*/
private String searchValue;
}

View File

@@ -0,0 +1,110 @@
package org.dromara.sis.domain.bo;
import org.dromara.sis.domain.SisDevicePoint;
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 lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 宇视设备点位(通道)业务对象 sis_device_point
*
* @author mocheng
* @date 2025-06-25
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SisDevicePoint.class, reverseConvertGenerate = false)
public class SisDevicePointBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 设备编码
*/
@NotBlank(message = "设备编码不能为空", groups = { AddGroup.class, EditGroup.class })
private String eqpCode;
/**
* 视频协议 1onvif 2
rtsp
*/
private Long video;
/**
* 传输协议(AIBOX 需要,一
体机不需要) 1: tcp 2:
udp
*/
private Long transportType;
/**
* 点位名称
*/
private String channelName;
/**
* rtsp 地址(当视频协议为
rtsp 时,该字段必填)
*/
private String rtspAddr;
/**
* 点位名称
*/
private String ip;
/**
* 端口
*/
private Long port;
/**
* 通道相机账号
*/
private String username;
/**
* 相机密码
*/
private String pwd;
/**
* onvif 设备码流添加方
1主码流 2自定
义码流
*/
private Long videoType;
/**
* 码流 id当选择自定义码
流时,该字段必填,值为
获取设备码流信息接口返
回的码流 id
*/
private Long videoId;
/**
* 创建人id
*/
private Long createById;
/**
* 更新人id
*/
private Long updateById;
/**
* 搜索值
*/
private String searchValue;
}

View File

@@ -1,6 +1,6 @@
package org.dromara.sis.domain.bo;
import org.dromara.sis.domain.TbLibDeviceImgRef;
import org.dromara.sis.domain.SisLibDeviceImgRef;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
@@ -17,8 +17,8 @@ import jakarta.validation.constraints.*;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TbLibDeviceImgRef.class, reverseConvertGenerate = false)
public class TbLibDeviceImgRefBo extends BaseEntity {
@AutoMapper(target = SisLibDeviceImgRef.class, reverseConvertGenerate = false)
public class SisLibDeviceImgRefBo extends BaseEntity {
/**
* 主键id

View File

@@ -1,6 +1,6 @@
package org.dromara.sis.domain.bo;
import org.dromara.sis.domain.TbLibDeviceRef;
import org.dromara.sis.domain.SisLibDeviceRef;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
@@ -17,8 +17,8 @@ import jakarta.validation.constraints.*;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TbLibDeviceRef.class, reverseConvertGenerate = false)
public class TbLibDeviceRefBo extends BaseEntity {
@AutoMapper(target = SisLibDeviceRef.class, reverseConvertGenerate = false)
public class SisLibDeviceRefBo extends BaseEntity {
/**
* 主键id

View File

@@ -1,6 +1,6 @@
package org.dromara.sis.domain.bo;
import org.dromara.sis.domain.TbPersonLib;
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;
@@ -17,8 +17,8 @@ import jakarta.validation.constraints.*;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TbPersonLib.class, reverseConvertGenerate = false)
public class TbPersonLibBo extends BaseEntity {
@AutoMapper(target = SisPersonLib.class, reverseConvertGenerate = false)
public class SisPersonLibBo extends BaseEntity {
/**
* 主键id

View File

@@ -1,6 +1,6 @@
package org.dromara.sis.domain.bo;
import org.dromara.sis.domain.TbPersonLibImg;
import org.dromara.sis.domain.SisPersonLibImg;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
@@ -17,8 +17,8 @@ import jakarta.validation.constraints.*;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TbPersonLibImg.class, reverseConvertGenerate = false)
public class TbPersonLibImgBo extends BaseEntity {
@AutoMapper(target = SisPersonLibImg.class, reverseConvertGenerate = false)
public class SisPersonLibImgBo extends BaseEntity {
/**
* 主键id

View File

@@ -0,0 +1,110 @@
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 java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 门禁设备视图对象 sis_access_control_device
*
* @author mocheng
* @date 2025-06-25
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SisAccessControlDevice.class)
public class SisAccessControlDeviceVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 设备编码
*/
@ExcelProperty(value = "设备编码")
private String eqpNo;
/**
* 设备名称
*/
@ExcelProperty(value = "设备名称")
private String eqpName;
/**
* 厂商编码
*/
@ExcelProperty(value = "厂商编码")
private String factoryNo;
/**
* 设备类型
*/
@ExcelProperty(value = "设备类型")
private Long eqpType;
/**
* 接入类型(1: 平台接入2:设备接入)
*/
@ExcelProperty(value = "接入类型(1: 平台接入2:设备接入)")
private Long accessType;
/**
* 设备ip
*/
@ExcelProperty(value = "设备ip")
private String eqpIp;
/**
* 设备端口
*/
@ExcelProperty(value = "设备端口")
private Long eqpPort;
/**
* 设备账号
*/
@ExcelProperty(value = "设备账号")
private String eqpAccount;
/**
* 设备密码
*/
@ExcelProperty(value = "设备密码")
private String eqpPwd;
/**
* 创建人id
*/
@ExcelProperty(value = "创建人id")
private Long createById;
/**
* 更新人id
*/
@ExcelProperty(value = "更新人id")
private Long updateById;
/**
* 搜索值
*/
@ExcelProperty(value = "搜索值")
private String searchValue;
}

View File

@@ -4,7 +4,7 @@ import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.sis.domain.TbAccessControl;
import org.dromara.sis.domain.SisAccessControl;
import java.io.Serial;
import java.io.Serializable;
@@ -18,8 +18,8 @@ import java.io.Serializable;
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TbAccessControl.class)
public class TbAccessControlVo implements Serializable {
@AutoMapper(target = SisAccessControl.class)
public class SisAccessControlVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;

View File

@@ -0,0 +1,141 @@
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 java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 宇视设备点位(通道)视图对象 sis_device_point
*
* @author mocheng
* @date 2025-06-25
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SisDevicePoint.class)
public class SisDevicePointVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 设备编码
*/
@ExcelProperty(value = "设备编码")
private String eqpCode;
/**
* 视频协议 1onvif 2
rtsp
*/
@ExcelProperty(value = "视频协议 1onvif 2
rtsp")
private Long video;
/**
* 传输协议(AIBOX 需要,一
体机不需要) 1: tcp 2:
udp
*/
@ExcelProperty(value = "传输协议(AIBOX 需要,一
体机不需要) 1: tcp 2:
udp")
private Long transportType;
/**
* 点位名称
*/
@ExcelProperty(value = "点位名称")
private String channelName;
/**
* rtsp 地址(当视频协议为
rtsp 时,该字段必填)
*/
@ExcelProperty(value = "rtsp 地址", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "当=视频协议为
rtsp,时=,该字段必填")
private String rtspAddr;
/**
* 点位名称
*/
@ExcelProperty(value = "点位名称")
private String ip;
/**
* 端口
*/
@ExcelProperty(value = "端口")
private Long port;
/**
* 通道相机账号
*/
@ExcelProperty(value = "通道相机账号")
private String username;
/**
* 相机密码
*/
@ExcelProperty(value = "相机密码")
private String pwd;
/**
* onvif 设备码流添加方
1主码流 2自定
义码流
*/
@ExcelProperty(value = "onvif 设备码流添加方
1主码流 2自定
义码流")
private Long videoType;
/**
* 码流 id当选择自定义码
流时,该字段必填,值为
获取设备码流信息接口返
回的码流 id
*/
@ExcelProperty(value = "码流 id当选择自定义码
流时,该字段必填,值为
获取设备码流信息接口返
回的码流 id")
private Long videoId;
/**
* 创建人id
*/
@ExcelProperty(value = "创建人id")
private Long createById;
/**
* 更新人id
*/
@ExcelProperty(value = "更新人id")
private Long updateById;
/**
* 搜索值
*/
@ExcelProperty(value = "搜索值")
private String searchValue;
}

View File

@@ -1,17 +1,13 @@
package org.dromara.sis.domain.vo;
import org.dromara.sis.domain.TbLibDeviceImgRef;
import org.dromara.sis.domain.SisLibDeviceImgRef;
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 java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
@@ -22,8 +18,8 @@ import java.util.Date;
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TbLibDeviceImgRef.class)
public class TbLibDeviceImgRefVo implements Serializable {
@AutoMapper(target = SisLibDeviceImgRef.class)
public class SisLibDeviceImgRefVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;

View File

@@ -1,17 +1,13 @@
package org.dromara.sis.domain.vo;
import org.dromara.sis.domain.TbLibDeviceRef;
import org.dromara.sis.domain.SisLibDeviceRef;
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 java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
@@ -22,8 +18,8 @@ import java.util.Date;
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TbLibDeviceRef.class)
public class TbLibDeviceRefVo implements Serializable {
@AutoMapper(target = SisLibDeviceRef.class)
public class SisLibDeviceRefVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;

View File

@@ -4,7 +4,7 @@ import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.sis.domain.TbPersonLibImg;
import org.dromara.sis.domain.SisPersonLibImg;
import java.io.Serial;
import java.io.Serializable;
@@ -19,8 +19,8 @@ import java.io.Serializable;
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TbPersonLibImg.class)
public class TbPersonLibImgVo implements Serializable {
@AutoMapper(target = SisPersonLibImg.class)
public class SisPersonLibImgVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;

View File

@@ -1,17 +1,13 @@
package org.dromara.sis.domain.vo;
import org.dromara.sis.domain.TbPersonLib;
import org.dromara.sis.domain.SisPersonLib;
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 java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
@@ -22,8 +18,8 @@ import java.util.Date;
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = TbPersonLib.class)
public class TbPersonLibVo implements Serializable {
@AutoMapper(target = SisPersonLib.class)
public class SisPersonLibVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;

View File

@@ -0,0 +1,15 @@
package org.dromara.sis.mapper;
import org.dromara.sis.domain.SisAccessControlDevice;
import org.dromara.sis.domain.vo.SisAccessControlDeviceVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 门禁设备Mapper接口
*
* @author mocheng
* @date 2025-06-25
*/
public interface SisAccessControlDeviceMapper extends BaseMapperPlus<SisAccessControlDevice, SisAccessControlDeviceVo> {
}

View File

@@ -2,8 +2,8 @@ package org.dromara.sis.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.sis.domain.TbAccessControl;
import org.dromara.sis.domain.vo.TbAccessControlVo;
import org.dromara.sis.domain.SisAccessControl;
import org.dromara.sis.domain.vo.SisAccessControlVo;
/**
* 门禁管理Mapper接口
@@ -12,6 +12,6 @@ import org.dromara.sis.domain.vo.TbAccessControlVo;
* @date 2025-06-17
*/
@Mapper
public interface TbAccessControlMapper extends BaseMapperPlus<TbAccessControl, TbAccessControlVo> {
public interface SisAccessControlMapper extends BaseMapperPlus<SisAccessControl, SisAccessControlVo> {
}

View File

@@ -0,0 +1,15 @@
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;
/**
* 宇视设备点位(通道)Mapper接口
*
* @author mocheng
* @date 2025-06-25
*/
public interface SisDevicePointMapper extends BaseMapperPlus<SisDevicePoint, SisDevicePointVo> {
}

View File

@@ -0,0 +1,15 @@
package org.dromara.sis.mapper;
import org.dromara.sis.domain.SisLibDeviceImgRef;
import org.dromara.sis.domain.vo.SisLibDeviceImgRefVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 系统图片和设备图片的关联Mapper接口
*
* @author mocheng
* @date 2025-06-24
*/
public interface SisLibDeviceImgRefMapper extends BaseMapperPlus<SisLibDeviceImgRef, SisLibDeviceImgRefVo> {
}

View File

@@ -0,0 +1,15 @@
package org.dromara.sis.mapper;
import org.dromara.sis.domain.SisLibDeviceRef;
import org.dromara.sis.domain.vo.SisLibDeviceRefVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 系统库与设备库的关联Mapper接口
*
* @author mocheng
* @date 2025-06-24
*/
public interface SisLibDeviceRefMapper extends BaseMapperPlus<SisLibDeviceRef, SisLibDeviceRefVo> {
}

View File

@@ -0,0 +1,15 @@
package org.dromara.sis.mapper;
import org.dromara.sis.domain.SisPersonLibImg;
import org.dromara.sis.domain.vo.SisPersonLibImgVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 人像信息Mapper接口
*
* @author mocheng
* @date 2025-06-24
*/
public interface SisPersonLibImgMapper extends BaseMapperPlus<SisPersonLibImg, SisPersonLibImgVo> {
}

View File

@@ -0,0 +1,15 @@
package org.dromara.sis.mapper;
import org.dromara.sis.domain.SisPersonLib;
import org.dromara.sis.domain.vo.SisPersonLibVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 人像库Mapper接口
*
* @author mocheng
* @date 2025-06-24
*/
public interface SisPersonLibMapper extends BaseMapperPlus<SisPersonLib, SisPersonLibVo> {
}

View File

@@ -1,15 +0,0 @@
package org.dromara.sis.mapper;
import org.dromara.sis.domain.TbLibDeviceImgRef;
import org.dromara.sis.domain.vo.TbLibDeviceImgRefVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 系统图片和设备图片的关联Mapper接口
*
* @author mocheng
* @date 2025-06-24
*/
public interface TbLibDeviceImgRefMapper extends BaseMapperPlus<TbLibDeviceImgRef, TbLibDeviceImgRefVo> {
}

View File

@@ -1,15 +0,0 @@
package org.dromara.sis.mapper;
import org.dromara.sis.domain.TbLibDeviceRef;
import org.dromara.sis.domain.vo.TbLibDeviceRefVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 系统库与设备库的关联Mapper接口
*
* @author mocheng
* @date 2025-06-24
*/
public interface TbLibDeviceRefMapper extends BaseMapperPlus<TbLibDeviceRef, TbLibDeviceRefVo> {
}

View File

@@ -1,15 +0,0 @@
package org.dromara.sis.mapper;
import org.dromara.sis.domain.TbPersonLibImg;
import org.dromara.sis.domain.vo.TbPersonLibImgVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 人像信息Mapper接口
*
* @author mocheng
* @date 2025-06-24
*/
public interface TbPersonLibImgMapper extends BaseMapperPlus<TbPersonLibImg, TbPersonLibImgVo> {
}

View File

@@ -1,15 +0,0 @@
package org.dromara.sis.mapper;
import org.dromara.sis.domain.TbPersonLib;
import org.dromara.sis.domain.vo.TbPersonLibVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 人像库Mapper接口
*
* @author mocheng
* @date 2025-06-24
*/
public interface TbPersonLibMapper extends BaseMapperPlus<TbPersonLib, TbPersonLibVo> {
}

View File

@@ -0,0 +1,69 @@
package org.dromara.sis.service;
import org.dromara.sis.domain.SisAccessControlDevice;
import org.dromara.sis.domain.vo.SisAccessControlDeviceVo;
import org.dromara.sis.domain.bo.SisAccessControlDeviceBo;
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接口
*
* @author mocheng
* @date 2025-06-25
*/
public interface ISisAccessControlDeviceService {
/**
* 查询门禁设备
*
* @param id 主键
* @return 门禁设备
*/
SisAccessControlDeviceVo queryById(Long id);
/**
* 分页查询门禁设备列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 门禁设备分页列表
*/
TableDataInfo<SisAccessControlDeviceVo> queryPageList(SisAccessControlDeviceBo bo, PageQuery pageQuery);
/**
* 查询符合条件的门禁设备列表
*
* @param bo 查询条件
* @return 门禁设备列表
*/
List<SisAccessControlDeviceVo> queryList(SisAccessControlDeviceBo bo);
/**
* 新增门禁设备
*
* @param bo 门禁设备
* @return 是否新增成功
*/
Boolean insertByBo(SisAccessControlDeviceBo bo);
/**
* 修改门禁设备
*
* @param bo 门禁设备
* @return 是否修改成功
*/
Boolean updateByBo(SisAccessControlDeviceBo bo);
/**
* 校验并批量删除门禁设备信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -2,8 +2,8 @@ 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.TbAccessControlBo;
import org.dromara.sis.domain.vo.TbAccessControlVo;
import org.dromara.sis.domain.bo.SisAccessControlBo;
import org.dromara.sis.domain.vo.SisAccessControlVo;
import java.util.Collection;
import java.util.List;
@@ -14,7 +14,7 @@ import java.util.List;
* @author mocheng
* @date 2025-06-17
*/
public interface ITbAccessControlService {
public interface ISisAccessControlService {
/**
* 查询门禁管理
@@ -22,7 +22,7 @@ public interface ITbAccessControlService {
* @param id 主键
* @return 门禁管理
*/
TbAccessControlVo queryById(Long id);
SisAccessControlVo queryById(Long id);
/**
* 分页查询门禁管理列表
@@ -31,7 +31,7 @@ public interface ITbAccessControlService {
* @param pageQuery 分页参数
* @return 门禁管理分页列表
*/
TableDataInfo<TbAccessControlVo> queryPageList(TbAccessControlBo bo, PageQuery pageQuery);
TableDataInfo<SisAccessControlVo> queryPageList(SisAccessControlBo bo, PageQuery pageQuery);
/**
* 查询符合条件的门禁管理列表
@@ -39,7 +39,7 @@ public interface ITbAccessControlService {
* @param bo 查询条件
* @return 门禁管理列表
*/
List<TbAccessControlVo> queryList(TbAccessControlBo bo);
List<SisAccessControlVo> queryList(SisAccessControlBo bo);
/**
* 新增门禁管理
@@ -47,7 +47,7 @@ public interface ITbAccessControlService {
* @param bo 门禁管理
* @return 是否新增成功
*/
Boolean insertByBo(TbAccessControlBo bo);
Boolean insertByBo(SisAccessControlBo bo);
/**
* 修改门禁管理
@@ -55,7 +55,7 @@ public interface ITbAccessControlService {
* @param bo 门禁管理
* @return 是否修改成功
*/
Boolean updateByBo(TbAccessControlBo bo);
Boolean updateByBo(SisAccessControlBo bo);
/**
* 校验并批量删除门禁管理信息

View File

@@ -0,0 +1,69 @@
package org.dromara.sis.service;
import org.dromara.sis.domain.SisDevicePoint;
import org.dromara.sis.domain.vo.SisDevicePointVo;
import org.dromara.sis.domain.bo.SisDevicePointBo;
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接口
*
* @author mocheng
* @date 2025-06-25
*/
public interface ISisDevicePointService {
/**
* 查询宇视设备点位(通道)
*
* @param id 主键
* @return 宇视设备点位(通道)
*/
SisDevicePointVo queryById(Long id);
/**
* 分页查询宇视设备点位(通道)列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 宇视设备点位(通道)分页列表
*/
TableDataInfo<SisDevicePointVo> queryPageList(SisDevicePointBo bo, PageQuery pageQuery);
/**
* 查询符合条件的宇视设备点位(通道)列表
*
* @param bo 查询条件
* @return 宇视设备点位(通道)列表
*/
List<SisDevicePointVo> queryList(SisDevicePointBo bo);
/**
* 新增宇视设备点位(通道)
*
* @param bo 宇视设备点位(通道)
* @return 是否新增成功
*/
Boolean insertByBo(SisDevicePointBo bo);
/**
* 修改宇视设备点位(通道)
*
* @param bo 宇视设备点位(通道)
* @return 是否修改成功
*/
Boolean updateByBo(SisDevicePointBo bo);
/**
* 校验并批量删除宇视设备点位(通道)信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -1,8 +1,7 @@
package org.dromara.sis.service;
import org.dromara.sis.domain.TbLibDeviceImgRef;
import org.dromara.sis.domain.vo.TbLibDeviceImgRefVo;
import org.dromara.sis.domain.bo.TbLibDeviceImgRefBo;
import org.dromara.sis.domain.vo.SisLibDeviceImgRefVo;
import org.dromara.sis.domain.bo.SisLibDeviceImgRefBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
@@ -15,7 +14,7 @@ import java.util.List;
* @author mocheng
* @date 2025-06-24
*/
public interface ITbLibDeviceImgRefService {
public interface ISisLibDeviceImgRefService {
/**
* 查询系统图片和设备图片的关联
@@ -23,7 +22,7 @@ public interface ITbLibDeviceImgRefService {
* @param id 主键
* @return 系统图片和设备图片的关联
*/
TbLibDeviceImgRefVo queryById(Long id);
SisLibDeviceImgRefVo queryById(Long id);
/**
* 分页查询系统图片和设备图片的关联列表
@@ -32,7 +31,7 @@ public interface ITbLibDeviceImgRefService {
* @param pageQuery 分页参数
* @return 系统图片和设备图片的关联分页列表
*/
TableDataInfo<TbLibDeviceImgRefVo> queryPageList(TbLibDeviceImgRefBo bo, PageQuery pageQuery);
TableDataInfo<SisLibDeviceImgRefVo> queryPageList(SisLibDeviceImgRefBo bo, PageQuery pageQuery);
/**
* 查询符合条件的系统图片和设备图片的关联列表
@@ -40,7 +39,7 @@ public interface ITbLibDeviceImgRefService {
* @param bo 查询条件
* @return 系统图片和设备图片的关联列表
*/
List<TbLibDeviceImgRefVo> queryList(TbLibDeviceImgRefBo bo);
List<SisLibDeviceImgRefVo> queryList(SisLibDeviceImgRefBo bo);
/**
* 新增系统图片和设备图片的关联
@@ -48,7 +47,7 @@ public interface ITbLibDeviceImgRefService {
* @param bo 系统图片和设备图片的关联
* @return 是否新增成功
*/
Boolean insertByBo(TbLibDeviceImgRefBo bo);
Boolean insertByBo(SisLibDeviceImgRefBo bo);
/**
* 修改系统图片和设备图片的关联
@@ -56,7 +55,7 @@ public interface ITbLibDeviceImgRefService {
* @param bo 系统图片和设备图片的关联
* @return 是否修改成功
*/
Boolean updateByBo(TbLibDeviceImgRefBo bo);
Boolean updateByBo(SisLibDeviceImgRefBo bo);
/**
* 校验并批量删除系统图片和设备图片的关联信息

View File

@@ -1,8 +1,7 @@
package org.dromara.sis.service;
import org.dromara.sis.domain.TbLibDeviceRef;
import org.dromara.sis.domain.vo.TbLibDeviceRefVo;
import org.dromara.sis.domain.bo.TbLibDeviceRefBo;
import org.dromara.sis.domain.vo.SisLibDeviceRefVo;
import org.dromara.sis.domain.bo.SisLibDeviceRefBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
@@ -15,7 +14,7 @@ import java.util.List;
* @author mocheng
* @date 2025-06-24
*/
public interface ITbLibDeviceRefService {
public interface ISisLibDeviceRefService {
/**
* 查询系统库与设备库的关联
@@ -23,7 +22,7 @@ public interface ITbLibDeviceRefService {
* @param id 主键
* @return 系统库与设备库的关联
*/
TbLibDeviceRefVo queryById(Long id);
SisLibDeviceRefVo queryById(Long id);
/**
* 分页查询系统库与设备库的关联列表
@@ -32,7 +31,7 @@ public interface ITbLibDeviceRefService {
* @param pageQuery 分页参数
* @return 系统库与设备库的关联分页列表
*/
TableDataInfo<TbLibDeviceRefVo> queryPageList(TbLibDeviceRefBo bo, PageQuery pageQuery);
TableDataInfo<SisLibDeviceRefVo> queryPageList(SisLibDeviceRefBo bo, PageQuery pageQuery);
/**
* 查询符合条件的系统库与设备库的关联列表
@@ -40,7 +39,7 @@ public interface ITbLibDeviceRefService {
* @param bo 查询条件
* @return 系统库与设备库的关联列表
*/
List<TbLibDeviceRefVo> queryList(TbLibDeviceRefBo bo);
List<SisLibDeviceRefVo> queryList(SisLibDeviceRefBo bo);
/**
* 新增系统库与设备库的关联
@@ -48,7 +47,7 @@ public interface ITbLibDeviceRefService {
* @param bo 系统库与设备库的关联
* @return 是否新增成功
*/
Boolean insertByBo(TbLibDeviceRefBo bo);
Boolean insertByBo(SisLibDeviceRefBo bo);
/**
* 修改系统库与设备库的关联
@@ -56,7 +55,7 @@ public interface ITbLibDeviceRefService {
* @param bo 系统库与设备库的关联
* @return 是否修改成功
*/
Boolean updateByBo(TbLibDeviceRefBo bo);
Boolean updateByBo(SisLibDeviceRefBo bo);
/**
* 校验并批量删除系统库与设备库的关联信息

View File

@@ -1,8 +1,7 @@
package org.dromara.sis.service;
import org.dromara.sis.domain.TbPersonLibImg;
import org.dromara.sis.domain.vo.TbPersonLibImgVo;
import org.dromara.sis.domain.bo.TbPersonLibImgBo;
import org.dromara.sis.domain.vo.SisPersonLibImgVo;
import org.dromara.sis.domain.bo.SisPersonLibImgBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
@@ -15,7 +14,7 @@ import java.util.List;
* @author mocheng
* @date 2025-06-24
*/
public interface ITbPersonLibImgService {
public interface ISisPersonLibImgService {
/**
* 查询人像信息
@@ -23,7 +22,7 @@ public interface ITbPersonLibImgService {
* @param id 主键
* @return 人像信息
*/
TbPersonLibImgVo queryById(Long id);
SisPersonLibImgVo queryById(Long id);
/**
* 分页查询人像信息列表
@@ -32,7 +31,7 @@ public interface ITbPersonLibImgService {
* @param pageQuery 分页参数
* @return 人像信息分页列表
*/
TableDataInfo<TbPersonLibImgVo> queryPageList(TbPersonLibImgBo bo, PageQuery pageQuery);
TableDataInfo<SisPersonLibImgVo> queryPageList(SisPersonLibImgBo bo, PageQuery pageQuery);
/**
* 查询符合条件的人像信息列表
@@ -40,7 +39,7 @@ public interface ITbPersonLibImgService {
* @param bo 查询条件
* @return 人像信息列表
*/
List<TbPersonLibImgVo> queryList(TbPersonLibImgBo bo);
List<SisPersonLibImgVo> queryList(SisPersonLibImgBo bo);
/**
* 新增人像信息
@@ -48,7 +47,7 @@ public interface ITbPersonLibImgService {
* @param bo 人像信息
* @return 是否新增成功
*/
Boolean insertByBo(TbPersonLibImgBo bo);
Boolean insertByBo(SisPersonLibImgBo bo);
/**
* 修改人像信息
@@ -56,7 +55,7 @@ public interface ITbPersonLibImgService {
* @param bo 人像信息
* @return 是否修改成功
*/
Boolean updateByBo(TbPersonLibImgBo bo);
Boolean updateByBo(SisPersonLibImgBo bo);
/**
* 校验并批量删除人像信息信息

View File

@@ -1,8 +1,7 @@
package org.dromara.sis.service;
import org.dromara.sis.domain.TbPersonLib;
import org.dromara.sis.domain.vo.TbPersonLibVo;
import org.dromara.sis.domain.bo.TbPersonLibBo;
import org.dromara.sis.domain.vo.SisPersonLibVo;
import org.dromara.sis.domain.bo.SisPersonLibBo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
@@ -15,7 +14,7 @@ import java.util.List;
* @author mocheng
* @date 2025-06-24
*/
public interface ITbPersonLibService {
public interface ISisPersonLibService {
/**
* 查询人像库
@@ -23,7 +22,7 @@ public interface ITbPersonLibService {
* @param id 主键
* @return 人像库
*/
TbPersonLibVo queryById(Long id);
SisPersonLibVo queryById(Long id);
/**
* 分页查询人像库列表
@@ -32,7 +31,7 @@ public interface ITbPersonLibService {
* @param pageQuery 分页参数
* @return 人像库分页列表
*/
TableDataInfo<TbPersonLibVo> queryPageList(TbPersonLibBo bo, PageQuery pageQuery);
TableDataInfo<SisPersonLibVo> queryPageList(SisPersonLibBo bo, PageQuery pageQuery);
/**
* 查询符合条件的人像库列表
@@ -40,7 +39,7 @@ public interface ITbPersonLibService {
* @param bo 查询条件
* @return 人像库列表
*/
List<TbPersonLibVo> queryList(TbPersonLibBo bo);
List<SisPersonLibVo> queryList(SisPersonLibBo bo);
/**
* 新增人像库
@@ -48,7 +47,7 @@ public interface ITbPersonLibService {
* @param bo 人像库
* @return 是否新增成功
*/
Boolean insertByBo(TbPersonLibBo bo);
Boolean insertByBo(SisPersonLibBo bo);
/**
* 修改人像库
@@ -56,7 +55,7 @@ public interface ITbPersonLibService {
* @param bo 人像库
* @return 是否修改成功
*/
Boolean updateByBo(TbPersonLibBo bo);
Boolean updateByBo(SisPersonLibBo bo);
/**
* 校验并批量删除人像库信息

View File

@@ -0,0 +1,143 @@
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.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 java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 门禁设备Service业务层处理
*
* @author mocheng
* @date 2025-06-25
*/
@Slf4j
@RequiredArgsConstructor
@Service
public class SisAccessControlDeviceServiceImpl implements ISisAccessControlDeviceService {
private final SisAccessControlDeviceMapper baseMapper;
/**
* 查询门禁设备
*
* @param id 主键
* @return 门禁设备
*/
@Override
public SisAccessControlDeviceVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询门禁设备列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 门禁设备分页列表
*/
@Override
public TableDataInfo<SisAccessControlDeviceVo> queryPageList(SisAccessControlDeviceBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SisAccessControlDevice> lqw = buildQueryWrapper(bo);
Page<SisAccessControlDeviceVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的门禁设备列表
*
* @param bo 查询条件
* @return 门禁设备列表
*/
@Override
public List<SisAccessControlDeviceVo> queryList(SisAccessControlDeviceBo bo) {
LambdaQueryWrapper<SisAccessControlDevice> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<SisAccessControlDevice> buildQueryWrapper(SisAccessControlDeviceBo bo) {
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());
lqw.eq(bo.getAccessType() != null, SisAccessControlDevice::getAccessType, bo.getAccessType());
lqw.eq(StringUtils.isNotBlank(bo.getEqpIp()), SisAccessControlDevice::getEqpIp, bo.getEqpIp());
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;
}
/**
* 新增门禁设备
*
* @param bo 门禁设备
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(SisAccessControlDeviceBo bo) {
SisAccessControlDevice add = MapstructUtils.convert(bo, SisAccessControlDevice.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改门禁设备
*
* @param bo 门禁设备
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(SisAccessControlDeviceBo bo) {
SisAccessControlDevice update = MapstructUtils.convert(bo, SisAccessControlDevice.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(SisAccessControlDevice entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除门禁设备信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@@ -13,11 +13,11 @@ 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.TbAccessControlBo;
import org.dromara.sis.domain.vo.TbAccessControlVo;
import org.dromara.sis.domain.TbAccessControl;
import org.dromara.sis.mapper.TbAccessControlMapper;
import org.dromara.sis.service.ITbAccessControlService;
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;
@@ -31,9 +31,9 @@ import java.util.Collection;
@Slf4j
@RequiredArgsConstructor
@Service
public class TbAccessControlServiceImpl implements ITbAccessControlService {
public class SisAccessControlServiceImpl implements ISisAccessControlService {
private final TbAccessControlMapper baseMapper;
private final SisAccessControlMapper baseMapper;
private final DoorDeviceService doorDeviceService;
/**
@@ -43,7 +43,7 @@ public class TbAccessControlServiceImpl implements ITbAccessControlService {
* @return 门禁管理
*/
@Override
public TbAccessControlVo queryById(Long id) {
public SisAccessControlVo queryById(Long id) {
return baseMapper.selectVoById(id);
}
@@ -55,9 +55,9 @@ public class TbAccessControlServiceImpl implements ITbAccessControlService {
* @return 门禁管理分页列表
*/
@Override
public TableDataInfo<TbAccessControlVo> queryPageList(TbAccessControlBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<TbAccessControl> lqw = buildQueryWrapper(bo);
Page<TbAccessControlVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
public TableDataInfo<SisAccessControlVo> queryPageList(SisAccessControlBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SisAccessControl> lqw = buildQueryWrapper(bo);
Page<SisAccessControlVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@@ -68,28 +68,28 @@ public class TbAccessControlServiceImpl implements ITbAccessControlService {
* @return 门禁管理列表
*/
@Override
public List<TbAccessControlVo> queryList(TbAccessControlBo bo) {
LambdaQueryWrapper<TbAccessControl> lqw = buildQueryWrapper(bo);
public List<SisAccessControlVo> queryList(SisAccessControlBo bo) {
LambdaQueryWrapper<SisAccessControl> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<TbAccessControl> buildQueryWrapper(TbAccessControlBo bo) {
private LambdaQueryWrapper<SisAccessControl> buildQueryWrapper(SisAccessControlBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<TbAccessControl> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(TbAccessControl::getId);
lqw.eq(StringUtils.isNotBlank(bo.getAccessCode()), TbAccessControl::getAccessCode, bo.getAccessCode());
lqw.like(StringUtils.isNotBlank(bo.getAccessName()), TbAccessControl::getAccessName, bo.getAccessName());
lqw.eq(StringUtils.isNotBlank(bo.getCommunityCode()), TbAccessControl::getCommunityCode, bo.getCommunityCode());
lqw.eq(StringUtils.isNotBlank(bo.getBuildingCode()), TbAccessControl::getBuildingCode, bo.getBuildingCode());
lqw.eq(StringUtils.isNotBlank(bo.getAccessIp()), TbAccessControl::getAccessIp, bo.getAccessIp());
lqw.eq(bo.getAccessPort() != null, TbAccessControl::getAccessPort, bo.getAccessPort());
lqw.eq(bo.getAccssType() != null, TbAccessControl::getAccessType, bo.getAccssType());
lqw.eq(StringUtils.isNotBlank(bo.getFactoryCode()), TbAccessControl::getFactoryCode, bo.getFactoryCode());
lqw.eq(bo.getControlType() != null, TbAccessControl::getControlType, bo.getControlType());
lqw.eq(StringUtils.isNotBlank(bo.getControlCode()), TbAccessControl::getControlCode, bo.getControlCode());
lqw.eq(StringUtils.isNotBlank(bo.getOutCode()), TbAccessControl::getOutCode, bo.getOutCode());
lqw.eq(StringUtils.isNotBlank(bo.getOrgCode()), TbAccessControl::getOrgCode, bo.getOrgCode());
lqw.eq(bo.getDataState() != null, TbAccessControl::getDataState, bo.getDataState());
LambdaQueryWrapper<SisAccessControl> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(SisAccessControl::getId);
lqw.eq(StringUtils.isNotBlank(bo.getAccessCode()), SisAccessControl::getAccessCode, bo.getAccessCode());
lqw.like(StringUtils.isNotBlank(bo.getAccessName()), SisAccessControl::getAccessName, bo.getAccessName());
lqw.eq(StringUtils.isNotBlank(bo.getCommunityCode()), SisAccessControl::getCommunityCode, bo.getCommunityCode());
lqw.eq(StringUtils.isNotBlank(bo.getBuildingCode()), SisAccessControl::getBuildingCode, bo.getBuildingCode());
lqw.eq(StringUtils.isNotBlank(bo.getAccessIp()), SisAccessControl::getAccessIp, bo.getAccessIp());
lqw.eq(bo.getAccessPort() != null, SisAccessControl::getAccessPort, bo.getAccessPort());
lqw.eq(bo.getAccssType() != null, SisAccessControl::getAccessType, bo.getAccssType());
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());
return lqw;
}
@@ -100,8 +100,8 @@ public class TbAccessControlServiceImpl implements ITbAccessControlService {
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(TbAccessControlBo bo) {
TbAccessControl add = MapstructUtils.convert(bo, TbAccessControl.class);
public Boolean insertByBo(SisAccessControlBo bo) {
SisAccessControl add = MapstructUtils.convert(bo, SisAccessControl.class);
// 添加E8门禁设备
if (add.getControlType() == 2L){
@@ -133,8 +133,8 @@ public class TbAccessControlServiceImpl implements ITbAccessControlService {
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(TbAccessControlBo bo) {
TbAccessControl update = MapstructUtils.convert(bo, TbAccessControl.class);
public Boolean updateByBo(SisAccessControlBo bo) {
SisAccessControl update = MapstructUtils.convert(bo, SisAccessControl.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
@@ -142,7 +142,7 @@ public class TbAccessControlServiceImpl implements ITbAccessControlService {
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(TbAccessControl entity) {
private void validEntityBeforeSave(SisAccessControl entity) {
//TODO 做一些数据校验,如唯一约束
}

View File

@@ -0,0 +1,145 @@
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;
}
}

View File

@@ -10,11 +10,11 @@ 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.TbLibDeviceImgRefBo;
import org.dromara.sis.domain.vo.TbLibDeviceImgRefVo;
import org.dromara.sis.domain.TbLibDeviceImgRef;
import org.dromara.sis.mapper.TbLibDeviceImgRefMapper;
import org.dromara.sis.service.ITbLibDeviceImgRefService;
import org.dromara.sis.domain.bo.SisLibDeviceImgRefBo;
import org.dromara.sis.domain.vo.SisLibDeviceImgRefVo;
import org.dromara.sis.domain.SisLibDeviceImgRef;
import org.dromara.sis.mapper.SisLibDeviceImgRefMapper;
import org.dromara.sis.service.ISisLibDeviceImgRefService;
import java.util.List;
import java.util.Map;
@@ -29,9 +29,9 @@ import java.util.Collection;
@Slf4j
@RequiredArgsConstructor
@Service
public class TbLibDeviceImgRefServiceImpl implements ITbLibDeviceImgRefService {
public class SisLibDeviceImgRefServiceImpl implements ISisLibDeviceImgRefService {
private final TbLibDeviceImgRefMapper baseMapper;
private final SisLibDeviceImgRefMapper baseMapper;
/**
* 查询系统图片和设备图片的关联
@@ -40,7 +40,7 @@ public class TbLibDeviceImgRefServiceImpl implements ITbLibDeviceImgRefService {
* @return 系统图片和设备图片的关联
*/
@Override
public TbLibDeviceImgRefVo queryById(Long id){
public SisLibDeviceImgRefVo queryById(Long id){
return baseMapper.selectVoById(id);
}
@@ -52,9 +52,9 @@ public class TbLibDeviceImgRefServiceImpl implements ITbLibDeviceImgRefService {
* @return 系统图片和设备图片的关联分页列表
*/
@Override
public TableDataInfo<TbLibDeviceImgRefVo> queryPageList(TbLibDeviceImgRefBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<TbLibDeviceImgRef> lqw = buildQueryWrapper(bo);
Page<TbLibDeviceImgRefVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
public TableDataInfo<SisLibDeviceImgRefVo> queryPageList(SisLibDeviceImgRefBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SisLibDeviceImgRef> lqw = buildQueryWrapper(bo);
Page<SisLibDeviceImgRefVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@@ -65,23 +65,23 @@ public class TbLibDeviceImgRefServiceImpl implements ITbLibDeviceImgRefService {
* @return 系统图片和设备图片的关联列表
*/
@Override
public List<TbLibDeviceImgRefVo> queryList(TbLibDeviceImgRefBo bo) {
LambdaQueryWrapper<TbLibDeviceImgRef> lqw = buildQueryWrapper(bo);
public List<SisLibDeviceImgRefVo> queryList(SisLibDeviceImgRefBo bo) {
LambdaQueryWrapper<SisLibDeviceImgRef> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<TbLibDeviceImgRef> buildQueryWrapper(TbLibDeviceImgRefBo bo) {
private LambdaQueryWrapper<SisLibDeviceImgRef> buildQueryWrapper(SisLibDeviceImgRefBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<TbLibDeviceImgRef> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(TbLibDeviceImgRef::getId);
lqw.eq(StringUtils.isNotBlank(bo.getLibCode()), TbLibDeviceImgRef::getLibCode, bo.getLibCode());
lqw.eq(StringUtils.isNotBlank(bo.getImgCode()), TbLibDeviceImgRef::getImgCode, bo.getImgCode());
lqw.eq(StringUtils.isNotBlank(bo.getEqpCode()), TbLibDeviceImgRef::getEqpCode, bo.getEqpCode());
lqw.eq(bo.getEqpLibId() != null, TbLibDeviceImgRef::getEqpLibId, bo.getEqpLibId());
lqw.eq(bo.getEqpLibImgId() != null, TbLibDeviceImgRef::getEqpLibImgId, bo.getEqpLibImgId());
lqw.eq(bo.getCreateById() != null, TbLibDeviceImgRef::getCreateById, bo.getCreateById());
lqw.eq(bo.getUpdateById() != null, TbLibDeviceImgRef::getUpdateById, bo.getUpdateById());
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), TbLibDeviceImgRef::getSearchValue, bo.getSearchValue());
LambdaQueryWrapper<SisLibDeviceImgRef> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(SisLibDeviceImgRef::getId);
lqw.eq(StringUtils.isNotBlank(bo.getLibCode()), SisLibDeviceImgRef::getLibCode, bo.getLibCode());
lqw.eq(StringUtils.isNotBlank(bo.getImgCode()), SisLibDeviceImgRef::getImgCode, bo.getImgCode());
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;
}
@@ -92,8 +92,8 @@ public class TbLibDeviceImgRefServiceImpl implements ITbLibDeviceImgRefService {
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(TbLibDeviceImgRefBo bo) {
TbLibDeviceImgRef add = MapstructUtils.convert(bo, TbLibDeviceImgRef.class);
public Boolean insertByBo(SisLibDeviceImgRefBo bo) {
SisLibDeviceImgRef add = MapstructUtils.convert(bo, SisLibDeviceImgRef.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
@@ -109,8 +109,8 @@ public class TbLibDeviceImgRefServiceImpl implements ITbLibDeviceImgRefService {
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(TbLibDeviceImgRefBo bo) {
TbLibDeviceImgRef update = MapstructUtils.convert(bo, TbLibDeviceImgRef.class);
public Boolean updateByBo(SisLibDeviceImgRefBo bo) {
SisLibDeviceImgRef update = MapstructUtils.convert(bo, SisLibDeviceImgRef.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
@@ -118,7 +118,7 @@ public class TbLibDeviceImgRefServiceImpl implements ITbLibDeviceImgRefService {
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(TbLibDeviceImgRef entity){
private void validEntityBeforeSave(SisLibDeviceImgRef entity){
//TODO 做一些数据校验,如唯一约束
}

View File

@@ -10,11 +10,11 @@ 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.TbLibDeviceRefBo;
import org.dromara.sis.domain.vo.TbLibDeviceRefVo;
import org.dromara.sis.domain.TbLibDeviceRef;
import org.dromara.sis.mapper.TbLibDeviceRefMapper;
import org.dromara.sis.service.ITbLibDeviceRefService;
import org.dromara.sis.domain.bo.SisLibDeviceRefBo;
import org.dromara.sis.domain.vo.SisLibDeviceRefVo;
import org.dromara.sis.domain.SisLibDeviceRef;
import org.dromara.sis.mapper.SisLibDeviceRefMapper;
import org.dromara.sis.service.ISisLibDeviceRefService;
import java.util.List;
import java.util.Map;
@@ -29,9 +29,9 @@ import java.util.Collection;
@Slf4j
@RequiredArgsConstructor
@Service
public class TbLibDeviceRefServiceImpl implements ITbLibDeviceRefService {
public class SisLibDeviceRefServiceImpl implements ISisLibDeviceRefService {
private final TbLibDeviceRefMapper baseMapper;
private final SisLibDeviceRefMapper baseMapper;
/**
* 查询系统库与设备库的关联
@@ -40,7 +40,7 @@ public class TbLibDeviceRefServiceImpl implements ITbLibDeviceRefService {
* @return 系统库与设备库的关联
*/
@Override
public TbLibDeviceRefVo queryById(Long id){
public SisLibDeviceRefVo queryById(Long id){
return baseMapper.selectVoById(id);
}
@@ -52,9 +52,9 @@ public class TbLibDeviceRefServiceImpl implements ITbLibDeviceRefService {
* @return 系统库与设备库的关联分页列表
*/
@Override
public TableDataInfo<TbLibDeviceRefVo> queryPageList(TbLibDeviceRefBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<TbLibDeviceRef> lqw = buildQueryWrapper(bo);
Page<TbLibDeviceRefVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
public TableDataInfo<SisLibDeviceRefVo> queryPageList(SisLibDeviceRefBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SisLibDeviceRef> lqw = buildQueryWrapper(bo);
Page<SisLibDeviceRefVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@@ -65,22 +65,22 @@ public class TbLibDeviceRefServiceImpl implements ITbLibDeviceRefService {
* @return 系统库与设备库的关联列表
*/
@Override
public List<TbLibDeviceRefVo> queryList(TbLibDeviceRefBo bo) {
LambdaQueryWrapper<TbLibDeviceRef> lqw = buildQueryWrapper(bo);
public List<SisLibDeviceRefVo> queryList(SisLibDeviceRefBo bo) {
LambdaQueryWrapper<SisLibDeviceRef> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<TbLibDeviceRef> buildQueryWrapper(TbLibDeviceRefBo bo) {
private LambdaQueryWrapper<SisLibDeviceRef> buildQueryWrapper(SisLibDeviceRefBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<TbLibDeviceRef> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(TbLibDeviceRef::getId);
lqw.eq(StringUtils.isNotBlank(bo.getLibCode()), TbLibDeviceRef::getLibCode, bo.getLibCode());
lqw.eq(StringUtils.isNotBlank(bo.getEqpCode()), TbLibDeviceRef::getEqpCode, bo.getEqpCode());
lqw.eq(bo.getEqpLibCode() != null, TbLibDeviceRef::getEqpLibCode, bo.getEqpLibCode());
lqw.eq(bo.getEqpLibState() != null, TbLibDeviceRef::getEqpLibState, bo.getEqpLibState());
lqw.eq(bo.getCreateById() != null, TbLibDeviceRef::getCreateById, bo.getCreateById());
lqw.eq(bo.getUpdateById() != null, TbLibDeviceRef::getUpdateById, bo.getUpdateById());
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), TbLibDeviceRef::getSearchValue, bo.getSearchValue());
LambdaQueryWrapper<SisLibDeviceRef> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(SisLibDeviceRef::getId);
lqw.eq(StringUtils.isNotBlank(bo.getLibCode()), SisLibDeviceRef::getLibCode, bo.getLibCode());
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;
}
@@ -91,8 +91,8 @@ public class TbLibDeviceRefServiceImpl implements ITbLibDeviceRefService {
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(TbLibDeviceRefBo bo) {
TbLibDeviceRef add = MapstructUtils.convert(bo, TbLibDeviceRef.class);
public Boolean insertByBo(SisLibDeviceRefBo bo) {
SisLibDeviceRef add = MapstructUtils.convert(bo, SisLibDeviceRef.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
@@ -108,8 +108,8 @@ public class TbLibDeviceRefServiceImpl implements ITbLibDeviceRefService {
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(TbLibDeviceRefBo bo) {
TbLibDeviceRef update = MapstructUtils.convert(bo, TbLibDeviceRef.class);
public Boolean updateByBo(SisLibDeviceRefBo bo) {
SisLibDeviceRef update = MapstructUtils.convert(bo, SisLibDeviceRef.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
@@ -117,7 +117,7 @@ public class TbLibDeviceRefServiceImpl implements ITbLibDeviceRefService {
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(TbLibDeviceRef entity){
private void validEntityBeforeSave(SisLibDeviceRef entity){
//TODO 做一些数据校验,如唯一约束
}

View File

@@ -0,0 +1,144 @@
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.SisPersonLibImgBo;
import org.dromara.sis.domain.vo.SisPersonLibImgVo;
import org.dromara.sis.domain.SisPersonLibImg;
import org.dromara.sis.mapper.SisPersonLibImgMapper;
import org.dromara.sis.service.ISisPersonLibImgService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 人像信息Service业务层处理
*
* @author mocheng
* @date 2025-06-24
*/
@Slf4j
@RequiredArgsConstructor
@Service
public class SisPersonLibImgServiceImpl implements ISisPersonLibImgService {
private final SisPersonLibImgMapper baseMapper;
/**
* 查询人像信息
*
* @param id 主键
* @return 人像信息
*/
@Override
public SisPersonLibImgVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询人像信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 人像信息分页列表
*/
@Override
public TableDataInfo<SisPersonLibImgVo> queryPageList(SisPersonLibImgBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SisPersonLibImg> lqw = buildQueryWrapper(bo);
Page<SisPersonLibImgVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的人像信息列表
*
* @param bo 查询条件
* @return 人像信息列表
*/
@Override
public List<SisPersonLibImgVo> queryList(SisPersonLibImgBo bo) {
LambdaQueryWrapper<SisPersonLibImg> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<SisPersonLibImg> buildQueryWrapper(SisPersonLibImgBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<SisPersonLibImg> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(SisPersonLibImg::getId);
lqw.eq(StringUtils.isNotBlank(bo.getLibCode()), SisPersonLibImg::getLibCode, bo.getLibCode());
lqw.like(StringUtils.isNotBlank(bo.getImgName()), SisPersonLibImg::getImgName, bo.getImgName());
lqw.eq(StringUtils.isNotBlank(bo.getImgCode()), SisPersonLibImg::getImgCode, bo.getImgCode());
lqw.eq(StringUtils.isNotBlank(bo.getImgUrl()), SisPersonLibImg::getImgUrl, bo.getImgUrl());
lqw.eq(bo.getSex() != null, SisPersonLibImg::getSex, bo.getSex());
lqw.eq(StringUtils.isNotBlank(bo.getEmail()), SisPersonLibImg::getEmail, bo.getEmail());
lqw.eq(StringUtils.isNotBlank(bo.getTel()), SisPersonLibImg::getTel, bo.getTel());
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;
}
/**
* 新增人像信息
*
* @param bo 人像信息
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(SisPersonLibImgBo bo) {
SisPersonLibImg add = MapstructUtils.convert(bo, SisPersonLibImg.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改人像信息
*
* @param bo 人像信息
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(SisPersonLibImgBo bo) {
SisPersonLibImg update = MapstructUtils.convert(bo, SisPersonLibImg.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(SisPersonLibImg entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除人像信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@@ -9,12 +9,12 @@ 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.mapper.SisPersonLibMapper;
import org.springframework.stereotype.Service;
import org.dromara.sis.domain.bo.TbPersonLibBo;
import org.dromara.sis.domain.vo.TbPersonLibVo;
import org.dromara.sis.domain.TbPersonLib;
import org.dromara.sis.mapper.TbPersonLibMapper;
import org.dromara.sis.service.ITbPersonLibService;
import org.dromara.sis.domain.bo.SisPersonLibBo;
import org.dromara.sis.domain.vo.SisPersonLibVo;
import org.dromara.sis.domain.SisPersonLib;
import org.dromara.sis.service.ISisPersonLibService;
import java.util.List;
import java.util.Map;
@@ -29,9 +29,9 @@ import java.util.Collection;
@Slf4j
@Service
@RequiredArgsConstructor
public class TbPersonLibServiceImpl implements ITbPersonLibService {
public class SisPersonLibServiceImpl implements ISisPersonLibService {
private final TbPersonLibMapper baseMapper;
private final SisPersonLibMapper baseMapper;
/**
* 查询人像库
@@ -40,7 +40,7 @@ public class TbPersonLibServiceImpl implements ITbPersonLibService {
* @return 人像库
*/
@Override
public TbPersonLibVo queryById(Long id){
public SisPersonLibVo queryById(Long id){
return baseMapper.selectVoById(id);
}
@@ -52,9 +52,9 @@ public class TbPersonLibServiceImpl implements ITbPersonLibService {
* @return 人像库分页列表
*/
@Override
public TableDataInfo<TbPersonLibVo> queryPageList(TbPersonLibBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<TbPersonLib> lqw = buildQueryWrapper(bo);
Page<TbPersonLibVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
public TableDataInfo<SisPersonLibVo> queryPageList(SisPersonLibBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<SisPersonLib> lqw = buildQueryWrapper(bo);
Page<SisPersonLibVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
@@ -65,23 +65,23 @@ public class TbPersonLibServiceImpl implements ITbPersonLibService {
* @return 人像库列表
*/
@Override
public List<TbPersonLibVo> queryList(TbPersonLibBo bo) {
LambdaQueryWrapper<TbPersonLib> lqw = buildQueryWrapper(bo);
public List<SisPersonLibVo> queryList(SisPersonLibBo bo) {
LambdaQueryWrapper<SisPersonLib> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<TbPersonLib> buildQueryWrapper(TbPersonLibBo bo) {
private LambdaQueryWrapper<SisPersonLib> buildQueryWrapper(SisPersonLibBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<TbPersonLib> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(TbPersonLib::getId);
lqw.eq(StringUtils.isNotBlank(bo.getLibCode()), TbPersonLib::getLibCode, bo.getLibCode());
lqw.like(StringUtils.isNotBlank(bo.getLibName()), TbPersonLib::getLibName, bo.getLibName());
lqw.eq(StringUtils.isNotBlank(bo.getLibDesc()), TbPersonLib::getLibDesc, bo.getLibDesc());
lqw.eq(bo.getLibType() != null, TbPersonLib::getLibType, bo.getLibType());
lqw.eq(bo.getBusiType() != null, TbPersonLib::getBusiType, bo.getBusiType());
lqw.eq(bo.getCreateById() != null, TbPersonLib::getCreateById, bo.getCreateById());
lqw.eq(bo.getUpdateById() != null, TbPersonLib::getUpdateById, bo.getUpdateById());
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), TbPersonLib::getSearchValue, bo.getSearchValue());
LambdaQueryWrapper<SisPersonLib> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(SisPersonLib::getId);
lqw.eq(StringUtils.isNotBlank(bo.getLibCode()), SisPersonLib::getLibCode, bo.getLibCode());
lqw.like(StringUtils.isNotBlank(bo.getLibName()), SisPersonLib::getLibName, bo.getLibName());
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;
}
@@ -92,8 +92,8 @@ public class TbPersonLibServiceImpl implements ITbPersonLibService {
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(TbPersonLibBo bo) {
TbPersonLib add = MapstructUtils.convert(bo, TbPersonLib.class);
public Boolean insertByBo(SisPersonLibBo bo) {
SisPersonLib add = MapstructUtils.convert(bo, SisPersonLib.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
@@ -109,8 +109,8 @@ public class TbPersonLibServiceImpl implements ITbPersonLibService {
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(TbPersonLibBo bo) {
TbPersonLib update = MapstructUtils.convert(bo, TbPersonLib.class);
public Boolean updateByBo(SisPersonLibBo bo) {
SisPersonLib update = MapstructUtils.convert(bo, SisPersonLib.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
@@ -118,7 +118,7 @@ public class TbPersonLibServiceImpl implements ITbPersonLibService {
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(TbPersonLib entity){
private void validEntityBeforeSave(SisPersonLib entity){
//TODO 做一些数据校验,如唯一约束
}

View File

@@ -1,144 +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.TbPersonLibImgBo;
import org.dromara.sis.domain.vo.TbPersonLibImgVo;
import org.dromara.sis.domain.TbPersonLibImg;
import org.dromara.sis.mapper.TbPersonLibImgMapper;
import org.dromara.sis.service.ITbPersonLibImgService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 人像信息Service业务层处理
*
* @author mocheng
* @date 2025-06-24
*/
@Slf4j
@RequiredArgsConstructor
@Service
public class TbPersonLibImgServiceImpl implements ITbPersonLibImgService {
private final TbPersonLibImgMapper baseMapper;
/**
* 查询人像信息
*
* @param id 主键
* @return 人像信息
*/
@Override
public TbPersonLibImgVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询人像信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 人像信息分页列表
*/
@Override
public TableDataInfo<TbPersonLibImgVo> queryPageList(TbPersonLibImgBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<TbPersonLibImg> lqw = buildQueryWrapper(bo);
Page<TbPersonLibImgVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的人像信息列表
*
* @param bo 查询条件
* @return 人像信息列表
*/
@Override
public List<TbPersonLibImgVo> queryList(TbPersonLibImgBo bo) {
LambdaQueryWrapper<TbPersonLibImg> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<TbPersonLibImg> buildQueryWrapper(TbPersonLibImgBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<TbPersonLibImg> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(TbPersonLibImg::getId);
lqw.eq(StringUtils.isNotBlank(bo.getLibCode()), TbPersonLibImg::getLibCode, bo.getLibCode());
lqw.like(StringUtils.isNotBlank(bo.getImgName()), TbPersonLibImg::getImgName, bo.getImgName());
lqw.eq(StringUtils.isNotBlank(bo.getImgCode()), TbPersonLibImg::getImgCode, bo.getImgCode());
lqw.eq(StringUtils.isNotBlank(bo.getImgUrl()), TbPersonLibImg::getImgUrl, bo.getImgUrl());
lqw.eq(bo.getSex() != null, TbPersonLibImg::getSex, bo.getSex());
lqw.eq(StringUtils.isNotBlank(bo.getEmail()), TbPersonLibImg::getEmail, bo.getEmail());
lqw.eq(StringUtils.isNotBlank(bo.getTel()), TbPersonLibImg::getTel, bo.getTel());
lqw.eq(bo.getCertificateType() != null, TbPersonLibImg::getCertificateType, bo.getCertificateType());
lqw.eq(StringUtils.isNotBlank(bo.getCertificateNo()), TbPersonLibImg::getCertificateNo, bo.getCertificateNo());
lqw.eq(StringUtils.isNotBlank(bo.getBirthDate()), TbPersonLibImg::getBirthDate, bo.getBirthDate());
lqw.eq(bo.getCreateById() != null, TbPersonLibImg::getCreateById, bo.getCreateById());
lqw.eq(bo.getUpdateById() != null, TbPersonLibImg::getUpdateById, bo.getUpdateById());
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), TbPersonLibImg::getSearchValue, bo.getSearchValue());
return lqw;
}
/**
* 新增人像信息
*
* @param bo 人像信息
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(TbPersonLibImgBo bo) {
TbPersonLibImg add = MapstructUtils.convert(bo, TbPersonLibImg.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改人像信息
*
* @param bo 人像信息
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(TbPersonLibImgBo bo) {
TbPersonLibImg update = MapstructUtils.convert(bo, TbPersonLibImg.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(TbPersonLibImg entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除人像信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}