Created
January 8, 2020 04:17
-
-
Save qichunren/e72353f8e447087a03e9a43d79a219ff to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'open-uri' | |
require 'json' | |
require 'time' | |
orders = {} | |
ROUTE_TYPE_CROSS = 7 | |
ROUTE_TYPE_INNER = 3 | |
USER_ID = "xxxxxxx-dae3-4682-92a7-fcd323b52a3c" | |
def fetch_result(route_id:, route_type:, sign:, ddcinfo:) | |
response_body = open("http://capis-slb.didapinche.com/carpool/list/driver/route/old?route_id=#{route_id}&route_type=#{route_type}&user_cid=#{USER_ID}&order_by=0&page=1&page_size=20", | |
"User-Agent" => "DidaPinche/8.6.0(xxx) [[App]] Dalvik/2.1.0 (Linux; U; Android 9; 7 Pro MIUI/V10.3.11.0.PFHCNXM)", | |
"ddcinfo" => ddcinfo, | |
"Sign" => sign, | |
"Authorization" => "Bearer VOw4Gxxxxuyh45i6ZWf7qJ9tFiJN3l11r6p3EoOyXj+qVA/qhSugTiOV8tZ4Yxxxgdk7nC7kbbaMsFFpqTSmf5uiIPeM5etg2Vmy88351mNaJV1s7yBWRa", | |
"Host" => "capis-slb.didapinche.com", | |
"Connection" => "Keep-Alive" | |
).read | |
return response_body | |
end | |
while true | |
json_res = JSON.parse(fetch_result(route_id: "1sdfsafs232323", route_type: ROUTE_TYPE_CROSS, sign: "76466cxxxx60012a4151c818e6de31 1573108527 carpool", ddcinfo: "ehAq+CFEfF1U0cfR2zWYFgZak7CjkZ0O/+0PNMwQLLAW+tUw6h+y9KDa+9dq2ATRsypbUDuhXjjwVzB/+l7d1atmSJ92SzE2W2gpKRehcINDhnJCW9P5FLevuEbW5gRm8dmpDA4QldbPdFwwD0e8rHxcp8CzFpPzFwF3hiOBeSDRM8OXJO8mLzqJ/f8hsbK0aIdBOnrm8dmRXoESsNTOdHfeTQU0wFgc8xh+44DToymIw3zMWqEa3HZNDmqbwnXXniuIEr2PM8cXQ+UXLkjE7jMyaMhlDC3V2YbuKeEOGH7z1cRhu5zffv1FlvBXBIjlh6bqlVilhc4AhrLtFaNbf6P9anjjKQuGq0GMm1skIAmccsbpC3AxHkav9E6dNHFftXafbqa67wE6TRNNAwXPgHcK8nrYJYyWAo1zFoyRVQe68zXpa0jE/e4QSQ0Uy6BwQAAIseOr07vLq/qKSCavBMPs0FrES39r1SOmH4uH8AFKkO3FT2/Ef9f38DYFd4ecJPgDry+3joQOoR+3TX2zSTVf9pAD/DLQjMvAzclielQhHAOnO+6DXgB4Ed4pwzEVnwDxI7kEGi1rvLRubptJY+AGCeoUsNWRcwJUJCaggbODOoNjA7kA5h7pQqRfwjyas7jNVBv2IoLF79iWImisdg929uGDKbOOekI4raQBlf9ErZeNVzPMLl8mnOVLD8VlE0oGkxuH3KOQvw1dHYgBQABrB/MiXXzrNGa3ValHVp1TY66HE1tWoPFnQogELL+y3Bu6dLi6iv3wDgXXK8Gat21e3GpUK7vsGvkypE084kAUhg9xIe8LUU9uwVZHkE08hmmJ0HCcM3EJI5I/jOYzSHrt5YY/uMA/i78OV8owWfX0cfAb7+QQ6CgwIx8IxucD2UtmpZ5FSlsOKKZMe/S2hAtqO14QRAE0tUYw/b/w/5zLw3LKSBINOg==")) | |
json_res['list'].each do |info_item| | |
start_addr = info_item['from_poi']['long_address'] || info_item['from_poi']['short_address'] | |
start_addr2 = info_item['from_poi']['short_address'] | |
start_distance = info_item['from_poi']['business'] | |
end_addr = info_item['to_poi']['long_address'] | |
end_addr2 = info_item['to_poi']['short_address'] | |
end_distance = info_item['to_poi']['business'] | |
price = info_item['driver_received_price'] | |
person_num = info_item['person_num'] | |
plan_start_time = Time.parse(info_item['plan_start_time']) | |
match_percent = info_item['match_percent'] | |
order_id = info_item['id'] | |
if plan_start_time.hour >= 19 && plan_start_time.hour < 21 | |
if match_percent >= 80 | |
if orders[order_id].nil? | |
if match_percent >= 85 | |
system("notify-send -i face-wink \"#{plan_start_time.strftime('%H:%M')} #{price} (#{start_distance} -> #{end_distance}) #{start_addr2} - #{end_addr2}\"") | |
end | |
puts "!!!!!! #{plan_start_time.strftime('%H:%M')} #{price}元 顺路指数:#{match_percent} (#{start_distance} -> #{end_distance}) #{start_addr} - #{end_addr}" | |
orders[order_id] = info_item | |
end | |
elsif match_percent >= 75 | |
if orders[order_id].nil? | |
puts "! #{plan_start_time.strftime('%H:%M')} #{price}元 顺路指数:#{match_percent} (#{start_distance} -> #{end_distance}) #{start_addr} - #{end_addr}" | |
orders[order_id] = info_item | |
end | |
end | |
end | |
end # end each | |
sleep(3) | |
json_res = JSON.parse(fetch_result(route_id: "3670821871235118211111", route_type: ROUTE_TYPE_INNER, sign: "d0f833338e0be71655ba674ef6453749bdfa 1573108392 carpool", ddcinfo: "ehAq+CFEfF1U0cfR2zWYFgZak7CjkZ0O/+0PNMwQLLAW+tUw6h+y9KDa+9dq2ATRsypbUDuhXjjwVzB/+l7d1atmSJ92SzE2W2gpKRehcINDhnJCW9P5FLevuEbW5gRm8dmpDA4QldbPdFwwD0e8rHxcp8CzFpPzFwF3hiOBeSDRM8OXJO8mLzqJ/f8hsbK0aIdBOnrm8dmRXoESsNTOdHfeTQU0wFgc8xh+44DToymIw3zMWqEa3HZNDmqbwnXXniuIEr2PM8cXQ+UXLkjE7jMyaMhlDC3V2YbuKeEOGH7z1cRhu5zffv1FlvBXBIjlh6bqlVilhc4AhrLtFaNbf6P9anjjKQuGq0GMm1skIAmoF6Pmp/mWVjFDoyCPv/6aoWP9FhmXruFZHLKSVY43MEtTr1o2ukV4uQlkASAWaZQjrWPXnfEaWjEiJFW0rRWQ+4t2KImWmQmUvElTH+Rb4T8VZspXPgGi8ReZZh8viY4qYMi2ixTT+l2rnIR2lSd9r1YnSwB+ljmJQs1NtYMLPSpUwNNpxcofVYUO7meZA6DS/6fMyt3XGRZaPHq1pj3q26PqLKaFVIMW+mTfGByN2FALTHYWhEC8miJwhXlIIc/Cux9Q584OIT5CqZ/97xPo90rWQ908hMMPNcOSxSHN4YKvUSPfQl9ODbL4TfdoNblTZAnILYCYH3RFE6wA98p7Opaot0zmmU7l6lSmAB687aWizTd2Kh/knN5sNMhMzH0zzIogNURbX8D65AlnLbXGsrVnH3gW+xeGXRUxvqiBB+zEYY4qgFCt2LQqgV/SMCUMB+ufvGq33nW9ZL0Xurl9D8yLJsOiuaXx+DeytKuQUVRrFRHwlqinoDQX8MzMdsU3c55HC3/kuz6RQu58Be60p9HLms4UgHYN15cOtIndWqoKHo59bNntX/hQWVMMYo5mpsAwoNDV+g==")) | |
json_res['list'].each do |info_item| | |
start_addr = info_item['from_poi']['long_address'] || info_item['from_poi']['short_address'] | |
start_addr2 = info_item['from_poi']['short_address'] | |
start_distance = info_item['from_poi']['business'] | |
end_addr = info_item['to_poi']['long_address'] | |
end_addr2 = info_item['to_poi']['short_address'] | |
end_distance = info_item['to_poi']['business'] | |
price = info_item['driver_received_price'] | |
person_num = info_item['person_num'] | |
plan_start_time = Time.parse(info_item['plan_start_time']) | |
match_percent = info_item['match_percent'] | |
order_id = info_item['id'] | |
if plan_start_time.hour >= 19 && plan_start_time.hour < 21 | |
if match_percent >= 80 | |
if orders[order_id].nil? | |
if match_percent >= 85 | |
system("notify-send -i face-wink \"#{plan_start_time.strftime('%H:%M')} #{price} (#{start_distance} -> #{end_distance}) #{start_addr2} - #{end_addr2}\"") | |
end | |
puts "!!!!!! #{plan_start_time.strftime('%H:%M')} #{price}元 顺路指数:#{match_percent} (#{start_distance} -> #{end_distance}) #{start_addr} - #{end_addr}" | |
orders[order_id] = info_item | |
end | |
elsif match_percent >= 75 | |
if orders[order_id].nil? | |
puts "! #{plan_start_time.strftime('%H:%M')} #{price}元 顺路指数:#{match_percent} (#{start_distance} -> #{end_distance}) #{start_addr} - #{end_addr}" | |
orders[order_id] = info_item | |
end | |
end | |
end | |
end # end each | |
random_sleep_time = rand(60..180) | |
sleep(random_sleep_time) | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment