暂无描述

GroupItem.swift 3.3KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. //
  2. // GroupItem.swift
  3. // PaiaiDataKit
  4. //
  5. // Created by FFIB on 2018/12/19.
  6. // Copyright © 2018 FFIB. All rights reserved.
  7. //
  8. import Foundation
  9. import ObjectMapper
  10. import RxDataSources
  11. public struct GroupItem: JSONCode {
  12. public var create_at = ""
  13. public var created_at: Date?
  14. public var group_desc: String = ""
  15. public var group_lock: Bool = false
  16. public var group_default_avatar = 0
  17. public var admin_id = ""
  18. public var group_name = ""
  19. public var group_from = 0
  20. public var group_id = ""
  21. public var group_avatar = ""
  22. public var group_photo_num = 0
  23. //tour group info
  24. public var gathered_at = ""
  25. public var gather_str = ""
  26. public var gather_at: Date?
  27. public var phone: Int = 0
  28. public var total_persons = 0
  29. public var attentions = ""
  30. public var schedules = ""
  31. public var ended_at: Date?
  32. public var gather_location = ""
  33. public var gather_lat = 0.0
  34. public var gather_lon = 0.0
  35. public var gather_screenshot = ""
  36. init(json: [String: AnyObject]) {
  37. self.init(map: Map(mappingType: .fromJSON, JSON: json))
  38. }
  39. }
  40. extension GroupItem: Mappable {
  41. public init(map: Map) {
  42. mapping(map: map)
  43. }
  44. mutating public func mapping(map: Map) {
  45. let dateFormatter = DateFormatter()
  46. dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
  47. create_at <- map["created_at"]
  48. created_at <- (map["created_at"], DateFormatterTransform(dateFormatter: dateFormatter))
  49. group_desc <- map["group_desc"]
  50. group_lock <- map["group_lock"]
  51. group_default_avatar <- map["group_default_avatar"]
  52. admin_id <- map["admin_id"]
  53. group_name <- map["group_name"]
  54. group_from <- map["group_from"]
  55. group_id <- map["group_id"]
  56. group_avatar <- map["group_avatar"]
  57. group_photo_num <- map["group_photo_num"]
  58. gather_at <- (map["gathered_at"], DateFormatterTransform(dateFormatter: dateFormatter))
  59. gathered_at <- map["gathered_at"]
  60. phone <- map["phone"]
  61. total_persons <- map["total_persons"]
  62. ended_at <- (map["ended_at"], DateFormatterTransform(dateFormatter: dateFormatter))
  63. gather_location <- map["gather_location"]
  64. gather_lat <- map["gather_lat"]
  65. gather_lon <- map["gather_lon"]
  66. gather_screenshot <- map["gather_screenshot"]
  67. if let value = map["banners"].currentValue as? [String: Any] {
  68. let banner = Map(mappingType: MappingType.fromJSON, JSON: value)
  69. attentions <- banner["attentions"]
  70. schedules <- banner["schedules"]
  71. }
  72. if let date = created_at {
  73. let createDateFormatter = DateFormatter()
  74. createDateFormatter.dateFormat = "yyyy年MM月dd日 HH:mm"
  75. create_at = createDateFormatter.string(from: date)
  76. }
  77. }
  78. }
  79. extension GroupItem: IdentifiableType, Equatable {
  80. public typealias Identity = String
  81. public var identity: String { return group_id }
  82. public static func == (lhs: GroupItem, rhs: GroupItem) -> Bool {
  83. return lhs.group_id == rhs.group_id
  84. }
  85. }