bscf-core 0.4.93 → 0.4.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/models/bscf/core/delivery_order.rb +0 -25
- data/app/models/bscf/core/user.rb +3 -4
- data/lib/bscf/core/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 957ab306e448ab9d2a957b0514c53f23183e42a27a6c4a61badc3d4f23b6b3ea
|
4
|
+
data.tar.gz: 46b35c215ade227c58b8638fa798cfb859144dadac3d506e567d4788df415116
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e224f20613673ba7f3acfbd1aa25b220a96e38d74dc3a7d034abc8ad3dd24edcc356ef1fc2982f07a80414f9eaf96348b562ca0f4f3197cd20481f56551b9c3
|
7
|
+
data.tar.gz: 0e103d54b8d0ba80c93e7d38af3b56483e6e5df18b9a44c3a269aedb983b72dc981d52a9ad6e161ce24164f20b97f3db6e842be2004dee44626c0cd5dd6a70f4
|
@@ -33,31 +33,6 @@ module Bscf
|
|
33
33
|
((delivery_end_time - delivery_start_time) / 1.hour).round(2)
|
34
34
|
end
|
35
35
|
|
36
|
-
def optimized_route
|
37
|
-
return nil unless pickup_address&.coordinates.present?
|
38
|
-
|
39
|
-
# Get all delivery order items with dropoff addresses
|
40
|
-
items_with_dropoffs = orders.includes(:drop_off_address)
|
41
|
-
.where.not(drop_off_address: nil)
|
42
|
-
|
43
|
-
dropoff_addresses = items_with_dropoffs.map(&:drop_off_address).compact.uniq
|
44
|
-
return nil if dropoff_addresses.empty?
|
45
|
-
|
46
|
-
# Check if all dropoff addresses have coordinates
|
47
|
-
return nil if dropoff_addresses.any? { |addr| addr.coordinates.blank? }
|
48
|
-
|
49
|
-
# Call Gebeta Maps service
|
50
|
-
gebeta_service = Bscf::Core::GebetaMapsService.new
|
51
|
-
route_data = gebeta_service.optimize_route(pickup_address, dropoff_addresses)
|
52
|
-
|
53
|
-
# Return nil if route_data is empty or doesn't have waypoints
|
54
|
-
return nil if route_data.blank? || !route_data.key?("directions")
|
55
|
-
|
56
|
-
# Cache the result if needed
|
57
|
-
# Rails.cache.write("delivery_order_route_#{id}", route_data, expires_in: 1.hour)
|
58
|
-
route_data
|
59
|
-
end
|
60
|
-
|
61
36
|
# Reorder delivery items based on optimized route or provided positions
|
62
37
|
def reorder_items_by_route(positions = nil)
|
63
38
|
if positions.is_a?(Hash)
|
@@ -28,7 +28,6 @@ module Bscf
|
|
28
28
|
},
|
29
29
|
if: :password_required?
|
30
30
|
|
31
|
-
after_create :create_virtual_account
|
32
31
|
|
33
32
|
private
|
34
33
|
|
@@ -39,9 +38,9 @@ module Bscf
|
|
39
38
|
def create_virtual_account
|
40
39
|
VirtualAccount.create!(
|
41
40
|
user: self,
|
42
|
-
branch_code: "VA#{SecureRandom.hex(4).upcase}",
|
43
|
-
product_scheme: "SAVINGS",
|
44
|
-
voucher_type: "REGULAR",
|
41
|
+
branch_code: "VA#{SecureRandom.hex(4).upcase}",
|
42
|
+
product_scheme: "SAVINGS",
|
43
|
+
voucher_type: "REGULAR",
|
45
44
|
balance: 0.0,
|
46
45
|
interest_rate: 2.5,
|
47
46
|
interest_type: :simple,
|
data/lib/bscf/core/version.rb
CHANGED