|
//
// GroupItem.swift
// PaiaiDataKit
//
// Created by ffib on 2018/12/19.
// Copyright © 2018 yb. All rights reserved.
//
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
//tour group info
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
}
}
|