No Description

GroupItem.swift 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. //
  2. // GroupItem.swift
  3. // PaiaiDataKit
  4. //
  5. // Created by ffib on 2018/12/19.
  6. // Copyright © 2018 yb. 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. // gather_str = gather_at?.getTimeString(format: "HH点MM分")
  68. guard let value = map["banners"].currentValue as? [String: Any] else {
  69. return
  70. }
  71. let banner = Map(mappingType: MappingType.fromJSON, JSON: value)
  72. attentions <- banner["attentions"]
  73. schedules <- banner["schedules"]
  74. }
  75. }
  76. extension GroupItem: IdentifiableType, Equatable {
  77. public typealias Identity = String
  78. public var identity: String { return group_id }
  79. public static func == (lhs: GroupItem, rhs: GroupItem) -> Bool {
  80. return lhs.group_id == rhs.group_id
  81. }
  82. }