CouponEnum.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. <?php
  2. namespace addons\Store\common\enums;
  3. use common\enums\BaseEnum;
  4. /**
  5. * Class AddonsCouponEnum
  6. * @package addons\Coupon\common\enums
  7. */
  8. class CouponEnum extends BaseEnum
  9. {
  10. const DISCOUNT = 1;
  11. const FULL_MINUS = 2;
  12. const EXCHANGE = 3;
  13. const GIVING = 1;
  14. const GIVING_N = 0;
  15. const IS_USE0= 0;
  16. const IS_USE1= 1;
  17. const EXPIRE_TYPE1 = 1;
  18. const EXPIRE_TYPE2 = 2;
  19. const EXPIRE_TYPE3 = 3;
  20. const APPOINT_TYPE1 = 1;
  21. const APPOINT_TYPE2 = 2;
  22. const APPOINT_TYPE3 = 3;
  23. const APPOINT_TYPE5 = 5;//指定商户
  24. // 领取方式
  25. const SEND_FROM1 = 1;
  26. const SEND_FROM2 = 2;
  27. const SEND_FROM3 = 3;
  28. const SEND_FROM4 = 4;
  29. const SEND_FROM5 = 5;
  30. const SEND_FROM6 = 6;
  31. const SEND_FROM7 = 7;
  32. const SEND_FROM8 = 8;
  33. const SEND_FROM9 = 9;
  34. const SEND_FROM10 = 10;
  35. const SEND_FROM11 = 11;
  36. const SEND_FROM12 = 12;
  37. const SEND_FROM13 = 13;
  38. const SEND_FROM14 = 14;
  39. const SEND_FROM15 = 15;
  40. const SEND_FROM16 = 16;
  41. // 渠道来源
  42. const REVC_TYPE_H5 = 'h5';
  43. const REVC_TYPE_WECHAT = 'wechat';
  44. const REVC_TYPE_MPWX = 'mp-wx';
  45. const REVC_TYPE_APP = 'app';
  46. const REVC_TYPE_WORK_WX = 'work-wx';
  47. /* 优惠券状态 */
  48. // 未开始
  49. const STATUS_NOT_BEGIN = 1;
  50. // 领取中
  51. const STATUS_RECEIVING = 2;
  52. // 已过期
  53. const STATUS_EXPIRED = 3;
  54. // 已失效
  55. const STATUS_FAILURE = 4;
  56. // 优惠券奖励方式
  57. const REWARD_TYPE_GIVING = 1;
  58. const REWARD_TYPE_CONSUME = 2;
  59. // 优惠券奖励类型
  60. const REWARD_TYPE1 = 1; // 余额
  61. const REWARD_TYPE2 = 2; // 红包
  62. const REWARD_TYPE3 = 3; // 积分
  63. const REWARD_TYPE4 = 4; // 系统虚拟货币
  64. //0:未转赠,1:转赠中,2:已被领取(转赠完成
  65. const GIVING_STATUS0 = 0;
  66. const GIVING_STATUS1 = 1;
  67. const GIVING_STATUS2 = 2;
  68. /**
  69. * 优惠券来源
  70. * @Author: lun
  71. * @DateTime: 2021/12/17 0017 18:28
  72. * @Copyright: copyright (c) 2021 广东七件事集团
  73. * @param null $form
  74. */
  75. public static function getSendFromMap($form = null)
  76. {
  77. $data = [
  78. self::SEND_FROM1 => '商城发放',
  79. self::SEND_FROM2 => '购买商品奖励',
  80. self::SEND_FROM3 => '商品详情处领取',
  81. self::SEND_FROM4 => '领券中心领取',
  82. self::SEND_FROM5 => '签到',
  83. self::SEND_FROM6 => '好友转赠',
  84. self::SEND_FROM7 => '云库存-提货到线下奖励',
  85. self::SEND_FROM8 => '升级礼包赠送',
  86. self::SEND_FROM9 => '九宫格中奖',
  87. self::SEND_FROM10 => '刮刮卡中奖',
  88. self::SEND_FROM11 => '充值赠送',
  89. self::SEND_FROM12 => '会员礼包赠送',
  90. self::SEND_FROM13 => '消费礼包赠送',
  91. self::SEND_FROM14 => '推三返一赠送',
  92. self::SEND_FROM15 => '推荐有礼赠送',
  93. self::SEND_FROM16 => '收银台订单赠送',
  94. ];
  95. if(isset($data[$form])) return $data[$form];
  96. return $data;
  97. }
  98. /**
  99. * @return array
  100. */
  101. public static function getMap(): array
  102. {
  103. return [];
  104. }
  105. public static function getTypeMap(): array
  106. {
  107. return [
  108. self::DISCOUNT => '折扣',
  109. self::FULL_MINUS => '满减',
  110. self::EXCHANGE => '兑换',
  111. ];
  112. }
  113. public static function getExpireTypeMap(): array
  114. {
  115. return [
  116. self::EXPIRE_TYPE1 => '领取后N天过期',
  117. self::EXPIRE_TYPE2 => '指定有效期',
  118. self::EXPIRE_TYPE3 => '领取后N天生效,生效后M天过期',
  119. ];
  120. }
  121. public static function getAppointTypeMap(): array
  122. {
  123. return [
  124. self::APPOINT_TYPE1 => '指定分类',
  125. self::APPOINT_TYPE2 => '指定商品',
  126. self::APPOINT_TYPE3 => '全场通用',
  127. ];
  128. }
  129. public static function getGivingStatusMap(): array
  130. {
  131. return [
  132. self::GIVING_STATUS0 => '未转赠',
  133. self::GIVING_STATUS1 => '转赠中',
  134. self::GIVING_STATUS2 => '已被领取',
  135. ];
  136. }
  137. public static function getIsGivingMap()
  138. {
  139. return [
  140. self::GIVING => '是',
  141. self::GIVING_N => '否',
  142. ];
  143. }
  144. public static function getReceiveTypeMap(int $revc_type = 0)
  145. {
  146. $revc_type_map = [
  147. self::REVC_TYPE_H5 => 'h5',
  148. self::REVC_TYPE_WECHAT => '微信',
  149. self::REVC_TYPE_MPWX => '微信小程序',
  150. self::REVC_TYPE_APP => 'app',
  151. self::REVC_TYPE_WORK_WX => '企业微信',
  152. ];
  153. if ($revc_type) {
  154. return $revc_type_map[$revc_type];
  155. } else {
  156. return $revc_type_map;
  157. }
  158. }
  159. public static function getCouponStatusMap(int $status = 0, bool $is_user_coupon = false)
  160. {
  161. $status_map = [
  162. self::STATUS_NOT_BEGIN => '未开始',
  163. self::STATUS_RECEIVING => '领取中',
  164. self::STATUS_EXPIRED => '已过期',
  165. self::STATUS_FAILURE => '已失效',
  166. ];
  167. if ($is_user_coupon) {
  168. $status_map[self::STATUS_RECEIVING] = '正常使用';
  169. }
  170. if ($status) {
  171. return $status_map[$status];
  172. } else {
  173. return $status_map;
  174. }
  175. }
  176. public static function getRewardScenariosMap(int $reward_type = 0)
  177. {
  178. $reward_type_map = [
  179. self::REWARD_TYPE_CONSUME => '使用奖励',
  180. self::REWARD_TYPE_GIVING => '转赠奖励',
  181. ];
  182. if ($reward_type) {
  183. return $reward_type_map[$reward_type];
  184. } else {
  185. return $reward_type_map;
  186. }
  187. }
  188. public static function getRewardTypeMap(int $reward_type)
  189. {
  190. $reward_type_map = [
  191. self::REWARD_TYPE1 => '余额',
  192. self::REWARD_TYPE2 => '红包',
  193. self::REWARD_TYPE3 => '积分',
  194. self::REWARD_TYPE4 => '系统虚拟货币',
  195. ];
  196. if ($reward_type) {
  197. return $reward_type_map[$reward_type];
  198. } else {
  199. return $reward_type_map;
  200. }
  201. }
  202. }