CommissionGoodsEnum.php 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. <?php
  2. namespace app\common\Enum;
  3. /**
  4. * 分销商品枚举类
  5. */
  6. class CommissionGoodsEnum
  7. {
  8. // ===================== 基础状态 =====================
  9. /**
  10. * 是否参与分销
  11. */
  12. const PARTICIPATE_NO = 0; // 不参与
  13. const PARTICIPATE_YES = 1; // 参与
  14. public static $participateList = [
  15. self::PARTICIPATE_NO => '不参与',
  16. self::PARTICIPATE_YES => '参与'
  17. ];
  18. public static $participateColorList = [
  19. self::PARTICIPATE_NO => 'danger',
  20. self::PARTICIPATE_YES => 'success'
  21. ];
  22. // ===================== 分销商业绩 =====================
  23. /**
  24. * 是否计入业绩
  25. */
  26. const ORDER_STATUS_NO = 0; // 不计入
  27. const ORDER_STATUS_YES = 1; // 计入
  28. public static $orderStatusList = [
  29. self::ORDER_STATUS_NO => '不计入',
  30. self::ORDER_STATUS_YES => '计入'
  31. ];
  32. public static $orderStatusColorList = [
  33. self::ORDER_STATUS_NO => 'danger',
  34. self::ORDER_STATUS_YES => 'success'
  35. ];
  36. // ===================== 佣金规则类型 =====================
  37. /**
  38. * 佣金规则类型
  39. */
  40. const RULE_TYPE_DEFAULT = 0; // 默认规则
  41. const RULE_TYPE_CUSTOM = 1; // 独立规则
  42. const RULE_TYPE_BATCH = 2; // 批量规则
  43. public static $ruleTypeList = [
  44. self::RULE_TYPE_DEFAULT => '默认规则',
  45. self::RULE_TYPE_CUSTOM => '独立规则',
  46. self::RULE_TYPE_BATCH => '批量规则'
  47. ];
  48. // ===================== 分销层级 =====================
  49. /**
  50. * 分销层级
  51. */
  52. const LEVEL_1 = 1; // 一级
  53. const LEVEL_2 = 2; // 二级
  54. const LEVEL_3 = 3; // 三级
  55. public static $levelList = [
  56. self::LEVEL_1 => '一级',
  57. self::LEVEL_2 => '二级',
  58. self::LEVEL_3 => '三级'
  59. ];
  60. // ===================== 分销自购 =====================
  61. /**
  62. * 分销自购
  63. */
  64. const SELF_BUY_OFF = 0; // 关闭
  65. const SELF_BUY_ON = 1; // 开启
  66. public static $selfBuyList = [
  67. self::SELF_BUY_OFF => '关闭',
  68. self::SELF_BUY_ON => '开启'
  69. ];
  70. public static $selfBuyColorList = [
  71. self::SELF_BUY_OFF => 'danger',
  72. self::SELF_BUY_ON => 'success'
  73. ];
  74. // ===================== 商品结算方式 =====================
  75. /**
  76. * 商品结算方式
  77. */
  78. const SETTLEMENT_GOODS_PRICE = 0; // 商品价
  79. const SETTLEMENT_ACTUAL_PRICE = 1; // 实际支付价
  80. public static $settlementList = [
  81. self::SETTLEMENT_GOODS_PRICE => '商品价',
  82. self::SETTLEMENT_ACTUAL_PRICE => '实际支付价'
  83. ];
  84. // ===================== 佣金结算方式 =====================
  85. /**
  86. * 佣金结算方式
  87. */
  88. const COMMISSION_AFTER_PAY = 0; // 支付后结算
  89. const COMMISSION_AFTER_CONFIRM = 1; // 确认收货结算
  90. const COMMISSION_AFTER_COMPLETE = 2; // 订单完成结算
  91. const COMMISSION_MANUAL = 3; // 手动打款
  92. public static $commissionSettlementList = [
  93. self::COMMISSION_AFTER_PAY => '支付后结算',
  94. self::COMMISSION_AFTER_CONFIRM => '确认收货结算',
  95. self::COMMISSION_AFTER_COMPLETE => '订单完成结算',
  96. self::COMMISSION_MANUAL => '手动打款'
  97. ];
  98. // ===================== 佣金类型 =====================
  99. /**
  100. * 佣金类型
  101. */
  102. const COMMISSION_TYPE_RATE = 'rate'; // 比例
  103. const COMMISSION_TYPE_MONEY = 'money'; // 固定金额
  104. public static $commissionTypeList = [
  105. self::COMMISSION_TYPE_RATE => '比例(%)',
  106. self::COMMISSION_TYPE_MONEY => '固定金额(元)'
  107. ];
  108. // ===================== 辅助方法 =====================
  109. /**
  110. * 获取参与状态文本
  111. */
  112. public static function getParticipateText($value)
  113. {
  114. return self::$participateList[$value] ?? '不参与';
  115. }
  116. /**
  117. * 获取参与状态颜色
  118. */
  119. public static function getParticipateColor($value)
  120. {
  121. return self::$participateColorList[$value] ?? 'danger';
  122. }
  123. /**
  124. * 获取业绩状态文本
  125. */
  126. public static function getOrderStatusText($value)
  127. {
  128. return self::$orderStatusList[$value] ?? '不计入';
  129. }
  130. /**
  131. * 获取业绩状态颜色
  132. */
  133. public static function getOrderStatusColor($value)
  134. {
  135. return self::$orderStatusColorList[$value] ?? 'danger';
  136. }
  137. /**
  138. * 获取规则类型文本
  139. */
  140. public static function getRuleTypeText($value)
  141. {
  142. return self::$ruleTypeList[$value] ?? '默认规则';
  143. }
  144. /**
  145. * 获取层级文本
  146. */
  147. public static function getLevelText($value)
  148. {
  149. return self::$levelList[$value] ?? '一级';
  150. }
  151. /**
  152. * 获取自购状态文本
  153. */
  154. public static function getSelfBuyText($value)
  155. {
  156. return self::$selfBuyList[$value] ?? '关闭';
  157. }
  158. /**
  159. * 获取自购状态颜色
  160. */
  161. public static function getSelfBuyColor($value)
  162. {
  163. return self::$selfBuyColorList[$value] ?? 'danger';
  164. }
  165. /**
  166. * 获取结算方式文本
  167. */
  168. public static function getSettlementText($value)
  169. {
  170. return self::$settlementList[$value] ?? '商品价';
  171. }
  172. /**
  173. * 获取佣金结算方式文本
  174. */
  175. public static function getCommissionSettlementText($value)
  176. {
  177. return self::$commissionSettlementList[$value] ?? '支付后结算';
  178. }
  179. /**
  180. * 获取佣金类型文本
  181. */
  182. public static function getCommissionTypeText($value)
  183. {
  184. return self::$commissionTypeList[$value] ?? '比例(%)';
  185. }
  186. /**
  187. * 验证参与状态值
  188. */
  189. public static function isValidParticipate($value)
  190. {
  191. return in_array($value, [self::PARTICIPATE_NO, self::PARTICIPATE_YES]);
  192. }
  193. /**
  194. * 验证业绩状态值
  195. */
  196. public static function isValidOrderStatus($value)
  197. {
  198. return in_array($value, [self::ORDER_STATUS_NO, self::ORDER_STATUS_YES]);
  199. }
  200. /**
  201. * 验证规则类型值
  202. */
  203. public static function isValidRuleType($value)
  204. {
  205. return in_array($value, [self::RULE_TYPE_DEFAULT, self::RULE_TYPE_CUSTOM, self::RULE_TYPE_BATCH]);
  206. }
  207. /**
  208. * 验证层级值
  209. */
  210. public static function isValidLevel($value)
  211. {
  212. return in_array($value, [self::LEVEL_1, self::LEVEL_2, self::LEVEL_3]);
  213. }
  214. /**
  215. * 验证佣金类型值
  216. */
  217. public static function isValidCommissionType($value)
  218. {
  219. return in_array($value, [self::COMMISSION_TYPE_RATE, self::COMMISSION_TYPE_MONEY]);
  220. }
  221. }