Showing
2 changed files
with
99 additions
and
2 deletions
| ... | @@ -92,6 +92,17 @@ import SwiftEventBus | ... | @@ -92,6 +92,17 @@ import SwiftEventBus |
| 92 | } | 92 | } |
| 93 | } | 93 | } |
| 94 | 94 | ||
| 95 | + SwiftEventBus.onBackgroundThread(self, name: "unified_coupons_fetched") { result in | ||
| 96 | + | ||
| 97 | + DispatchQueue.main.async { | ||
| 98 | + self.unifiedCoupons = swiftApi().getUnifiedCouponList() | ||
| 99 | + // TODO: Maybe add this | ||
| 100 | + self.matchOldSMCoupons() | ||
| 101 | + self.updateMarketBadge() | ||
| 102 | + self.tableView.reloadData() | ||
| 103 | + } | ||
| 104 | + } | ||
| 105 | + | ||
| 95 | // TODO: DELETE ===> | 106 | // TODO: DELETE ===> |
| 96 | // let coupon = swiftApi.ActiveDFYCouponModel() | 107 | // let coupon = swiftApi.ActiveDFYCouponModel() |
| 97 | // coupon._value = "12" | 108 | // coupon._value = "12" |
| ... | @@ -117,8 +128,7 @@ import SwiftEventBus | ... | @@ -117,8 +128,7 @@ import SwiftEventBus |
| 117 | // TODO: DELETE <=== | 128 | // TODO: DELETE <=== |
| 118 | 129 | ||
| 119 | // TODO: Uncomment when UnifiedCoupons will be shown again | 130 | // TODO: Uncomment when UnifiedCoupons will be shown again |
| 120 | -// getUnifiedCouponsRequest() | 131 | +// getCouponsSetsDealsRequest() |
| 121 | - getCouponsSetsDealsRequest() | ||
| 122 | 132 | ||
| 123 | setBackButton() | 133 | setBackButton() |
| 124 | setNavigationTitle("My Rewards") | 134 | setNavigationTitle("My Rewards") |
| ... | @@ -446,6 +456,7 @@ import SwiftEventBus | ... | @@ -446,6 +456,7 @@ import SwiftEventBus |
| 446 | emptyImage.image = UIImage(named: "ic_empty_wallet_2", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) | 456 | emptyImage.image = UIImage(named: "ic_empty_wallet_2", in: MyEmptyClass.resourceBundle(), compatibleWith: nil) |
| 447 | emptyLabel.text = "Δεν έχεις κάποιον ενεργό κωδικό ή κουπόνι! Μπες τώρα στην ενότητα COSMOTE For You και βρες αποκλειστικές προσφορές!" | 457 | emptyLabel.text = "Δεν έχεις κάποιον ενεργό κωδικό ή κουπόνι! Μπες τώρα στην ενότητα COSMOTE For You και βρες αποκλειστικές προσφορές!" |
| 448 | 458 | ||
| 459 | + matchOldSMCoupons() | ||
| 449 | updateMarketBadge() | 460 | updateMarketBadge() |
| 450 | 461 | ||
| 451 | // TODO: DELETE if emptyView is needed again | 462 | // TODO: DELETE if emptyView is needed again |
| ... | @@ -505,6 +516,9 @@ import SwiftEventBus | ... | @@ -505,6 +516,9 @@ import SwiftEventBus |
| 505 | self.coupons = swiftApi().getCouponList() | 516 | self.coupons = swiftApi().getCouponList() |
| 506 | // TODO: Uncomment when UnifiedCoupons will be shown again | 517 | // TODO: Uncomment when UnifiedCoupons will be shown again |
| 507 | self.unifiedCoupons = swiftApi().getUnifiedCouponList() | 518 | self.unifiedCoupons = swiftApi().getUnifiedCouponList() |
| 519 | + // TODO: Maybe add this | ||
| 520 | + // self.matchOldSMCoupons() | ||
| 521 | + // <=== | ||
| 508 | self.updateMarketBadge() | 522 | self.updateMarketBadge() |
| 509 | self.tableView.reloadData() | 523 | self.tableView.reloadData() |
| 510 | 524 | ... | ... |
| ... | @@ -21,6 +21,7 @@ public struct GlobalVariables { | ... | @@ -21,6 +21,7 @@ public struct GlobalVariables { |
| 21 | static var couponsetsDealsList: Array<swiftApi.CouponSetItemModel> = [] // Supermarket couponsets | 21 | static var couponsetsDealsList: Array<swiftApi.CouponSetItemModel> = [] // Supermarket couponsets |
| 22 | static var unifiedCouponList: Array<swiftApi.UnifiedCouponModel> = [] | 22 | static var unifiedCouponList: Array<swiftApi.UnifiedCouponModel> = [] |
| 23 | static var oldUnifiedCouponList: Array<swiftApi.CouponItemModel> = [] | 23 | static var oldUnifiedCouponList: Array<swiftApi.CouponItemModel> = [] |
| 24 | + static var unifiedCouponsDiscount: Float = 0.0 | ||
| 24 | static var loyaltyBadge: swiftApi.LoyaltyBadgeModel = swiftApi.LoyaltyBadgeModel() | 25 | static var loyaltyBadge: swiftApi.LoyaltyBadgeModel = swiftApi.LoyaltyBadgeModel() |
| 25 | static var consumer: swiftApi.ProfileModel? | 26 | static var consumer: swiftApi.ProfileModel? |
| 26 | static var consumerInternal: swiftApi.ProfileModel? | 27 | static var consumerInternal: swiftApi.ProfileModel? |
| ... | @@ -4697,6 +4698,16 @@ public class swiftApi { | ... | @@ -4697,6 +4698,16 @@ public class swiftApi { |
| 4697 | } | 4698 | } |
| 4698 | 4699 | ||
| 4699 | 4700 | ||
| 4701 | + public func setUnifiedCouponsDiscount(_ discount: Float) { | ||
| 4702 | + GlobalVariables.unifiedCouponsDiscount = discount | ||
| 4703 | + } | ||
| 4704 | + | ||
| 4705 | + | ||
| 4706 | + public func getUnifiedCouponsDiscount() -> Float { | ||
| 4707 | + return GlobalVariables.unifiedCouponsDiscount | ||
| 4708 | + } | ||
| 4709 | + | ||
| 4710 | + | ||
| 4700 | public class LoyaltyGiftsForYouPackage: Codable { | 4711 | public class LoyaltyGiftsForYouPackage: Codable { |
| 4701 | private var title: String | 4712 | private var title: String |
| 4702 | private var imageUrl: String | 4713 | private var imageUrl: String |
| ... | @@ -7299,4 +7310,76 @@ public class swiftApi { | ... | @@ -7299,4 +7310,76 @@ public class swiftApi { |
| 7299 | } | 7310 | } |
| 7300 | 7311 | ||
| 7301 | 7312 | ||
| 7313 | + public func getUnifiedCouponsDeals(_ successCallback: @escaping (_ responseData: Array<UnifiedCouponModel>?) -> Void, failureCallback: @escaping (_ errorCode: Int) -> Void) -> Void { | ||
| 7314 | + | ||
| 7315 | + swiftApi().getCouponSetsDealsAsync(getCouponsSetsDealsCallback, failureCallback: {errorCode in | ||
| 7316 | + failureCallback(errorCode) | ||
| 7317 | + }) | ||
| 7318 | + | ||
| 7319 | + func getCouponsSetsDealsCallback (_ couponsData: Array<swiftApi.CouponSetItemModel>?) -> Void { | ||
| 7320 | + if (couponsData != nil) { | ||
| 7321 | + | ||
| 7322 | + DispatchQueue.main.async { | ||
| 7323 | + swiftApi().getUnifiedCouponsAsync(getUnifiedCouponsCallback, failureCallback: {errorCode in | ||
| 7324 | + failureCallback(errorCode) | ||
| 7325 | + }) | ||
| 7326 | + } | ||
| 7327 | + } else { | ||
| 7328 | + successCallback(nil) | ||
| 7329 | + } | ||
| 7330 | + } | ||
| 7331 | + | ||
| 7332 | + func getUnifiedCouponsCallback (_ couponsData: Array<swiftApi.UnifiedCouponModel>?) -> Void { | ||
| 7333 | + if (couponsData != nil) { | ||
| 7334 | + DispatchQueue.main.async { | ||
| 7335 | + // self.matchOldSMCoupons() | ||
| 7336 | + SwiftEventBus.post("unified_coupons_fetched") | ||
| 7337 | + successCallback(couponsData) | ||
| 7338 | + } | ||
| 7339 | + } else { | ||
| 7340 | + successCallback(nil) | ||
| 7341 | + } | ||
| 7342 | + } | ||
| 7343 | + } | ||
| 7344 | + | ||
| 7345 | + | ||
| 7346 | + public func matchOldSMCoupons() -> Void { | ||
| 7347 | + var oldUnifiedCouponsArray:Array<swiftApi.CouponItemModel> = [] | ||
| 7348 | + | ||
| 7349 | + for smCouponSet in swiftApi().getCouponSetsDealsList() { | ||
| 7350 | + for oldCoupon in swiftApi().getAllOldCouponList() { | ||
| 7351 | + if (smCouponSet.uuid != "" && oldCoupon.couponset_uuid != "" && smCouponSet.uuid == oldCoupon.couponset_uuid) { | ||
| 7352 | + | ||
| 7353 | + oldCoupon.setCouponSetData(smCouponSet); | ||
| 7354 | + oldUnifiedCouponsArray.append(oldCoupon); | ||
| 7355 | + | ||
| 7356 | + break; | ||
| 7357 | + } | ||
| 7358 | + } | ||
| 7359 | + } | ||
| 7360 | + | ||
| 7361 | + oldUnifiedCouponsArray.sort(by: { | ||
| 7362 | + let date1 = $0.redeemed_date | ||
| 7363 | + let date2 = $1.redeemed_date | ||
| 7364 | + | ||
| 7365 | + if ((date1 != nil) && (date2 != nil)) { | ||
| 7366 | + return date1!.compare(date2!) == .orderedDescending | ||
| 7367 | + } else { | ||
| 7368 | + return false | ||
| 7369 | + } | ||
| 7370 | + | ||
| 7371 | + }) | ||
| 7372 | + swiftApi().setOldUnifiedCouponList(oldUnifiedCouponsArray) | ||
| 7373 | + | ||
| 7374 | + | ||
| 7375 | + var tempUnifiedCouponsDiscount:Float = 0.0 | ||
| 7376 | + for coupon in oldUnifiedCouponsArray { | ||
| 7377 | + if let discountFloat = Float(coupon.discount ?? "0.0") { | ||
| 7378 | + tempUnifiedCouponsDiscount += discountFloat | ||
| 7379 | + } | ||
| 7380 | + } | ||
| 7381 | + swiftApi().setUnifiedCouponsDiscount(tempUnifiedCouponsDiscount) | ||
| 7382 | + } | ||
| 7383 | + | ||
| 7384 | + | ||
| 7302 | } | 7385 | } | ... | ... |
-
Please register or login to post a comment