新增安防告警不带图片和只上传图片
This commit is contained in:
@ -30,15 +30,14 @@ import static com.fastbee.common.utils.StringUtils.isEmpty;
|
||||
|
||||
/**
|
||||
* 设备告警上传Controller
|
||||
*
|
||||
*
|
||||
* @author Dunxi Zang
|
||||
* @date 2024-06-19
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/iot/photos")
|
||||
@Api(tags = "安防小板")
|
||||
public class UploadedPhotosController extends BaseController
|
||||
{
|
||||
public class UploadedPhotosController extends BaseController {
|
||||
@Autowired
|
||||
private IUploadedPhotosService uploadedPhotosService;
|
||||
|
||||
@ -47,8 +46,7 @@ public class UploadedPhotosController extends BaseController
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('iot:photos:list')")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(UploadedPhotos uploadedPhotos)
|
||||
{
|
||||
public TableDataInfo list(UploadedPhotos uploadedPhotos) {
|
||||
startPage();
|
||||
List<UploadedPhotos> list = uploadedPhotosService.selectUploadedPhotosList(uploadedPhotos);
|
||||
return getDataTable(list);
|
||||
@ -60,8 +58,7 @@ public class UploadedPhotosController extends BaseController
|
||||
@PreAuthorize("@ss.hasPermi('iot:photos:export')")
|
||||
@Log(title = "设备告警上传", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response, UploadedPhotos uploadedPhotos)
|
||||
{
|
||||
public void export(HttpServletResponse response, UploadedPhotos uploadedPhotos) {
|
||||
List<UploadedPhotos> list = uploadedPhotosService.selectUploadedPhotosList(uploadedPhotos);
|
||||
ExcelUtil<UploadedPhotos> util = new ExcelUtil<UploadedPhotos>(UploadedPhotos.class);
|
||||
util.exportExcel(response, list, "设备告警上传数据");
|
||||
@ -72,8 +69,7 @@ public class UploadedPhotosController extends BaseController
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('iot:photos:query')")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") Long id)
|
||||
{
|
||||
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
||||
return success(uploadedPhotosService.selectUploadedPhotosById(id));
|
||||
}
|
||||
|
||||
@ -101,12 +97,11 @@ public class UploadedPhotosController extends BaseController
|
||||
String filePath = RuoYiConfig.getUploadPath();
|
||||
// 上传并返回新文件名称
|
||||
String fileName = FileUploadUtils.upload(filePath, photo);
|
||||
|
||||
// 处理可能为空的字段
|
||||
Double latitude = isEmpty(lat) ? 0.0 : Double.valueOf(lat);
|
||||
Double longitude = isEmpty(lng) ? 0.0 : Double.valueOf(lng);
|
||||
Double temperature = isEmpty(temp) ? 0.0 : convertAndRoundTemperature(temp);
|
||||
if(doorState.equals("0")){
|
||||
if (doorState.equals("0")) {
|
||||
shakeState = "1";
|
||||
}
|
||||
// 处理时间戳
|
||||
@ -117,7 +112,7 @@ public class UploadedPhotosController extends BaseController
|
||||
//推送告警短信通知
|
||||
uploadedPhotosService.sendAlarmMessage(sn, doorState, shakeState);
|
||||
UploadedPhotos uploadedPhotos = new UploadedPhotos(
|
||||
null, fileName, monitorPath,imei, sn, latitude, longitude, temperature, doorState, shakeState, date
|
||||
null, fileName, monitorPath, imei, sn, latitude, longitude, temperature, doorState, shakeState, date
|
||||
);
|
||||
return toAjax(uploadedPhotosService.insertUploadedPhotos(uploadedPhotos));
|
||||
} catch (IOException e) {
|
||||
@ -127,6 +122,7 @@ public class UploadedPhotosController extends BaseController
|
||||
|
||||
/**
|
||||
* 箱门告警
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("doorAlert")
|
||||
@ -134,6 +130,66 @@ public class UploadedPhotosController extends BaseController
|
||||
return toAjax(uploadedPhotosService.doorAlert(doorAlertBto));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增设备告警上传不带图片
|
||||
*/
|
||||
@PostMapping("eventNotPic")
|
||||
public AjaxResult uploadEvent(
|
||||
@RequestParam("imei") String imei,
|
||||
@RequestParam("sn") String sn,
|
||||
@RequestParam("lat") String lat,
|
||||
@RequestParam("lng") String lng,
|
||||
@RequestParam("temp") String temp,
|
||||
@RequestParam("doorState") String doorState,
|
||||
@RequestParam("shakeState") String shakeState,
|
||||
@RequestParam("time") String time) {
|
||||
// 处理可能为空的字段
|
||||
Double latitude = isEmpty(lat) ? 0.0 : Double.valueOf(lat);
|
||||
Double longitude = isEmpty(lng) ? 0.0 : Double.valueOf(lng);
|
||||
Double temperature = isEmpty(temp) ? 0.0 : convertAndRoundTemperature(temp);
|
||||
if (doorState.equals("0")) {
|
||||
shakeState = "1";
|
||||
}
|
||||
// 处理时间戳
|
||||
long timestamp = Long.parseLong(time + "000");
|
||||
Date date = new Date(timestamp);
|
||||
//抓拍监控,并返回路径
|
||||
String monitorPath = uploadedPhotosService.captureMonitorPhoto(sn);
|
||||
//推送告警短信通知
|
||||
uploadedPhotosService.sendAlarmMessage(sn, doorState, shakeState);
|
||||
UploadedPhotos uploadedPhotos = new UploadedPhotos(
|
||||
null, "", monitorPath, imei, sn, latitude, longitude, temperature, doorState, shakeState, date
|
||||
);
|
||||
return toAjax(uploadedPhotosService.insertUploadedPhotos(uploadedPhotos));
|
||||
}
|
||||
|
||||
/**
|
||||
* 只上传告警图片
|
||||
*/
|
||||
@PostMapping("uploadPicByTime")
|
||||
public AjaxResult uploadPicByTime(
|
||||
@RequestParam("fileToUpload") MultipartFile photo,
|
||||
@RequestParam("sn") String sn,
|
||||
@RequestParam("time") String time) {
|
||||
// 处理时间戳
|
||||
try {
|
||||
// 上传文件路径
|
||||
String filePath = RuoYiConfig.getUploadPath();
|
||||
// 上传并返回新文件名称
|
||||
String fileName = FileUploadUtils.upload(filePath, photo);
|
||||
// 处理时间戳
|
||||
long timestamp = Long.parseLong(time + "000");
|
||||
Date date = new Date(timestamp);
|
||||
//推送告警短信通知
|
||||
UploadedPhotos uploadedPhotos = new UploadedPhotos();
|
||||
uploadedPhotos.setSn(sn);
|
||||
uploadedPhotos.setPhotoPath(fileName);
|
||||
uploadedPhotos.setUploadTime(date);
|
||||
return toAjax(uploadedPhotosService.uploadPicByTime(uploadedPhotos));
|
||||
} catch (IOException e) {
|
||||
throw new ServiceException("设备告警信息上传失败");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改设备告警上传
|
||||
@ -141,8 +197,7 @@ public class UploadedPhotosController extends BaseController
|
||||
@PreAuthorize("@ss.hasPermi('iot:photos:edit')")
|
||||
@Log(title = "设备告警上传", businessType = BusinessType.UPDATE)
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody UploadedPhotos uploadedPhotos)
|
||||
{
|
||||
public AjaxResult edit(@RequestBody UploadedPhotos uploadedPhotos) {
|
||||
return toAjax(uploadedPhotosService.updateUploadedPhotos(uploadedPhotos));
|
||||
}
|
||||
|
||||
@ -151,11 +206,11 @@ public class UploadedPhotosController extends BaseController
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('iot:photos:remove')")
|
||||
@Log(title = "设备告警上传", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable Long[] ids)
|
||||
{
|
||||
@DeleteMapping("/{ids}")
|
||||
public AjaxResult remove(@PathVariable Long[] ids) {
|
||||
return toAjax(uploadedPhotosService.deleteUploadedPhotosByIds(ids));
|
||||
}
|
||||
|
||||
public static Double convertAndRoundTemperature(String tempStr) {
|
||||
// 将字符串转换为double
|
||||
double temp = Double.parseDouble(tempStr);
|
||||
|
@ -77,4 +77,6 @@ public interface IUploadedPhotosService
|
||||
void sendAlarmMessage(String sn, String doorState, String shakeState);
|
||||
|
||||
String doorAlert(DoorAlertBto doorAlertBto) throws Exception;
|
||||
|
||||
int uploadPicByTime(UploadedPhotos uploadedPhotos);
|
||||
}
|
||||
|
@ -302,4 +302,10 @@ public class UploadedPhotosServiceImpl implements IUploadedPhotosService {
|
||||
return "生成失败";
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int uploadPicByTime(UploadedPhotos uploadedPhotos) {
|
||||
//根据时间和sn进行复制图片链接
|
||||
return uploadedPhotosMapper.updateBySnAndTime(uploadedPhotos);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user