package com.ruoyi.device.camera.service.impl;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import com.ruoyi.common.core.domain.entity.SysDept;
|
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.utils.tools.ArdTool;
|
import com.ruoyi.device.camera.domain.ArdCameras;
|
import com.ruoyi.device.camera.mapper.ArdCamerasMapper;
|
import com.ruoyi.device.camera.service.IArdCamerasService;
|
import com.ruoyi.common.annotation.DataScope;
|
import com.ruoyi.system.mapper.SysDeptMapper;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
|
/**
|
* 相机设备Service业务层处理
|
*
|
* @author 刘苏义
|
* @date 2023-02-11
|
*/
|
@Service
|
public class ArdCamerasServiceImpl implements IArdCamerasService {
|
@Resource
|
private ArdCamerasMapper ardCamerasMapper;
|
@Resource
|
private SysDeptMapper sysDeptMapper;
|
|
/**
|
* 查询相机设备
|
*
|
* @param id 相机设备主键
|
* @return 相机设备
|
*/
|
@Override
|
public ArdCameras selectArdCamerasById(String id) {
|
return ardCamerasMapper.selectArdCamerasById(id);
|
}
|
|
/**
|
* 查询相机设备列表
|
*
|
* @param ardCameras 相机设备
|
* @return 相机设备
|
*/
|
@Override
|
@DataScope(deptAlias = "d", userAlias = "u")
|
public List<ArdCameras> selectArdCamerasList(ArdCameras ardCameras) {
|
return ardCamerasMapper.selectArdCamerasList(ardCameras);
|
}
|
|
/**
|
* 查询相机设备列表-不进行数据过滤
|
*
|
* @param ardCameras 相机设备
|
* @return 相机设备
|
*/
|
@Override
|
public List<ArdCameras> selectArdCamerasListNoDataScope(ArdCameras ardCameras) {
|
return ardCamerasMapper.selectArdCamerasListNoDataScope(ardCameras);
|
}
|
|
/**
|
* 新增相机设备
|
*
|
* @param ardCameras 相机设备
|
* @return 结果
|
*/
|
@Override
|
public int insertArdCameras(ArdCameras ardCameras) {
|
ardCameras.setCreateBy(SecurityUtils.getUsername());
|
ardCameras.setCreateTime(DateUtils.getNowDate());
|
ardCameras.setUserId(SecurityUtils.getUserId());
|
return ardCamerasMapper.insertArdCameras(ardCameras);
|
}
|
|
/**
|
* 修改相机设备
|
*
|
* @param ardCameras 相机设备
|
* @return 结果
|
*/
|
@Override
|
public int updateArdCameras(ArdCameras ardCameras) {
|
ardCameras.setUpdateTime(DateUtils.getNowDate());
|
return ardCamerasMapper.updateArdCameras(ardCameras);
|
}
|
|
/**
|
* 批量删除相机设备
|
*
|
* @param ids 需要删除的相机设备主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteArdCamerasByIds(String[] ids) {
|
return ardCamerasMapper.deleteArdCamerasByIds(ids);
|
}
|
|
/**
|
* 删除相机设备信息
|
*
|
* @param id 相机设备主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteArdCamerasById(String id) {
|
return ardCamerasMapper.deleteArdCamerasById(id);
|
}
|
|
public List findOptions(ArdCameras ardCameras) {
|
return ardCamerasMapper.findOptions(ardCameras);
|
}
|
|
/**
|
* @描述 获取本部门以下的所有相机和部门
|
* @参数 []
|
* @返回值 java.util.Map
|
* @创建人 刘苏义
|
* @创建时间 2023/6/2 10:58
|
* @修改人和其它信息
|
*/
|
|
@Override
|
public Map getChildDeptAndCamera() {
|
Long deptId = SecurityUtils.getDeptId();
|
SysDept sysDept = sysDeptMapper.selectDeptById(deptId);
|
Map<String, Object> map = fetchChildDepartments(sysDept);
|
return map;
|
}
|
/**
|
* @描述 递归查询
|
* @参数 [sysDept]
|
* @返回值 java.util.Map<java.lang.String,java.lang.Object>
|
* @创建人 刘苏义
|
* @创建时间 2023/6/2 14:38
|
* @修改人和其它信息
|
*/
|
public Map<String, Object> fetchChildDepartments(SysDept sysDept) {
|
Map<String, Object> map = new HashMap<>();
|
map.put("name", sysDept.getDeptName());
|
map.put("deptId", sysDept.getDeptId());
|
map.put("disabled", true);
|
List<SysDept> sysDepts = sysDeptMapper.selectNextChildrenDeptById(sysDept.getDeptId());
|
List<ArdCameras> ardCameras = ardCamerasMapper.selectArdCamerasByDeptId(sysDept.getDeptId());
|
List<Object> childList = new ArrayList<>();
|
for (SysDept childDept : sysDepts) {
|
Map<String, Object> childMap = new HashMap<>();
|
childMap.put("name", childDept.getDeptName());
|
childMap.put("deptId", childDept.getDeptId());
|
childMap.put("disabled", true);
|
Map<String, Object> map1 = fetchChildDepartments(childDept);
|
childMap.putAll(map1);
|
childList.add(childMap);
|
}
|
if (ardCameras.size() > 0) {
|
for (ArdCameras camera : ardCameras) {
|
Map<String, Object> cameraMap = ArdTool.convertEntityToMap(camera);
|
childList.add(cameraMap);
|
}
|
}
|
map.put("children", childList);
|
return map;
|
|
}
|
|
|
}
|