overspeed address

This commit is contained in:
pringgosutono
2026-05-06 14:42:22 +07:00
parent 71d02fd489
commit 4fb986c04d

View File

@ -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 {