123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 |
- <?php
- namespace app\common\Enum;
- /**
- * 分销配置枚举类
- */
- class CommissionConfigEnum
- {
- // ===================== 分销层级 =====================
-
- /**
- * 分销层级
- */
- const LEVEL_DISABLE = 0; // 关闭
- const LEVEL_ONE = 1; // 一级
- const LEVEL_TWO = 2; // 二级
- const LEVEL_THREE = 3; // 三级
-
- public static $levelList = [
- self::LEVEL_DISABLE => '关闭',
- self::LEVEL_ONE => '一级',
- // self::LEVEL_TWO => '二级',
- // self::LEVEL_THREE => '三级'
- ];
- // ===================== 开关状态 =====================
-
- /**
- * 开关状态(分销自购、分销商审核等)
- */
- const SWITCH_OFF = 0; // 关闭/不需要
- const SWITCH_ON = 1; // 开启/需要
-
- public static $switchList = [
- self::SWITCH_OFF => '关闭',
- self::SWITCH_ON => '开启'
- ];
-
- public static $checkList = [
- self::SWITCH_OFF => '不需要',
- self::SWITCH_ON => '需要'
- ];
-
- public static $allowList = [
- self::SWITCH_OFF => '不允许',
- self::SWITCH_ON => '允许'
- ];
-
- public static $upgradeCheckList = [
- self::SWITCH_OFF => '自动升级',
- self::SWITCH_ON => '审核后升级'
- ];
-
- public static $needFormList = [
- self::SWITCH_OFF => '不需要',
- self::SWITCH_ON => '需要'
- ];
-
- public static $showProtocolList = [
- self::SWITCH_OFF => '不显示',
- self::SWITCH_ON => '显示'
- ];
- // ===================== 锁定下级条件 =====================
-
- /**
- * 锁定下级条件
- */
- const LOCK_SHARE = 'share'; // 首次通过分享进入
- const LOCK_PAY = 'pay'; // 首次付款
- const LOCK_AGENT = 'agent'; // 成为子分销商
-
- public static $inviteLockList = [
- self::LOCK_SHARE => '首次通过分享进入',
- // self::LOCK_PAY => '首次付款',
- // self::LOCK_AGENT => '成为子分销商'
- ];
- // ===================== 成为分销商条件 =====================
-
- /**
- * 成为分销商条件
- */
- const BECOME_REGISTER = 'register'; // 新会员注册
- const BECOME_APPLY = 'apply'; // 自助申请
- const BECOME_GOODS = 'goods'; // 购买任意商品
- const BECOME_CONSUME = 'consume'; // 消费累计
-
- public static $becomeAgentList = [
- // self::BECOME_REGISTER => '新会员注册',
- self::BECOME_APPLY => '自助申请',
- // self::BECOME_GOODS => '购买任意商品',
- // self::BECOME_CONSUME => '消费累计'
- ];
- // ===================== 商品结算方式 =====================
-
- /**
- * 商品结算方式
- */
- const REWARD_TYPE_PRICE = 'price'; // 商品价
- const REWARD_TYPE_PAY_PRICE = 'pay_price'; // 实际支付价
-
- public static $rewardTypeList = [
- self::REWARD_TYPE_PRICE => '商品价',
- self::REWARD_TYPE_PAY_PRICE => '实际支付价'
- ];
- // ===================== 佣金结算方式 =====================
-
- /**
- * 佣金结算方式
- */
- const REWARD_EVENT_PAID = 'paid'; // 支付后结算
- const REWARD_EVENT_RECEIVED = 'received'; // 确认收货结算
- const REWARD_EVENT_FINISHED = 'finished'; // 订单完成结算
- const REWARD_EVENT_MANUAL = 'manual'; // 手动打款
-
- public static $rewardEventList = [
- self::REWARD_EVENT_PAID => '支付后结算',
- self::REWARD_EVENT_RECEIVED => '确认收货结算',
- self::REWARD_EVENT_FINISHED => '订单完成结算',
- self::REWARD_EVENT_MANUAL => '手动打款'
- ];
- // ===================== 扣除设置 =====================
-
- /**
- * 退款扣除设置
- */
- const REFUND_NO_DEDUCT = 0; // 退款不扣除
- const REFUND_DEDUCT = 1; // 退款扣除
-
- public static $refundCommissionRewardList = [
- self::REFUND_NO_DEDUCT => '退款不扣除',
- self::REFUND_DEDUCT => '退款扣除'
- ];
-
- public static $refundCommissionOrderList = [
- self::REFUND_NO_DEDUCT => '退款不扣除',
- self::REFUND_DEDUCT => '退款扣除'
- ];
- // ===================== 辅助方法 =====================
-
- /**
- * 获取分销层级文本
- */
- public static function getLevelText($value)
- {
- return self::$levelList[$value] ?? '关闭';
- }
-
- /**
- * 获取开关状态文本
- */
- public static function getSwitchText($value)
- {
- return self::$switchList[$value] ?? '关闭';
- }
-
- /**
- * 获取审核状态文本
- */
- public static function getCheckText($value)
- {
- return self::$checkList[$value] ?? '不需要';
- }
-
- /**
- * 获取锁定条件文本
- */
- public static function getInviteLockText($value)
- {
- return self::$inviteLockList[$value] ?? '首次通过分享进入';
- }
-
- /**
- * 获取成为分销商条件文本
- */
- public static function getBecomeAgentText($value)
- {
- return self::$becomeAgentList[$value] ?? '自助申请';
- }
-
- /**
- * 获取商品结算方式文本
- */
- public static function getRewardTypeText($value)
- {
- return self::$rewardTypeList[$value] ?? '实际支付价';
- }
-
- /**
- * 获取佣金结算方式文本
- */
- public static function getRewardEventText($value)
- {
- return self::$rewardEventList[$value] ?? '支付后结算';
- }
-
- /**
- * 获取退款佣金扣除文本
- */
- public static function getRefundCommissionRewardText($value)
- {
- return self::$refundCommissionRewardList[$value] ?? '退款扣除';
- }
-
- /**
- * 获取退款业绩扣除文本
- */
- public static function getRefundCommissionOrderText($value)
- {
- return self::$refundCommissionOrderList[$value] ?? '退款扣除';
- }
- // ===================== 验证方法 =====================
-
- /**
- * 验证分销层级值
- */
- public static function isValidLevel($value)
- {
- return array_key_exists($value, self::$levelList);
- }
-
- /**
- * 验证开关值
- */
- public static function isValidSwitch($value)
- {
- return in_array($value, [self::SWITCH_OFF, self::SWITCH_ON]);
- }
-
- /**
- * 验证锁定条件值
- */
- public static function isValidInviteLock($value)
- {
- return array_key_exists($value, self::$inviteLockList);
- }
-
- /**
- * 验证成为分销商条件值
- */
- public static function isValidBecomeAgent($value)
- {
- return array_key_exists($value, self::$becomeAgentList);
- }
-
- /**
- * 验证商品结算方式值
- */
- public static function isValidRewardType($value)
- {
- return array_key_exists($value, self::$rewardTypeList);
- }
-
- /**
- * 验证佣金结算方式值
- */
- public static function isValidRewardEvent($value)
- {
- return array_key_exists($value, self::$rewardEventList);
- }
-
- /**
- * 获取所有配置的默认值
- */
- public static function getDefaultConfig()
- {
- return [
- 'level' => self::LEVEL_DISABLE,
- 'self_buy' => self::SWITCH_OFF,
- 'invite_lock' => self::LOCK_SHARE,
- 'agent_check' => self::SWITCH_OFF,
- 'upgrade_jump' => self::SWITCH_ON,
- 'upgrade_check' => self::SWITCH_OFF,
- 'become_agent' => json_encode(['type' => self::BECOME_APPLY, 'value' => '']),
- 'need_form' => self::SWITCH_OFF,
- 'show_protocol' => self::SWITCH_OFF,
- 'reward_type' => self::REWARD_TYPE_PAY_PRICE,
- 'reward_event' => self::REWARD_EVENT_PAID,
- 'refund_commission_reward' => self::REFUND_DEDUCT,
- 'refund_commission_order' => self::REFUND_DEDUCT,
- ];
- }
- }
|