HiGoEnum.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <?php
  2. namespace addons\HiGo\common\enums;
  3. use addons\Agent\common\enums\ComputingEnum;
  4. use addons\Area\common\enums\AreaEnum;
  5. use addons\Distribution\common\enums\DistributionEnum;
  6. use common\enums\AddonsEnum;
  7. use common\enums\BaseEnum;
  8. use Yii;
  9. class HiGoEnum extends BaseEnum
  10. {
  11. const ADDONS_NAME = AddonsEnum::ADDONS_NAME_HI_GO;
  12. const WALLET_TYPE_HI_VALUE = 'hi_value';
  13. const WALLET_TYPE_HI_BEI = 'hi_bei';
  14. const SETTLEMENT_METHOD_AFTER_PAY = 0;
  15. const SETTLEMENT_METHOD_AFTER_FINISH = 1;
  16. const USER_WALLET_RESUALT_KEY_PREFIX = 'HiGo_user_wallet_result_';
  17. const LOCK_HIGO_USER_WALLET = 'lock_higo_user_wallet_';
  18. //嗨呗/嗨值 钱包表来源类型
  19. const FROM_TYPE_ORDER_GOODS = 'order_goods'; //消费返利:购买商品返利
  20. const FROM_TYPE_DESTROY = 'hi_value_destroy'; //嗨购模式:嗨值销毁
  21. const FROM_TYPE_AIRDROP = 'hi_bei_airdrop'; //嗨贝:空投收益
  22. const FROM_TYPE_STORE_ORDER = 'store_order'; //用户下单奖
  23. const FROM_TYPE_STORE_CASHIER_ORDER_PARENT_REWARD = 'store_cashier_order_parent_reward'; //收银台用户下单上级奖
  24. const FROM_TYPE_ADMIN_HI_VALUE = 'admin_hi_value'; //后台操作嗨值
  25. const FROM_TYPE_ADMIN_HI_BEI = 'admin_hi_bei'; //后台操作嗨呗
  26. const FROM_TYPE_GOODS_HI_BEI_DEDUTION = 'goods_hi_bei_dedution'; //购物嗨贝抵扣
  27. const FROM_TYPE_GOODS_HI_VALUE_DEDUTION = 'goods_hi_value_dedution'; //购物嗨值抵扣
  28. const FROM_TYPE_MERCHANT_REWARD = 'merchant_reward'; //商家打赏
  29. const FROM_TYPE_USER_RECHARGE = 'user_recharge';
  30. const FROM_TYPE_WITHDRAW_HI_BEI = 'withdraw_hi_bei';
  31. const FROM_TYPE_WITHDRAW_REFUSE_HI_BEI = 'withdraw_refuse_hi_bei';
  32. const FROM_TYPE_ORDER_REFUND = 'order_refund';
  33. const FROM_TYPE_ORDER_CLOSED = 'order_closed';
  34. const FROM_TYPE_ORDER_REFUND_BACK = 'order_refund_back';
  35. const FROM_TYPE_REGISTER_REWARD = 'register'; //注册赠送
  36. const FROM_TYPE_REGISTER_PARENT = 'register_parent'; //注册上级赠送
  37. const FROM_TYPE_REPURCHASE_ACTIVE = 'repurchase_active'; //复购激活
  38. const FROM_TYPE_TRANSFER_HI_BEI = 'transfer_hi_bei'; //嗨呗转让
  39. const FROM_TYPE_TRANSFER_SERVICE_FEE_HI_BEI = 'transfer_service_fee_hi_bei'; //嗨呗转让手续费
  40. const FROM_TYPE_CONTRIBUTION_CHANGE_HI_BEI = 'contribution_change_hi_bei'; //贡献值转嗨呗
  41. public static function getMap(): array
  42. {
  43. return [];
  44. }
  45. public static function getHigoWalletText($mall_id)
  46. {
  47. //获取基础配置,自定义资产名称
  48. $basic = Yii::$app->services->setting->addons->get($mall_id, HiGoEnum::ADDONS_NAME, 'basic');
  49. $text_arr = [
  50. HiGoEnum::WALLET_TYPE_HI_VALUE => $basic['hi_value_name'] ?? '嗨值',
  51. HiGoEnum::WALLET_TYPE_HI_BEI => $basic['hi_bei_name'] ?? '嗨贝'
  52. ];
  53. return $text_arr;
  54. }
  55. public static function generateOrderNo($prefix = '')
  56. {
  57. $randLen = 6;
  58. $id = base_convert(substr(uniqid(), 0 - $randLen), 16, 10);
  59. if (strlen($id) > 10) {
  60. $id = substr($id, -10);
  61. } elseif (strlen($id) < 10) {
  62. $rLen = 10 - strlen($id);
  63. $id = $id . rand(pow(10, $rLen - 1), pow(10, $rLen) - 1);
  64. }
  65. $dateTimeStr = date('YmdHis');
  66. return $prefix . $dateTimeStr . $id;
  67. }
  68. public static function getWalletLogStatus(): array
  69. {
  70. return [
  71. -1 => '失效',
  72. 1 => '已结算',
  73. 2 => '冻结'
  74. ];
  75. }
  76. public static function getFromTypeMap($mall_id = 0): array
  77. {
  78. $text = self::getHigoWalletText($mall_id);
  79. $hi_bei_name = $text[HiGoEnum::WALLET_TYPE_HI_BEI];
  80. $hi_value_name = $text[HiGoEnum::WALLET_TYPE_HI_VALUE];
  81. return [
  82. self::FROM_TYPE_ORDER_GOODS => '消费返利:购买商品返利',
  83. self::FROM_TYPE_DESTROY => '嗨购模式:'.$hi_value_name.'销毁',
  84. self::FROM_TYPE_AIRDROP => $hi_bei_name . ':空投收益',
  85. self::FROM_TYPE_ADMIN_HI_VALUE => $hi_value_name . ':后台充值',
  86. self::FROM_TYPE_ADMIN_HI_BEI => $hi_bei_name . ':后台充值',
  87. self::FROM_TYPE_GOODS_HI_BEI_DEDUTION => $hi_bei_name . ':购物抵扣',
  88. self::FROM_TYPE_GOODS_HI_VALUE_DEDUTION => $hi_value_name . ':购物抵扣',
  89. self::FROM_TYPE_STORE_ORDER => $hi_value_name . ':用户下单奖',
  90. self::FROM_TYPE_USER_RECHARGE => $hi_bei_name . ':用户充值',
  91. self::FROM_TYPE_WITHDRAW_HI_BEI => $hi_bei_name . ':提现',
  92. self::FROM_TYPE_WITHDRAW_REFUSE_HI_BEI => $hi_bei_name . ':提现驳回',
  93. self::FROM_TYPE_MERCHANT_REWARD => $hi_bei_name . ':商家打赏',
  94. self::FROM_TYPE_ORDER_REFUND => '订单售后:商品抵扣返回',
  95. self::FROM_TYPE_ORDER_CLOSED => '订单关闭:商品抵扣返回',
  96. self::FROM_TYPE_TRANSFER_HI_BEI => $hi_bei_name.'转让',
  97. self::FROM_TYPE_TRANSFER_SERVICE_FEE_HI_BEI => $hi_bei_name.'转让手续费',
  98. self::FROM_TYPE_ORDER_REFUND_BACK => '订单售后:赠送退还',
  99. self::FROM_TYPE_STORE_CASHIER_ORDER_PARENT_REWARD => $hi_value_name. ':收银台用户下单上级奖'
  100. ];
  101. }
  102. /**
  103. * 获取其他插件奖励类型
  104. * @param $addons_name
  105. * @param $from_type
  106. * @return string
  107. */
  108. public static function getAddonsFromTypeMap($addons_name,$from_type)
  109. {
  110. $addons_name_type = '';
  111. $type = '';
  112. if($addons_name == AddonsEnum::ADDONS_NAME_AGENT){
  113. //团队
  114. $addons_name_type = '团队分红:';
  115. $type = ComputingEnum::getTypeMap($from_type);
  116. $type = !is_array($type) ? $type : '其他奖励';
  117. }elseif($addons_name == AddonsEnum::ADDONS_NAME_DISTRIBUTION){
  118. $addons_name_type = '分销商:';
  119. $map = DistributionEnum::getMap();
  120. $type = $map[$from_type] ?? '其他奖励';
  121. }elseif ($addons_name == AddonsEnum::ADDONS_NAME_AREA){
  122. $addons_name_type = '区域分红:';
  123. $type = AreaEnum::getTypeMap($from_type);
  124. $type = !is_array($type) ? $type : '其他奖励';
  125. }elseif($addons_name == AddonsEnum::ADDONS_NAME_BUSINESS_BONUS){
  126. $addons_name_type = '招商分红:';
  127. $type = '招商奖励';
  128. }
  129. return $addons_name_type.$type;
  130. }
  131. public static function getFreezeFromTypeMap(): array
  132. {
  133. return [
  134. self::FROM_TYPE_REGISTER_REWARD => '注册赠送',
  135. self::FROM_TYPE_REGISTER_PARENT => '推荐注册赠送',
  136. self::FROM_TYPE_REPURCHASE_ACTIVE => '复购冻结',
  137. ];
  138. }
  139. }