ActivityInterface.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <?php
  2. namespace addons\shopro\library\activity\contract;
  3. interface ActivityInterface
  4. {
  5. /**
  6. * 活动规则表单验证
  7. *
  8. * @param array $data
  9. * @return void
  10. */
  11. public function validate(array $data);
  12. /**
  13. * 检查要添加的活动状态
  14. *
  15. * @param array $params
  16. * @return void
  17. */
  18. public function check(array $params);
  19. /**
  20. * 获取活动相关的信息
  21. *
  22. * @param string $type
  23. * @param array $rules
  24. * @return array
  25. */
  26. public function rulesInfo($type, $rules);
  27. /**
  28. * 保存当前活动的专属数据
  29. *
  30. * @param \think\Model $activity
  31. * @param array $data
  32. * @return void
  33. */
  34. public function save(\think\Model $activity, array $params = []);
  35. /**
  36. * 展示当前活动规格的专属数据
  37. *
  38. * @param \think\Model $activity
  39. * @param array $data
  40. * @return void
  41. */
  42. public function showSkuPrice(\think\Model $skuPrice);
  43. /**
  44. * 格式化活动标签(满减,满折等)
  45. *
  46. * @param array $rules
  47. * @param string $type
  48. * @return array
  49. */
  50. public function formatTags(array $rules, $type);
  51. /**
  52. * 格式化活动标签单个(满减,满折等)
  53. *
  54. * @param array $rules
  55. * @param string $type
  56. * @return string
  57. */
  58. public function formatTag(array $discountData);
  59. /**
  60. * 格式化活动规则,完整版(满减,满折等)
  61. *
  62. * @param array $rules
  63. * @param string $type
  64. * @return array
  65. */
  66. public function formatTexts(array $rules, $type);
  67. /**
  68. * 覆盖商品活动数据
  69. *
  70. * @param \think\Model|array $goods
  71. * @param array $activity
  72. * @return array
  73. */
  74. public function recoverSkuPrices(array $goods, array $activity);
  75. /**
  76. * 购买活动处理
  77. *
  78. * @param array $buyInfo
  79. * @param array $activity
  80. * @return array
  81. */
  82. public function buyCheck($buyInfo, $activity);
  83. /**
  84. * 购买活动
  85. *
  86. * @param array $buyInfo
  87. * @param array $activity
  88. * @return array
  89. */
  90. public function buy($buyInfo, $activity);
  91. /**
  92. * 购买活动成功
  93. *
  94. * @param array|object $order
  95. * @param array|object $user
  96. * @return array
  97. */
  98. public function buyOk($order, $user);
  99. /**
  100. * 购买活动失败
  101. *
  102. * @param array|object $order
  103. * @param string $type
  104. * @return array
  105. */
  106. public function buyFail($order, $type);
  107. /**
  108. * 活动信息
  109. *
  110. * @param array $promo
  111. * @param array $data 附加数据
  112. * @return array
  113. */
  114. public function getPromoInfo(array $promo, array $data = []);
  115. }