人像库页面以及后端完成
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run
This commit is contained in:
@@ -76,7 +76,6 @@ public class TdFactoryServiceImpl implements ITdFactoryService {
|
||||
lqw.orderByAsc(TdFactory::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFactoryNo()), TdFactory::getFactoryNo, bo.getFactoryNo());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getFactoryName()), TdFactory::getFactoryName, bo.getFactoryName());
|
||||
lqw.eq(bo.getDataState() != null, TdFactory::getDataState, bo.getDataState());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), TdFactory::getSearchValue, bo.getSearchValue());
|
||||
return lqw;
|
||||
}
|
||||
|
@@ -41,7 +41,12 @@ public class SisLibDeviceRef extends TenantEntity {
|
||||
/**
|
||||
* 设备上的库id
|
||||
*/
|
||||
private Long eqpLibCode;
|
||||
private Long eqpLibId;
|
||||
|
||||
/**
|
||||
* 设备上的库类型
|
||||
*/
|
||||
private Integer eqpLibType;
|
||||
|
||||
/**
|
||||
* 第三方设备库添加状态 1: 成功,2:失败
|
||||
|
@@ -1,9 +1,10 @@
|
||||
package org.dromara.sis.domain;
|
||||
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
@@ -51,6 +52,4 @@ public class SisPersonLib extends TenantEntity {
|
||||
* 库的业务类型 1: 门禁库,2: 黑名单库
|
||||
*/
|
||||
private Integer busiType;
|
||||
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1,21 @@
|
||||
package org.dromara.sis.domain.bo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 门禁控制设备和库关联的对象
|
||||
*
|
||||
* @author lxj
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class AccessControlLibDeviceBo extends SisAccessControlDeviceBo {
|
||||
|
||||
private Integer eqpLibId;
|
||||
|
||||
private Integer eqpLibType;
|
||||
|
||||
private Long libId;
|
||||
|
||||
}
|
@@ -1,12 +1,8 @@
|
||||
package org.dromara.sis.domain.bo;
|
||||
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.sis.domain.SisLibDeviceRef;
|
||||
|
||||
@@ -24,31 +20,28 @@ public class SisLibDeviceRefBo extends BaseEntity {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@NotNull(message = "主键id不能为空", groups = {EditGroup.class})
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 人员库编码
|
||||
*/
|
||||
@NotBlank(message = "人员库id不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Long libId;
|
||||
|
||||
/**
|
||||
* 设备编码
|
||||
*/
|
||||
@NotBlank(message = "设备id不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Long eqpId;
|
||||
|
||||
/**
|
||||
* 设备上的库id
|
||||
*/
|
||||
@NotNull(message = "设备上的库id不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Long eqpLibCode;
|
||||
private Long eqpLibId;
|
||||
|
||||
private Integer eqpLibType;
|
||||
|
||||
/**
|
||||
* 第三方设备库添加状态 1: 成功,2:失败
|
||||
*/
|
||||
@NotNull(message = "第三方设备库添加状态 1: 成功,2:失败不能为空", groups = {AddGroup.class, EditGroup.class})
|
||||
private Integer eqpLibState;
|
||||
|
||||
}
|
||||
|
@@ -90,23 +90,5 @@ public class SisAccessControlDeviceVo implements Serializable {
|
||||
@ExcelProperty(value = "设备密码")
|
||||
private String eqpPwd;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@ExcelProperty(value = "创建人id")
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
@ExcelProperty(value = "更新人id")
|
||||
private Long updateById;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
@ExcelProperty(value = "搜索值")
|
||||
private String searchValue;
|
||||
|
||||
|
||||
}
|
||||
|
@@ -100,10 +100,4 @@ public class SisAccessControlVo implements Serializable {
|
||||
@ExcelProperty(value = "外部编码")
|
||||
private String outCode;
|
||||
|
||||
/**
|
||||
* 组织编码
|
||||
*/
|
||||
@ExcelProperty(value = "组织编码")
|
||||
private String orgCode;
|
||||
|
||||
}
|
||||
|
@@ -1,7 +1,6 @@
|
||||
package org.dromara.sis.domain.vo;
|
||||
|
||||
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.SisLibDeviceRef;
|
||||
@@ -27,31 +26,28 @@ public class SisLibDeviceRefVo implements Serializable {
|
||||
/**
|
||||
* 主键id
|
||||
*/
|
||||
@ExcelProperty(value = "主键id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 人员库id
|
||||
*/
|
||||
@ExcelProperty(value = "人员库id")
|
||||
private Long libId;
|
||||
|
||||
/**
|
||||
* 设备表id
|
||||
*/
|
||||
@ExcelProperty(value = "设备表id")
|
||||
private Long eqpId;
|
||||
|
||||
/**
|
||||
* 设备上的库id
|
||||
*/
|
||||
@ExcelProperty(value = "设备上的库id")
|
||||
private Long eqpLibCode;
|
||||
private Long eqpLibId;
|
||||
|
||||
private Integer eqpLibType;
|
||||
|
||||
/**
|
||||
* 第三方设备库添加状态 1: 成功,2:失败
|
||||
*/
|
||||
@ExcelProperty(value = "第三方设备库添加状态 1: 成功,2:失败")
|
||||
private Integer eqpLibState;
|
||||
|
||||
}
|
||||
|
@@ -1,13 +1,14 @@
|
||||
package org.dromara.sis.domain.vo;
|
||||
|
||||
import org.dromara.sis.domain.SisPersonLib;
|
||||
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.SisPersonLib;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
@@ -60,4 +61,9 @@ public class SisPersonLibVo implements Serializable {
|
||||
@ExcelProperty(value = "库的业务类型 1: 门禁库,2: 黑名单库")
|
||||
private Integer busiType;
|
||||
|
||||
/**
|
||||
* 库关联的设备id列表
|
||||
*/
|
||||
List<Long> eqpIds;
|
||||
|
||||
}
|
||||
|
@@ -1,9 +1,15 @@
|
||||
package org.dromara.sis.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.dromara.sis.domain.SisLibDeviceRef;
|
||||
import org.dromara.sis.domain.bo.AccessControlLibDeviceBo;
|
||||
import org.dromara.sis.domain.vo.SisAccessControlDeviceVo;
|
||||
import org.dromara.sis.domain.vo.SisLibDeviceRefVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 系统库与设备库的关联Mapper接口
|
||||
*
|
||||
@@ -12,4 +18,5 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
*/
|
||||
public interface SisLibDeviceRefMapper extends BaseMapperPlus<SisLibDeviceRef, SisLibDeviceRefVo> {
|
||||
|
||||
List<AccessControlLibDeviceBo> queryDeviceListByLibIds(@Param("ids") Collection<Long> ids);
|
||||
}
|
||||
|
@@ -7,6 +7,7 @@ import org.dromara.sis.sdk.unview.UnViewAiBoxApi;
|
||||
import org.dromara.sis.sdk.unview.model.enums.UniViewApiEnum;
|
||||
import org.dromara.sis.sdk.unview.utils.UniViewHttp;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
@@ -29,11 +30,13 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
@Resource
|
||||
private UniViewHttp uniViewHttp;
|
||||
|
||||
@Override
|
||||
public SearchBehaviorResult searchBehavior(UvSystemInfo uvSystemInfo, SearchBehaviorParams params) {
|
||||
UniViewResult<SearchBehaviorResult> request = uniViewHttp.request(uvSystemInfo, UniViewApiEnum.SEARCH_BEHAVIOR, params, SearchBehaviorResult.class);
|
||||
return request.getData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AddLibResult addPersonLib(UvSystemInfo systemInfo, String libName) {
|
||||
Map<String, String> params = new HashMap<>(1);
|
||||
params.put("lib_name", libName);
|
||||
@@ -41,6 +44,7 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
return request.getData();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean deletePersonLib(UvSystemInfo systemInfo, Integer... libIds) {
|
||||
if (libIds.length == 0) {
|
||||
log.info("libIds 不能为空");
|
||||
@@ -52,6 +56,7 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
return request.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean updatePersonLib(UvSystemInfo systemInfo, Integer libId, String LibName) {
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("lib_id", libId);
|
||||
@@ -60,6 +65,7 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
return request.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryLibResult findPagePersonLib(UvSystemInfo systemInfo, String libName, Integer current, Integer size) {
|
||||
JSONObject params = new JSONObject();
|
||||
if (StrUtil.isNotBlank(libName)) {
|
||||
@@ -77,17 +83,19 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
return request.getData();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public AddPersonResult addPerson(UvSystemInfo uvSystemInfo, AddPersonParams addPersonParams) {
|
||||
UniViewResult<AddPersonResult> request = uniViewHttp.request(uvSystemInfo, UniViewApiEnum.PERSON_ADD, addPersonParams, AddPersonResult.class);
|
||||
return request.result();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BatchAddPersonResult batchAddPerson(UvSystemInfo uvSystemInfo, BatchAddPersonParams personParams) {
|
||||
UniViewResult<BatchAddPersonResult> request = uniViewHttp.request(uvSystemInfo, UniViewApiEnum.PERSON_BATCH_ADD, personParams, BatchAddPersonResult.class);
|
||||
return request.result();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean batchDeletePerson(UvSystemInfo uvSystemInfo, Integer[] personIds) {
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("person_id_list", personIds);
|
||||
@@ -95,24 +103,26 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
return request.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updatePerson(UvSystemInfo uvSystemInfo, UpdatePersonParams params) {
|
||||
UniViewResult<String> request = uniViewHttp.request(uvSystemInfo, UniViewApiEnum.PERSON_UPDATE, params, String.class);
|
||||
return request.success();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public queryPersonPageResult findPersonPage(UvSystemInfo uvSystemInfo, queryPersonPageParams params) {
|
||||
UniViewResult<queryPersonPageResult> request = uniViewHttp.request(uvSystemInfo, UniViewApiEnum.PERSON_FIND, params, queryPersonPageResult.class);
|
||||
return request.result();
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------- 点位管理 -------------------------------------------------------------------------*/
|
||||
|
||||
@Override
|
||||
public GetPublickeyResult getPublickey(UvSystemInfo uvSystemInfo) {
|
||||
UniViewResult<GetPublickeyResult> request = uniViewHttp.request(uvSystemInfo, UniViewApiEnum.POINT_RAS, null, GetPublickeyResult.class);
|
||||
return request.result();
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryOnvifResult getOnvif(UvSystemInfo uvSystemInfo) {
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("ip", uvSystemInfo.getIp());
|
||||
@@ -123,11 +133,13 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
return request.result();
|
||||
}
|
||||
|
||||
@Override
|
||||
public AddPointResult addPoint(UvSystemInfo uvSystemInfo, PointParams req) {
|
||||
UniViewResult<AddPointResult> request = uniViewHttp.request(uvSystemInfo, UniViewApiEnum.POINT_ADD, req, AddPointResult.class);
|
||||
return request.result();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deletePoint(UvSystemInfo uvSystemInfo, List<Integer> channelIds) {
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("channel_id_list", channelIds);
|
||||
@@ -135,26 +147,31 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
return request.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updatePoint(UvSystemInfo uvSystemInfo, UpdatePointParams params) {
|
||||
UniViewResult<String> request = uniViewHttp.request(uvSystemInfo, UniViewApiEnum.POINT_UPDATE, params, String.class);
|
||||
return request.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryPointResult queryPoint(UvSystemInfo uvSystemInfo, QueryPointParams req) {
|
||||
UniViewResult<QueryPointResult> request = uniViewHttp.request(uvSystemInfo, UniViewApiEnum.POINT_FIND, req, QueryPointResult.class);
|
||||
return request.result();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BatchAddPersonResult batchAddPoint(UvSystemInfo uvSystemInfo, BatchAddPointParams params) {
|
||||
UniViewResult<BatchAddPersonResult> request = uniViewHttp.request(uvSystemInfo, UniViewApiEnum.POINT_BATCH_ADD, params, BatchAddPersonResult.class);
|
||||
return request.result();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean pointControlTimeUpdate(UvSystemInfo uvSystemInfo, ModifyControlTime params) {
|
||||
UniViewResult<String> request = uniViewHttp.request(uvSystemInfo, UniViewApiEnum.POINT_CONTROL_TIME_UPDATE, params, String.class);
|
||||
return request.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ControlTime queryControlTime(UvSystemInfo uvSystemInfo, Integer channel_id, Integer algo_model) {
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("channel_id", channel_id);
|
||||
@@ -164,6 +181,7 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------- 工服库 ---------------------------------------------------------------------------*/
|
||||
@Override
|
||||
public AddLibResult addWorkClothesLib(UvSystemInfo uvSystemInfo, String libName) {
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("lib_name", libName);
|
||||
@@ -171,6 +189,7 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
return request.result();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean updateWorkClothesLib(UvSystemInfo uvSystemInfo, Integer libId, String libName) {
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("lib_id", libId);
|
||||
@@ -179,6 +198,7 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
return request.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deleteWorkClothesLib(UvSystemInfo uvSystemInfo, Integer libId) {
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("lib_id", libId);
|
||||
@@ -186,6 +206,7 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
return request.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryLibResult findPageWorkClothesLib(UvSystemInfo uvSystemInfo, String libName, Integer page, Integer pageSize) {
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("lib_name", libName);
|
||||
@@ -196,7 +217,7 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------工服 ---------------------------------------------------------------------------*/
|
||||
|
||||
@Override
|
||||
public Integer addWorkClothes(UvSystemInfo uvSystemInfo, Integer libId, String imageBase64) {
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("lib_id", libId);
|
||||
@@ -205,6 +226,7 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
return request.result();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BatchAddWorkClothesResult batchAddWorkClothes(UvSystemInfo uvSystemInfo, Integer libId, List<String> imageBase64s) {
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("lib_id", libId);
|
||||
@@ -213,6 +235,7 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
return request.result();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean deleteWorkClothes(UvSystemInfo uvSystemInfo, Integer libId, List<Integer> workClothesIds) {
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("lib_id", libId);
|
||||
@@ -221,6 +244,7 @@ public class UnViewAiBoxApiService implements UnViewAiBoxApi {
|
||||
return request.success();
|
||||
}
|
||||
|
||||
@Override
|
||||
public FindWorkClothesResult findPageWorkClothes(UvSystemInfo uvSystemInfo, Integer libId, Integer page, Integer size, Integer status) {
|
||||
JSONObject params = new JSONObject();
|
||||
params.put("lib_id", libId);
|
||||
|
@@ -1,10 +1,12 @@
|
||||
package org.dromara.sis.service;
|
||||
|
||||
import org.dromara.sis.domain.SisLibDeviceRef;
|
||||
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;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.sis.domain.SisLibDeviceRef;
|
||||
import org.dromara.sis.domain.bo.AccessControlLibDeviceBo;
|
||||
import org.dromara.sis.domain.bo.SisLibDeviceRefBo;
|
||||
import org.dromara.sis.domain.vo.SisAccessControlDeviceVo;
|
||||
import org.dromara.sis.domain.vo.SisLibDeviceRefVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@@ -75,5 +77,27 @@ public interface ISisLibDeviceRefService {
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
List<SisLibDeviceRefVo> queryByIds(Collection<Long> ids);
|
||||
/**
|
||||
* 通过personlIB id 查询关联关系
|
||||
*
|
||||
* @param ids id列表
|
||||
* @return 返回关联记录
|
||||
*/
|
||||
List<SisLibDeviceRefVo> queryByLibIds(Collection<Long> ids);
|
||||
|
||||
/**
|
||||
* 通过 personLibid 列表删除关联关系
|
||||
*
|
||||
* @param ids id 列表
|
||||
* @return 返回删除数量
|
||||
*/
|
||||
Integer deleteByLibIds(Collection<Long> ids);
|
||||
|
||||
/**
|
||||
* 通过libIds 查询控制设备列表
|
||||
*
|
||||
* @param ids libIds
|
||||
* @return 返回设备列表
|
||||
*/
|
||||
List<AccessControlLibDeviceBo> queryDeviceListByLibIds(Collection<Long> ids);
|
||||
}
|
||||
|
@@ -10,7 +10,9 @@ 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.SisLibDeviceRef;
|
||||
import org.dromara.sis.domain.bo.AccessControlLibDeviceBo;
|
||||
import org.dromara.sis.domain.bo.SisLibDeviceRefBo;
|
||||
import org.dromara.sis.domain.vo.SisAccessControlDeviceVo;
|
||||
import org.dromara.sis.domain.vo.SisLibDeviceRefVo;
|
||||
import org.dromara.sis.mapper.SisLibDeviceRefMapper;
|
||||
import org.dromara.sis.service.ISisLibDeviceRefService;
|
||||
@@ -74,9 +76,9 @@ public class SisLibDeviceRefServiceImpl implements ISisLibDeviceRefService {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<SisLibDeviceRef> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByAsc(SisLibDeviceRef::getId);
|
||||
lqw.eq(bo.getLibId() !=null, SisLibDeviceRef::getLibId, bo.getLibId());
|
||||
lqw.eq(bo.getEqpId() !=null, SisLibDeviceRef::getEqpId, bo.getEqpId());
|
||||
lqw.eq(bo.getEqpLibCode() != null, SisLibDeviceRef::getEqpLibCode, bo.getEqpLibCode());
|
||||
lqw.eq(bo.getLibId() != null, SisLibDeviceRef::getLibId, bo.getLibId());
|
||||
lqw.eq(bo.getEqpId() != null, SisLibDeviceRef::getEqpId, bo.getEqpId());
|
||||
lqw.eq(bo.getEqpLibId() != null, SisLibDeviceRef::getEqpLibId, bo.getEqpLibId());
|
||||
lqw.eq(bo.getEqpLibState() != null, SisLibDeviceRef::getEqpLibState, bo.getEqpLibState());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSearchValue()), SisLibDeviceRef::getSearchValue, bo.getSearchValue());
|
||||
return lqw;
|
||||
@@ -140,7 +142,21 @@ public class SisLibDeviceRefServiceImpl implements ISisLibDeviceRefService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SisLibDeviceRefVo> queryByIds(Collection<Long> ids) {
|
||||
return List.of();
|
||||
public List<SisLibDeviceRefVo> queryByLibIds(Collection<Long> ids) {
|
||||
LambdaQueryWrapper<SisLibDeviceRef> lqw = Wrappers.lambdaQuery();
|
||||
lqw.in(SisLibDeviceRef::getLibId, ids);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer deleteByLibIds(Collection<Long> ids) {
|
||||
LambdaQueryWrapper<SisLibDeviceRef> lqw = Wrappers.lambdaQuery();
|
||||
lqw.in(SisLibDeviceRef::getLibId, ids);
|
||||
return baseMapper.delete(lqw);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<AccessControlLibDeviceBo> queryDeviceListByLibIds(Collection<Long> ids) {
|
||||
return baseMapper.queryDeviceListByLibIds(ids);
|
||||
}
|
||||
}
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package org.dromara.sis.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
@@ -14,8 +15,10 @@ import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.sis.domain.SisLibDeviceRef;
|
||||
import org.dromara.sis.domain.SisPersonLib;
|
||||
import org.dromara.sis.domain.bo.AccessControlLibDeviceBo;
|
||||
import org.dromara.sis.domain.bo.SisPersonLibBo;
|
||||
import org.dromara.sis.domain.vo.SisAccessControlDeviceVo;
|
||||
import org.dromara.sis.domain.vo.SisLibDeviceRefVo;
|
||||
import org.dromara.sis.domain.vo.SisPersonLibVo;
|
||||
import org.dromara.sis.mapper.SisPersonLibMapper;
|
||||
import org.dromara.sis.sdk.unview.UnViewAiBoxApi;
|
||||
@@ -27,6 +30,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -55,7 +59,13 @@ public class SisPersonLibServiceImpl implements ISisPersonLibService {
|
||||
*/
|
||||
@Override
|
||||
public SisPersonLibVo queryById(Long id) {
|
||||
return baseMapper.selectVoById(id);
|
||||
SisPersonLibVo sisPersonLibVo = baseMapper.selectVoById(id);
|
||||
List<SisLibDeviceRefVo> sisLibDeviceRefVos = sisLibDeviceRefService.queryByLibIds(Collections.singleton(id));
|
||||
if (CollUtil.isNotEmpty(sisLibDeviceRefVos)) {
|
||||
List<Long> list = sisLibDeviceRefVos.stream().map(SisLibDeviceRefVo::getEqpId).toList();
|
||||
sisPersonLibVo.setEqpIds(list);
|
||||
}
|
||||
return sisPersonLibVo;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -115,14 +125,14 @@ public class SisPersonLibServiceImpl implements ISisPersonLibService {
|
||||
bo.setId(add.getId());
|
||||
for (Long eqpId : bo.getEqpIds()) {
|
||||
// 查询设备信息
|
||||
SisAccessControlDeviceVo sisAccessControlDeviceVo = sisAccessControlDeviceService.queryById(eqpId);
|
||||
Assert.notNull(sisAccessControlDeviceVo, "门禁控制设备不存在,id=" + eqpId);
|
||||
log.info("准备写入门禁设备,code={}", sisAccessControlDeviceVo.getEqpNo());
|
||||
SisAccessControlDeviceVo vo = sisAccessControlDeviceService.queryById(eqpId);
|
||||
Assert.notNull(vo, "门禁控制设备不存在,id=" + eqpId);
|
||||
log.info("准备写入门禁设备,code={}", vo.getEqpNo());
|
||||
UvModel.UvSystemInfo systemInfo = new UvModel.UvSystemInfo();
|
||||
systemInfo.setAccount(sisAccessControlDeviceVo.getEqpAccount());
|
||||
systemInfo.setPassword(sisAccessControlDeviceVo.getEqpPwd());
|
||||
systemInfo.setIp(sisAccessControlDeviceVo.getEqpIp());
|
||||
systemInfo.setPort(sisAccessControlDeviceVo.getEqpPort());
|
||||
systemInfo.setAccount(vo.getEqpAccount());
|
||||
systemInfo.setPassword(vo.getEqpPwd());
|
||||
systemInfo.setIp(vo.getEqpIp());
|
||||
systemInfo.setPort(vo.getEqpPort());
|
||||
// libType =1 人像库,否则工服库
|
||||
Integer outLibCode = null;
|
||||
if (bo.getLibType() == 1) {
|
||||
@@ -136,9 +146,10 @@ public class SisPersonLibServiceImpl implements ISisPersonLibService {
|
||||
Assert.notNull(outLibCode, "写入宇视盒子失败");
|
||||
SisLibDeviceRef ref = new SisLibDeviceRef();
|
||||
ref.setLibId(add.getId());
|
||||
ref.setEqpId(sisAccessControlDeviceVo.getId());
|
||||
ref.setEqpLibCode(Long.valueOf(outLibCode));
|
||||
ref.setEqpId(vo.getId());
|
||||
ref.setEqpLibId(Long.valueOf(outLibCode));
|
||||
ref.setEqpLibState(1);
|
||||
ref.setEqpLibType(bo.getLibType());
|
||||
Boolean insert = sisLibDeviceRefService.insert(ref);
|
||||
Assert.isTrue(insert, "写入库关联关系表失败!");
|
||||
log.info("同步建库完成!");
|
||||
@@ -174,10 +185,30 @@ public class SisPersonLibServiceImpl implements ISisPersonLibService {
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
// 查询关联的设备信息,先删除设备上的库
|
||||
List<AccessControlLibDeviceBo> ls = sisLibDeviceRefService.queryDeviceListByLibIds(ids);
|
||||
// 删除关联关系
|
||||
ls.forEach(item -> {
|
||||
UvModel.UvSystemInfo systemInfo = new UvModel.UvSystemInfo();
|
||||
systemInfo.setAccount(item.getEqpAccount());
|
||||
systemInfo.setPassword(item.getEqpPwd());
|
||||
systemInfo.setIp(item.getEqpIp());
|
||||
systemInfo.setPort(item.getEqpPort());
|
||||
// 实际上这里需要根据厂商不同去不同的设备删除
|
||||
if (item.getEqpLibType() == 1) {
|
||||
Boolean b = unViewAiBoxApi.deletePersonLib(systemInfo, item.getEqpLibId());
|
||||
log.info("删除宇试人像库[{}]完成,result={}", item.getEqpLibId(), b);
|
||||
} else {
|
||||
Boolean b = unViewAiBoxApi.deleteWorkClothesLib(systemInfo, item.getEqpLibId());
|
||||
log.info("删除宇试工服库[{}]完成,result={}", item.getEqpLibId(), b);
|
||||
}
|
||||
});
|
||||
// 查询当前库是否绑定
|
||||
sisLibDeviceRefService.queryByIds(ids);
|
||||
sisLibDeviceRefService.deleteByLibIds(ids);
|
||||
log.info("删除personLibRef关联关系完成!");
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
|
@@ -4,4 +4,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.sis.mapper.SisLibDeviceRefMapper">
|
||||
|
||||
<select id="queryDeviceListByLibIds" resultType="org.dromara.sis.domain.bo.AccessControlLibDeviceBo">
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
`sis_lib_device_ref` a LEFT JOIN sis_access_control_device b ON a.eqp_id = b.id
|
||||
WHERE
|
||||
a.lib_id IN
|
||||
<foreach collection="ids" item="id" open="(" close=")" index="index" separator=",">
|
||||
#{id}
|
||||
</foreach>
|
||||
</select>
|
||||
</mapper>
|
||||
|
Reference in New Issue
Block a user