Nav apraksta

MessageListItem.swift 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. //
  2. // MessageListItem.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 MessageListItem: JSONCode {
  12. public var content = ""
  13. public var msg_title: String = ""
  14. public var create_at: String = ""
  15. public var from_avatar: String = ""
  16. public var msg_content: String = ""
  17. public var from_nickname: String = ""
  18. public var group_photo_info = PhotoItem(json: [:])
  19. public var title: String = ""
  20. public var url: String = ""
  21. var read: Bool = false
  22. public var created_at: Date?
  23. var pk = 0
  24. var from_uid: String = ""
  25. var photo_id: String = ""
  26. var group_id: String = ""
  27. init(json: [String: AnyObject]) {
  28. self.init(map: Map(mappingType: .fromJSON, JSON: json))
  29. }
  30. }
  31. extension MessageListItem: Mappable {
  32. public init(map: Map) {
  33. mapping(map: map)
  34. }
  35. mutating public func mapping(map: Map) {
  36. let dateFormatter = DateFormatter()
  37. dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
  38. created_at <- (map["created_at"], DateFormatterTransform(dateFormatter:dateFormatter))
  39. content <- map["content"]
  40. pk <- map["pk"]
  41. read <- map["read"]
  42. from_avatar <- map["from_avatar"]
  43. from_nickname <- map["from_nickname"]
  44. from_uid <- map["from_uid"]
  45. group_photo_info <- map["group_photo_info"]
  46. photo_id <- map["photo_id"]
  47. group_id <- map["group_id"]
  48. msg_content <- map["msg_content"]
  49. msg_title <- map["msg_title"]
  50. url <- map["url"]
  51. title <- map["title"]
  52. guard let created_at = created_at else { return }
  53. create_at = created_at.getTimeInfoFromDate()
  54. }
  55. }
  56. extension MessageListItem: IdentifiableType, Equatable {
  57. public typealias Identity = Int
  58. public var identity: Int { return pk }
  59. public static func == (lhs: MessageListItem, rhs: MessageListItem) -> Bool {
  60. return lhs.pk == rhs.pk
  61. }
  62. }