‘liusuyi’
2023-06-02 3cadca8ab0c0db03f072c5eb55c5703cd6965d9d
增加获取部门及相机接口
已添加1个文件
已修改10个文件
177 ■■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/camera/mapper/ArdCamerasMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/tools/ArdTool.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/device/camera/controller/ArdCamerasController.java
@@ -8,6 +8,7 @@
import com.ruoyi.device.hiksdk.service.impl.HikClientServiceImpl;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.service.ISysDeptService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -160,5 +161,11 @@
        }
        return options;
    }
    @GetMapping("/getDeptAndCamera")
    @ApiOperation("获取部门和相机")
    public AjaxResult getDeptAndCamera()
    {
        Map deptAndCamera = ardCamerasService.getChildDeptAndCamera();
        return AjaxResult.success(deptAndCamera);
    }
}
ard-work/src/main/java/com/ruoyi/device/camera/mapper/ArdCamerasMapper.java
@@ -3,6 +3,7 @@
import java.util.List;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.device.camera.domain.ArdCameras;
/**
@@ -67,4 +68,12 @@
     */
    public int deleteArdCamerasByIds(String[] ids);
    public List findOptions(ArdCameras ardCameras);
    /**
     * æ ¹æ®éƒ¨é—¨ID查询挂载的相机
     *
     * @param deptId éƒ¨é—¨ID
     * @return éƒ¨é—¨åˆ—表
     */
    public List<ArdCameras> selectArdCamerasByDeptId(Long deptId);
}
ard-work/src/main/java/com/ruoyi/device/camera/service/IArdCamerasService.java
@@ -1,6 +1,8 @@
package com.ruoyi.device.camera.service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.ruoyi.device.camera.domain.ArdCameras;
@@ -67,4 +69,13 @@
    public int deleteArdCamerasById(String id);
    public List findOptions(ArdCameras ardCameras);
    /**
     * @描述 èŽ·å–æœ¬éƒ¨é—¨ä»¥ä¸‹çš„æ‰€æœ‰ç›¸æœºå’Œéƒ¨é—¨
     * @参数 []
     * @返回值 java.util.Map
     * @创建人 åˆ˜è‹ä¹‰
     * @创建时间 2023/6/2 10:58
     * @修改人和其它信息
     */
    public Map getChildDeptAndCamera();
}
ard-work/src/main/java/com/ruoyi/device/camera/service/impl/ArdCamerasServiceImpl.java
@@ -1,13 +1,23 @@
package com.ruoyi.device.camera.service.impl;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
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.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.common.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;
@@ -22,6 +32,8 @@
public class ArdCamerasServiceImpl implements IArdCamerasService {
    @Resource
    private ArdCamerasMapper ardCamerasMapper;
    @Resource
    private SysDeptMapper sysDeptMapper;
    /**
     * æŸ¥è¯¢ç›¸æœºè®¾å¤‡
@@ -108,4 +120,58 @@
    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;
    }
}
ard-work/src/main/resources/mapper/device/ArdCamerasMapper.xml
@@ -239,7 +239,6 @@
        </foreach>
    </delete>
    <select id="findOptions" parameterType="String" resultMap="ArdCamerasResult">
        <include refid="selectArdCamerasVo"/>
        <where>
@@ -247,4 +246,9 @@
            <if test="name != null  and name != ''">and c.name like '%'||#{name}||'%'</if>
        </where>
    </select>
    <select id="selectArdCamerasByDeptId" parameterType="Long" resultMap="ArdCamerasResult">
        select *
        from ard_cameras
        where dept_id = #{deptId}
    </select>
</mapper>
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
@@ -55,6 +55,17 @@
    /** å­éƒ¨é—¨ */
    private List<SysDept> children = new ArrayList<SysDept>();
    private boolean disabled;
    public boolean isDisabled() {
        return disabled;
    }
    public void setDisabled(boolean disabled) {
        this.disabled = disabled;
    }
    public Long getDeptId()
    {
        return deptId;
ruoyi-common/src/main/java/com/ruoyi/common/utils/tools/ArdTool.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
package com.ruoyi.common.utils.tools;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
/**
 * @Description: å·¥å…·æ–¹æ³•
 * @ClassName: ArdTool
 * @Author: åˆ˜è‹ä¹‰
 * @Date: 2023å¹´06月02日14:37
 * @Version: 1.0
 **/
public class ArdTool {
    /**
     * @描述 å®žä½“对象转Map
     * @参数 [entity]
     * @返回值 java.util.Map<java.lang.String,java.lang.Object>
     * @创建人 åˆ˜è‹ä¹‰
     * @创建时间 2023/6/2 14:35
     * @修改人和其它信息
     */
    public static Map<String, Object> convertEntityToMap(Object entity) {
        Map<String, Object> map = new HashMap<>();
        Field[] fields = entity.getClass().getDeclaredFields();
        for (Field field : fields) {
            field.setAccessible(true);
            try {
                Object value = field.get(entity);
                map.put(field.getName(), value);
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }
        return map;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
@@ -43,6 +43,13 @@
     * @return éƒ¨é—¨åˆ—表
     */
    public List<SysDept> selectChildrenDeptById(Long deptId);
    /**
     * æ ¹æ®ID查询下级子部门
     *
     * @param deptId éƒ¨é—¨ID
     * @return éƒ¨é—¨åˆ—表
     */
    public List<SysDept> selectNextChildrenDeptById(Long deptId);
    /**
     * æ ¹æ®ID查询所有子部门(正常状态)
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
@@ -1,6 +1,8 @@
package com.ruoyi.system.service;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.common.core.domain.entity.SysDept;
@@ -121,4 +123,5 @@
     * @return ç»“æžœ
     */
    public int deleteDeptById(Long deptId);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
@@ -1,10 +1,7 @@
package com.ruoyi.system.service.impl;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.constant.UserConstants;
@@ -21,6 +18,8 @@
import com.ruoyi.system.mapper.SysRoleMapper;
import com.ruoyi.system.service.ISysDeptService;
import javax.annotation.Resource;
/**
 * éƒ¨é—¨ç®¡ç† æœåŠ¡å®žçŽ°
 * 
@@ -29,10 +28,10 @@
@Service
public class SysDeptServiceImpl implements ISysDeptService
{
    @Autowired
    @Resource
    private SysDeptMapper deptMapper;
    @Autowired
    @Resource
    private SysRoleMapper roleMapper;
    /**
@@ -335,4 +334,6 @@
    {
        return getChildList(list, t).size() > 0;
    }
}
ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -77,7 +77,9 @@
    <select id="selectChildrenDeptById" parameterType="Long" resultMap="SysDeptResult">
        select * from sys_dept where cast(#{deptId} as varchar) = any(string_to_array(ancestors,','))
    </select>
    <select id="selectNextChildrenDeptById" parameterType="Long" resultMap="SysDeptResult">
        select * from sys_dept where parent_id=#{deptId} and del_flag='0'
    </select>
    <select id="selectNormalChildrenDeptById" parameterType="Long" resultType="int">
        select count(*) from sys_dept where status = '0' and del_flag = '0' and cast(#{deptId} as varchar) = any(string_to_array(ancestors,','))
    </select>