Commit a29ac058 authored by wangjinjing's avatar wangjinjing

浅黄发布版本

parent f03f4acb
package com.hzjt.config; package com.hzjt.config;
import cn.hutool.json.JSONUtil;
import com.hzjt.domain.*; import com.hzjt.domain.*;
import com.hzjt.handler.FileTransferManager;
import com.hzjt.handler.WebSocket; import com.hzjt.handler.WebSocket;
import com.hzjt.mapper.SbtdspsrMapper;
import com.hzjt.mapper.TraffAlarmRecordMapper;
import com.hzjt.service.FtpService;
import com.hzjt.service.TraffFlowService; import com.hzjt.service.TraffFlowService;
import com.hzjt.service.TraffalarmrecordService; import com.hzjt.service.TraffalarmrecordService;
import com.hzjt.util.DateUtils; import com.hzjt.util.DateUtils;
import com.hzjt.util.JsonUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -20,13 +26,16 @@ import org.springframework.web.client.RestTemplate; ...@@ -20,13 +26,16 @@ import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.net.URI; import java.net.URI;
import java.util.Calendar; import java.util.Calendar;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@Slf4j @Slf4j
//@Configuration @Configuration
@EnableScheduling @EnableScheduling
public class ScheduleTaskConfig { public class ScheduleTaskConfig {
@Autowired @Autowired
...@@ -36,40 +45,41 @@ public class ScheduleTaskConfig { ...@@ -36,40 +45,41 @@ public class ScheduleTaskConfig {
TraffalarmrecordService traffalarmrecordService; TraffalarmrecordService traffalarmrecordService;
@Autowired @Autowired
private RestTemplate restTemplate; private RestTemplate restTemplate;
@Autowired
FtpService ftpService;
@Resource
TraffAlarmRecordMapper traffAlarmRecordMapper;
// @Scheduled(cron = "0 */1 * * * ?")//每天凌晨2点执行
private void statis() {
// //取帧
// HttpHeaders headers = new HttpHeaders();
// headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
// RTSPFrame result = restTemplate.getForObject(rtspformUrl, RTSPFrame.class);
// if(result.getRet()==0)
// {
// //获取成功
//
// result.getUrl();
//
//
//
// }
//查询监控是否存在
//查询rtsp 多线程进行图片抽取,并记录表中,ftp 上传到服务器,路径返回表中
@Scheduled(cron = "0 0/50 * * * ?")//间隔50分钟
private void statis() {
// 查询30分钟之前的所有没有上传成功的事件进行二次上传
List<Traffalarmrecord> list = traffalarmrecordService.selectFailRecord();
if(list.size()>0) {
Ftp ftp = this.ftpService.reloadFtp();
for (Traffalarmrecord traffAlarmRecord : list) {
String basepath = traffAlarmRecord.getFdid() + (traffAlarmRecord.getChannelid() < 10 ? "0" + traffAlarmRecord.getChannelid() : traffAlarmRecord.getChannelid()) + "/" + DateUtils.formatCurrDayNoSign();
Map<String, Object> transferRecordMap = new HashMap();
FileTransferManager.fetchUrlsFromRecord(traffAlarmRecord, transferRecordMap);
FileTransferManager fileTransferManager = new FileTransferManager();
try {
fileTransferManager.transferFile(transferRecordMap, ftp, basepath, this.traffAlarmRecordMapper);
} catch (Exception e) {
log.error("alarmevent error :{}", e.toString());
}
traffAlarmRecord.setPushdesc("success");
traffAlarmRecord.setPushstatus(0);
this.traffAlarmRecordMapper.updatePushEvent(traffAlarmRecord);
}
}
} }
// @Scheduled(cron = "0 */1 * * * ?")//每一个月执行一次 // @Scheduled(cron = "0 */1 * * * ?")//每一个月执行一次
private void reconnectWebsocket() { private void reconnectWebsocket() {
final Calendar c = Calendar.getInstance(); final Calendar c = Calendar.getInstance();
......
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.hzjt.controller; package com.hzjt.controller;
...@@ -10,7 +14,6 @@ import com.hzjt.domain.ResponseEnum; ...@@ -10,7 +14,6 @@ import com.hzjt.domain.ResponseEnum;
import com.hzjt.domain.Result; import com.hzjt.domain.Result;
import com.hzjt.domain.Sbtdspsr; import com.hzjt.domain.Sbtdspsr;
import com.hzjt.domain.Traffalarmrecord; import com.hzjt.domain.Traffalarmrecord;
import com.hzjt.domain.TransferResult;
import com.hzjt.handler.FileTransferManager; import com.hzjt.handler.FileTransferManager;
import com.hzjt.handler.WebSocket; import com.hzjt.handler.WebSocket;
import com.hzjt.mapper.SbtdspsrMapper; import com.hzjt.mapper.SbtdspsrMapper;
...@@ -27,6 +30,7 @@ import java.util.HashMap; ...@@ -27,6 +30,7 @@ import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.annotation.Resource;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -35,8 +39,6 @@ import org.springframework.web.bind.annotation.PostMapping; ...@@ -35,8 +39,6 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController @RestController
public class AlarmController { public class AlarmController {
private static final Logger log = LoggerFactory.getLogger(TraffController.class); private static final Logger log = LoggerFactory.getLogger(TraffController.class);
...@@ -51,8 +53,7 @@ public class AlarmController { ...@@ -51,8 +53,7 @@ public class AlarmController {
@Resource @Resource
SbtdspsrMapper sbtdspsrMapper; SbtdspsrMapper sbtdspsrMapper;
public AlarmController( ) { public AlarmController() {
} }
@PostMapping({"/sendAlarmEvents"}) @PostMapping({"/sendAlarmEvents"})
...@@ -110,34 +111,28 @@ public class AlarmController { ...@@ -110,34 +111,28 @@ public class AlarmController {
map.put("type", "alarm"); map.put("type", "alarm");
traffAlarmRecord_init.setEventid("66211" + UUIDUtils.createuuid()); traffAlarmRecord_init.setEventid("66211" + UUIDUtils.createuuid());
this.traffAlarmRecordMapper.inserTraffAlarmRecord(traffAlarmRecord_init); this.traffAlarmRecordMapper.inserTraffAlarmRecord(traffAlarmRecord_init);
map.put("data", alarm); map.put("data", alarm);
map.put("recordid", traffAlarmRecord_init.getRecordid()); map.put("recordid", traffAlarmRecord_init.getRecordid());
this.webSocket.GroupSending(JsonUtil.beanToString(map)); this.webSocket.GroupSending(JsonUtil.beanToString(map));
try { try {
Traffalarmrecord traffAlarmRecord = JSONUtil.toBean(JsonUtil.beanToString(traffAlarmRecord_init), Traffalarmrecord.class); Traffalarmrecord traffAlarmRecord = (Traffalarmrecord)JSONUtil.toBean(JsonUtil.beanToString(traffAlarmRecord_init), Traffalarmrecord.class);
String basepath = traffAlarmRecord.getFdid() + (traffAlarmRecord.getChannelid() < 10 ? "0" + traffAlarmRecord.getChannelid() : traffAlarmRecord.getChannelid()) + "/" + DateUtils.formatCurrDayNoSign(); String basepath = traffAlarmRecord.getFdid() + (traffAlarmRecord.getChannelid() < 10 ? "0" + traffAlarmRecord.getChannelid() : traffAlarmRecord.getChannelid()) + "/" + DateUtils.formatCurrDayNoSign();
Map<String, Object> transferRecordMap = new HashMap(); Map<String, Object> transferRecordMap = new HashMap();
FileTransferManager.fetchUrlsFromRecord(traffAlarmRecord, transferRecordMap); FileTransferManager.fetchUrlsFromRecord(traffAlarmRecord, transferRecordMap);
Ftp ftp = this.ftpService.reloadFtp(); Ftp ftp = this.ftpService.reloadFtp();
List<TransferResult> results = FileTransferManager.transferFileIncludVideo(transferRecordMap, ftp, basepath); FileTransferManager fileTransferManager = new FileTransferManager();
FileTransferManager fileTransferManager=new FileTransferManager(); fileTransferManager.transferFileIncludVideo(transferRecordMap, ftp, basepath, this.traffAlarmRecordMapper);
fileTransferManager.traffAlarmRecordUrlUpdate(results,traffAlarmRecordMapper);
log.info("traffAlarmRecord=={}",traffAlarmRecord.getRecordid());
// this.traffAlarmRecordMapper.updateTraffAlarmRecordUrl(recordBak);
traffAlarmRecord.setPushdesc("success"); traffAlarmRecord.setPushdesc("success");
traffAlarmRecord.setPushstatus(0); traffAlarmRecord.setPushstatus(0);
this.traffAlarmRecordMapper.updatePushEvent(traffAlarmRecord); this.traffAlarmRecordMapper.updatePushEvent(traffAlarmRecord);
result.setSuccess(true); result.setSuccess(true);
} catch (Exception var18) { } catch (Exception var19) {
result.setSuccess(false); result.setSuccess(false);
log.error("alarmevent error :{}", var18.toString()); log.error("alarmevent error :{}", var19.toString());
} }
return result; return result;
} }
} }
} }
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.hzjt.controller; package com.hzjt.controller;
import com.hzjt.domain.ResultObj; import com.hzjt.domain.ResultObj;
import com.hzjt.domain.Traffalarmrecord;
import com.hzjt.domain.WriteResultObj; import com.hzjt.domain.WriteResultObj;
import com.hzjt.service.EventWriteService; import com.hzjt.service.EventWriteService;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;
@RestController @RestController
public class EventWriteController { public class EventWriteController {
@Autowired @Autowired
private EventWriteService eventWriteService; private EventWriteService eventWriteService;
public EventWriteController() {
}
@PostMapping("/sendEvent") @PostMapping({"/sendEvent"})
public ResultObj sendEvent(Long recordid){ public ResultObj sendEvent(Long recordid) {
return eventWriteService.sendEvent(recordid); return this.eventWriteService.sendEvent(recordid);
} }
@PostMapping("/sendEvents") @PostMapping({"/sendEvents"})
public List<WriteResultObj> sendEvents(@RequestParam("recordid") String recordid){ public List<WriteResultObj> sendEvents(@RequestParam("recordid") String recordid) {
List<Long> longrecorid=new ArrayList<>(); List<Long> longrecorid = new ArrayList();
for(String id:recordid.split(",")) String[] var3 = recordid.split(",");
{ int var4 = var3.length;
for(int var5 = 0; var5 < var4; ++var5) {
String id = var3[var5];
longrecorid.add(Long.valueOf(id)); longrecorid.add(Long.valueOf(id));
} }
return eventWriteService.sendEvents(longrecorid);
return this.eventWriteService.sendEvents(longrecorid);
} }
@GetMapping("/sendEventsByids") @GetMapping({"/sendEventsByids"})
public List<WriteResultObj> sendEventsByids(){ public List<WriteResultObj> sendEventsByids() {
List<Long> recordid=new ArrayList<>(); List<Long> recordid = new ArrayList();
recordid.add(Long.valueOf(93228)); recordid.add(93228L);
recordid.add(Long.valueOf(93834)); recordid.add(93834L);
return eventWriteService.sendEvents(recordid); return this.eventWriteService.sendEvents(recordid);
} }
} }
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.hzjt.controller; package com.hzjt.controller;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
/**
* 路由接口控制器
*
* @author tycoding
* @date 2019-06-13
*/
@Controller @Controller
public class RouterController { public class RouterController {
private static final Logger log = LoggerFactory.getLogger(TraffController.class); private static final Logger log = LoggerFactory.getLogger(TraffController.class);
@Autowired @Autowired
private StringRedisTemplate redisTemplate; private StringRedisTemplate redisTemplate;
public RouterController() {
}
/** @GetMapping({"/"})
* 登陆页面
*
* @return
*/
@GetMapping("/")
public String index() { public String index() {
return "login"; return "login";
} }
} }
...@@ -16,7 +16,6 @@ import com.hzjt.domain.ResponseEnum; ...@@ -16,7 +16,6 @@ import com.hzjt.domain.ResponseEnum;
import com.hzjt.domain.ResultObj; import com.hzjt.domain.ResultObj;
import com.hzjt.domain.Sbtdspsr; import com.hzjt.domain.Sbtdspsr;
import com.hzjt.domain.Traffalarmrecord; import com.hzjt.domain.Traffalarmrecord;
import com.hzjt.domain.TransferResult;
import com.hzjt.handler.FileTransferManager; import com.hzjt.handler.FileTransferManager;
import com.hzjt.handler.WebSocket; import com.hzjt.handler.WebSocket;
import com.hzjt.mapper.SbtdspsrMapper; import com.hzjt.mapper.SbtdspsrMapper;
...@@ -33,11 +32,9 @@ import com.hzjt.util.StringEnum; ...@@ -33,11 +32,9 @@ import com.hzjt.util.StringEnum;
import com.hzjt.util.TraffAlarmRecordFromImgEnum; import com.hzjt.util.TraffAlarmRecordFromImgEnum;
import com.hzjt.util.TraffAlarmRecordImgEnum; import com.hzjt.util.TraffAlarmRecordImgEnum;
import com.hzjt.util.UUIDUtils; import com.hzjt.util.UUIDUtils;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.Closeable; import java.io.Closeable;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.io.PrintWriter; import java.io.PrintWriter;
...@@ -50,14 +47,10 @@ import java.util.HashMap; ...@@ -50,14 +47,10 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.ServletOutputStream; import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.tomcat.util.http.fileupload.IOUtils; import org.apache.tomcat.util.http.fileupload.IOUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -119,10 +112,8 @@ public class TraffController { ...@@ -119,10 +112,8 @@ public class TraffController {
String manualStatus = "0"; String manualStatus = "0";
private static final String TYPE = "TRAFFIC_INCIDENT_ALARM"; private static final String TYPE = "TRAFFIC_INCIDENT_ALARM";
@Autowired @Autowired
public TraffController(@Value("${port}") String port, @Value("${message.dept}") String dept, @Value("${message.rate}") Integer rate, SbtdspsrMapper sbtdspsrMapper public TraffController(@Value("${port}") String port, @Value("${message.dept}") String dept, @Value("${message.rate}") Integer rate, SbtdspsrMapper sbtdspsrMapper) {
) {
this.port = port; this.port = port;
this.rate = rate; this.rate = rate;
this.dept = dept.substring(0, 5); this.dept = dept.substring(0, 5);
...@@ -157,7 +148,7 @@ public class TraffController { ...@@ -157,7 +148,7 @@ public class TraffController {
log.info("设备为:" + videoId + ",通道为:" + tdbh + "未录入(备案)"); log.info("设备为:" + videoId + ",通道为:" + tdbh + "未录入(备案)");
return ResultObj.error(ResponseEnum.E_1002.getCode(), "设备为:" + videoId + ",通道为:" + tdbh + "未录入(备案)"); return ResultObj.error(ResponseEnum.E_1002.getCode(), "设备为:" + videoId + ",通道为:" + tdbh + "未录入(备案)");
} else { } else {
String xzbh = ((Sbtdspsr) sbtdspsrs.get(0)).getXzbh(); String xzbh = ((Sbtdspsr)sbtdspsrs.get(0)).getXzbh();
if (xzbh.length() != 12) { if (xzbh.length() != 12) {
log.info("设备为:" + videoId + ",通道为:" + tdbh + "配置的行政区划" + xzbh + "不合规"); log.info("设备为:" + videoId + ",通道为:" + tdbh + "配置的行政区划" + xzbh + "不合规");
return ResultObj.error(ResponseEnum.E_1002.getCode(), "设备为:" + videoId + ",通道为:" + tdbh + "配置的行政区划不合规"); return ResultObj.error(ResponseEnum.E_1002.getCode(), "设备为:" + videoId + ",通道为:" + tdbh + "配置的行政区划不合规");
...@@ -165,9 +156,9 @@ public class TraffController { ...@@ -165,9 +156,9 @@ public class TraffController {
trffClientMessage.setDept(xzbh); trffClientMessage.setDept(xzbh);
try { try {
this.sendevent(trffClientMessage, (Sbtdspsr) sbtdspsrs.get(0)); this.sendevent(trffClientMessage, (Sbtdspsr)sbtdspsrs.get(0));
} catch (Exception var9) { } catch (Exception var8) {
log.error("MessageController receive putData error:{}", var9.toString()); log.error("MessageController receive putData error:{}", var8.toString());
} }
return ResultObj.ok(trffClientMessage); return ResultObj.ok(trffClientMessage);
...@@ -196,18 +187,18 @@ public class TraffController { ...@@ -196,18 +187,18 @@ public class TraffController {
Ftp ftp = this.ftpService.reloadFtp(); Ftp ftp = this.ftpService.reloadFtp();
String basepath; String basepath;
for (int i = 0; i < imgBase64List.size(); ++i) { for(int i = 0; i < imgBase64List.size(); ++i) {
String path = trffClientMessage.getVideo_id() + (traffAlarmRecord_init.getChannelid() < 10 ? "0" + traffAlarmRecord_init.getChannelid() : traffAlarmRecord_init.getChannelid()) + "/" + DateUtils.formatCurrDayNoSign(); String path = trffClientMessage.getVideo_id() + (traffAlarmRecord_init.getChannelid() < 10 ? "0" + traffAlarmRecord_init.getChannelid() : traffAlarmRecord_init.getChannelid()) + "/" + DateUtils.formatCurrDayNoSign();
basepath = UUIDUtils.createuuid() + ".jpg"; basepath = UUIDUtils.createuuid() + ".jpg";
if (FTPUtil.uploadFile(ftp, "gstraff/" + path, basepath, (String) imgBase64List.get(i))) { if (FTPUtil.uploadFile(ftp, "gstraff/" + path, basepath, (String)imgBase64List.get(i))) {
TraffAlarmRecordImgEnum.valueOf(imgEnumHead + i).setImg(traffAlarmRecord_init, path + "/" + basepath); TraffAlarmRecordImgEnum.valueOf(imgEnumHead + i).setImg(traffAlarmRecord_init, path + "/" + basepath);
} }
} }
List<String> imgUrls = trffClientMessage.getImg_urls(); List<String> imgUrls = trffClientMessage.getImg_urls();
for (int j = 0; j < imgUrls.size(); ++j) { for(int j = 0; j < imgUrls.size(); ++j) {
TraffAlarmRecordFromImgEnum.valueOf(imgEnumHead + j).setImg(traffAlarmRecord_init, (String) imgUrls.get(j)); TraffAlarmRecordFromImgEnum.valueOf(imgEnumHead + j).setImg(traffAlarmRecord_init, (String)imgUrls.get(j));
} }
if (StringEnum.ONE.getValue().equals(this.checkEnable)) { if (StringEnum.ONE.getValue().equals(this.checkEnable)) {
...@@ -223,76 +214,21 @@ public class TraffController { ...@@ -223,76 +214,21 @@ public class TraffController {
this.webSocket.GroupSending(JsonUtil.beanToString(map)); this.webSocket.GroupSending(JsonUtil.beanToString(map));
try { try {
Traffalarmrecord traffAlarmRecord = JSONUtil.toBean(JsonUtil.beanToString(traffAlarmRecord_init), Traffalarmrecord.class); Traffalarmrecord traffAlarmRecord = (Traffalarmrecord)JSONUtil.toBean(JsonUtil.beanToString(traffAlarmRecord_init), Traffalarmrecord.class);
basepath = traffAlarmRecord.getFdid() + (traffAlarmRecord.getChannelid() < 10 ? "0" + traffAlarmRecord.getChannelid() : traffAlarmRecord.getChannelid()) + "/" + DateUtils.formatCurrDayNoSign(); basepath = traffAlarmRecord.getFdid() + (traffAlarmRecord.getChannelid() < 10 ? "0" + traffAlarmRecord.getChannelid() : traffAlarmRecord.getChannelid()) + "/" + DateUtils.formatCurrDayNoSign();
Map<String, Object> transferRecordMap = new HashMap(); Map<String, Object> transferRecordMap = new HashMap();
FileTransferManager.fetchUrlsFromRecord(traffAlarmRecord, transferRecordMap); FileTransferManager.fetchUrlsFromRecord(traffAlarmRecord, transferRecordMap);
Map<String, Object> transferRecordMap2 = JSONUtil.toBean(JsonUtil.beanToString(transferRecordMap), Map.class); FileTransferManager fileTransferManager = new FileTransferManager();
FileTransferManager fileTransferManager=new FileTransferManager(); fileTransferManager.transferFile(transferRecordMap, ftp, basepath, this.traffAlarmRecordMapper);
List<TransferResult> results = fileTransferManager.transferFile(transferRecordMap2, ftp, basepath,traffAlarmRecordMapper);
log.info("recordBakzkresults====={}", JsonUtil.beanToString(results));
fileTransferManager.traffAlarmRecordUrlUpdate(results,traffAlarmRecordMapper);
// log.info("recordBakzk====={}", JsonUtil.beanToString(recordBak));
// if (recordBak != null && recordBak.getRecordid() != null) {
// this.traffAlarmRecordMapper.updateTraffAlarmRecordUrl(recordBak);
// }
//取视频流
// if ((null != recordBak.getVideourlfrom() && !"".equalsIgnoreCase(recordBak.getVideourlfrom()))) {
// Traffalarmrecord record = new Traffalarmrecord();
// record.setRecordid(recordBak.getRecordid());
// String url = recordBak.getVideourlfrom();
// record.setVideopath(recordBak.getVideopath());
// log.info("url:{}", url);
// log.info("bathpath:{}", recordBak.getVideopath());
// this.schedulepool.schedule(() -> {
// try {
// HttpURLConnection connection = (HttpURLConnection) (new URL(url)).openConnection();
// connection.setReadTimeout(2000);
// connection.setConnectTimeout(3000);
// connection.setRequestMethod("GET");
// if (connection.getResponseCode() == 200) {
// InputStream inputStream = connection.getInputStream();
//// log.info("url:{}", url);
// String pname = DateUtils.formatCurrDayNoSign() + "_" + record.getRecordid() + "_0000_video";
// String fileName = pname + ".mp4";
// String ftputl = record.getVideopath() + "/" + fileName;
// if (record.getVideopath().indexOf("/") > -1) {
// boolean r = FTPUtil.uploadFile(ftp, "gstraff/" + recordBak.getVideopath(), fileName, inputStream);
//
// if (r) {
// record.setVideopath(ftputl);
// log.info("video:{} upload success:", ftputl);
// } else {
// log.info("video:{} upload fail:", url);
// record.setVideopath("");
// }
// }
// } else {
// log.info("video:{} upload fail:", url);
// record.setVideopath("");
// }
// } catch (IOException var11) {
// log.error(var11.toString());
// record.setVideopath("");
// return 0;
// } finally {
// this.traffAlarmRecordMapper.updateTraffAlarmRecordUrl(record);
// }
// return 1;
//
// }, 50L, TimeUnit.SECONDS);
// }
traffAlarmRecord.setPushdesc("success"); traffAlarmRecord.setPushdesc("success");
traffAlarmRecord.setPushstatus(0); traffAlarmRecord.setPushstatus(0);
this.traffAlarmRecordMapper.updatePushEvent(traffAlarmRecord); this.traffAlarmRecordMapper.updatePushEvent(traffAlarmRecord);
} catch (Exception var16) { } catch (Exception var13) {
log.error("alarmevent error :{}", var16.toString()); log.error("alarmevent error :{}", var13.toString());
} }
} }
private void sendtomqtt(Alarm trffClientMessage, String wbbh, Traffalarmrecord traffAlarmRecord) { private void sendtomqtt(Alarm trffClientMessage, String wbbh, Traffalarmrecord traffAlarmRecord) {
log.info("sendtomqtt"); log.info("sendtomqtt");
if (null != wbbh && !"".equals(wbbh)) { if (null != wbbh && !"".equals(wbbh)) {
...@@ -305,10 +241,10 @@ public class TraffController { ...@@ -305,10 +241,10 @@ public class TraffController {
mqttalarm.setDeviceId(wbbh); mqttalarm.setDeviceId(wbbh);
log.info("mqtt data1:{}", JsonUtil.beanToString(mqttalarm)); log.info("mqtt data1:{}", JsonUtil.beanToString(mqttalarm));
if (null != trffClientMessage.getObj_location()) { if (null != trffClientMessage.getObj_location()) {
mqttalarm.setX(trffClientMessage.getObj_location().get("x") == null ? null : ((BigDecimal) trffClientMessage.getObj_location().get("x")).toString()); mqttalarm.setX(trffClientMessage.getObj_location().get("x") == null ? null : ((BigDecimal)trffClientMessage.getObj_location().get("x")).toString());
mqttalarm.setY(trffClientMessage.getObj_location().get("y") == null ? null : ((BigDecimal) trffClientMessage.getObj_location().get("y")).toString()); mqttalarm.setY(trffClientMessage.getObj_location().get("y") == null ? null : ((BigDecimal)trffClientMessage.getObj_location().get("y")).toString());
mqttalarm.setWidth(trffClientMessage.getObj_location().get("width") == null ? null : ((BigDecimal) trffClientMessage.getObj_location().get("width")).toString()); mqttalarm.setWidth(trffClientMessage.getObj_location().get("width") == null ? null : ((BigDecimal)trffClientMessage.getObj_location().get("width")).toString());
mqttalarm.setHeight(trffClientMessage.getObj_location().get("height") == null ? null : ((BigDecimal) trffClientMessage.getObj_location().get("height")).toString()); mqttalarm.setHeight(trffClientMessage.getObj_location().get("height") == null ? null : ((BigDecimal)trffClientMessage.getObj_location().get("height")).toString());
} }
mqttalarm.setEventTypeId(mqttbh); mqttalarm.setEventTypeId(mqttbh);
...@@ -322,10 +258,10 @@ public class TraffController { ...@@ -322,10 +258,10 @@ public class TraffController {
private RateLimiter getRateLimiter(String videoId) { private RateLimiter getRateLimiter(String videoId) {
RateLimiter rateLimiter; RateLimiter rateLimiter;
if (this.rateLimiterMap.containsKey(videoId)) { if (this.rateLimiterMap.containsKey(videoId)) {
rateLimiter = (RateLimiter) this.rateLimiterMap.get(videoId); rateLimiter = (RateLimiter)this.rateLimiterMap.get(videoId);
} else { } else {
RateLimiter value = RateLimiter.create((double) this.rate); RateLimiter value = RateLimiter.create((double)this.rate);
rateLimiter = (RateLimiter) this.rateLimiterMap.putIfAbsent(videoId, value); rateLimiter = (RateLimiter)this.rateLimiterMap.putIfAbsent(videoId, value);
if (rateLimiter == null) { if (rateLimiter == null) {
rateLimiter = value; rateLimiter = value;
} }
...@@ -342,7 +278,7 @@ public class TraffController { ...@@ -342,7 +278,7 @@ public class TraffController {
this.flvCacheService.getvalue(videoid, rtsp); this.flvCacheService.getvalue(videoid, rtsp);
} }
JSONObject jsonObject = JSONObject.parseObject((String) this.stringRedisTemplate.opsForValue().get(videoid)); JSONObject jsonObject = JSONObject.parseObject((String)this.stringRedisTemplate.opsForValue().get(videoid));
if (null != jsonObject.getJSONArray("play_list") && jsonObject.getJSONArray("play_list").size() > 0) { if (null != jsonObject.getJSONArray("play_list") && jsonObject.getJSONArray("play_list").size() > 0) {
return String.valueOf(jsonObject.getJSONArray("play_list").get(0)); return String.valueOf(jsonObject.getJSONArray("play_list").get(0));
} }
...@@ -354,7 +290,7 @@ public class TraffController { ...@@ -354,7 +290,7 @@ public class TraffController {
@GetMapping({"/sendtouser/{recordid}"}) @GetMapping({"/sendtouser/{recordid}"})
@ResponseBody @ResponseBody
public Integer sendtouser(@PathVariable("recordid") String recordid) { public Integer sendtouser(@PathVariable("recordid") String recordid) {
Traffalarmrecord traffalarmrecord = (Traffalarmrecord) this.traffAlarmRecordMapper.selectByPrimaryKey(recordid); Traffalarmrecord traffalarmrecord = (Traffalarmrecord)this.traffAlarmRecordMapper.selectByPrimaryKey(recordid);
if (traffalarmrecord == null) { if (traffalarmrecord == null) {
return 0; return 0;
} else { } else {
...@@ -475,17 +411,17 @@ public class TraffController { ...@@ -475,17 +411,17 @@ public class TraffController {
FtpURLConnection ftpUrl = null; FtpURLConnection ftpUrl = null;
HttpURLConnection httpUrl = null; HttpURLConnection httpUrl = null;
for (int i = 0; i < arr.length; ++i) { for(int i = 0; i < arr.length; ++i) {
try { try {
URL url = new URL(arr[i]); URL url = new URL(arr[i]);
if (arr[i].toUpperCase().indexOf("FTP") != -1) { if (arr[i].toUpperCase().indexOf("FTP") != -1) {
ftpUrl = (FtpURLConnection) url.openConnection(); ftpUrl = (FtpURLConnection)url.openConnection();
ftpUrl.setConnectTimeout(30000); ftpUrl.setConnectTimeout(30000);
ftpUrl.setReadTimeout(30000); ftpUrl.setReadTimeout(30000);
bis = new BufferedInputStream(ftpUrl.getInputStream()); bis = new BufferedInputStream(ftpUrl.getInputStream());
response.setContentLength(ftpUrl.getContentLength()); response.setContentLength(ftpUrl.getContentLength());
} else { } else {
httpUrl = (HttpURLConnection) url.openConnection(); httpUrl = (HttpURLConnection)url.openConnection();
httpUrl.setConnectTimeout(30000); httpUrl.setConnectTimeout(30000);
httpUrl.setReadTimeout(30000); httpUrl.setReadTimeout(30000);
bis = new BufferedInputStream(httpUrl.getInputStream()); bis = new BufferedInputStream(httpUrl.getInputStream());
...@@ -509,13 +445,13 @@ public class TraffController { ...@@ -509,13 +445,13 @@ public class TraffController {
if (servletOutputStream != null) { if (servletOutputStream != null) {
servletOutputStream.close(); servletOutputStream.close();
} }
} catch (Exception var29) { } catch (Exception var28) {
response.setContentType("text/html;charset=GBK"); response.setContentType("text/html;charset=GBK");
response.setCharacterEncoding("GBK"); response.setCharacterEncoding("GBK");
PrintWriter out = response.getWriter(); PrintWriter out = response.getWriter();
out.write("无法打开图片!"); out.write("无法打开图片!");
out.flush(); out.flush();
log.info("ftpagent error " + ftpUrl + var29.toString()); log.info("ftpagent error " + ftpUrl + var28.toString());
} finally { } finally {
if (bis != null) { if (bis != null) {
bis.close(); bis.close();
...@@ -530,7 +466,7 @@ public class TraffController { ...@@ -530,7 +466,7 @@ public class TraffController {
} }
if (toClient != null) { if (toClient != null) {
((OutputStream) toClient).close(); ((OutputStream)toClient).close();
} }
} }
...@@ -538,12 +474,12 @@ public class TraffController { ...@@ -538,12 +474,12 @@ public class TraffController {
return; return;
} }
} catch (Exception var31) { } catch (Exception var30) {
} finally { } finally {
IOUtils.closeQuietly(bis); IOUtils.closeQuietly(bis);
IOUtils.closeQuietly((Closeable) toClient); IOUtils.closeQuietly((Closeable)toClient);
IOUtils.closeQuietly((Closeable) hFile); IOUtils.closeQuietly((Closeable)hFile);
IOUtils.closeQuietly((Closeable) inputStream); IOUtils.closeQuietly((Closeable)inputStream);
} }
} }
......
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.hzjt.controller; package com.hzjt.controller;
import com.hzjt.domain.ResultObj;
import com.hzjt.service.TraffdevicewriteresultService; import com.hzjt.service.TraffdevicewriteresultService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@RestController @RestController
@RequestMapping("/traffdevicewriteresult") @RequestMapping({"/traffdevicewriteresult"})
public class TraffdevicewriteresultController { public class TraffdevicewriteresultController {
@Autowired @Autowired
private TraffdevicewriteresultService traffdevicewriteresultService; private TraffdevicewriteresultService traffdevicewriteresultService;
public TraffdevicewriteresultController() {
}
} }
package com.hzjt.domain; //
// Source code recreated from a .class file by IntelliJ IDEA
import lombok.AllArgsConstructor; // (powered by Fernflower decompiler)
import lombok.Data; //
import lombok.NoArgsConstructor;
package com.hzjt.domain;
public class TransferResult { public class TransferResult {
Long recordid; Long recordid;
...@@ -34,7 +34,7 @@ public class TransferResult { ...@@ -34,7 +34,7 @@ public class TransferResult {
} }
public String getFilename() { public String getFilename() {
return filename; return this.filename;
} }
public void setFilename(String filename) { public void setFilename(String filename) {
...@@ -42,7 +42,7 @@ public class TransferResult { ...@@ -42,7 +42,7 @@ public class TransferResult {
} }
public Long getRecordid() { public Long getRecordid() {
return recordid; return this.recordid;
} }
public void setRecordid(Long recordid) { public void setRecordid(Long recordid) {
...@@ -50,7 +50,7 @@ public class TransferResult { ...@@ -50,7 +50,7 @@ public class TransferResult {
} }
public String getPathvalue() { public String getPathvalue() {
return pathvalue; return this.pathvalue;
} }
public void setPathvalue(String pathvalue) { public void setPathvalue(String pathvalue) {
...@@ -58,7 +58,7 @@ public class TransferResult { ...@@ -58,7 +58,7 @@ public class TransferResult {
} }
public String getUrlfrom() { public String getUrlfrom() {
return urlfrom; return this.urlfrom;
} }
public void setUrlfrom(String urlfrom) { public void setUrlfrom(String urlfrom) {
...@@ -66,7 +66,7 @@ public class TransferResult { ...@@ -66,7 +66,7 @@ public class TransferResult {
} }
public String getImgpath() { public String getImgpath() {
return imgpath; return this.imgpath;
} }
public void setImgpath(String imgpath) { public void setImgpath(String imgpath) {
...@@ -74,7 +74,7 @@ public class TransferResult { ...@@ -74,7 +74,7 @@ public class TransferResult {
} }
public Boolean getResult() { public Boolean getResult() {
return result; return this.result;
} }
public void setResult(Boolean result) { public void setResult(Boolean result) {
......
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.hzjt.handler; package com.hzjt.handler;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
...@@ -7,147 +12,115 @@ import com.hzjt.domain.TransferResult; ...@@ -7,147 +12,115 @@ import com.hzjt.domain.TransferResult;
import com.hzjt.mapper.TraffAlarmRecordMapper; import com.hzjt.mapper.TraffAlarmRecordMapper;
import com.hzjt.util.DateUtils; import com.hzjt.util.DateUtils;
import com.hzjt.util.FTPUtil; import com.hzjt.util.FTPUtil;
import com.hzjt.util.JsonUtil;
import com.hzjt.util.ThreadPoolUtil; import com.hzjt.util.ThreadPoolUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.*; import java.util.concurrent.CompletionService;
import java.util.concurrent.ExecutorCompletionService;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class FileTransferManager { public class FileTransferManager {
private static final Logger log = LoggerFactory.getLogger(FileTransferManager.class); private static final Logger log = LoggerFactory.getLogger(FileTransferManager.class);
private static CompletionService<TransferResult> completionService = new ExecutorCompletionService(ThreadPoolUtil.getPool());
static ScheduledExecutorService schedulepool = Executors.newScheduledThreadPool(10);
private static ExecutorService executorService = Executors.newCachedThreadPool();
private static CompletionService<TransferResult> completionService = new ExecutorCompletionService<TransferResult>(ThreadPoolUtil.getPool()); public FileTransferManager() {
}
static ScheduledExecutorService schedulepool = Executors.newScheduledThreadPool(5);
/** public void transferFile(Map<String, Object> transferRecord, Ftp ftp, String basePath, TraffAlarmRecordMapper traffAlarmRecordMapper) throws Exception {
* @param transferRecord executorService.execute(() -> {
* @param ftp
* @param basePath
* @return
* @throws Exception
*/
public List<TransferResult> transferFile(final Map<String, Object> transferRecord, final Ftp ftp, final String basePath,TraffAlarmRecordMapper traffAlarmRecordMapper ) throws Exception {
Long recordid = Long.parseLong(transferRecord.get("recordid").toString()); Long recordid = Long.parseLong(transferRecord.get("recordid").toString());
int count = 0;
Iterator var5 = transferRecord.keySet().iterator(); Iterator var5 = transferRecord.keySet().iterator();
while (true) { while(var5.hasNext()) {
String key; String finalKey = (String)var5.next();
do { log.info("finalKey :{}", finalKey);
if (!var5.hasNext()) { String url = transferRecord.get(finalKey).toString();
List<TransferResult> listret = new ArrayList();
for (int i = 0; i < count; ++i) {
listret.add(completionService.poll(4L, TimeUnit.SECONDS).get());
}
return listret;
}
key = (String) var5.next();
} while (!key.equals("img1path") && !key.equals("img2path") && !key.equals("img3path") && !key.equals("img4path") && !key.equals("img5path") && !key.equals("videopath"));
String url = transferRecord.get(key).toString();
++count;
String finalKey = key;
completionService.submit(() -> {
log.info("recordid:{}", recordid); log.info("recordid:{}", recordid);
TransferResult result = new TransferResult(recordid, finalKey, url, "", false);
String pname = DateUtils.formatCurrDayNoSign() + "_" + recordid + "_0000_" + finalKey.replace("path", ""); String pname = DateUtils.formatCurrDayNoSign() + "_" + recordid + "_0000_" + finalKey.replace("path", "");
String filesuff = "videopath".equals(finalKey) ? ".mp4" : ".jpg"; String filesuff = "videopath".equals(finalKey) ? ".mp4" : ".jpg";
String fileName = pname + filesuff; String fileName = pname + filesuff;
String ftputl = basePath + "/" + fileName; String ftputl = basePath + "/" + fileName;
if ("videopath".equals(finalKey)) { if ("videopath".equals(finalKey)) {
result.setUrlfrom(url);
result.setImgpath(ftputl);
result.setFilename(fileName);
schedulepool.schedule(() -> { schedulepool.schedule(() -> {
Traffalarmrecord record = new Traffalarmrecord(); Traffalarmrecord record = new Traffalarmrecord();
Integer var9;
try { try {
record.setRecordid(result.getRecordid()); record.setRecordid(recordid);
HttpURLConnection connection = (HttpURLConnection) (new URL(result.getUrlfrom())).openConnection(); HttpURLConnection connection = (HttpURLConnection)(new URL(url)).openConnection();
connection.setReadTimeout(2000); connection.setReadTimeout(2000);
connection.setConnectTimeout(3000); connection.setConnectTimeout(3000);
connection.setRequestMethod("GET"); connection.setRequestMethod("GET");
log.info("video record:{} upload fail:", JsonUtil.beanToString(result));
if (connection.getResponseCode() == 200) { if (connection.getResponseCode() == 200) {
InputStream inputStream = connection.getInputStream(); InputStream inputStream = connection.getInputStream();
// if (result.getImgpath().indexOf("/") > -1) { boolean r = FTPUtil.uploadFile(ftp, "gstraff/" + basePath, fileName, inputStream);
boolean r = FTPUtil.uploadFile(ftp, "gstraff/" + basePath, result.getFilename(), inputStream);
if (r) { if (r) {
record.setVideopath(result.getImgpath()); record.setVideopath(ftputl);
log.info("video:{} upload success:", result.getImgpath()); record.setVideourlfrom(url);
log.info("video:{} upload success:", ftputl);
} else { } else {
log.info("video:{} upload fail:", result.getUrlfrom()); log.info("video:{} upload fail:", ftputl);
record.setVideopath(""); record.setVideopath("");
} }
// }
return 1;
} else { } else {
log.info("video:{} upload fail:", url); log.info("video:{} upload fail:", url);
record.setVideopath(""); record.setVideopath("");
return 1;
} }
} catch (IOException var11) { } catch (IOException var14) {
log.info("video:{} error:{}",result.getUrlfrom(),var11.toString()); log.info("video:{} error:{}", url, var14.toString());
record.setVideopath(""); record.setVideopath("");
return 0; var9 = 0;
} finally { } finally {
traffAlarmRecordMapper.updateTraffAlarmRecordUrl(record); traffAlarmRecordMapper.updateTraffAlarmRecordUrl(record);
} }
return 1;
}, 50L, TimeUnit.SECONDS);
return var9;
}, 1L, TimeUnit.SECONDS);
} else { } else {
try { try {
HttpURLConnection connection = (HttpURLConnection)(new URL(url)).openConnection();
HttpURLConnection connection = (HttpURLConnection) (new URL(url)).openConnection();
connection.setReadTimeout(2000); connection.setReadTimeout(2000);
connection.setConnectTimeout(3000); connection.setConnectTimeout(3000);
connection.setRequestMethod("GET"); connection.setRequestMethod("GET");
if (connection.getResponseCode() == 200) { if (connection.getResponseCode() == 200) {
InputStream inputStream = connection.getInputStream(); InputStream inputStream = connection.getInputStream();
boolean r = FTPUtil.uploadFile(ftp, "gstraff/" + basePath, fileName, inputStream); boolean r = FTPUtil.uploadFile(ftp, "gstraff/" + basePath, fileName, inputStream);
result.setResult(r);
if (r) { if (r) {
result.setImgpath(ftputl);
log.info("imgpath or videopath success:{}", ftputl); log.info("imgpath or videopath success:{}", ftputl);
Traffalarmrecord record = new Traffalarmrecord();
record.setRecordid(recordid);
this.updateTraffAlarmRecordUrl(finalKey, record, ftputl, traffAlarmRecordMapper);
} else { } else {
log.info("imgpath or videopath fail:{}", ftputl); log.info("imgpath or videopath fail:{}", ftputl);
} }
} else { } else {
log.error("imgpath or videopath connection error code:{}", connection.getResponseCode() + " ," + result.toString()); log.error("imgpath or videopath connection error code:{}", connection.getResponseCode());
} }
} catch (IOException var13) { } catch (Exception var17) {
log.error("imgpath or videopath error:{}", var13.toString()); log.error("imgpath or videopath error:{}", var17.toString());
} }
} }
return result;
});
} }
});
} }
public static void fetchUrlsFromRecord(Traffalarmrecord record, Map<String, Object> transferRecord) { public static void fetchUrlsFromRecord(Traffalarmrecord record, Map<String, Object> transferRecord) {
if (record == null || record.getRecordid() == null) { if (record != null && record.getRecordid() != null) {
return;
}
transferRecord.put("recordid", record.getRecordid()); transferRecord.put("recordid", record.getRecordid());
if (record.getImg1path() == null && record.getImg1urlfrom() != null) { if (record.getImg1path() == null && record.getImg1urlfrom() != null) {
transferRecord.put("img1path", record.getImg1urlfrom()); transferRecord.put("img1path", record.getImg1urlfrom());
} }
...@@ -171,37 +144,22 @@ public class FileTransferManager { ...@@ -171,37 +144,22 @@ public class FileTransferManager {
if (record.getVideopath() == null && record.getVideourlfrom() != null) { if (record.getVideopath() == null && record.getVideourlfrom() != null) {
transferRecord.put("videopath", record.getVideourlfrom()); transferRecord.put("videopath", record.getVideourlfrom());
} }
}
public static List<TransferResult> transferFileIncludVideo(Map<String, Object> transferRecord, Ftp ftp, String basePath) throws Exception {
Long recordid = Long.parseLong(transferRecord.get("recordid").toString());
int count = 0;
Iterator var5 = transferRecord.keySet().iterator();
while (true) {
String key;
do {
if (!var5.hasNext()) {
List<TransferResult> listret = new ArrayList();
for (int i = 0; i < count; ++i) {
listret.add(completionService.poll(10L, TimeUnit.SECONDS).get());
} }
return listret;
} }
key = (String) var5.next(); public void transferFileIncludVideo(Map<String, Object> transferRecord, Ftp ftp, String basePath, TraffAlarmRecordMapper traffAlarmRecordMapper) throws Exception {
} while (!key.equals("img1path") && !key.equals("img2path") && !key.equals("img3path") && !key.equals("img4path") && !key.equals("img5path") && !key.equals("videopath")); executorService.execute(() -> {
Long recordid = Long.parseLong(transferRecord.get("recordid").toString());
String url = transferRecord.get(key).toString(); Iterator var5 = transferRecord.keySet().iterator();
++count;
String finalKey = key;
completionService.submit(() -> {
TransferResult result = new TransferResult(recordid, finalKey, url, "", false);
while(var5.hasNext()) {
String finalKey = (String)var5.next();
log.info("finalKey :{}", finalKey);
String url = transferRecord.get(finalKey).toString();
try { try {
String filesuff = "videopath".equals(finalKey) ? ".mp4" : ".jpg"; String filesuff = "videopath".equals(finalKey) ? ".mp4" : ".jpg";
HttpURLConnection connection = (HttpURLConnection) (new URL(url)).openConnection(); HttpURLConnection connection = (HttpURLConnection)(new URL(url)).openConnection();
connection.setReadTimeout(2000); connection.setReadTimeout(2000);
connection.setConnectTimeout(3000); connection.setConnectTimeout(3000);
connection.setRequestMethod("GET"); connection.setRequestMethod("GET");
...@@ -211,46 +169,50 @@ public class FileTransferManager { ...@@ -211,46 +169,50 @@ public class FileTransferManager {
String fileName = pname + filesuff; String fileName = pname + filesuff;
String ftputl = basePath + "/" + fileName; String ftputl = basePath + "/" + fileName;
boolean r = FTPUtil.uploadFile(ftp, "gstraff/" + basePath, fileName, inputStream); boolean r = FTPUtil.uploadFile(ftp, "gstraff/" + basePath, fileName, inputStream);
result.setResult(r);
if (r) { if (r) {
result.setImgpath(ftputl); Traffalarmrecord record = new Traffalarmrecord();
record.setRecordid(recordid);
this.updateTraffAlarmRecordUrl(finalKey, record, ftputl, traffAlarmRecordMapper);
} }
} else { } else {
log.error("imgpath or videopath connection error code:{}", connection.getResponseCode() + " ," + result.toString()); log.error("imgpath or videopath connection error code:{}", connection.getResponseCode());
}
} catch (Exception var17) {
log.error("imgpath or videopath error:{}", var17.toString());
} }
} catch (IOException var13) {
log.error("imgpath or videopath error:{}", var13.toString());
} }
return result;
}); });
} }
}
public void traffAlarmRecordUrlUpdate(List<TransferResult> results,TraffAlarmRecordMapper traffAlarmRecordMapper) throws Exception { public void traffAlarmRecordUrlUpdate(List<TransferResult> results, TraffAlarmRecordMapper traffAlarmRecordMapper) throws Exception {
// List<TransferResult> results = JSONUtil.toList(JSONUtil.parseArray(JSONUtil.toJsonStr(resultslist)), TransferResult.class); Iterator var3 = results.iterator();
for (TransferResult result : results) {
while(var3.hasNext()) {
TransferResult result = (TransferResult)var3.next();
log.info("results={}", JSONUtil.toJsonStr(result)); log.info("results={}", JSONUtil.toJsonStr(result));
Traffalarmrecord record = new Traffalarmrecord(); Traffalarmrecord record = new Traffalarmrecord();
record.setRecordid(result.getRecordid()); record.setRecordid(result.getRecordid());
if (result.getResult()) { if (result.getResult()) {
switch (result.getPathvalue()) { String pathvalue = result.getPathvalue();
switch (pathvalue){
case "img1path": case "img1path":
record.setImg1path(result.getImgpath()); record.setImg1path(pathvalue);
break; break;
case "img2path": case "img2path":
record.setImg2path(result.getImgpath()); record.setImg2path(pathvalue);
break; break;
case "img3path": case "img3path":
record.setImg3path(result.getImgpath()); record.setImg3path(pathvalue);
break; break;
case "img4path": case "img4path":
record.setImg4path(result.getImgpath()); record.setImg4path(pathvalue);
break; break;
case "img5path": case "img5path":
record.setImg5path(result.getImgpath()); record.setImg5path(pathvalue);
break; break;
case "videopath": case "videopath":
record.setVideopath(result.getImgpath()); record.setVideopath(pathvalue);
break; break;
case "urlfrom": case "urlfrom":
record.setVideourlfrom(result.getUrlfrom()); record.setVideourlfrom(result.getUrlfrom());
...@@ -261,12 +223,35 @@ public class FileTransferManager { ...@@ -261,12 +223,35 @@ public class FileTransferManager {
} }
// 更新数据 // 更新数据
traffAlarmRecordMapper.updateTraffAlarmRecordUrl(record); traffAlarmRecordMapper.updateTraffAlarmRecordUrl(record);
}
} }
} }
}
public void updateTraffAlarmRecordUrl(String key, Traffalarmrecord record, String path, TraffAlarmRecordMapper traffAlarmRecordMapper) throws Exception {
switch(key) {
case "img1path":
record.setImg1path(path);
break;
case "img2path":
record.setImg2path(path);
break;
case "img3path":
record.setImg3path(path);
break;
case "img4path":
record.setImg4path(path);
break;
case "img5path":
record.setImg5path(path);
break;
case "videopath":
record.setVideopath(path);
break;
case "urlfrom":
record.setVideourlfrom(path);
}
traffAlarmRecordMapper.updateTraffAlarmRecordUrl(record);
}
} }
...@@ -8,6 +8,8 @@ import tk.mybatis.mapper.additional.dialect.oracle.InsertListMapper; ...@@ -8,6 +8,8 @@ import tk.mybatis.mapper.additional.dialect.oracle.InsertListMapper;
import tk.mybatis.mapper.common.BaseMapper; import tk.mybatis.mapper.common.BaseMapper;
import tk.mybatis.mapper.common.ConditionMapper; import tk.mybatis.mapper.common.ConditionMapper;
import java.util.List;
@Mapper @Mapper
public interface TraffAlarmRecordMapper extends BaseMapper<Traffalarmrecord>, ConditionMapper<Traffalarmrecord>, InsertListMapper<Traffalarmrecord> { public interface TraffAlarmRecordMapper extends BaseMapper<Traffalarmrecord>, ConditionMapper<Traffalarmrecord>, InsertListMapper<Traffalarmrecord> {
...@@ -35,4 +37,7 @@ public interface TraffAlarmRecordMapper extends BaseMapper<Traffalarmrecord>, Co ...@@ -35,4 +37,7 @@ public interface TraffAlarmRecordMapper extends BaseMapper<Traffalarmrecord>, Co
String seletmqttbh(@Param("recordtype") String recordtype); String seletmqttbh(@Param("recordtype") String recordtype);
Integer updateState(MqttResult result); Integer updateState(MqttResult result);
List<Traffalarmrecord> selectFailRecord();
} }
\ No newline at end of file
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.hzjt.redis; package com.hzjt.redis;
import com.hzjt.domain.*; import com.hzjt.domain.Alarm;
import com.hzjt.domain.Ftp;
import com.hzjt.domain.Traffalarmrecord;
import com.hzjt.handler.FileTransferManager; import com.hzjt.handler.FileTransferManager;
import com.hzjt.mapper.TraffAlarmRecordMapper; import com.hzjt.mapper.TraffAlarmRecordMapper;
import com.hzjt.service.EventWriteService; import com.hzjt.service.EventWriteService;
import com.hzjt.service.FtpService; import com.hzjt.service.FtpService;
import com.hzjt.util.*; import com.hzjt.util.DateUtils;
import org.slf4j.Logger; import com.hzjt.util.FTPUtil;
import org.slf4j.LoggerFactory; import com.hzjt.util.JsonUtil;
import org.springframework.beans.factory.annotation.Autowired; import com.hzjt.util.StringEnum;
import org.springframework.beans.factory.annotation.Value; import com.hzjt.util.TraffAlarmRecordFromImgEnum;
import org.springframework.stereotype.Service; import com.hzjt.util.TraffAlarmRecordImgEnum;
import com.hzjt.util.UUIDUtils;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.Callable;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
//@Service
public class Receiver { public class Receiver {
@Autowired @Autowired
RedisDao redisDao; RedisDao redisDao;
@Autowired @Autowired
private TraffAlarmRecordMapper traffAlarmRecordMapper; private TraffAlarmRecordMapper traffAlarmRecordMapper;
@Autowired @Autowired
FtpService ftpService; FtpService ftpService;
@Autowired @Autowired
EventWriteService eventWriteService; EventWriteService eventWriteService;
ScheduledExecutorService schedulepool = Executors.newScheduledThreadPool(5);
ScheduledExecutorService schedulepool = Executors.newScheduledThreadPool(5); //创
@Value("ftpIp") @Value("ftpIp")
String ftpIp; String ftpIp;
@Value("ftpPort") @Value("ftpPort")
...@@ -53,50 +50,42 @@ public class Receiver { ...@@ -53,50 +50,42 @@ public class Receiver {
private String ftpPassword; private String ftpPassword;
@Value("${alarmrecord.check.enable}") @Value("${alarmrecord.check.enable}")
private String checkEnable; private String checkEnable;
private static final Logger log = LoggerFactory.getLogger(Receiver.class); private static final Logger log = LoggerFactory.getLogger(Receiver.class);
public Receiver() {
}
/**
* @Description: 用于接收单个对象,将对象同步至数据库,如果同步失败,则存入redis中
* @Param: [message] “fastjson”转换后的json字符串
* @Retrun: void
*/
public void receiveSingle(String Message) throws InterruptedException { public void receiveSingle(String Message) throws InterruptedException {
// 将json字符串转换成实体对 Alarm trffClientMessage = (Alarm)JsonUtil.stringToBean(Message, Alarm.class);
Alarm trffClientMessage= JsonUtil.stringToBean(Message,Alarm.class);
List<String> imgBase64List = trffClientMessage.getImg_base64(); List<String> imgBase64List = trffClientMessage.getImg_base64();
Traffalarmrecord traffAlarmRecord = new Traffalarmrecord(); Traffalarmrecord traffAlarmRecord = new Traffalarmrecord();
String imgEnumHead = "IMG"; String imgEnumHead = "IMG";
Ftp ftp = ftpService.reloadFtp(); Ftp ftp = this.ftpService.reloadFtp();
for (int i = 0; i < imgBase64List.size(); i++) {
/* 图片上传 */ String fdid;
for(int i = 0; i < imgBase64List.size(); ++i) {
String path = trffClientMessage.getVideo_id() + "/" + DateUtils.formatCurrDayNoSign(); String path = trffClientMessage.getVideo_id() + "/" + DateUtils.formatCurrDayNoSign();
String fileName = UUIDUtils.createuuid() + ".jpg"; fdid = UUIDUtils.createuuid() + ".jpg";
if (FTPUtil.uploadFile(ftp, path, fileName, imgBase64List.get(i))) { if (FTPUtil.uploadFile(ftp, path, fdid, (String)imgBase64List.get(i))) {
TraffAlarmRecordImgEnum.valueOf(imgEnumHead + i).setImg(traffAlarmRecord, FTPUtil.getFtpUrl(ftp) + path + "/" + fileName); TraffAlarmRecordImgEnum.valueOf(imgEnumHead + i).setImg(traffAlarmRecord, FTPUtil.getFtpUrl(ftp) + path + "/" + fdid);
} }
} }
List<String> imgUrls = trffClientMessage.getImg_urls(); List<String> imgUrls = trffClientMessage.getImg_urls();
for (int i = 0; i < imgUrls.size(); i++) {
TraffAlarmRecordFromImgEnum.valueOf(imgEnumHead + i).setImg(traffAlarmRecord, imgUrls.get(i)); for(int i = 0; i < imgUrls.size(); ++i) {
TraffAlarmRecordFromImgEnum.valueOf(imgEnumHead + i).setImg(traffAlarmRecord, (String)imgUrls.get(i));
} }
String[] videoIdArr = trffClientMessage.getVideo_id().split("_"); String[] videoIdArr = trffClientMessage.getVideo_id().split("_");
String fdid = videoIdArr[0]; fdid = videoIdArr[0];
traffAlarmRecord.setFdid(fdid); traffAlarmRecord.setFdid(fdid);
Integer channelid = Integer.valueOf(videoIdArr[1]) + 1; Integer channelid = Integer.valueOf(videoIdArr[1]) + 1;
traffAlarmRecord.setChannelid(channelid); traffAlarmRecord.setChannelid(channelid);
if (StringEnum.ONE.getValue().equals(this.checkEnable)) {
if (StringEnum.ONE.getValue().equals(checkEnable)) {
/* 9:免审 */
traffAlarmRecord.setCheckstatus(9); traffAlarmRecord.setCheckstatus(9);
} }
// int recordid = traffAlarmRecordMapper.selectmax();
// traffAlarmRecord.setRecordid((long)(recordid+1));
traffAlarmRecord.setProcessstatus("0"); traffAlarmRecord.setProcessstatus("0");
traffAlarmRecord.setAreaid(Long.valueOf(trffClientMessage.getDept())); traffAlarmRecord.setAreaid(Long.valueOf(trffClientMessage.getDept()));
traffAlarmRecord.setRecordtype(trffClientMessage.getIncident_type().toLowerCase()); traffAlarmRecord.setRecordtype(trffClientMessage.getIncident_type().toLowerCase());
...@@ -104,91 +93,21 @@ public class Receiver { ...@@ -104,91 +93,21 @@ public class Receiver {
traffAlarmRecord.setRecordtime(DateUtils.getDateString(new Date(Long.valueOf(trffClientMessage.getTs())))); traffAlarmRecord.setRecordtime(DateUtils.getDateString(new Date(Long.valueOf(trffClientMessage.getTs()))));
traffAlarmRecord.setCreatetime(DateUtils.getDateString(new Date())); traffAlarmRecord.setCreatetime(DateUtils.getDateString(new Date()));
traffAlarmRecord.setObjlable(trffClientMessage.getObjLabel()); traffAlarmRecord.setObjlable(trffClientMessage.getObjLabel());
traffAlarmRecord.setPushstatus(9);//设置为未推送 traffAlarmRecord.setPushstatus(9);
this.traffAlarmRecordMapper.inserTraffAlarmRecord(traffAlarmRecord);
traffAlarmRecordMapper.inserTraffAlarmRecord(traffAlarmRecord);
try { try {
String basepath = "gstraff/" + traffAlarmRecord.getFdid() + (traffAlarmRecord.getChannelid() < 10 ? "0" + traffAlarmRecord.getChannelid() : traffAlarmRecord.getChannelid()) + "/" + DateUtils.formatCurrDayNoSign(); String basepath = "gstraff/" + traffAlarmRecord.getFdid() + (traffAlarmRecord.getChannelid() < 10 ? "0" + traffAlarmRecord.getChannelid() : traffAlarmRecord.getChannelid()) + "/" + DateUtils.formatCurrDayNoSign();
Map<String, Object> transferRecordMap = new HashMap<>(); Map<String, Object> transferRecordMap = new HashMap();
FileTransferManager.fetchUrlsFromRecord(traffAlarmRecord, transferRecordMap); FileTransferManager.fetchUrlsFromRecord(traffAlarmRecord, transferRecordMap);
FileTransferManager fileTransferManager=new FileTransferManager(); new FileTransferManager();
List<TransferResult> results = fileTransferManager.transferFile(transferRecordMap, ftp, basepath,traffAlarmRecordMapper); } catch (Exception var14) {
// log.info("缓存数据上传结果:" + results.toString()); log.error("解析事件告警数据异常 :" + var14.getMessage());
fileTransferManager.traffAlarmRecordUrlUpdate(results,traffAlarmRecordMapper);
// traffAlarmRecord.setImg2path(recordBak.getImg2path());
// traffAlarmRecord.setImg3path(recordBak.getImg3path());
// traffAlarmRecord.setImg4path(recordBak.getImg4path());
// traffAlarmRecord.setImg5path(recordBak.getImg5path());
// traffAlarmRecord.setVideopath(recordBak.getVideopath());
//
// if (traffAlarmRecord != null && traffAlarmRecord.getRecordid() != null) {
// traffAlarmRecordMapper.updateTraffAlarmRecordUrl(traffAlarmRecord);
// }
// //如果监控视频为空,延时加载重新获取
// if(null==recordBak.getVideopath() || "".equalsIgnoreCase(recordBak.getVideopath())) {
//
// schedulepool.schedule(()->{
// for (String key : transferRecordMap.keySet()) {
// if (key.equals("videopath")) {
// final String url = transferRecordMap.get(key).toString();
// try {
// HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
// //延迟连接
// connection.setReadTimeout(2000);
// connection.setConnectTimeout(3000);
// connection.setRequestMethod("GET");
// String pname = DateUtils.formatCurrDayNoSign()+ "_" + traffAlarmRecord.getFdid()+ "_" + traffAlarmRecord.getRecordid() + key.replace("path", "");
// String fileName = pname + ".mp4";
// String ftputl = FTPUtil.getFtpUrl(ftp) + basepath + "/" + fileName;
// if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
// InputStream inputStream = connection.getInputStream();
//// log.info("url:", url, " --- " + "key:", key);
// boolean r = FTPUtil.uploadFile(ftp, basepath, fileName, inputStream);
// if (r) traffAlarmRecord.setVideopath(ftputl);
// //只更新监控
// if (traffAlarmRecord != null && traffAlarmRecord.getRecordid() != null) {
// traffAlarmRecordMapper.updateTraffAlarmRecordUrl(traffAlarmRecord);
//
// //推送给第三方
// ResultObj obj = eventWriteService.updateAndAutoSendEvent(traffAlarmRecord);
//// log.info("调用接口推送给广达返回信息:" + obj.toString());
//
// }
// }
// } catch (IOException e) {
// System.out.println(e.toString());
// log.error(e.toString());
// return 0;
// }
// }
//
// }
// return 1;
// },30, TimeUnit.SECONDS); //等待30秒钟执行
// }else {
// //推送给第三方
// ResultObj obj = eventWriteService.updateAndAutoSendEvent(traffAlarmRecord);
//// log.info("调用接口推送给广达返回信息:" + obj.toString());
//
// }
} catch (Exception e) {
log.error("解析事件告警数据异常 :" + e.getMessage());
} }
//
redisDao.incrOrDecr(Constant.succSizeTempKey, -1);
this.redisDao.incrOrDecr("excelToDB:succSizeTempKey", -1L);
} }
/**
* @Description: 用于接收对象集合,将集合遍历拆分成单个对象并进行发布
* @Param: [message] “fastjson”转换后的json字符串
* @Retrun: void
*/
public void receiveList(String message) throws InterruptedException { public void receiveList(String message) throws InterruptedException {
} }
} }
...@@ -22,5 +22,7 @@ public class TraffalarmrecordService { ...@@ -22,5 +22,7 @@ public class TraffalarmrecordService {
public Integer updateState(MqttResult result) { public Integer updateState(MqttResult result) {
return traffalarmrecordMapper.updateState(result); return traffalarmrecordMapper.updateState(result);
} }
public List<Traffalarmrecord> selectFailRecord() {
return traffalarmrecordMapper.selectFailRecord();
}
} }
\ No newline at end of file
...@@ -33,8 +33,8 @@ public class FTPUtil { ...@@ -33,8 +33,8 @@ public class FTPUtil {
@PostConstruct @PostConstruct
private void initHostMap(){ private void initHostMap(){
if(ftpHost==null){ if(ftpHost==null){
log.error("ftp存储组未配置,请先配置"); log.error("ftp�洢��δ���ã���������");
log.error("ftp存储组未配置,请先配置"); log.error("ftp�洢��δ���ã���������");
return; return;
} }
...@@ -57,7 +57,7 @@ public class FTPUtil { ...@@ -57,7 +57,7 @@ public class FTPUtil {
return; return;
} }
} catch (Exception e) { } catch (Exception e) {
log.error("FTP下载图片出错", e); log.error("FTP����ͼƬ����", e);
} finally { } finally {
IOUtils.closeQuietly(toClient); IOUtils.closeQuietly(toClient);
IOUtils.closeQuietly(is); IOUtils.closeQuietly(is);
...@@ -70,7 +70,7 @@ public class FTPUtil { ...@@ -70,7 +70,7 @@ public class FTPUtil {
try { try {
url = new URL(path); url = new URL(path);
} catch (MalformedURLException e) { } catch (MalformedURLException e) {
log.error("FTP URL路径错误"+e.toString()); log.error("FTP URL·������"+e.toString());
} }
byte[] buffer = null; byte[] buffer = null;
try (InputStream is = url.openStream();ByteArrayOutputStream bos = new ByteArrayOutputStream(1000)){ try (InputStream is = url.openStream();ByteArrayOutputStream bos = new ByteArrayOutputStream(1000)){
...@@ -82,13 +82,13 @@ public class FTPUtil { ...@@ -82,13 +82,13 @@ public class FTPUtil {
buffer = bos.toByteArray(); buffer = bos.toByteArray();
}catch (Exception e) { }catch (Exception e) {
log.error("FTP下载图片出错", e); log.error("FTP����ͼƬ����", e);
} }
return buffer; return buffer;
} }
//ftp图片上传,图片参数为base64封装的String //ftpͼƬ�ϴ���ͼƬ����Ϊbase64��װ��String
public static boolean uploadFile(Ftp ftpUrl, String path, String filename, String inputImg) { public static boolean uploadFile(Ftp ftpUrl, String path, String filename, String inputImg) {
boolean flag = true; boolean flag = true;
FTPClient ftpClient = null; FTPClient ftpClient = null;
...@@ -97,7 +97,7 @@ public class FTPUtil { ...@@ -97,7 +97,7 @@ public class FTPUtil {
if (inputImg == null) { if (inputImg == null) {
return false; return false;
} }
//base64解码 //base64����
BASE64Decoder decoder = new BASE64Decoder(); BASE64Decoder decoder = new BASE64Decoder();
byte[] b_img = decoder.decodeBuffer(inputImg); byte[] b_img = decoder.decodeBuffer(inputImg);
input = new ByteArrayInputStream(b_img); input = new ByteArrayInputStream(b_img);
...@@ -107,15 +107,15 @@ public class FTPUtil { ...@@ -107,15 +107,15 @@ public class FTPUtil {
changeWorkingDirectory(ftpClient, path); changeWorkingDirectory(ftpClient, path);
flag = ftpClient.storeFile(filename, input); flag = ftpClient.storeFile(filename, input);
if (flag) { if (flag) {
// log.info("FTP上传文件成功!"); // log.info("FTP�ϴ��ļ��ɹ���");
} else { } else {
flag = false; flag = false;
log.info("FTP上传文件失败!"); log.info("FTP�ϴ��ļ�ʧ�ܣ�");
} }
} }
} catch (Exception e) { } catch (Exception e) {
flag = false; flag = false;
log.error("FTP文件上传失败!", e.toString()); log.error("FTP�ļ��ϴ�ʧ�ܣ�", e.toString());
} finally { } finally {
IOUtils.closeQuietly(input); IOUtils.closeQuietly(input);
closeConnect(ftpClient); closeConnect(ftpClient);
...@@ -132,20 +132,20 @@ public class FTPUtil { ...@@ -132,20 +132,20 @@ public class FTPUtil {
changeWorkingDirectory(ftpClient, path); changeWorkingDirectory(ftpClient, path);
flag = ftpClient.storeFile(filename, input); flag = ftpClient.storeFile(filename, input);
if (flag) { if (flag) {
// log.info("FTP upload success"); // log.info("FTP upload success��");
} else { } else {
log.info("FTP upload fail"); log.info("FTP upload fail");
} }
} else { } else {
flag = false; flag = false;
// log.info("FTP server refused connection "); // log.info("FTP server refused connection ��");
} }
} catch (IOException e) { } catch (IOException e) {
flag = false; flag = false;
log.error("FTP upload fail", e); log.error("FTP upload fail��", e);
} catch (Exception e) { } catch (Exception e) {
flag = false; flag = false;
log.error("FTP upload fail", e); log.error("FTP upload fail��", e);
} finally { } finally {
IOUtils.closeQuietly(input); IOUtils.closeQuietly(input);
closeConnect(ftpClient); closeConnect(ftpClient);
...@@ -154,7 +154,7 @@ public class FTPUtil { ...@@ -154,7 +154,7 @@ public class FTPUtil {
} }
/* /*
* 得到配置文件中的FTP服务器地 * �õ������ļ��е�FTP��������ַ
*/ */
public static String getFtpUrl(Ftp ftpUrl) { public static String getFtpUrl(Ftp ftpUrl) {
StringBuffer buffer = new StringBuffer(); StringBuffer buffer = new StringBuffer();
...@@ -179,13 +179,13 @@ public class FTPUtil { ...@@ -179,13 +179,13 @@ public class FTPUtil {
* @param ftpUrl * @param ftpUrl
* @return * @return
* @throws Exception * @throws Exception
* @description 删除ftp上的文件 * @description ɾ��ftp�ϵ��ļ�
* @author sunw * @author sunw
*/ */
public static boolean deleteFileFromFtpUrl(String ftpUrl) throws Exception { public static boolean deleteFileFromFtpUrl(String ftpUrl) throws Exception {
boolean flag = false; boolean flag = false;
if (null == ftpUrl || StringUtils.isBlank(ftpUrl)) { if (null == ftpUrl || StringUtils.isBlank(ftpUrl)) {
throw new Exception("ftpUrl串为空"); throw new Exception("ftpUrl��Ϊ��");
} }
Map<String, String> result = getFtpInfoMapByFullPath(ftpUrl); Map<String, String> result = getFtpInfoMapByFullPath(ftpUrl);
String ftpUser = result.get("ftpUser"); String ftpUser = result.get("ftpUser");
...@@ -197,7 +197,7 @@ public class FTPUtil { ...@@ -197,7 +197,7 @@ public class FTPUtil {
Ftp ftp = FTPUtil.getFtpUrlObj(ftpIp, ftpPort, ftpUser, ftpPassword); Ftp ftp = FTPUtil.getFtpUrlObj(ftpIp, ftpPort, ftpUser, ftpPassword);
FTPClient ftpClient = connectServer(ftp); FTPClient ftpClient = connectServer(ftp);
if (null == ftpClient) { if (null == ftpClient) {
throw new Exception("ftp登录失败 "); throw new Exception("ftp��¼ʧ�� ");
} else { } else {
String fullPath = (null == path || "".equals(path.trim())) ? fileName : (path + "/" + fileName); String fullPath = (null == path || "".equals(path.trim())) ? fileName : (path + "/" + fileName);
try { try {
...@@ -215,12 +215,12 @@ public class FTPUtil { ...@@ -215,12 +215,12 @@ public class FTPUtil {
* @param ftpUrlStr * @param ftpUrlStr
* @return * @return
* @throws Exception * @throws Exception
* @author sunw 通过图片路径 * @author sunw ͨ��ͼƬ·��
* 获得ftpuser,ftppassword,ftpip,ftpport,在fpt上的文件路径,文件realname * ���ftpuser,ftppassword,ftpip,ftpport,��fpt�ϵ��ļ�·��,�ļ�realname
*/ */
private static Map<String, String> getFtpInfoMapByFullPath(String ftpUrlStr) throws Exception { private static Map<String, String> getFtpInfoMapByFullPath(String ftpUrlStr) throws Exception {
if (null == ftpUrlStr || "".equals(ftpUrlStr.trim())) { if (null == ftpUrlStr || "".equals(ftpUrlStr.trim())) {
throw new Exception("ftpstr串为空"); throw new Exception("ftpstr��Ϊ��");
} }
ftpUrlStr = ftpUrlStr.replaceAll("\\\\", "/"); ftpUrlStr = ftpUrlStr.replaceAll("\\\\", "/");
ftpUrlStr = changeUrlCharater(ftpUrlStr); ftpUrlStr = changeUrlCharater(ftpUrlStr);
...@@ -232,7 +232,7 @@ public class FTPUtil { ...@@ -232,7 +232,7 @@ public class FTPUtil {
String ftpPassword = ftpUserAndPassword[1]; String ftpPassword = ftpUserAndPassword[1];
String ftpIp = ftpIpAndPort[0]; String ftpIp = ftpIpAndPort[0];
String ftpPort = ftpIpAndPort.length > 1 ? ftpIpAndPort[1] : ""; String ftpPort = ftpIpAndPort.length > 1 ? ftpIpAndPort[1] : "";
String fileName = array[array.length - 1];// 获得文件名 String fileName = array[array.length - 1];// ����ļ���
Map<String, String> resultMap = new HashMap<String, String>(); Map<String, String> resultMap = new HashMap<String, String>();
resultMap.put("ftpUser", ftpUser); resultMap.put("ftpUser", ftpUser);
resultMap.put("ftpPassword", ftpPassword); resultMap.put("ftpPassword", ftpPassword);
...@@ -257,7 +257,7 @@ public class FTPUtil { ...@@ -257,7 +257,7 @@ public class FTPUtil {
boolean flag = deleteFileFromFtpUrl(temp); boolean flag = deleteFileFromFtpUrl(temp);
System.out.println(flag); System.out.println(flag);
} catch (Exception e) { } catch (Exception e) {
System.out.println("删除文件失败"); System.out.println(���ļ�ʧ��");
} }
// String [] strSplit = temp.split("/"); // String [] strSplit = temp.split("/");
// for(int i = 0 ; i < strSplit.length ; i++) { // for(int i = 0 ; i < strSplit.length ; i++) {
...@@ -272,7 +272,7 @@ public class FTPUtil { ...@@ -272,7 +272,7 @@ public class FTPUtil {
} }
/** /**
* 连接到服务器 * ���ӵ�������
*/ */
private static FTPClient connectServer(Ftp ftpUrl) { private static FTPClient connectServer(Ftp ftpUrl) {
FTPClient ftpClient = null; FTPClient ftpClient = null;
...@@ -292,18 +292,18 @@ public class FTPUtil { ...@@ -292,18 +292,18 @@ public class FTPUtil {
if (!FTPReply.isPositiveCompletion(reply)) { if (!FTPReply.isPositiveCompletion(reply)) {
ftpClient.disconnect(); ftpClient.disconnect();
System.err.println("FTP server refused connection."); System.err.println("FTP server refused connection.");
log.info("FTP 服务拒绝连接!"); log.info("FTP ����ܾ����ӣ�");
} }
} catch (SocketException e) { } catch (SocketException e) {
log.error("登录ftp服务器 " + ftpUrl.getFtpIp() + " 失败,连接超时!", e); log.error("��¼ftp������ " + ftpUrl.getFtpIp() + " ʧ��,���ӳ�ʱ��", e);
} catch (IOException e) { } catch (IOException e) {
log.error("登录ftp服务器 " + ftpUrl.getFtpIp() + " 失败,FTP服务器无法打开!", e); log.error("��¼ftp������ " + ftpUrl.getFtpIp() + " ʧ�ܣ�FTP�������޷��򿪣�", e);
} }
return ftpClient; return ftpClient;
} }
/** /**
* 关闭连接 * �ر�����
*/ */
private static void closeConnect(FTPClient ftpClient) { private static void closeConnect(FTPClient ftpClient) {
try { try {
...@@ -314,12 +314,12 @@ public class FTPUtil { ...@@ -314,12 +314,12 @@ public class FTPUtil {
ftpClient.disconnect(); ftpClient.disconnect();
} }
} catch (Exception e) { } catch (Exception e) {
log.error("关闭ftp连接失败", e); log.error("�ر�ftp����ʧ��", e);
} }
} }
/** /**
* 进入到服务器的某个目录下 * ���뵽��������ij��Ŀ¼��
* *
* @param directory * @param directory
*/ */
...@@ -336,12 +336,12 @@ public class FTPUtil { ...@@ -336,12 +336,12 @@ public class FTPUtil {
ftpClient.changeWorkingDirectory(subPath); ftpClient.changeWorkingDirectory(subPath);
} }
} catch (IOException ioe) { } catch (IOException ioe) {
log.error("改变ftp工作路径失败", ioe); log.error("�ı�ftp����·��ʧ��", ioe);
} }
} }
/** /**
* 转码[ISO-8859-1 -> GBK] 不同的平台需要不同的转码 * ת��[ISO-8859-1 -> GBK] ��ͬ��ƽ̨��Ҫ��ͬ��ת��
* *
* @param obj * @param obj
* @return "" * @return ""
......
...@@ -192,4 +192,10 @@ ...@@ -192,4 +192,10 @@
confirmUser=#{confirmUser},confirmTime=#{confirmTime} confirmUser=#{confirmUser},confirmTime=#{confirmTime}
where eventid=#{eventid} where eventid=#{eventid}
</update> </update>
<select id="selectFailRecord" resultType="com.hzjt.domain.Traffalarmrecord">
select a.* from TRAFFALARMRECORD a
where recordtime<![CDATA[ <= ]]> SYSDATE - NUMTODSINTERVAL(30, 'MINUTE') and recordtime > ADD_MONTHS(SYSDATE, -2)
and img1path is null
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment