123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- 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);
- }
- }
|