| package com.ruoyi.device.radar.service.impl; | 
|   | 
| import java.util.ArrayList; | 
| import java.util.HashMap; | 
| import java.util.List; | 
| import java.util.Map; | 
|   | 
| import com.ruoyi.common.annotation.DataScope; | 
| import com.ruoyi.common.core.domain.entity.SysDept; | 
| import com.ruoyi.common.utils.DateUtils; | 
| import com.ruoyi.common.utils.SecurityUtils; | 
| import com.ruoyi.common.utils.uuid.IdUtils; | 
| import com.ruoyi.device.camera.domain.ArdCameras; | 
| import com.ruoyi.device.channel.domain.ArdChannel; | 
| import com.ruoyi.system.mapper.SysDeptMapper; | 
| import com.ruoyi.utils.tools.ArdTool; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.stereotype.Service; | 
| import com.ruoyi.device.radar.mapper.ArdEquipRadarMapper; | 
| import com.ruoyi.device.radar.domain.ArdEquipRadar; | 
| import com.ruoyi.device.radar.service.IArdEquipRadarService; | 
|   | 
| import javax.annotation.Resource; | 
|   | 
| /** | 
|  * radarService业务层处理 | 
|  *  | 
|  * @author zj | 
|  * @date 2023-03-11 | 
|  */ | 
| @Service | 
| public class ArdEquipRadarServiceImpl implements IArdEquipRadarService  | 
| { | 
|     @Resource | 
|     private ArdEquipRadarMapper ardEquipRadarMapper; | 
|     @Resource | 
|     private SysDeptMapper sysDeptMapper; | 
|     /** | 
|      * 查询radar | 
|      *  | 
|      * @param id radar主键 | 
|      * @return radar | 
|      */ | 
|     @Override | 
|     public ArdEquipRadar selectArdEquipRadarById(String id) | 
|     { | 
|         return ardEquipRadarMapper.selectArdEquipRadarById(id); | 
|     } | 
|   | 
|     /** | 
|      * 查询radar列表 | 
|      *  | 
|      * @param ardEquipRadar radar | 
|      * @return radar | 
|      */ | 
|     @Override | 
|     @DataScope(deptAlias="d",userAlias="u") | 
|     public List<ArdEquipRadar> selectArdEquipRadarList(ArdEquipRadar ardEquipRadar) | 
|     { | 
|         return ardEquipRadarMapper.selectArdEquipRadarList(ardEquipRadar); | 
|     } | 
|   | 
|     /** | 
|      * 新增radar | 
|      *  | 
|      * @param ardEquipRadar radar | 
|      * @return 结果 | 
|      */ | 
|     @Override | 
|     public int insertArdEquipRadar(ArdEquipRadar ardEquipRadar) | 
|     { | 
|         ardEquipRadar.setId(IdUtils.simpleUUID()); | 
|         ardEquipRadar.setCreateTime(DateUtils.getNowDate()); | 
|         ardEquipRadar.setCreateBy(SecurityUtils.getUsername()); | 
|         ardEquipRadar.setUserId(SecurityUtils.getUserId()); | 
|         return ardEquipRadarMapper.insertArdEquipRadar(ardEquipRadar); | 
|     } | 
|   | 
|     /** | 
|      * 修改radar | 
|      *  | 
|      * @param ardEquipRadar radar | 
|      * @return 结果 | 
|      */ | 
|     @Override | 
|     public int updateArdEquipRadar(ArdEquipRadar ardEquipRadar) | 
|     { | 
|         ardEquipRadar.setUpdateTime(DateUtils.getNowDate()); | 
|         ardEquipRadar.setUpdateBy(SecurityUtils.getUsername()); | 
|         return ardEquipRadarMapper.updateArdEquipRadar(ardEquipRadar); | 
|     } | 
|   | 
|     /** | 
|      * 批量删除radar | 
|      *  | 
|      * @param ids 需要删除的radar主键 | 
|      * @return 结果 | 
|      */ | 
|     @Override | 
|     public int deleteArdEquipRadarByIds(String[] ids) | 
|     { | 
|         return ardEquipRadarMapper.deleteArdEquipRadarByIds(ids); | 
|     } | 
|   | 
|     /** | 
|      * 删除radar信息 | 
|      *  | 
|      * @param id radar主键 | 
|      * @return 结果 | 
|      */ | 
|     @Override | 
|     public int deleteArdEquipRadarById(String id) | 
|     { | 
|         return ardEquipRadarMapper.deleteArdEquipRadarById(id); | 
|     } | 
|   | 
|   | 
|     /** | 
|      * @描述 获取本部门以下的所有雷达和部门 | 
|      * @参数 [] | 
|      * @返回值 java.util.Map | 
|      * @创建人 刘苏义 | 
|      * @创建时间 2023/6/2 10:58 | 
|      * @修改人和其它信息 | 
|      */ | 
|   | 
|     @Override | 
|     public Map getChildDeptAndRadar(Boolean disabled) { | 
|         Long deptId = SecurityUtils.getDeptId(); | 
|         SysDept sysDept = sysDeptMapper.selectDeptById(deptId); | 
|         Map<String, Object> map = fetchChildDepartments(sysDept, disabled); | 
|         return map; | 
|     } | 
|   | 
|     /** | 
|      * @描述 递归查询 | 
|      * @参数 [sysDept] | 
|      * @返回值 java.util.Map<java.lang.String, java.lang.Object> | 
|      * @创建人 刘苏义 | 
|      * @创建时间 2023/6/2 14:38 | 
|      * @修改人和其它信息 | 
|      */ | 
|     public Map<String, Object> fetchChildDepartments(SysDept sysDept, Boolean disabled) { | 
|         Map<String, Object> map = new HashMap<>(); | 
|         map.put("name", sysDept.getDeptName()); | 
|         map.put("deptId", sysDept.getDeptId()); | 
|         map.put("disabled", disabled); | 
|         List<SysDept> sysDepts = sysDeptMapper.selectNextChildrenDeptById(sysDept.getDeptId()); | 
|         List<ArdEquipRadar> ardRadars = ardEquipRadarMapper.selectArdRadarsByDeptId(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", disabled); | 
|             Map<String, Object> map1 = fetchChildDepartments(childDept, disabled); | 
|             childMap.putAll(map1); | 
|             childList.add(childMap); | 
|         } | 
|         if (ardRadars.size() > 0) { | 
|             for (ArdEquipRadar radar : ardRadars) { | 
|                 Map<String, Object> cameraMap = ArdTool.convertEntityToMap(radar); | 
|                 childList.add(cameraMap); | 
|             } | 
|         } | 
|         map.put("children", childList); | 
|         return map; | 
|   | 
|     } | 
|   | 
| } |