jinpengyong
2021-12-20 0f54f5f9f792aabad6deea6209ed0d0d29e21bf8
获取当前组织下设备列表及其详细信息
4 files modified
38 ■■■■■ changed files
screen-api/src/main/java/com/moral/api/controller/OrganizationController.java 23 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/DeviceService.java 3 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/SysAreaService.java 1 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java 11 ●●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/controller/OrganizationController.java
@@ -16,6 +16,7 @@
import javax.servlet.http.HttpServletRequest;
import com.moral.api.service.DeviceService;
import com.moral.api.service.SysAreaService;
import com.moral.constant.ResponseCodeEnum;
import com.moral.constant.ResultMessage;
@@ -30,6 +31,9 @@
    @Autowired
    private SysAreaService sysAreaService;
    @Autowired
    private DeviceService deviceService;
    /**
     * @param request 请求信息
@@ -49,4 +53,23 @@
        List<Map<String, Object>> response = sysAreaService.getMapPath(Integer.parseInt(params.get("organizationId").toString()));
        return ResultMessage.ok(response);
    }
    /**
     * @param request 请求信息
     * @return 返回请求成功后的对象信息
     */
    @GetMapping("getDevicesByOrganizationId")
    @ApiOperation(value = "获取当前组织下设备列表", notes = "获取当前组织下设备列表")
    @ApiImplicitParams(value = {
            @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String"),
            @ApiImplicitParam(name = "organizationId", value = "组织id", required = true, paramType = "query", dataType = "String")
    })
    public ResultMessage getDevicesByOrganizationId(HttpServletRequest request) {
        Map<String, Object> params = WebUtils.getParametersStartingWith(request, null);
        if (!params.containsKey("organizationId")) {
            return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
        }
        List<Map<String, Object>> response = deviceService.getDevicesByOrganizationId(Integer.parseInt(params.get("organizationId").toString()));
        return ResultMessage.ok(response);
    }
}
screen-api/src/main/java/com/moral/api/service/DeviceService.java
@@ -28,4 +28,7 @@
    //通过mac获取设备信息
    Device getDeviceByMac(String mac);
    //获取当前组织下所有设备列表
    List<Map<String, Object>> getDevicesByOrganizationId(Integer orgId);
}
screen-api/src/main/java/com/moral/api/service/SysAreaService.java
@@ -16,6 +16,7 @@
 */
public interface SysAreaService extends IService<SysArea> {
    //获取当前用户的地图权限
    List<Map<String, Object>> getMapPath(Integer orgId);
}
screen-api/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -22,6 +22,7 @@
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * <p>
@@ -162,6 +163,16 @@
        return device;
    }
    @Override
    public List<Map<String, Object>> getDevicesByOrganizationId(Integer orgId) {
        //从数据库获取mac
        QueryWrapper<Device> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("mac").eq("organization_id", orgId).eq("is_delete", Constants.NOT_DELETE);
        List<Device> devices = deviceMapper.selectList(queryWrapper);
        //从redis获取设备详细信息
        return devices.stream().map(device -> (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstants.DEVICE, device.getMac())).collect(Collectors.toList());
    }
    private Device getDeviceByMacFromDB(String mac) {
        QueryWrapper<Device> wrapper = new QueryWrapper<>();
        wrapper.eq("mac", mac);