DoubleCopyEnum.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. <?php
  2. namespace addons\DoubleCopy\common\enums;
  3. use yii\helpers\Json;
  4. /**
  5. * Class DoubleCopy
  6. * @package addons\DoubleCopy\common\enums
  7. */
  8. class DoubleCopyEnum
  9. {
  10. const ADDONS_NAME = 'DoubleCopy';
  11. const LEVEL_AGENT = 1;
  12. const LEVEL_AGENT_NAME = '代理';
  13. const LEVEL_BOSS = 2;
  14. const LEVEL_BOSS_NAME = '老板';
  15. const UPGRADE_STATUS_CONDITION = 1; //条件升级
  16. const UPGRADE_STATUS_GOODS = 2; //购买指定商品升级
  17. const UPGRADE_STATUS_MANUAL = 3; //手动升级
  18. //待发放
  19. const FROZEN = 0;
  20. //已发放
  21. const ISSUED = 1;
  22. const ENABLED = 1;
  23. const DISABLED = 0;
  24. const DELETE = -1;
  25. //一级,直推奖励
  26. const FIRST_PRIZE = 'first_prize';
  27. //间推奖
  28. const INDIRECT_PRIZE = 'indirect_prize';
  29. //二级,平台补贴
  30. const SECOND_PRIZE = 'second_prize';
  31. //培育奖
  32. const EQUAL_PRIZE = 'equal_prize';
  33. //冻结基金
  34. const FREEZE_FUND = 'freeze_fund';
  35. //津贴奖
  36. const ALLOWANCE_PRICE = 'allowance_price';
  37. //平级奖
  38. const EQUAL_LEVEL_PRIZE = 'equal_level_prize';
  39. //复购奖
  40. const REPURCHASE_PRIZE = 'repurchase_prize';
  41. const CONTRIBUTION_PRICE = 'contribution_price';
  42. // 结算方式
  43. const COMPUTING_METHOD_PAY_PRICE = 0;// 实际支付金额
  44. const COMPUTING_METHOD_GOODS_PRICE = 1;// 商品售价
  45. const COMPUTING_METHOD_GOODS_PROFIT = 2;// 商品利润
  46. // 结算类型
  47. const INVALID = -1;// 已失效
  48. const NOT_SETTLEMENT = 0;// 未结算
  49. const SETTLED = 1;// 已结算
  50. const PART_SETTLED = 2;// 部分结算
  51. // 操作冻结基金类型
  52. const OPERATION_TYPE_FREEZE_FUND_MONTHLY_LIMITED_INVALID = 'freeze_fund_monthly_limited_invalid'; // 冻结基金失效
  53. const OPERATION_TYPE_FREEZE_FUND_MONTHLY_LIMITED_TO_PARENT = 'freeze_fund_monthly_limited_to_parent'; // 冻结基金转给上级
  54. const OPERATION_TYPE_FREEZE_FUND_MONTHLY_LIMITED_FROM_CHILD = 'freeze_fund_monthly_limited_from_child'; // 冻结基金来自下级转入
  55. /**
  56. * @return string[]
  57. */
  58. public static function getStatusMap()
  59. {
  60. return [
  61. self::ENABLED => '启用',
  62. self::DISABLED => '禁用',
  63. ];
  64. }
  65. /**
  66. * @param null $name
  67. * @return string|string[]
  68. */
  69. public static function getNameMap($name = null)
  70. {
  71. $data = [
  72. self::ADDONS_NAME => '链动2+1',
  73. ];
  74. return $name ? $data[$name] : $data;
  75. }
  76. /**
  77. * @param int $upgrade_status
  78. * @return string|string[]
  79. */
  80. public static function getUpgradeStatusMap($upgrade_status = 0)
  81. {
  82. $data = [
  83. self::UPGRADE_STATUS_CONDITION => '条件升级',
  84. self::UPGRADE_STATUS_GOODS => '购买指定商品升级',
  85. self::UPGRADE_STATUS_MANUAL => '手动升级'
  86. ];
  87. return $data[$upgrade_status] ? $data[$upgrade_status] : $data;
  88. }
  89. /**
  90. * 资金类型
  91. * @Author: lun
  92. * @DateTime: 2022/5/17 0017 15:58
  93. * @Copyright: copyright (c) 2021 广东七件事集团
  94. * @param null $type
  95. * @return string|string[]
  96. */
  97. public static function getCapitalMap($mall_id = null, $type = null)
  98. {
  99. if ($mall_id) {
  100. // 获取自定义配置名称
  101. $reward_name = \Yii::$app->services->setting->addons->get($mall_id, self::ADDONS_NAME, 'basic.reward_name');
  102. if (!empty($reward_name)) $data = Json::decode($reward_name, true);
  103. }
  104. if (empty($data)) {
  105. $data = [
  106. self::SECOND_PRIZE => '平台补贴',
  107. self::INDIRECT_PRIZE => '间推奖',
  108. self::FIRST_PRIZE => '直推奖',
  109. self::EQUAL_PRIZE => '培育奖',
  110. self::FREEZE_FUND => '冻结基金',
  111. self::ALLOWANCE_PRICE => '津贴奖',
  112. self::EQUAL_LEVEL_PRIZE => '平级奖',
  113. self::REPURCHASE_PRIZE => '复购奖',
  114. self::CONTRIBUTION_PRICE => '贡献补贴奖',
  115. ];
  116. }
  117. if (empty($data[self::INDIRECT_PRIZE])) $data[self::INDIRECT_PRIZE] = '间推奖';
  118. if (empty($data[self::ALLOWANCE_PRICE])) $data[self::ALLOWANCE_PRICE] = '津贴奖';
  119. if (empty($data[self::EQUAL_LEVEL_PRIZE])) $data[self::EQUAL_LEVEL_PRIZE] = '平级奖';
  120. if (empty($data[self::REPURCHASE_PRIZE])) $data[self::REPURCHASE_PRIZE] = '复购奖';
  121. $data[self::CONTRIBUTION_PRICE] = '贡献补贴奖';
  122. return $type ? $data[$type] : $data;
  123. }
  124. /**
  125. * api获取对象资金类
  126. * @Author: lun
  127. * @DateTime: 2022/5/18 0018 18:16
  128. * @Copyright: copyright (c) 2021 广东七件事集团
  129. * @return \string[][]
  130. */
  131. public static function getApiCapitalMap($mall_id = null)
  132. {
  133. $data = [];
  134. $list = self::getCapitalMap($mall_id);
  135. $config = \Yii::$app->services->setting->addons->get($mall_id, self::ADDONS_NAME, 'basic.show_reward');
  136. if (!empty($config)) $config = json_decode($config, true);
  137. foreach ($list as $name => $title) {
  138. // 检测是否需要显示前端奖励项
  139. if (!empty($config) && empty($config[$name])) continue;
  140. $data['capital_type'][] = ['name' => $name, 'title' => $title];
  141. if ($name == 'freeze_fund') $data['freeze_fund_name'] = $title;
  142. }
  143. return $data;
  144. }
  145. /**
  146. * @return string[]
  147. */
  148. public static function getStateMap()
  149. {
  150. return [
  151. self::FROZEN => '待发放',
  152. self::ISSUED => '已发放',
  153. ];
  154. }
  155. /**
  156. * 获取佣金的资金类型
  157. * @Author: lun
  158. * @DateTime: 2023/5/31 0031 9:17
  159. * @Copyright: copyright (c) 2021 广东七件事集团
  160. * @return string[]
  161. */
  162. public static function getCommissionMap()
  163. {
  164. return [
  165. self::SECOND_PRIZE,
  166. self::INDIRECT_PRIZE,
  167. self::FIRST_PRIZE,
  168. self::EQUAL_PRIZE,
  169. self::ALLOWANCE_PRICE,
  170. self::EQUAL_LEVEL_PRIZE,
  171. self::REPURCHASE_PRIZE,
  172. ];
  173. }
  174. /**
  175. * 是否显示前端奖励项默认值
  176. * @Author: lun
  177. * @DateTime: 2023/7/18 0018 11:09
  178. * @Copyright: copyright (c) 2021 广东七件事集团
  179. * @return int[]
  180. */
  181. public static function defaultShowReward()
  182. {
  183. return [
  184. self::SECOND_PRIZE => 1,
  185. self::INDIRECT_PRIZE => 1,
  186. self::FIRST_PRIZE => 1,
  187. self::EQUAL_PRIZE => 1,
  188. self::FREEZE_FUND => 1,
  189. self::ALLOWANCE_PRICE => 1,
  190. self::EQUAL_LEVEL_PRIZE => 1,
  191. self::REPURCHASE_PRIZE => 1,
  192. ];
  193. }
  194. }