流量统计接口开发
This commit is contained in:
@@ -115,17 +115,6 @@ public class OperationContrController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getMonthFlow")
|
||||
@ApiOperation("获取每月流量")
|
||||
@ApiImplicitParam(name = "deviceInfoParam", value = "实体", required = true)
|
||||
public HttpResult<List<LineFlowMealDetailVO>> getMonthFlow (@RequestBody PqsParam deviceInfoParam){
|
||||
String methodDescribe = getMethodDescribe("getMonthFlow");
|
||||
LogUtil.njcnDebug(log, "{},参数集合:{}", methodDescribe, deviceInfoParam);
|
||||
List<LineFlowMealDetailVO> result = lineService.getMonthFlow(deviceInfoParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getLineStaticsView")
|
||||
|
||||
@@ -9,12 +9,17 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.common.utils.LogUtil;
|
||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.device.pq.pojo.param.PqsParam;
|
||||
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
|
||||
import com.njcn.device.pq.pojo.param.TerminalParam;
|
||||
import com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO;
|
||||
import com.njcn.device.pq.pojo.vo.TerminalDaliyFlowVO;
|
||||
import com.njcn.device.pq.pojo.vo.TerminalMaintainVO;
|
||||
import com.njcn.device.pq.service.TerminalMaintainService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -63,6 +68,22 @@ public class TerminalMaintainController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, resList, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/getMonthFlow")
|
||||
@ApiOperation("获取每月流量")
|
||||
@ApiImplicitParam(name = "deviceInfoParam", value = "实体", required = true)
|
||||
public HttpResult<List<LineFlowMealDetailVO>> getMonthFlow (@RequestBody PqsParam deviceInfoParam){
|
||||
String methodDescribe = getMethodDescribe("getMonthFlow");
|
||||
LogUtil.njcnDebug(log, "{},参数集合:{}", methodDescribe, deviceInfoParam);
|
||||
if (deviceInfoParam.getDeptIndex() == null) {
|
||||
DeviceInfoParam param = new DeviceInfoParam(RequestUtil.getDeptIndex(),null);
|
||||
deviceInfoParam.setDeptIndex(param.getDeptIndex());
|
||||
}
|
||||
List<LineFlowMealDetailVO> result = terminalMaintainService.getMonthFlow(deviceInfoParam);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 终端状态管理,流量管理,流量策略管理主界面
|
||||
*
|
||||
|
||||
@@ -422,6 +422,4 @@ public interface LineMapper extends BaseMapper<Line> {
|
||||
|
||||
Page<LineFlowMealDetailVO> getNewDeviceRunStatistics (Page<LineFlowMealDetailVO> page,@Param("devs") List<String> list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
||||
Page<LineFlowMealDetailVO> getNewDeviceFlowStatistics (Page<LineFlowMealDetailVO> page,@Param("devs") List<String> list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
||||
|
||||
List<LineFlowMealDetailVO> getMonthFlow (@Param("devId") String devId,@Param("startTime") DateTime beginOfDay, @Param("endTime") DateTime endOfDay);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
package com.njcn.device.pq.mapper;
|
||||
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO;
|
||||
import com.njcn.device.pq.pojo.vo.TerminalDaliyFlowVO;
|
||||
import com.njcn.device.pq.pojo.vo.TerminalMaintainVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -77,4 +79,6 @@ public interface TerminalMaintainMapper {
|
||||
|
||||
|
||||
TerminalDaliyFlowVO getFlowManageDetail(@Param("devId") String deviceId);
|
||||
|
||||
List<LineFlowMealDetailVO> getMonthFlow (@Param("devs") List<String> list, @Param("startTime") DateTime startTime, @Param("endTime") DateTime endTime);
|
||||
}
|
||||
|
||||
@@ -1053,23 +1053,5 @@
|
||||
and d.com_flag = #{comFlag}
|
||||
and a.state = 1
|
||||
</select>
|
||||
<select id="getMonthFlow" resultType="com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO">
|
||||
select t.*,
|
||||
(t.statisValue)/(t.flowMeal) flowProportion
|
||||
from (
|
||||
SELECT
|
||||
m.Dev_Id,
|
||||
ifnull(d.flow, (select flow from cld_flow_meal where type = 0 and flag = 1)) + ifnull(d1.flow, 0) flowMeal,
|
||||
ifnull(m.Actual_Value,0)/1024/1024 statisValue
|
||||
FROM cld_month_flow m
|
||||
LEFT JOIN cld_dev_meal c ON m.Dev_Id = c.line_id
|
||||
LEFT JOIN cld_flow_meal d ON c.Base_Meal_Id = d.id
|
||||
LEFT JOIN cld_flow_meal d1 ON c.Ream_Meal_Id = d1.id
|
||||
where m.Dev_Id = #{devId}
|
||||
and
|
||||
m.Time_Id between #{startTime} and #{endTime}
|
||||
) t
|
||||
ORDER BY flowProportion DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -135,5 +135,40 @@ FROM
|
||||
WHERE c.Line_Id = #{devId} AND d.State =1 AND d1.State =1
|
||||
</select>
|
||||
|
||||
<select id="getMonthFlow" resultType="com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO">
|
||||
select t.*,
|
||||
(t.statisValue)/t.flowMeal flowProportion
|
||||
from (
|
||||
SELECT
|
||||
a.id id,
|
||||
a.name deviceName,
|
||||
a.level,
|
||||
sub.name substation,
|
||||
gd.name electricPowerCompany,
|
||||
b.IP DeviceIP,
|
||||
b.id deviceId,
|
||||
ifnull(d.flow, (select flow from cld_flow_meal where type = 0 and flag = 1)) + ifnull(d1.flow, 0) flowMeal,
|
||||
-- ifnull(m.Actual_Value/1024/1024,0) statisValue
|
||||
ifnull(convert(m.Actual_Value/1024/1024,decimal(7,2)),0) statisValue
|
||||
FROM pq_line a
|
||||
INNER JOIN pq_line sub ON sub.id = a.pid
|
||||
INNER JOIN pq_line gd ON gd.id = sub.pid
|
||||
INNER JOIN pq_device b ON a.id = b.id
|
||||
LEFT JOIN cld_month_flow m ON b.id = m.Dev_Id
|
||||
LEFT JOIN cld_dev_meal c ON b.id = c.line_id
|
||||
LEFT JOIN cld_flow_meal d ON c.Base_Meal_Id = d.id
|
||||
LEFT JOIN cld_flow_meal d1 ON c.Ream_Meal_Id = d1.id
|
||||
where a.id in
|
||||
<foreach item="item" collection="devs" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
and
|
||||
a.Create_Time between #{startTime} and #{endTime}
|
||||
and
|
||||
b.Run_Flag != 2
|
||||
) t
|
||||
ORDER BY flowProportion DESC
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -208,6 +208,4 @@ public interface LineService {
|
||||
Page<TopMsgPO> dailyDeviceAbnormalStatistics(PqsParam param);
|
||||
|
||||
List<TopMsgPO> dailyDeviceAbnormal(DeviceInfoParam.BusinessParam conditionBusinessParam);
|
||||
|
||||
List<LineFlowMealDetailVO> getMonthFlow (PqsParam deviceInfoParam);
|
||||
}
|
||||
|
||||
@@ -2,8 +2,10 @@ package com.njcn.device.pq.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.device.pq.pojo.param.PqsParam;
|
||||
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
|
||||
import com.njcn.device.pq.pojo.param.TerminalParam;
|
||||
import com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO;
|
||||
import com.njcn.device.pq.pojo.vo.TerminalDaliyFlowVO;
|
||||
import com.njcn.device.pq.pojo.vo.TerminalMaintainVO;
|
||||
|
||||
@@ -55,4 +57,6 @@ public interface TerminalMaintainService {
|
||||
|
||||
|
||||
List<TerminalDaliyFlowVO> getFlowManageDetail(TerminalMainQueryParam param);
|
||||
|
||||
List<LineFlowMealDetailVO> getMonthFlow(PqsParam deviceInfoParam);
|
||||
}
|
||||
|
||||
@@ -403,12 +403,6 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
|
||||
return topMsgDetails;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LineFlowMealDetailVO> getMonthFlow(PqsParam deviceInfoParam) {
|
||||
List<LineFlowMealDetailVO> list = lineMapper.getMonthFlow(deviceInfoParam.getDevId(),DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())),DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())));
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LineFlowMealDetailVO> getDeviceRunStatistics(DeviceInfoParam.BusinessParam deviceInfoParam) {
|
||||
ArrayList<LineFlowMealDetailVO> lineFlowMealDetailList = new ArrayList<>();
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.njcn.device.pq.enums.DeviceResponseEnum;
|
||||
import com.njcn.device.pq.mapper.TerminalMaintainMapper;
|
||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
|
||||
import com.njcn.device.pq.pojo.param.PqsParam;
|
||||
import com.njcn.device.pq.pojo.param.TerminalMainQueryParam;
|
||||
import com.njcn.device.pq.pojo.param.TerminalParam;
|
||||
import com.njcn.device.pq.pojo.po.Communicate;
|
||||
@@ -18,6 +19,7 @@ import com.njcn.device.pq.pojo.po.DevMeal;
|
||||
import com.njcn.device.pq.pojo.po.DevStrategy;
|
||||
import com.njcn.device.pq.pojo.po.Device;
|
||||
import com.njcn.device.pq.pojo.po.influxdb.DeviceDayFlow;
|
||||
import com.njcn.device.pq.pojo.vo.LineFlowMealDetailVO;
|
||||
import com.njcn.device.pq.pojo.vo.TerminalDaliyFlowVO;
|
||||
import com.njcn.device.pq.pojo.vo.TerminalMaintainVO;
|
||||
import com.njcn.device.pq.service.IDevMealService;
|
||||
@@ -182,6 +184,15 @@ public class TerminalMaintainServiceImpl implements TerminalMaintainService {
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<LineFlowMealDetailVO> getMonthFlow(PqsParam deviceInfoParam) {
|
||||
List<String> deviceIndexes = new ArrayList<>();
|
||||
List<GeneralDeviceDTO> deviceInfoList = generalDeviceService.getDeviceInfo(deviceInfoParam, null, Stream.of(1).collect(Collectors.toList()));
|
||||
deviceInfoList.stream().map(GeneralDeviceDTO::getDeviceIndexes).forEach(deviceIndexes::addAll);
|
||||
List<LineFlowMealDetailVO> list = terminalMaintainMapper.getMonthFlow(deviceIndexes,DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())),DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())));
|
||||
return list;
|
||||
}
|
||||
|
||||
private List<DeviceDayFlow> getFlowManageDetailFromInfluxDB (TerminalMainQueryParam param) {
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime()))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime()))).append("' and ");
|
||||
|
||||
Reference in New Issue
Block a user