overspeed address
This commit is contained in:
@ -12,6 +12,9 @@ const ZoneModels = require("../models/ZoneModels")
|
||||
const LibHelper = require("../library/LibHelper")
|
||||
const db = require("../config/dbConnCron")
|
||||
const axios = require("axios")
|
||||
const request = require("../config/request")
|
||||
const url = require("url")
|
||||
const TIMEFIX = 25200
|
||||
Validator.useLang("en")
|
||||
|
||||
const devices = []
|
||||
@ -338,7 +341,39 @@ async function commitMessage(now, logDevice) {
|
||||
const users = await db.query(queryUsers, [])
|
||||
if (users && users.length > 0) {
|
||||
const nopol = (vhc[0].nopol1 || "") + (vhc[0].nopol2 || "") + (vhc[0].nopol3 || "")
|
||||
const rawMsg = `${nopol} | OVERSPEED | ${logDevice.crt_d_format} | ${logDevice.speed} km/h`
|
||||
let address = ""
|
||||
if (logDevice.latitude && logDevice.longitude) {
|
||||
try {
|
||||
const sameAddr = await GpsTracksModels.select2Address(logDevice.latitude, logDevice.longitude)
|
||||
if (sameAddr.length > 0) {
|
||||
address = decodeURIComponent(sameAddr[0].fulladdress)
|
||||
} else {
|
||||
const axInstance = axios.create({
|
||||
proxy: process.env.PROXY_URL ? {
|
||||
host: process.env.PROXY_URL,
|
||||
port: Number(process.env.PROXY_PORT),
|
||||
} : false,
|
||||
timeout: 15_000,
|
||||
})
|
||||
const urlBase = request.osm_reverse_geo.urlFull
|
||||
const params = new url.URLSearchParams({
|
||||
lat: logDevice.latitude,
|
||||
lon: logDevice.longitude,
|
||||
format: "geojson",
|
||||
})
|
||||
const resp = await axInstance.get(`${urlBase}?${params.toString()}`, {
|
||||
headers: { "User-Agent": `movana-fleet-management-overspeed` },
|
||||
})
|
||||
if (resp.status === 200 && resp.data && resp.data.features && resp.data.features.length > 0) {
|
||||
address = resp.data.features[0].properties.display_name
|
||||
}
|
||||
}
|
||||
} catch (addrErr) {
|
||||
console.error("Error fetching address for overspeed alert:", addrErr.message)
|
||||
}
|
||||
}
|
||||
const time = moment.unix(logDevice.crt_d + TIMEFIX).format('DD MMM YYYY HH:mm:ss')
|
||||
const rawMsg = `${nopol} | OVERSPEED | ${time} | ${logDevice.speed} km/h | ${address}`
|
||||
for (let user of users) {
|
||||
if (user.phone) {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user