Browse Source

修改定时 交通路况 每小时数据

develop
王兴琳 8 months ago
parent
commit
790b1d0ff8
  1. 9
      zc-business/src/main/java/com/zc/business/controller/DcRoadConditionInformationController.java
  2. 36
      zc-business/src/main/java/com/zc/business/controller/DcTimingOfTrafficConditionsController.java
  3. 5
      zc-business/src/main/java/com/zc/business/controller/DcTrafficStatisticsController.java
  4. 3
      zc-business/src/main/java/com/zc/business/mapper/DcRoadConditionInformationMapper.java
  5. 3
      zc-business/src/main/java/com/zc/business/service/IDcRoadConditionInformationService.java
  6. 5
      zc-business/src/main/java/com/zc/business/service/impl/DcRoadConditionInformationServiceImpl.java
  7. 11
      zc-business/src/main/java/com/zc/business/service/impl/DcTrafficStatisticsServiceImpl.java
  8. 4
      zc-business/src/main/resources/mapper/business/DcRoadConditionInformationMapper.xml

9
zc-business/src/main/java/com/zc/business/controller/DcRoadConditionInformationController.java

@ -23,7 +23,7 @@ import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
/**DcTimingOfTrafficConditionsController
* 路况信息Controller
*
* @author ruoyi
@ -47,6 +47,13 @@ public class DcRoadConditionInformationController extends BaseController
List<DcRoadConditionInformation> list = dcRoadConditionInformationService.selectDcRoadConditionInformationList(dcRoadConditionInformation);
return getDataTable(list);
}
@GetMapping("/listTime")
public TableDataInfo listTime()
{
startPage();
List<DcRoadConditionInformation> list = dcRoadConditionInformationService.selectlistTime();
return getDataTable(list);
}
/**
* 导出路况信息列表

36
zc-business/src/main/java/com/zc/business/controller/DcTimingOfTrafficConditionsController.java

@ -0,0 +1,36 @@
package com.zc.business.controller;
import com.alibaba.fastjson.JSONArray;
import com.ruoyi.common.core.domain.AjaxResult;
import com.zc.business.domain.DcRoadConditionInformation;
import com.zc.business.service.IDcRoadConditionInformationService;
import com.zc.business.service.IDcTrafficStatisticsService;
import com.zc.common.core.httpclient.exception.HttpException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.IOException;
/**
*路况信息 每小时入一次库
*/
@Component
public class DcTimingOfTrafficConditionsController {
@Autowired
private IDcTrafficStatisticsService dcTrafficStatisticsService;
@Autowired
private IDcRoadConditionInformationService dcRoadConditionInformationService;
// 调用服务层方法,获取当前交通指标数据
@Scheduled(cron = "0 0 * * * *")
public void getTheCurrentCongestedSection() throws HttpException, IOException {
// 调用服务层方法,获取当前交通指标数据
JSONArray jsonArray = dcTrafficStatisticsService.getTheCurrentCongestedSection();
//插入 数据库
DcRoadConditionInformation dcRoadConditionInformation =new DcRoadConditionInformation();
dcRoadConditionInformation.setOtherConfig(jsonArray.toJSONString());
dcRoadConditionInformationService.insertDcRoadConditionInformation(dcRoadConditionInformation);
// 将获取到的交通指标数据封装为成功的结果并返回
}
}

5
zc-business/src/main/java/com/zc/business/controller/DcTrafficStatisticsController.java

@ -46,7 +46,7 @@ import java.util.stream.Collectors;
*
* @author xiepufeng
*/
@Component
@Api(tags = "交通数据统计")
@RestController
@RequestMapping("/business/traffic-statistics")
@ -745,8 +745,7 @@ public AjaxResult realTimeTrafficFlow(String startDate, String direction,String
// 将获取到的交通指标数据封装为成功的结果并返回
return AjaxResult.success(jsonArray);
}
@Scheduled(cron = "0 */1 * * * ?")
// @Scheduled(cron = "0/30 * * * * ?")
@ApiOperation("获取当前拥堵路段")
@GetMapping("/current/getTheCurrentCongestedSection")
public AjaxResult getTheCurrentCongestedSection() throws HttpException, IOException {

3
zc-business/src/main/java/com/zc/business/mapper/DcRoadConditionInformationMapper.java

@ -59,4 +59,7 @@ public interface DcRoadConditionInformationMapper
* @return 结果
*/
int deleteDcRoadConditionInformationByIds(Long[] ids);
List<DcRoadConditionInformation> selectlistTime();
}

3
zc-business/src/main/java/com/zc/business/service/IDcRoadConditionInformationService.java

@ -59,4 +59,7 @@ public interface IDcRoadConditionInformationService
* @return 结果
*/
int deleteDcRoadConditionInformationById(Long id);
List<DcRoadConditionInformation> selectlistTime();
}

5
zc-business/src/main/java/com/zc/business/service/impl/DcRoadConditionInformationServiceImpl.java

@ -94,4 +94,9 @@ public class DcRoadConditionInformationServiceImpl implements IDcRoadConditionIn
{
return dcRoadConditionInformationMapper.deleteDcRoadConditionInformationById(id);
}
@Override
public List<DcRoadConditionInformation> selectlistTime() {
return dcRoadConditionInformationMapper.selectlistTime();
}
}

11
zc-business/src/main/java/com/zc/business/service/impl/DcTrafficStatisticsServiceImpl.java

@ -57,8 +57,6 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
@Resource
private IDcFacilityService facilityService;
@Autowired
private IDcRoadConditionInformationService dcRoadConditionInformationService;
@Resource
private IDcRoadSectionService roadSectionService;
@ -965,11 +963,9 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
// System.out.printf("最大距离为: %.2f 米%n", distanceM);
jsonObject.put("max_jam_dist", distanceM);//最大拥堵距离
double endMake = startPileNo +Double.parseDouble(String.format("%.3f", distanceM));
String endmark = formatNumber(endMake);
jsonObject.put("endMark", endmark);//结束桩号
String[] split = string1.split(",");
double firstLon = Double.parseDouble(split[UniversalEnum.ZERO.getNumber()]);
double firstLat = Double.parseDouble(split[UniversalEnum.ONE.getNumber()]);
@ -984,14 +980,9 @@ public class DcTrafficStatisticsServiceImpl implements IDcTrafficStatisticsServi
double distanceMeters = distanceKm * UniversalEnum.THOUSAND.getNumber(); // 将距离转换为米
//System.out.printf("两点之间的距离为: %.2f 米%n", distanceMeters);
jsonObject.put("jam_dist", distanceMeters);//当前拥堵距离
}
}
//插入 数据库 road_condition_information
DcRoadConditionInformation dcRoadConditionInformation =new DcRoadConditionInformation();
dcRoadConditionInformation.setOtherConfig(jsonArray.toJSONString());
dcRoadConditionInformationService.insertDcRoadConditionInformation(dcRoadConditionInformation);
return jsonArray;
}

4
zc-business/src/main/resources/mapper/business/DcRoadConditionInformationMapper.xml

@ -23,6 +23,10 @@
ORDER BY create_time DESC
</select>
<select id="selectlistTime" parameterType="DcRoadConditionInformation" resultMap="DcRoadConditionInformationResult">
select id, create_time from dc_road_condition_information
ORDER BY create_time DESC
</select>
<select id="selectDcRoadConditionInformationById" parameterType="Long" resultMap="DcRoadConditionInformationResult">
<include refid="selectDcRoadConditionInformationVo"/>

Loading…
Cancel
Save