Toggle navigation
Toggle navigation
This project
Loading...
Sign in
open-source
/
warply_sdk_framework
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Graphs
Network
Create a new issue
Commits
Issue Boards
Authored by
Manos Chorianopoulos
2024-03-07 16:55:56 +0200
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
923461982bcf6fb74966512cd4a2878318fcec87
92346198
1 parent
d6644d94
new universal coupon fixes
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
129 additions
and
133 deletions
SwiftWarplyFramework/SwiftWarplyFramework/AnalysisItemViewCell.swift
SwiftWarplyFramework/SwiftWarplyFramework/CouponBarcodeViewController.swift
SwiftWarplyFramework/SwiftWarplyFramework/CouponsTableViewCell.swift
SwiftWarplyFramework/SwiftWarplyFramework/MapsViewController.swift
SwiftWarplyFramework/SwiftWarplyFramework/swiftApi.swift
SwiftWarplyFramework/SwiftWarplyFramework/AnalysisItemViewCell.swift
View file @
9234619
...
...
@@ -127,14 +127,19 @@ extension AnalysisItemViewCell {
titleLabel
.
text
=
""
for
merchant
in
merchantList
{
if
(
merchant
.
_uuid
==
couponSetData
?
.
merchant_uuid
)
{
// itemImage.load(link: merchant._img_preview, placeholder: UIImage(), cache: URLCache())
self
.
postImageURL
=
merchant
.
_img_preview
titleLabel
.
text
=
merchant
.
_admin_name
break
;
}
}
// for merchant in merchantList {
// // if (merchant._uuid == couponSetData?.merchant_uuid) {
// if (merchant._uuid == item.merchant_uuid) {
// // itemImage.load(link: merchant._img_preview, placeholder: UIImage(), cache: URLCache())
// self.postImageURL = merchant._img_preview
// titleLabel.text = merchant._admin_name
// break;
// }
// }
let
merchantDetails
:
swiftApi
.
MerchantModel
?
=
item
.
merchant_details
self
.
postImageURL
=
merchantDetails
?
.
_img_preview
titleLabel
.
text
=
merchantDetails
?
.
_admin_name
dateLabel
.
text
=
item
.
redeemed
??
""
// expiration
// itemImage.load(link: couponSetData?.img_preview ?? "", placeholder: UIImage(), cache: URLCache())
...
...
@@ -164,14 +169,18 @@ extension AnalysisItemViewCell {
titleLabel
.
text
=
""
for
merchant
in
merchantList
{
if
(
merchant
.
_uuid
==
item
.
merchant_uuid
)
{
// itemImage.load(link: merchant._img_preview, placeholder: UIImage(), cache: URLCache())
self
.
postImageURL
=
merchant
.
_img_preview
titleLabel
.
text
=
merchant
.
_admin_name
break
;
}
}
// for merchant in merchantList {
// if (merchant._uuid == item.merchant_uuid) {
// // itemImage.load(link: merchant._img_preview, placeholder: UIImage(), cache: URLCache())
// self.postImageURL = merchant._img_preview
// titleLabel.text = merchant._admin_name
// break;
// }
// }
let
merchantDetails
:
swiftApi
.
MerchantModel
?
=
item
.
merchant_details
self
.
postImageURL
=
merchantDetails
?
.
_img_preview
titleLabel
.
text
=
merchantDetails
?
.
_admin_name
// titleLabel.text = item.name
// self.postImageURL = item.image
...
...
SwiftWarplyFramework/SwiftWarplyFramework/CouponBarcodeViewController.swift
View file @
9234619
...
...
@@ -144,16 +144,19 @@ import AVFoundation
let
merchantList
:
Array
<
swiftApi
.
MerchantModel
>
=
swiftApi
()
.
getMerchantList
()
var
merchantUuid
:
String
=
""
if
(
isMarket
==
true
)
{
//
if (isMarket == true) {
merchantUuid
=
coupon
?
.
merchant_uuid
??
""
}
else
{
merchantUuid
=
couponSetData
?
.
merchant_uuid
??
""
}
//
} else {
//
merchantUuid = couponSetData?.merchant_uuid ?? ""
//
}
for
merchant
in
merchantList
{
if
(
merchant
.
_uuid
==
merchantUuid
)
{
let
htmlMerchDescrText
=
merchant
.
_body
//
for merchant in merchantList {
//
if (merchant._uuid == merchantUuid) {
//
let htmlMerchDescrText = merchant._body
let
merchantDetails
:
swiftApi
.
MerchantModel
?
=
coupon
?
.
merchant_details
let
htmlMerchDescrText
=
merchantDetails
?
.
_body
??
""
if
(
isMarket
!=
true
&&
htmlMerchDescrText
!=
""
)
{
merchantDescrTextView
.
attributedText
=
htmlMerchDescrText
.
htmlToAttributedString
merchantDescrTextView
.
font
=
UIFont
(
name
:
"PeridotPE-Regular"
,
size
:
16
)
...
...
@@ -173,9 +176,9 @@ import AVFoundation
couponCodeLabelTopSpace
.
constant
=
CGFloat
(
0
)
}
break
;
}
}
//
break;
//
}
//
}
couponView
.
layer
.
cornerRadius
=
16
couponNumberLabel
.
text
=
coupon
?
.
coupon
??
""
...
...
@@ -364,7 +367,7 @@ import AVFoundation
termsTextView
.
dataDetectorTypes
=
[
.
link
]
// Uncomment if Barcode Section is active again
toggleTerms
()
toggleTerms
()
if
(
isMarket
==
false
)
{
toggleBarcode
()
}
...
...
@@ -518,7 +521,7 @@ import AVFoundation
if
(
isMarket
==
true
)
{
vc
.
isMarket
=
true
}
else
{
vc
.
coupon
Set
=
coupon
?
.
couponset_data
vc
.
coupon
=
coupon
}
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
...
...
SwiftWarplyFramework/SwiftWarplyFramework/CouponsTableViewCell.swift
View file @
9234619
...
...
@@ -23,6 +23,9 @@ import UIKit
var
postImageURL
:
String
?
{
didSet
{
if
let
url
=
postImageURL
{
// TODO: DELETE LOGS
print
(
"=== postImageURL: "
,
url
)
self
.
couponImage
.
image
=
UIImage
()
// UIImage(named: "loading")
UIImage
.
loadImageUsingCacheWithUrlString
(
url
)
{
image
in
...
...
@@ -79,14 +82,19 @@ import UIKit
nameLabel
.
text
=
""
for
merchant
in
merchantList
{
if
(
merchant
.
_uuid
==
couponSetData
?
.
merchant_uuid
)
{
// couponImage.load(link: merchant._img_preview, placeholder: UIImage(), cache: URLCache())
self
.
postImageURL
=
merchant
.
_img_preview
nameLabel
.
text
=
merchant
.
_admin_name
break
;
}
}
// for merchant in merchantList {
// // if (merchant._uuid == couponSetData?.merchant_uuid) {
// if (merchant._uuid == coupon.merchant_uuid) {
// // couponImage.load(link: merchant._img_preview, placeholder: UIImage(), cache: URLCache())
// self.postImageURL = merchant._img_preview
// nameLabel.text = merchant._admin_name
// break;
// }
// }
let
merchantDetails
:
swiftApi
.
MerchantModel
?
=
coupon
.
merchant_details
self
.
postImageURL
=
merchantDetails
?
.
_img_preview
nameLabel
.
text
=
merchantDetails
?
.
_admin_name
// couponImage.load(link: couponSetData?.img_preview ?? "", placeholder: UIImage(), cache: URLCache())
// nameLabel.text = couponSetData?.name ?? ""
...
...
SwiftWarplyFramework/SwiftWarplyFramework/MapsViewController.swift
View file @
9234619
...
...
@@ -28,7 +28,7 @@ import MapKit
@IBOutlet
weak
var
addressImageView
:
UIImageView
!
// public
public
var
coupon
Set
:
swiftApi
.
CouponSet
ItemModel
?
public
var
coupon
:
swiftApi
.
Coupon
ItemModel
?
public
var
isMarket
:
Bool
?
=
false
var
merchantsArray
:
Array
<
swiftApi
.
MerchantModel
>
=
[]
var
selectedMerchant
:
swiftApi
.
MerchantModel
?
...
...
@@ -132,8 +132,8 @@ import MapKit
}
showLoading
()
if
(
coupon
Set
!=
nil
)
{
if
let
merchantUuid
:
String
=
coupon
Set
?
.
merchant_uuid
{
if
(
coupon
!=
nil
)
{
if
let
merchantUuid
:
String
=
coupon
?
.
merchant_uuid
{
swiftApi
()
.
getMultilingualMerchantsAsync
([],
false
,
0.0
,
[],
""
,
0
,
[
merchantUuid
],
getMerchantsCallback
)
showContent
()
}
...
...
@@ -209,30 +209,49 @@ import MapKit
alert
.
addAction
(
UIAlertAction
(
title
:
"Δες το eshop"
,
style
:
.
default
,
handler
:
{
action
in
switch
action
.
style
{
case
.
default
:
if
(
self
.
coupon
Set
!=
nil
)
{
if
let
merchantUuid
:
String
=
self
.
couponSet
?
.
merchant_uuid
{
for
item
in
swiftApi
()
.
getMerchantList
()
{
if
(
item
.
_uuid
==
merchantUuid
)
{
if
(
self
.
coupon
!=
nil
)
{
// if let merchantUuid: String = self.coupon
?.merchant_uuid {
//
for item in swiftApi().getMerchantList() {
//
if (item._uuid == merchantUuid) {
let
eshopWebsite
=
item
.
_website
if
(
eshopWebsite
!=
""
)
{
guard
let
websiteUrl
=
URL
(
string
:
eshopWebsite
)
else
{
print
(
"Error creating URL"
)
return
}
// check if link can be opened.
guard
UIApplication
.
shared
.
canOpenURL
(
websiteUrl
)
else
{
return
}
swiftApi
()
.
logTrackersEvent
(
"click"
,
"SeeShopWebsite"
)
UIApplication
.
shared
.
open
(
websiteUrl
,
options
:
[:],
completionHandler
:
nil
)
break
;
}
}
// let eshopWebsite = item._website
// if (eshopWebsite != "") {
// guard let websiteUrl = URL(string: eshopWebsite) else {
// print("Error creating URL")
// return
// }
// // check if link can be opened.
// guard UIApplication.shared.canOpenURL(websiteUrl) else {
// return
// }
// swiftApi().logTrackersEvent("click", "SeeShopWebsite")
// UIApplication.shared.open(websiteUrl, options: [:], completionHandler: nil)
// break;
// }
// }
// }
// }
let
merchantDetails
:
swiftApi
.
MerchantModel
?
=
self
.
coupon
?
.
merchant_details
let
eshopWebsite
=
merchantDetails
?
.
_website
??
""
if
(
eshopWebsite
!=
""
)
{
guard
let
websiteUrl
=
URL
(
string
:
eshopWebsite
)
else
{
print
(
"Error creating URL"
)
return
}
// check if link can be opened.
guard
UIApplication
.
shared
.
canOpenURL
(
websiteUrl
)
else
{
return
}
swiftApi
()
.
logTrackersEvent
(
"click"
,
"SeeShopWebsite"
)
UIApplication
.
shared
.
open
(
websiteUrl
,
options
:
[:],
completionHandler
:
nil
)
break
;
}
}
// if (self.merchantsArray.count > 0) {
...
...
SwiftWarplyFramework/SwiftWarplyFramework/swiftApi.swift
View file @
9234619
...
...
@@ -512,6 +512,9 @@ public class swiftApi {
public
let
merchant_uuid
:
String
?
public
let
discount_type
:
String
?
// "value" / "percentage" / "plus_one"
public
let
final_price
:
Float
?
// Universal Coupons
public
let
couponset_type
:
String
?
public
init
(
dictionary
:
[
String
:
Any
])
{
self
.
uuid
=
dictionary
[
"uuid"
]
as?
String
?
??
""
...
...
@@ -530,6 +533,9 @@ public class swiftApi {
self
.
merchant_uuid
=
dictionary
[
"merchant_uuid"
]
as?
String
?
??
""
self
.
discount_type
=
dictionary
[
"discount_type"
]
as?
String
?
??
""
// self.final_price = dictionary["final_price"] as? Float? ?? 0.0
// Universal Coupons
self
.
couponset_type
=
dictionary
[
"couponset_type"
]
as?
String
?
??
""
if
let
double_final_price
=
dictionary
[
"final_price"
]
as?
Double
{
self
.
final_price
=
Float
(
double_final_price
)
...
...
@@ -738,6 +744,9 @@ public class swiftApi {
public
let
short_description
:
String
?
public
let
terms
:
String
?
// Universal Coupons
public
let
merchant_details
:
MerchantModel
?
public
init
(
dictionary
:
[
String
:
Any
])
{
self
.
couponset_uuid
=
dictionary
[
"couponset_uuid"
]
as?
String
?
??
""
...
...
@@ -775,33 +784,30 @@ public class swiftApi {
self
.
short_description
=
dictionary
[
"short_description"
]
as?
String
?
??
""
self
.
terms
=
dictionary
[
"terms"
]
as?
String
?
??
""
// TODO: DELETE
// if let couponSetData = dictionary["couponset_data"] as? [String: Any]? ?? ["":""] {
//
// let tempCouponset = CouponSetItemModel(dictionary: couponSetData)
//
// self.couponset_data = tempCouponset
// } else {
// self.couponset_data = nil
// }
if
let
couponSetData
=
dictionary
[
"couponset_data"
]
as?
[
String
:
Any
]
{
let
tempCouponset
=
CouponSetItemModel
(
dictionary
:
couponSetData
)
self
.
couponset_data
=
tempCouponset
// Universal Coupons ==>
}
else
if
let
couponSetDetails
=
dictionary
[
"couponset_details"
]
as?
[
String
:
Any
]
{
let
tempCouponset
=
CouponSetItemModel
(
dictionary
:
couponSetDetails
)
self
.
couponset_data
=
tempCouponset
}
else
{
self
.
couponset_data
=
nil
}
if
let
couponSetDetails
=
dictionary
[
"couponse
t_details"
]
as?
[
String
:
Any
]
{
if
let
merchantDetails
=
dictionary
[
"merchan
t_details"
]
as?
[
String
:
Any
]
{
let
temp
Couponset
=
CouponSetItemModel
(
dictionary
:
couponSe
tDetails
)
let
temp
MerchantDetails
=
MerchantModel
(
dictionary
:
merchan
tDetails
)
self
.
couponset_data
=
tempCouponset
self
.
merchant_details
=
tempMerchantDetails
}
else
{
self
.
couponset_data
=
nil
self
.
merchant_details
=
nil
}
// <==
let
expirationString
=
dictionary
[
"expiration"
]
as?
String
?
??
""
...
...
@@ -1040,7 +1046,7 @@ public class swiftApi {
// var temp = NSMutableDictionary(dictionary: s);
if
c
[
"couponset_uuid"
]
as!
String
==
s
[
"uuid"
]
as!
String
{
let
temp
=
NSMutableDictionary
(
dictionary
:
c
);
temp
.
setValue
(
s
as!
[
AnyHashable
:
Any
],
forKey
:
"couponset_data"
)
let
tempCoupon
=
CouponItemModel
(
dictionary
:
temp
as!
[
String
:
Any
])
...
...
@@ -1087,6 +1093,7 @@ public class swiftApi {
})
}
// Old implementation
// public func getCouponsAsync(_ getCouponsCallback: @escaping (_ couponsData: Array<CouponItemModel>?) -> Void, failureCallback: @escaping (_ errorCode: Int) -> Void) -> Void {
// CouponsDataModel().getCouponsData(getCouponsCallback, failureCallback: failureCallback)
// }
...
...
@@ -1107,46 +1114,6 @@ public class swiftApi {
swiftApi
()
.
getCouponsUniversalAsync
(
language
:
"el"
,
getCouponsCallback
,
failureCallback
:
failureCallback
)
// swiftApi().getCouponsUniversalAsync(language: "el", getCouponsUniversalCallback) { errorCode in
// // TODO: DELETE LOGS
// print("========= getCouponsUniversalRequest ERROR CODE =========", errorCode)
// failureCallback(errorCode)
// }
// func getCouponsUniversalCallback (_ responseData: Array<swiftApi.CouponItemModel>?) -> Void {
// if (responseData != nil) {
// DispatchQueue.main.async {
// // TODO: DELETE LOGS
// print("========= getCouponsUniversalRequest responseData =========")
// print(responseData)
// var activeCoupons = responseData.filter({ return $0.status == 1 })
// // sort activeCoupons by expiration date
// let dateFormatter = DateFormatter()
// dateFormatter.dateFormat = "dd/MM/yyyy"
// activeCoupons.sort(by: {
// let date1 = dateFormatter.date(from: $0.expiration ?? "")
// let date2 = dateFormatter.date(from: $1.expiration ?? "")
// if ((date1 != nil) && (date2 != nil)) {
// return date1!.compare(date2!) == .orderedAscending
// } else {
// return false
// }
// })
// getCouponsCallback(activeCoupons)
// }
// } else {
// // TODO: DELETE LOGS
// print("========= getCouponsUniversalRequest ERROR =========")
// getCouponsCallback(nil)
// }
// }
instanceOfMyApi
.
getCouponsetsAsync
(
true
,
andVisible
:
true
,
andUuids
:
nil
,
couponSetsCallback
,
failureBlock
:
couponSetsFailureCallback
)
func
couponSetsCallback
(
_
couponSetsData
:
[
AnyHashable
:
Any
]?)
->
Void
{
...
...
@@ -8391,15 +8358,6 @@ public class swiftApi {
if
let
responseDataDictionary
=
responseData
as?
[
String
:
AnyObject
]
{
// TODO: DELETE LOGS
print
(
"=== responseDataDictionary ==="
)
print
(
responseDataDictionary
)
print
(
"=== responseDataDictionary result ==="
)
print
(
responseDataDictionary
[
"result"
])
print
(
"=== responseDataDictionary status ==="
)
print
(
responseDataDictionary
[
"status"
])
if
(
responseDataDictionary
[
"status"
]
as?
Int
==
1
)
{
let
dynatraceEvent
=
swiftApi
.
LoyaltySDKDynatraceEventModel
()
dynatraceEvent
.
_eventName
=
"custom_success_user_coupons_loyalty"
...
...
@@ -8414,17 +8372,16 @@ public class swiftApi {
}
}
// TODO: DELETE LOGS
print
(
"=== AllCoupons NEW ==="
)
print
(
couponsArray
.
count
)
// setAllOldCouponList uncluding Supermarkets ==>
swiftApi
()
.
setAllOldCouponList
(
couponsArray
)
// <==
swiftApi
()
.
setCouponList
(
couponsArray
)
swiftApi
()
.
setOldCouponList
(
couponsArray
)
var
activeCoupons
=
couponsArray
.
filter
({
return
$0
.
status
==
1
})
let
noSMCoupons
=
couponsArray
.
filter
({
return
$0
.
couponset_data
?
.
couponset_type
!=
"supermarket"
})
swiftApi
()
.
setCouponList
(
noSMCoupons
)
swiftApi
()
.
setOldCouponList
(
noSMCoupons
)
var
activeCoupons
=
noSMCoupons
.
filter
({
return
$0
.
status
==
1
})
// sort activeCoupons by expiration date
let
dateFormatter
=
DateFormatter
()
dateFormatter
.
dateFormat
=
"dd/MM/yyyy"
...
...
Please
register
or
login
to post a comment