123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import Foundation
- import ObjectMapper
- import RxDataSources
- public struct OrderItem: JSONCode {
-
- public var order_id: String = ""
- public var displayPrice: String = ""
- public var displayPhoto: String = ""
- public var displayCreated: String = ""
- var created_at: Date?
- var body: String = ""
- var to_uid: String = ""
- var to_lid: String = ""
- var pay_status: Int = 0
- var paid_at: String = ""
- var from_uid: String = ""
- var total_fee: CGFloat = 0
- var group_photo_info: PhotoItem?
- init(json: [String: AnyObject]) {
- self.init(map: Map(mappingType: .fromJSON, JSON: json))
- }
- }
- extension OrderItem: Mappable {
- public init(map: Map) {
- mapping(map: map)
- }
- mutating public func mapping(map: Map) {
- let dateFormatter = DateFormatter()
- dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
- body <- map["body"]
- to_lid <- map["to_lid"]
- to_uid <- map["to_uid"]
- paid_at <- map["paid_at"]
- from_uid <- map["from_uid"]
- total_fee <- map["total_fee"]
- pay_status <- map["pay_status"]
- group_photo_info <- map["group_photo_info"]
- created_at <- (map["created_at"], DateFormatterTransform(dateFormatter: dateFormatter))
-
- order_id <- map["order_id"]
- displayPrice = "+\(total_fee / 100)"
- guard let created_at = created_at, let photoInfo = group_photo_info else { return }
- displayCreated = created_at.getTimeString(format: "YYYY-MM-dd HH:MM")
- displayPhoto = photoInfo.photo_thumbnail_url
- }
- }
- extension OrderItem: IdentifiableType, Equatable {
- public typealias Identity = String
- public var identity: String { return order_id }
- public static func == (lhs: OrderItem, rhs: OrderItem) -> Bool {
- return lhs.order_id == rhs.order_id
- }
- }
|