12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- import Foundation
- import ObjectMapper
- import RxDataSources
- public struct GroupItem: JSONCode {
- public var create_at = ""
- public var created_at: Date?
- public var group_desc: String = ""
- public var group_lock: Bool = false
- public var group_default_avatar = 0
- public var admin_id = ""
- public var group_name = ""
- public var group_from = 0
- public var group_id = ""
- public var group_avatar = ""
- public var group_photo_num = 0
-
- public var gathered_at = ""
- public var gather_str = ""
- public var gather_at: Date?
- public var phone: Int = 0
- public var total_persons = 0
- public var attentions = ""
- public var schedules = ""
- public var ended_at: Date?
- public var gather_location = ""
- public var gather_lat = 0.0
- public var gather_lon = 0.0
- public var gather_screenshot = ""
- init(json: [String: AnyObject]) {
- self.init(map: Map(mappingType: .fromJSON, JSON: json))
- }
- }
- extension GroupItem: 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"
- create_at <- map["created_at"]
- created_at <- (map["created_at"], DateFormatterTransform(dateFormatter: dateFormatter))
- group_desc <- map["group_desc"]
- group_lock <- map["group_lock"]
- group_default_avatar <- map["group_default_avatar"]
- admin_id <- map["admin_id"]
- group_name <- map["group_name"]
- group_from <- map["group_from"]
- group_id <- map["group_id"]
- group_avatar <- map["group_avatar"]
- group_photo_num <- map["group_photo_num"]
- gather_at <- (map["gathered_at"], DateFormatterTransform(dateFormatter: dateFormatter))
- gathered_at <- map["gathered_at"]
- phone <- map["phone"]
- total_persons <- map["total_persons"]
- ended_at <- (map["ended_at"], DateFormatterTransform(dateFormatter: dateFormatter))
- gather_location <- map["gather_location"]
- gather_lat <- map["gather_lat"]
- gather_lon <- map["gather_lon"]
- gather_screenshot <- map["gather_screenshot"]
- if let value = map["banners"].currentValue as? [String: Any] {
- let banner = Map(mappingType: MappingType.fromJSON, JSON: value)
- attentions <- banner["attentions"]
- schedules <- banner["schedules"]
- }
- if let date = created_at {
- let createDateFormatter = DateFormatter()
- createDateFormatter.dateFormat = "yyyy年MM月dd日 HH:mm"
- create_at = createDateFormatter.string(from: date)
- }
- }
- }
- extension GroupItem: IdentifiableType, Equatable {
- public typealias Identity = String
- public var identity: String { return group_id }
- public static func == (lhs: GroupItem, rhs: GroupItem) -> Bool {
- return lhs.group_id == rhs.group_id
- }
- }
|