<火山程序 类型 = "通常" 版本 = 1 />
变量 判断是否在线 <类型 = 用户信息实时类>
判断是否在线 = 缓存池.取指定类型对象 (id, 用户信息实时类)
如果真 (判断是否在线.正在拦截订单 == 假 && 判断是否在线.是否正在抢单 == 真)
{
变量 分析订单 <类型 = YYJSON只读对象类>
变量 cargoId <类型 = 长整数>
变量 distance <类型 = 文本型>
变量 单位 <类型 = 文本型>
变量 loadAddress <类型 = 文本型>
变量 extraBargainFeeStr <类型 = 文本型>
变量 paymentWayStr <类型 = 文本型>
变量 chargeType <类型 = 文本型>
变量 description <类型 = 文本型>
变量 http <类型 = 网络访问类_COM版>
变量 unloadAddress <类型 = 文本型>
变量 url <类型 = 文本型>
变量 urlpath <类型 = 文本型>
变量 expenses <类型 = 文本型>
变量 数据_ <类型 = 文本到对象哈希表>
变量 用户数据 <类型 = 用户信息实时类>
变量 ua <类型 = 文本型>
变量 提交密文 <类型 = 文本型>
变量 ret <类型 = 文本型>
变量 结果值 <类型 = 文本型>
变量 抢单成功 <类型 = 逻辑型>
如果真 (分析订单.创建自文本 (数据))
{
变量 中间缓存池 <类型 = 文本到对象哈希表>
中间缓存池 = 缓存池
变量 缓存对象 <类型 = 用户信息实时类>
缓存对象 = 中间缓存池.取指定类型对象 (id, 用户信息实时类)
缓存对象.正在拦截订单 = 真
缓存池.插入 (id, 缓存对象)
变量 CAR <类型 = 文本型>
变量 粗略信息过滤 <类型 = 文本型>
变量 重复ID <类型 = 文本型>
cargoId = 分析订单.取路径长整数 ("/data/cargoId")
CAR = 分析订单.取路径文本 ("/data/truckInfo")
distance = 分析订单.取路径文本 ("/data/distance")
单位 = 分析订单.取路径内容 ("/data/distanceSuffix")
loadAddress = 分析订单.取路径文本 ("/data/addressInfo/0/loadAddress")
unloadAddress = 分析订单.取路径文本 ("/data/addressInfo/0/unloadAddress")
description = 分析订单.取路径文本 ("/data/description")
chargeType = 分析订单.取路径文本 ("/data/chargeType")
paymentWayStr = 分析订单.取路径文本 ("/data/paymentWayStr")
extraBargainFeeStr = 分析订单.取路径文本 ("/data/extraBargainFeeStr")
expenses = 分析订单.取路径文本 ("/data/expenses")
调试输出 (description)
粗略信息过滤 = unloadAddress + description + CAR
变量 是否继续 <类型 = 逻辑型>
是否继续 = 假
如果 (文本到小数 (expenses) < 缓存对象.抢单金额 && 缓存对象.抢单金额 != 0)
{
}
否则 (判断是否存在关键词 (粗略信息过滤, 缓存对象.屏蔽关键词))
{
}
否则 (寻找文本 (重复ID, 到文本 (cargoId), , ) != -1)
{
}
否则
{
如果 (cargoId != 0 && 单位 == "公里")
{
如果真 (文本到小数 (distance) <= 缓存对象.抢单范围 || 缓存对象.抢单范围 == 0)
{
是否继续 = 真
}
}
否则 (cargoId != 0 && 单位 == "米")
{
如果真 (文本到小数 (distance) / 1000 <= 缓存对象.抢单范围 || 缓存对象.抢单范围 == 0)
{
是否继续 = 真
}
}
}
如果真 (cargoId != 0 && 是否继续)
{
数据_ = 缓存池
如果真 (数据_.是否存在 (id))
{
中间缓存池 = 缓存池
缓存对象 = 中间缓存池.取指定类型对象 (id, 用户信息实时类)
缓存对象.是否正在抢单 = 真
缓存池.插入 (id, 缓存对象)
变量 详情页面POST <类型 = 文本型
值 = "{\"extraInfo\":{},\"lon\":[lon],\"cargoId\":[id],\"cargoDetailPageSourceInfo\":{\"sourcePage\":\"ShortDistance_MonitorList\"},\"logPageName\":\"newDriverShortDistanceSchema\",\"scene\":\"\",\"showBJTime\":false,\"lat\":[lat],\"cargoDetailPageSource\":{\"sourcePage\":\"ShortDistance_MonitorList\"},\"dfp\":\"[ID]\",\"passcodeEnter\":false,\"assignedCargo\":false}">
子文本替换_连续 (详情页面POST, "[lon]", 缓存对象.longitude, "[lat]", 缓存对象.latitude, "[id]", 到文本 (cargoId), "[ID]", id)
urlpath = "/sd-cargo-detail-mg/cargo/detail"
ua = 获取协议头 (id, urlpath, "server:mbproxy,main,default route")
url = "https://www.ymm56.com/sd-cargo-detail-mg/cargo/detail"
提交密文 = 加密 (urlpath, 详情页面POST)
结果值 = http.网页访问_T (url, 1, 提交密文, , ua, , , , , , , , )
ret = 解密 (urlpath, 结果值)
如果真 (ret != "")
{
变量 json_取数组1 <类型 = YYJSON只读对象类>
变量 json_数组1 <类型 = YYJSON只读数组类>
如果真 (json_取数组1.创建自文本 (ret))
{
json_数组1 = json_取数组1.取路径数组 ("/data/componentList")
如果真 (json_数组1 != 空对象)
{
变量 客户描述 <类型 = 文本型>
变量 订单lat <类型 = 文本型>
变量 订单lon <类型 = 文本型>
变量 cargoUserId <类型 = 文本型>
变量 公里单价 <类型 = 文本型>
变量 总数 <类型 = 整数>
变量 cargoVersion <类型 = 文本型>
变量 platformNewDriver <类型 = 文本型>
变量 bizSceneKey <类型 = 文本型>
变量 peccancy <类型 = 文本型>
变量 newChargeMode <类型 = 文本型>
订单lat = 到文本 (json_取数组1.取路径小数 ("/data/pageExtraInfo/extraFields/lat"))
订单lon = 到文本 (json_取数组1.取路径小数 ("/data/pageExtraInfo/extraFields/lon"))
cargoUserId = 到文本 (json_取数组1.取路径长整数 ("/data/pageExtraInfo/extraFields/cargoUserId"))
cargoVersion = 到文本 (json_取数组1.取路径整数 ("/data/pageExtraInfo/extraFields/cargoVersion"))
bizSceneKey = 到文本 (json_取数组1.取路径整数 ("/data/pageExtraInfo/extraFields/bizSceneKey"))
如果 (json_取数组1.取路径逻辑型 ("/data/pageExtraInfo/extraFields/platformNewDriver"))
{
platformNewDriver = "true"
}
否则
{
platformNewDriver = "false"
}
如果 (json_取数组1.取路径逻辑型 ("/data/pageExtraInfo/extraFields/peccancy"))
{
peccancy = "true"
}
否则
{
peccancy = "false"
}
如果 (json_取数组1.取路径逻辑型 ("/data/pageExtraInfo/extraFields/newChargeMode"))
{
newChargeMode = "true"
}
否则
{
newChargeMode = "false"
}
总数 = json_数组1.取成员数 ()
变量 ProductId <类型 = 文本型>
变量 ProductId_status <类型 = 文本型>
变量 chargeDisplayFlag <类型 = 文本型>
变量 token <类型 = 文本型>
变量 当前订单类型 <类型 = 文本型>
变量 用车时间 <类型 = 文本型>
变量 距离 <类型 = 文本型>
变量 订单金额 <类型 = 文本型>
变量 到付 <类型 = 文本型>
变量 车辆要求类型 <类型 = 文本型>
变量 出发地与目的地 <类型 = 文本型>
计次循环 (总数)
{
变量 描述内容 <类型 = 文本型>
如果真 (json_数组1.取成员 (取循环索引 ()).取路径文本 ("/componentType") == "short_distance_top_info")
{
公里单价 = json_数组1.取成员 (取循环索引 ()).取路径文本 ("/moduleData/bargainingRule")
调试输出 (json_数组1.取成员 (取循环索引 ()).取路径文本 ("/moduleData/bargainingRule"))
}
描述内容 = json_数组1.取成员 (取循环索引 ()).取路径文本 ("/moduleData/list/0/content")
如果真 (描述内容 != "")
{
客户描述 = 客户描述 + "\r\n" + 描述内容
}
如果真 (json_数组1.取成员 (取循环索引 ()).取路径文本 ("/componentType") == "MBShortDistanceStatusComponent")
{
当前订单类型 = json_数组1.取成员 (取循环索引 ()).取路径文本 ("/moduleData/bizLogo")
用车时间 = json_数组1.取成员 (取循环索引 ()).取路径文本 ("/moduleData/title")
距离 = json_数组1.取成员 (取循环索引 ()).取路径文本 ("/moduleData/distance") + json_数组1.取成员 (取循环索引 ()).取路径文本 ("/moduleData/loadingNavigateDistance")
}
如果真 (json_数组1.取成员 (取循环索引 ()).取路径文本 ("/componentType") == "MBShortDistancePriceComponent")
{
订单金额 = json_数组1.取成员 (取循环索引 ()).取路