|
@@ -0,0 +1,141 @@
|
|
|
+package com.welampiot.controller;
|
|
|
+
|
|
|
+import com.welampiot.common.BaseResult;
|
|
|
+import com.welampiot.common.InterfaceResultEnum;
|
|
|
+import com.welampiot.dto.TrafficLightDTO;
|
|
|
+import com.welampiot.dto.TrafficLightLogDTO;
|
|
|
+import com.welampiot.service.TrafficLightLogService;
|
|
|
+import com.welampiot.service.TrafficLightService;
|
|
|
+import com.welampiot.utils.ToolUtils;
|
|
|
+import com.welampiot.vo.TrafficLightLogVO;
|
|
|
+import com.welampiot.vo.TrafficLightVO;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.web.bind.annotation.CrossOrigin;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@RestController
|
|
|
+@CrossOrigin
|
|
|
+@RequestMapping("/trafficLight")
|
|
|
+public class TrafficLightController extends BaseController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TrafficLightService trafficLightService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TrafficLightLogService trafficLightLogService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ToolUtils toolUtils;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取列表
|
|
|
+ */
|
|
|
+ @RequestMapping("/getList")
|
|
|
+ private BaseResult<?> getList(TrafficLightVO trafficLightVO) {
|
|
|
+ Integer version = trafficLightVO.getVersion();
|
|
|
+ trafficLightVO.setPageAndCount(trafficLightVO.getPage(), trafficLightVO.getCount());
|
|
|
+ trafficLightVO.setSectionList(getSectionList(trafficLightVO.getUsername()));
|
|
|
+ List<TrafficLightDTO> list = trafficLightService.getTrafficLightListByTrafficLightVO(trafficLightVO);
|
|
|
+ Integer total = trafficLightService.getTrafficLightTotalByTrafficLightVO(trafficLightVO);
|
|
|
+ Integer onlineTotal = trafficLightService.getTrafficLightOnlineTotalByTrafficLightVO(trafficLightVO);
|
|
|
+ TrafficLightVO trafficLightVO1 = new TrafficLightVO();
|
|
|
+ trafficLightVO1.setTotal(total);
|
|
|
+ trafficLightVO1.setOnline(onlineTotal);
|
|
|
+ trafficLightVO1.setList(list);
|
|
|
+ return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS, version, trafficLightVO1);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加编辑交通灯设备
|
|
|
+ */
|
|
|
+ @RequestMapping("/save")
|
|
|
+ private BaseResult<?> save(TrafficLightVO trafficLightVO) {
|
|
|
+ return trafficLightService.saveTrafficLightByVO(trafficLightVO);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除设备
|
|
|
+ */
|
|
|
+ @RequestMapping("/del")
|
|
|
+ private BaseResult<?> del(TrafficLightVO trafficLightVO) {
|
|
|
+ if (trafficLightVO.getId() == null || trafficLightVO.getId() == 0)
|
|
|
+ return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR, trafficLightVO.getVersion());
|
|
|
+ trafficLightService.delTrafficLightDataById(trafficLightVO.getId());
|
|
|
+ return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS, trafficLightVO.getVersion());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 设备历史数据
|
|
|
+ */
|
|
|
+ @RequestMapping("/history")
|
|
|
+ private BaseResult<?> history(TrafficLightLogVO trafficLightLogVO) {
|
|
|
+ BaseResult<?> baseResult = checkData(trafficLightLogVO);
|
|
|
+ if (baseResult != null) return baseResult;
|
|
|
+
|
|
|
+ List<TrafficLightLogDTO> list = trafficLightLogService.getTrafficLightLogListByLogVO(trafficLightLogVO);
|
|
|
+ Integer total = trafficLightLogService.getTrafficLightLogTotalByLogVO(trafficLightLogVO);
|
|
|
+ TrafficLightLogVO trafficLightLogVO1 = new TrafficLightLogVO();
|
|
|
+ trafficLightLogVO1.setTotal(total);
|
|
|
+ trafficLightLogVO1.setList(list);
|
|
|
+ return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS, trafficLightLogVO.getVersion(), trafficLightLogVO1);
|
|
|
+ }
|
|
|
+
|
|
|
+ private BaseResult<?> checkData(TrafficLightLogVO trafficLightLogVO) {
|
|
|
+ Integer version = trafficLightLogVO.getVersion();
|
|
|
+ trafficLightLogVO.setPageAndCount(trafficLightLogVO.getPage(), trafficLightLogVO.getCount());
|
|
|
+
|
|
|
+ if (trafficLightLogVO.getId() == null || trafficLightLogVO.getId() == 0) {
|
|
|
+ return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR, version);
|
|
|
+ }
|
|
|
+
|
|
|
+ String startDate = trafficLightLogVO.getMinDate();
|
|
|
+ String endDate = trafficLightLogVO.getMaxDate();
|
|
|
+ if (StringUtils.isBlank(startDate) || StringUtils.isBlank(endDate)) {
|
|
|
+ return toolUtils.response(InterfaceResultEnum.LACK_DATE_ERROR, version);
|
|
|
+ }
|
|
|
+ long startTimeStamp = ToolUtils.getTimeStamp(startDate + " 00:00:00");
|
|
|
+ long endTimeStamp = ToolUtils.getTimeStamp(endDate + " 23:59:59");
|
|
|
+ if (startTimeStamp > endTimeStamp) {
|
|
|
+ return toolUtils.response(InterfaceResultEnum.TIME_EXCEPTION_ERROR, version);
|
|
|
+ }
|
|
|
+ // 日期时间间隔不能大于30天
|
|
|
+ if (endTimeStamp - startTimeStamp > 29 * 24 * 60 * 60 * 1000L) {
|
|
|
+ return toolUtils.response(InterfaceResultEnum.LACK_DATE_RANGE_ERROR, version);
|
|
|
+ }
|
|
|
+ trafficLightLogVO.setMinTime(startDate + " 00:00:00");
|
|
|
+ trafficLightLogVO.setMaxTime(endDate + " 23:59:59");
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 设置告警推送人员
|
|
|
+ */
|
|
|
+ @RequestMapping("/setAlarmUser")
|
|
|
+ private BaseResult<?> setAlarmUser(TrafficLightVO trafficLightVO) {
|
|
|
+ Integer version = trafficLightVO.getVersion();
|
|
|
+ if (trafficLightVO.getId() == null || trafficLightVO.getId() == 0)
|
|
|
+ return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR, version);
|
|
|
+ if (trafficLightVO.getTimeOn() == null || trafficLightVO.getTimeOn().isEmpty())
|
|
|
+ return toolUtils.response(InterfaceResultEnum.LACK_TRAFFIC_TIME_ON, version);
|
|
|
+ if (trafficLightVO.getTimeOff() == null || trafficLightVO.getTimeOff().isEmpty())
|
|
|
+ return toolUtils.response(InterfaceResultEnum.LACK_TRAFFIC_TIME_OFF, version);
|
|
|
+ if (trafficLightVO.getPatrolTime() == null)
|
|
|
+ return toolUtils.response(InterfaceResultEnum.LACK_TRAFFIC_PATROL_TIME, version);
|
|
|
+ if (trafficLightVO.getWorkId() == null || trafficLightVO.getWorkId().isEmpty())
|
|
|
+ return toolUtils.response(InterfaceResultEnum.LACK_WORKER, version);
|
|
|
+ if (trafficLightVO.getTimeOn().compareTo(trafficLightVO.getTimeOff()) >= 0)
|
|
|
+ return toolUtils.response(InterfaceResultEnum.TIME_EXCEPTION_ERROR, version);
|
|
|
+
|
|
|
+ TrafficLightDTO trafficLightDTO = new TrafficLightDTO();
|
|
|
+ BeanUtils.copyProperties(trafficLightVO, trafficLightDTO);
|
|
|
+ trafficLightService.updateTrafficLightAlarmUser(trafficLightDTO);
|
|
|
+
|
|
|
+ return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS, version);
|
|
|
+ }
|
|
|
+}
|