AccountLogEnum.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <?php
  2. namespace app\common\enum\user;
  3. /**
  4. * 用户账户流水变动表枚举
  5. * Class AccountLogEnum
  6. * @package app\common\enum
  7. */
  8. class AccountLogEnum
  9. {
  10. /**
  11. * 变动类型命名规则:对象_动作_简洁描述
  12. * 动作 DEC-减少 INC-增加
  13. * 对象 UM-用户余额
  14. */
  15. /**
  16. * 变动对象
  17. * UM 用户余额(user_money)
  18. */
  19. const UM = 1;
  20. /**
  21. * 动作
  22. * INC 增加
  23. * DEC 减少
  24. */
  25. const INC = 1;
  26. const DEC = 2;
  27. /**
  28. * 用户余额减少类型
  29. */
  30. const UM_DEC_ADMIN = 100;
  31. const UM_DEC_RECHARGE_REFUND = 101;
  32. /**
  33. * 用户余额增加类型
  34. */
  35. const UM_INC_ADMIN = 200;
  36. const UM_INC_RECHARGE = 201;
  37. /**
  38. * 用户余额(减少类型汇总)
  39. */
  40. const UM_DEC = [
  41. self::UM_DEC_ADMIN,
  42. self::UM_DEC_RECHARGE_REFUND,
  43. ];
  44. /**
  45. * 用户余额(增加类型汇总)
  46. */
  47. const UM_INC = [
  48. self::UM_INC_ADMIN,
  49. self::UM_INC_RECHARGE,
  50. ];
  51. /**
  52. * @notes 动作描述
  53. * @param $action
  54. * @param false $flag
  55. * @return string|string[]
  56. * @author 段誉
  57. * @date 2023/2/23 10:07
  58. */
  59. public static function getActionDesc($action, $flag = false)
  60. {
  61. $desc = [
  62. self::DEC => '减少',
  63. self::INC => '增加',
  64. ];
  65. if ($flag) {
  66. return $desc;
  67. }
  68. return $desc[$action] ?? '';
  69. }
  70. /**
  71. * @notes 变动类型描述
  72. * @param $changeType
  73. * @param false $flag
  74. * @return string|string[]
  75. * @author 段誉
  76. * @date 2023/2/23 10:07
  77. */
  78. public static function getChangeTypeDesc($changeType, $flag = false)
  79. {
  80. $desc = [
  81. self::UM_DEC_ADMIN => '平台减少余额',
  82. self::UM_INC_ADMIN => '平台增加余额',
  83. self::UM_INC_RECHARGE => '充值增加余额',
  84. self::UM_DEC_RECHARGE_REFUND => '充值订单退款减少余额',
  85. ];
  86. if ($flag) {
  87. return $desc;
  88. }
  89. return $desc[$changeType] ?? '';
  90. }
  91. /**
  92. * @notes 获取用户余额类型描述
  93. * @return string|string[]
  94. * @author 段誉
  95. * @date 2023/2/23 10:08
  96. */
  97. public static function getUserMoneyChangeTypeDesc()
  98. {
  99. $UMChangeType = self::getUserMoneyChangeType();
  100. $changeTypeDesc = self::getChangeTypeDesc('', true);
  101. return array_filter($changeTypeDesc, function ($key) use ($UMChangeType) {
  102. return in_array($key, $UMChangeType);
  103. }, ARRAY_FILTER_USE_KEY);
  104. }
  105. /**
  106. * @notes 获取用户余额变动类型
  107. * @return int[]
  108. * @author 段誉
  109. * @date 2023/2/23 10:08
  110. */
  111. public static function getUserMoneyChangeType() : array
  112. {
  113. return array_merge(self::UM_DEC, self::UM_INC);
  114. }
  115. /**
  116. * @notes 获取变动对象
  117. * @param $changeType
  118. * @return false
  119. * @author 段誉
  120. * @date 2023/2/23 10:10
  121. */
  122. public static function getChangeObject($changeType)
  123. {
  124. // 用户余额
  125. $um = self::getUserMoneyChangeType();
  126. if (in_array($changeType, $um)) {
  127. return self::UM;
  128. }
  129. // 其他...
  130. return false;
  131. }
  132. }