Sin descripción

FKBookProItem.m 4.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. //
  2. // FKBookProItem.m
  3. // FirstLink
  4. //
  5. // Created by jack on 16/4/29.
  6. // Copyright © 2016年 FirstLink. All rights reserved.
  7. //
  8. #import "FKBookProItem.h"
  9. @implementation FKBookProItem
  10. + (NSDictionary *)mts_mapping {
  11. return @{
  12. @"id" : mts_key(itemID),
  13. @"index_pic" : mts_key(picUrl),
  14. @"name" : mts_key(name),
  15. @"title" : mts_key(title),
  16. @"current_price" : mts_key(currentPrice),
  17. @"before_price" : mts_key(originPrice),
  18. @"push_type" : mts_key(pushType),
  19. @"brand" : mts_key(brand),
  20. @"update_time" : mts_key(createTime),
  21. };
  22. }
  23. + (BOOL)mts_shouldSetUndefinedKeys {
  24. return NO;
  25. }
  26. - (NSString *)getRealTimeStrWithServeTime:(NSString *)serveTime{
  27. if (![FLStringHelper isValidString:self.createTime]) return nil;
  28. if (![FLStringHelper isValidString:serveTime]) {
  29. return [self convertTimeStr:self.createTime formate:@"yyyy-MM-dd HH:mm:ss"];
  30. }
  31. return [self convertToPredigestStringFromString:self.createTime serveTime:serveTime];
  32. }
  33. - (NSString *)convertTimeStr:(NSString *)timeStr formate:(NSString *)formate{
  34. NSDateFormatter *dateFormat = [FLStringHelper dateFormat];
  35. [dateFormat setDateFormat:formate];
  36. NSMutableString *mutString = [NSMutableString stringWithString:timeStr];
  37. NSString *temp = [mutString stringByReplacingOccurrencesOfString:@"T"
  38. withString:@" "];
  39. NSDate *date = [dateFormat dateFromString:temp];
  40. if (!date) return nil;
  41. NSString *fullString = [dateFormat stringFromDate:date];
  42. if (fullString.length >= 19){
  43. NSString *dayStr = [fullString substringWithRange:NSMakeRange(5, 5)];
  44. NSString *hourStr = [fullString substringWithRange:NSMakeRange(11, 5)];
  45. fullString = [dayStr stringByAppendingString:@" "];
  46. fullString = [fullString stringByAppendingString:hourStr];
  47. }
  48. return fullString;
  49. }
  50. - (NSString *)convertToPredigestStringFromString:(NSString *)timeString serveTime:(NSString *)serveTime{
  51. if (!timeString || timeString.length == 0) return nil;
  52. NSDate *nowDate = [NSDate date];
  53. if ([FLStringHelper isValidString:serveTime]) {
  54. nowDate = [FLStringHelper convertToDateFromString:serveTime];
  55. }
  56. NSDate *compareTime = [FLStringHelper convertToDateFromString:timeString];
  57. NSTimeInterval countTimeSecond = [nowDate timeIntervalSinceDate:compareTime];
  58. if (countTimeSecond <= 0) return nil;
  59. NSDateComponents *dateComponent = [self convertSecondToComponents:countTimeSecond serveTime:serveTime];
  60. if (dateComponent.day > 0) return [self convertTimeStr:timeString formate:@"yyyy-MM-dd HH:mm:ss"];
  61. if (dateComponent.hour > 0) return [NSString stringWithFormat:@"%ld小时前", (long)dateComponent.hour];
  62. if (dateComponent.minute > 3) return [NSString stringWithFormat:@"%ld分钟前", (long)dateComponent.minute];
  63. return [NSString stringWithFormat:@"刚刚"];
  64. }
  65. - (NSDateComponents*)convertSecondToComponents:(NSTimeInterval)second serveTime:(NSString *)serveTime{
  66. NSDate *startDate = [FLStringHelper convertToDateFromString:serveTime];
  67. NSDate *endDate = [NSDate dateWithTimeInterval:second sinceDate:startDate];
  68. NSCalendarUnit unit = NSCalendarUnitSecond | NSCalendarUnitMinute | NSCalendarUnitHour | kCFCalendarUnitDay;
  69. NSDateComponents *components = [[NSCalendar currentCalendar] components:unit
  70. fromDate:startDate
  71. toDate:endDate
  72. options:NSCalendarWrapComponents];
  73. return components;
  74. }
  75. - (NSInteger)caculateDiscountCut{
  76. if ([FLStringHelper isValidString:self.currentPrice] && [FLStringHelper isValidString:self.originPrice]){
  77. CGFloat currentPrice = [FLStringHelper convertFenStringToYuanValue:self.currentPrice];
  78. CGFloat originPrice = [FLStringHelper convertFenStringToYuanValue:self.originPrice];
  79. return floor(originPrice - currentPrice);
  80. }
  81. return 0;
  82. }
  83. - (NSString *)getRealRecStr{
  84. if ([FLStringHelper isValidString:self.pushType]){
  85. if (self.pushType.integerValue == 1) {
  86. return @"上新";
  87. }else if (self.pushType.integerValue == 2){
  88. // 降价
  89. NSInteger discountCut = [self caculateDiscountCut];
  90. if (discountCut > 0){
  91. return [NSString stringWithFormat:@"降价¥%ld", (long)discountCut];
  92. }
  93. }
  94. }
  95. return nil;
  96. }
  97. @end