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.core.toolkit.StringUtils;
|
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.ArrayList;
|
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.select(" id,is_ok");
|
wrapper.lambda()
|
.eq(InspectionTask::getIsOk,1);
|
QueryWrapper<InspectionTask> wrapper1 = new QueryWrapper<>();
|
wrapper1.select(" id,is_ok");
|
List<InspectionTask> inspectionTasks = inspectionTaskService.list(wrapper1);
|
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.select(" id,task_id,task_date,is_ok,content");
|
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.select(" id,title,start_date");
|
wrapper.lambda()
|
.between(StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate),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 11");
|
List<WarnLog> list = warnService.list(wrapper);
|
return R.ok(list);
|
}
|
|
/**
|
* 地图数据
|
* @param
|
* @return
|
*/
|
@GetMapping("/getMapData")
|
public R getMapData(){
|
List<Map<String,Object>> list = new ArrayList<>();
|
Map<String,Object> map1 = new HashMap<>();
|
map1.put("lon","118.14360");
|
map1.put("lat","39.67260");
|
map1.put("address","河北省唐山市路北区长宁道603号");
|
map1.put("health",0);
|
|
Map<String,Object> map2 = new HashMap<>();
|
map2.put("lon","118.26958");
|
map2.put("lat","39.68333");
|
map2.put("address","河北省唐山市开平区东西大街199号");
|
map2.put("health",0);
|
|
Map<String,Object> map3 = new HashMap<>();
|
map3.put("lon","118.15782");
|
map3.put("lat","39.63102");
|
map3.put("address","河北省唐山市路南区新华西道76号4层");
|
map3.put("health",0);
|
|
Map<String,Object> map4 = new HashMap<>();
|
map4.put("lon","118.09289");
|
map4.put("lat","39.58163");
|
map4.put("address","河北省唐山市丰南区正苑大街7号");
|
map4.put("health",0);
|
|
Map<String,Object> map5 = new HashMap<>();
|
map5.put("lon","118.14114");
|
map5.put("lat","39.83368");
|
map5.put("address","河北省唐山市丰润区曹雪芹大街17号");
|
map5.put("health",0);
|
|
Map<String,Object> map6 = new HashMap<>();
|
map6.put("lon","118.45153");
|
map6.put("lat","39.74049");
|
map6.put("address","河北省唐山市古冶区永盛路");
|
map6.put("health",0);
|
list.add(map1);
|
list.add(map2);
|
list.add(map3);
|
list.add(map4);
|
list.add(map5);
|
list.add(map6);
|
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[] split = name.split("\\.");
|
if(!split[1].equals("xlsx")) {
|
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("成功");
|
}
|
}
|
}
|