AddonsCouponEnum.php 6.8 KB

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