RAOfflineHandler.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. //
  2. // RAOfflineHandler.h
  3. // Apex And Drivers
  4. //
  5. // Created by Jack on 2018/10/22.
  6. // Copyright © 2018年 USAI. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. NS_ASSUME_NONNULL_BEGIN
  10. @class RAEditImageBaseModel;
  11. @interface RAOfflineHandler : NSObject
  12. /**
  13. * @brief 使用OfflineHandler,通过此方法获取
  14. */
  15. + (instancetype)defaultHandler;
  16. /**
  17. * @brief 向服务器请求离线数据
  18. */
  19. - (void)downloadOfflineData;
  20. #pragma mark - Get
  21. /**
  22. * @brief 加载离线首页数据
  23. */
  24. - (NSDictionary *)requestOfflineHome;
  25. /**
  26. * @brief 加载离线Detail
  27. * @param orderId 订单号
  28. * @param type 订单类型,包括 new order 和 processing order
  29. * @return order detail界面数据
  30. */
  31. - (NSDictionary *)requestOfflineDetailForOrder:(NSString *)orderId withOrderType:(NSInteger)type;
  32. /**
  33. * @brief 在detail中过滤订单已经做过的操作
  34. * @param detail order detail界面数据
  35. * @param finish order最后完成的一个action索引
  36. * @return 最后过滤后的detail
  37. */
  38. - (NSMutableDictionary *)filtrateActionFromDetail:(NSMutableDictionary *)detail withFinishActions:(NSNumber *)finish;
  39. /**
  40. * @brief 记载离线Edit Order
  41. * @param orderId 订单号
  42. * @param actionIndex 操作索引
  43. */
  44. - (NSDictionary *)requestOfflineEditOrder:(NSString *)orderId withAction:(NSInteger)actionIndex;
  45. /**
  46. * @brief 最后一次修改Order的 Action 索引
  47. * @param orderId 订单号
  48. * @return 最后一次修改order的action索引
  49. */
  50. - (NSNumber *)lastActionIndexForOrder:(NSString *)orderId;
  51. #pragma mark - Update
  52. /**
  53. * @brief 离线提交Detail Remote Action
  54. * @param orderId 订单号
  55. * @param type 订单类型 RAOrderStatus, New Order / Processing Order
  56. * @param action 操作类型 RADetailActionSubType, Reject / Accept
  57. * @param actionIdx 操作索引
  58. * @param actionName 操作名称
  59. * @param url 操作提交目标地址
  60. * @param params 操作提交的参数
  61. * @return 成功/失败
  62. */
  63. - (NSDictionary *)reportOrder:(NSString *)orderId type:(NSInteger)type actionType:(NSInteger)action actionIndex:(NSInteger)actionIdx actionName:(NSString *)actionName withURL:(NSString *)url params:(NSDictionary *)params;
  64. /**
  65. * @brief 离线提交订单
  66. * @param orderId 订单号
  67. * @param actionId 操作ID,RADetailActionSubType
  68. * @param title 操作名称
  69. * @param idx 操作索引
  70. * @param params 订单填写的信息
  71. * @param photos 待上传的图片模型数组
  72. * @param dir 待上传的图片存储目录
  73. */
  74. - (NSDictionary *)updateOrder:(NSString *)orderId action:(NSInteger)actionId title:(NSString *)title index:(NSInteger)idx withParams:(NSDictionary *)params photos:(NSArray<RAEditImageBaseModel *> *)photos cacheDir:(NSString *)dir;
  75. /**
  76. * @brief 更新order最后一次操作标记
  77. * @param actionIdx 操作索引
  78. * @param orderId 订单号
  79. */
  80. - (void)updateLastAction:(NSInteger)actionIdx forOrder:(NSString *)orderId;
  81. @end
  82. NS_ASSUME_NONNULL_END