新增安防告警不带图片和只上传图片
This commit is contained in:
parent
15dd120b0d
commit
8b13375a24
@ -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);
|
||||
}
|
||||
}
|
||||
|
@ -45,6 +45,15 @@ public interface UploadedPhotosMapper
|
||||
*/
|
||||
public int updateUploadedPhotos(UploadedPhotos uploadedPhotos);
|
||||
|
||||
/**
|
||||
* 通过SN和图片进行更新数据
|
||||
* @param uploadedPhotos
|
||||
* @return
|
||||
*/
|
||||
public int updateBySnAndTime(UploadedPhotos uploadedPhotos);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 删除存储上传的照片信息
|
||||
*
|
||||
|
@ -89,6 +89,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
where id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateBySnAndTime" parameterType="com.fastbee.iot.model.anfang.UploadedPhotos">
|
||||
update uploaded_photos
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="photoPath != null and photoPath != ''">photo_path = #{photoPath},</if>
|
||||
<if test="monitorPath != null and monitorPath != ''">monitor_path = #{monitorPath},</if>
|
||||
<if test="imei != null and imei != ''">imei = #{imei},</if>
|
||||
<if test="sn != null">sn = #{sn},</if>
|
||||
<if test="lat != null">lat = #{lat},</if>
|
||||
<if test="lng != null">lng = #{lng},</if>
|
||||
<if test="temp != null">temp = #{temp},</if>
|
||||
<if test="doorState != null">door_state = #{doorState},</if>
|
||||
<if test="shakeState != null">shake_state = #{shakeState},</if>
|
||||
<if test="uploadTime != null">upload_time = #{uploadTime},</if>
|
||||
</trim>
|
||||
where sn = #{sn} and upload_time = #{uploadTime}
|
||||
</update>
|
||||
|
||||
<delete id="deleteUploadedPhotosById" parameterType="Long">
|
||||
delete from uploaded_photos where id = #{id}
|
||||
</delete>
|
||||
|
@ -119,8 +119,10 @@ public class MaGuangaiRecordServiceImpl implements IMaGuangaiRecordService
|
||||
record.setCardId(item.get("card_id").toString());
|
||||
record.setAreaCode(item.get("area_code").toString());
|
||||
record.setUserBalance(com.fastbee.common.utils.NumberUtils.formatFloat(Float.parseFloat(item.get("user_balance").toString())/100)+"");
|
||||
record.setCurFlow(item.get("cur_flow").toString());
|
||||
record.setCurEle(item.get("cur_ele").toString());
|
||||
record.setCurFlow(item.get("cur_flow").toString().equals("null")?"--":
|
||||
(com.fastbee.common.utils.NumberUtils.formatFloat(Float.parseFloat(item.get("cur_flow").toString())/100)+""));
|
||||
record.setCurEle(item.get("cur_ele").toString().equals("null")?"--":
|
||||
(com.fastbee.common.utils.NumberUtils.formatFloat(Float.parseFloat(item.get("cur_ele").toString())/100)+""));
|
||||
record.setStatus(Integer.parseInt(item.get("status").toString()));
|
||||
if(StringUtils.isNotEmpty(item.get("create_time").toString())){
|
||||
if(NumberUtil.isNumber(item.get("create_time").toString())) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user