blank
2 years ago
6 changed files with 261 additions and 0 deletions
@ -0,0 +1,44 @@
@@ -0,0 +1,44 @@
|
||||
package com.ruoyi.api.app; |
||||
|
||||
import com.ruoyi.api.service.DapingService; |
||||
import com.ruoyi.code.camera.domain.WaterPhotoInfo; |
||||
import com.ruoyi.common.core.page.R; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springframework.beans.factory.annotation.Autowired; |
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 大屏的接口 |
||||
*/ |
||||
@RestController |
||||
@RequestMapping("/daping") |
||||
@Slf4j |
||||
public class DapingController { |
||||
|
||||
@Autowired |
||||
private DapingService dapingService; |
||||
|
||||
@RequestMapping("/station/info") |
||||
public List<WaterPhotoInfo> getStationInfo(){ |
||||
return dapingService.getStationInfo(); |
||||
} |
||||
|
||||
@RequestMapping("/station/waterLevel") |
||||
public List<WaterPhotoInfo> getStationWaterLevel(){ |
||||
return dapingService.getStationWaterLevel(); |
||||
} |
||||
|
||||
@RequestMapping("/station/waterLevelTrend") |
||||
public R getWaterLevelTrend(){ |
||||
return dapingService.getWaterLevelTrend(); |
||||
} |
||||
|
||||
@RequestMapping("/station/status") |
||||
public R getStationByStatus(){ |
||||
return dapingService.getStationByStatus(); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,51 @@
@@ -0,0 +1,51 @@
|
||||
package com.ruoyi.api.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
import com.ruoyi.code.camera.domain.WaterPhotoInfo; |
||||
import org.apache.ibatis.annotations.Mapper; |
||||
import org.apache.ibatis.annotations.Param; |
||||
|
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* 大屏的接口 |
||||
*/ |
||||
@Mapper |
||||
public interface DapingMapper extends BaseMapper<WaterPhotoInfo> { |
||||
/** |
||||
* 大屏查询查询站点信息 |
||||
* @return |
||||
*/ |
||||
List<WaterPhotoInfo> selectStationInfo(); |
||||
|
||||
/** |
||||
* 实时水位 |
||||
* @return |
||||
*/ |
||||
List<WaterPhotoInfo> selectWaterLevel(); |
||||
|
||||
/** |
||||
* 水位趋势 |
||||
* @return |
||||
*/ |
||||
List<WaterPhotoInfo> selectWaterLevelTrend(@Param("id") Integer id); |
||||
|
||||
/** |
||||
* 查询id |
||||
* @return |
||||
*/ |
||||
List<Integer> selectStationInfoId(); |
||||
|
||||
/** |
||||
* 在线 |
||||
* @return |
||||
*/ |
||||
Map<String,Object> selectStationByOnlineStatus(); |
||||
|
||||
/** |
||||
* 不在线 |
||||
* @return |
||||
*/ |
||||
Map<String,Object> selectStationByOfflineStatus(); |
||||
} |
@ -0,0 +1,32 @@
@@ -0,0 +1,32 @@
|
||||
package com.ruoyi.api.service; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService; |
||||
import com.ruoyi.code.camera.domain.WaterPhotoInfo; |
||||
import com.ruoyi.common.core.page.R; |
||||
|
||||
import java.util.List; |
||||
|
||||
public interface DapingService extends IService<WaterPhotoInfo> { |
||||
/** |
||||
* 大屏查询查询站点信息 |
||||
* @return |
||||
*/ |
||||
List<WaterPhotoInfo> getStationInfo(); |
||||
|
||||
/** |
||||
* 实时水位 |
||||
* @return |
||||
*/ |
||||
List<WaterPhotoInfo> getStationWaterLevel(); |
||||
/** |
||||
* 水位趋势 |
||||
* @return |
||||
*/ |
||||
R getWaterLevelTrend(); |
||||
|
||||
/** |
||||
* 查询状态 |
||||
* @return |
||||
*/ |
||||
R getStationByStatus(); |
||||
} |
@ -0,0 +1,71 @@
@@ -0,0 +1,71 @@
|
||||
package com.ruoyi.api.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||
import com.ruoyi.api.mapper.DapingMapper; |
||||
import com.ruoyi.api.service.DapingService; |
||||
import com.ruoyi.code.camera.domain.WaterPhotoInfo; |
||||
import com.ruoyi.common.core.page.R; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.*; |
||||
|
||||
@Service |
||||
public class DapingServiceImpl extends ServiceImpl<DapingMapper, WaterPhotoInfo> implements DapingService{ |
||||
/** |
||||
* 大屏查询查询站点信息 |
||||
* @return |
||||
*/ |
||||
@Override |
||||
public List<WaterPhotoInfo> getStationInfo() { |
||||
return baseMapper.selectStationInfo(); |
||||
} |
||||
|
||||
/** |
||||
* 实时水位 |
||||
* @return |
||||
*/ |
||||
@Override |
||||
public List<WaterPhotoInfo> getStationWaterLevel() { |
||||
return baseMapper.selectWaterLevel(); |
||||
} |
||||
/** |
||||
* 水位趋势 |
||||
* @return |
||||
*/ |
||||
@Override |
||||
public R getWaterLevelTrend() { |
||||
Map<String, Object> map = new HashMap<>(); |
||||
Map<String, Object> valMap = new HashMap<>(); |
||||
List<String> valueList; |
||||
Set<String> tmList = new HashSet<>(); |
||||
Set<String> stnmList = new HashSet<>(); |
||||
List<Integer> idList = baseMapper.selectStationInfoId(); |
||||
for (Integer id : idList) { |
||||
List<WaterPhotoInfo> waterPhotoInfos = baseMapper.selectWaterLevelTrend(id); |
||||
valueList = new ArrayList<>(); |
||||
String stnm = ""; |
||||
for (WaterPhotoInfo waterPhotoInfo : waterPhotoInfos) { |
||||
valueList.add(waterPhotoInfo.getValue()); |
||||
stnmList.add(waterPhotoInfo.getStnm()); |
||||
stnm = waterPhotoInfo.getStnm(); |
||||
tmList.add(waterPhotoInfo.getTm()); |
||||
} |
||||
valMap.put(stnm,valueList); |
||||
} |
||||
map.put("values",valMap); |
||||
map.put("tms",tmList); |
||||
map.put("stnms",stnmList); |
||||
return R.ok().put("map",map); |
||||
} |
||||
|
||||
@Override |
||||
public R getStationByStatus() { |
||||
Map<String, Object> map1 = baseMapper.selectStationByOnlineStatus(); |
||||
Map<String, Object> map2 = baseMapper.selectStationByOfflineStatus(); |
||||
List<Map<String, Object>> resultList = new ArrayList<>(); |
||||
resultList.add(map1); |
||||
resultList.add(map2); |
||||
return R.ok().put("data",resultList); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,54 @@
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
|
||||
<mapper namespace="com.ruoyi.api.mapper.DapingMapper"> |
||||
|
||||
<select id="selectStationInfo" resultType="com.ruoyi.code.camera.domain.WaterPhotoInfo"> |
||||
SELECT |
||||
stnm, |
||||
longitude, |
||||
latitude, |
||||
s.id, |
||||
create_time, |
||||
c.value, |
||||
c.img_name |
||||
FROM |
||||
sc_station_info s |
||||
left join sc_water_current_data c on c.stnm_id = s.id |
||||
</select> |
||||
<select id="selectWaterLevel" resultType="com.ruoyi.code.camera.domain.WaterPhotoInfo"> |
||||
SELECT |
||||
s.id, |
||||
s.stnm, |
||||
s.camera_sn, |
||||
w.value |
||||
FROM |
||||
sc_station_info s |
||||
LEFT JOIN sc_water_current_data w ON w.stnm_id = s.id |
||||
</select> |
||||
<select id="selectWaterLevelTrend" resultType="com.ruoyi.code.camera.domain.WaterPhotoInfo"> |
||||
SELECT |
||||
s.id, |
||||
s.stnm, |
||||
w.value, |
||||
w.tm |
||||
FROM |
||||
sc_station_info s |
||||
LEFT JOIN sc_water_data w ON w.stnm_id = s.id |
||||
WHERE |
||||
tm BETWEEN DATE_SUB( NOW(), INTERVAL 12 HOUR ) |
||||
AND now() |
||||
AND RIGHT ( tm, 5 )= '00:00' and s.id=#{id} |
||||
ORDER BY |
||||
tm |
||||
</select> |
||||
<select id="selectStationInfoId" resultType="java.lang.Integer"> |
||||
select id from sc_station_info |
||||
</select> |
||||
<select id="selectStationByOnlineStatus" resultType="java.util.Map"> |
||||
select count(1) as value , '在线' as name from camera where status = '1'; |
||||
</select> |
||||
<select id="selectStationByOfflineStatus" resultType="java.util.Map"> |
||||
select count(1) as value , '不在线' as name from camera where status = '2'; |
||||
</select> |
||||
</mapper> |
Loading…
Reference in new issue