package com.boying.controller;
|
|
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.http.HttpRequest;
|
import cn.hutool.json.JSONUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.api.R;
|
import com.boying.entity.*;
|
import com.boying.service.*;
|
import com.boying.util.ExcelUtils;
|
import com.boying.util.SnmpUtil;
|
import com.google.gson.Gson;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @author kdq
|
* @version 1.0.0
|
* @ClassName ApiController.java
|
* @Description TODO
|
* @createTime 2023年06月16日 09:44:00
|
*/
|
@RestController
|
@RequestMapping("/api")
|
@RequiredArgsConstructor
|
public class ApiController {
|
@Autowired
|
private SystemInfoService systemInfoService;
|
@Autowired
|
private SnmpInfoService snmpInfoService;
|
@Autowired
|
private InspectionTaskService inspectionTaskService;
|
@Autowired
|
private TaskInfoService taskInfoService;
|
@Autowired
|
private DongHuanZhuangTaiService dongHuanZhuangTaiService;
|
@Autowired
|
private DongHuanBaoJingService dongHuanBaoJingService;
|
@Autowired
|
private WarnService warnService;
|
@Value("${donghuan.ip}")
|
private String ip;
|
@Value("${donghuan.loginUrl}")
|
private String loginUrl;
|
@Value("${donghuan.deviceClassUrl}")
|
private String deviceClassUrl;
|
@Value("${donghuan.intelligentUrl}")
|
private String intelligentUrl;
|
@Value("${donghuan.findDevice}")
|
private String findDevice;
|
@Value("${donghuan.findDeviceVar}")
|
private String findDeviceVar;
|
@Value("${donghuan.findControlByDeviceId}")
|
private String findControlByDeviceId;
|
@Value("${donghuan.control}")
|
private String control;
|
@Value("${donghuan.findValueByDeviceId}")
|
private String findValueByDeviceId;
|
@Value("${donghuan.findValueByIntelligentId}")
|
private String findValueByIntelligentId;
|
@Value("${donghuan.findValueByStationId}")
|
private String findValueByStationId;
|
@Value("${donghuan.meterDatas}")
|
private String meterDatas;
|
@Value("${donghuan.varDatas}")
|
private String varDatas;
|
@Value("${donghuan.alarm}")
|
private String alarm;
|
|
private String token;
|
|
@GetMapping("/getHost")
|
public R getServer(){
|
Map<String,Object> map = new HashMap<>();
|
try {
|
QueryWrapper<SystemInfo> wrapper = new QueryWrapper<>();
|
wrapper.select(" id,host_name,state");
|
wrapper.lambda()
|
.eq(SystemInfo::getState,1);
|
QueryWrapper<SystemInfo> wrapper1 = new QueryWrapper<>();
|
wrapper1.select(" id,host_name,state");
|
List<SystemInfo> systemInfos = systemInfoService.list(wrapper1);
|
List<SystemInfo> systemInfos2 = systemInfoService.list(wrapper);
|
map.put("count",systemInfos.size());
|
map.put("normalCount",systemInfos2.size());
|
return R.ok(map);
|
} catch (Exception e) {
|
return R.failed("出错");
|
}
|
}
|
|
@GetMapping("/getSnmp")
|
public R getSnmp(){
|
Map<String,Object> map = new HashMap<>();
|
try {
|
QueryWrapper<SnmpInfo> wrapper = new QueryWrapper<>();
|
wrapper.select(" id,host_name,state");
|
wrapper.lambda()
|
.eq(SnmpInfo::getState,1);
|
QueryWrapper<SnmpInfo> wrapper1 = new QueryWrapper<>();
|
wrapper1.select(" id,host_name,state");
|
List<SnmpInfo> snmpInfos = snmpInfoService.list(wrapper1);
|
List<SnmpInfo> snmpInfos2 = snmpInfoService.list(wrapper);
|
map.put("count",snmpInfos.size());
|
map.put("normalCount",snmpInfos2.size());
|
return R.ok(map);
|
} catch (Exception e) {
|
return R.failed("出错");
|
}
|
}
|
|
@GetMapping("/getTask")
|
public R getTask(){
|
Map<String,Object> map = new HashMap<>();
|
try {
|
QueryWrapper<InspectionTask> wrapper = new QueryWrapper<>();
|
wrapper.lambda()
|
.eq(InspectionTask::getIsOk,1);
|
List<InspectionTask> inspectionTasks = inspectionTaskService.list(null);
|
List<InspectionTask> inspectionTasks2 = inspectionTaskService.list(wrapper);
|
map.put("count",inspectionTasks.size());
|
map.put("normalCount",inspectionTasks2.size());
|
return R.ok(map);
|
} catch (Exception e) {
|
return R.failed("出错");
|
}
|
}
|
|
@GetMapping("/getTaskInfoById")
|
public R getTaskInfoById(String id){
|
try {
|
QueryWrapper<TaskInfo> wrapper = new QueryWrapper<>();
|
wrapper.lambda()
|
.eq(TaskInfo::getTaskId,id);
|
List<TaskInfo> infos = taskInfoService.list(wrapper);
|
return R.ok(infos);
|
} catch (Exception e) {
|
return R.failed("出错");
|
}
|
}
|
|
@GetMapping("/getTaskByDate")
|
public R getTaskByDate(String startDate,String endDate){
|
try {
|
QueryWrapper<InspectionTask> wrapper = new QueryWrapper<>();
|
wrapper.lambda()
|
.between(InspectionTask::getStartDate,startDate,endDate);
|
return R.ok(inspectionTaskService.list(wrapper));
|
} catch (Exception e) {
|
return R.failed("出错");
|
}
|
}
|
@GetMapping("/getUps")
|
public R getUps(){
|
Map<String,Object> map = new HashMap<>();
|
try {
|
map.put("ups",4);
|
map.put("ups2",4);
|
map.put("dianchi",6);
|
map.put("dianchi2",6);
|
return R.ok(map);
|
} catch (Exception e) {
|
return R.failed("出错");
|
}
|
}
|
|
@GetMapping("/getKongtiao")
|
public R getKongtiao(){
|
Map<String,Object> map = new HashMap<>();
|
try {
|
map.put("upsKongtiao",2);
|
map.put("upsKongtiao2",2);
|
map.put("zhongxinKongtiao",4);
|
map.put("zhongxinKongtiao2",4);
|
return R.ok(map);
|
}catch (Exception e){
|
return R.failed("出错");
|
}
|
}
|
|
/**
|
* 根据类型查询报警日志
|
* @param type
|
* @return
|
*/
|
@GetMapping("/getWarn")
|
public R getWarn(Integer type){
|
QueryWrapper<WarnLog> wrapper = new QueryWrapper<>();
|
wrapper.lambda().eq(type != null,WarnLog::getType,type)
|
.orderByDesc(WarnLog::getWarnDate)
|
.last( " limit 15");
|
List<WarnLog> list = warnService.list(wrapper);
|
return R.ok(list);
|
}
|
|
@GetMapping("/test")
|
public R test(){
|
SnmpUtil.getDonghuanInfo("1.3.6.1.4.1.32701.4.1.7.1.3.17");
|
return R.ok("11111");
|
}
|
|
@RequestMapping("/upload")
|
public R upload(@RequestParam("file") MultipartFile file,@RequestParam("type") Integer type)throws Exception{
|
String name = file.getOriginalFilename();
|
String s = name.split(".")[1];
|
if(!s.equals(".xls")) {
|
throw new Exception("文件格式错误");
|
}
|
if(type == 0){
|
// 获取Excel中的数据
|
List<DongHuanZhuangTai> detaileds = ExcelUtils.excelToShopIdList(file.getInputStream(),type);
|
// 向数据库遍历添加数据库
|
QueryWrapper<DongHuanZhuangTai> wrapper = new QueryWrapper<>();
|
wrapper.lambda()
|
.eq(DongHuanZhuangTai::getType,type);
|
dongHuanZhuangTaiService.remove(wrapper);
|
dongHuanZhuangTaiService.saveBatch(detaileds);
|
return R.ok("成功");
|
}else {
|
List<DongHuanBaoJing> dongHuanBaoJings = ExcelUtils.excelToShopIdList2(file.getInputStream(), type);
|
// 向数据库遍历添加数据库
|
QueryWrapper<DongHuanBaoJing> wrapper = new QueryWrapper<>();
|
wrapper.lambda()
|
.eq(DongHuanBaoJing::getType,type);
|
dongHuanBaoJingService.remove(wrapper);
|
dongHuanBaoJingService.saveBatch(dongHuanBaoJings);
|
return R.ok("成功");
|
}
|
}
|
}
|