AccountLogEnum.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | likeadmin快速开发前后端分离管理后台(PHP版)
  4. // +----------------------------------------------------------------------
  5. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  6. // | 开源版本可自由商用,可去除界面版权logo
  7. // | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
  8. // | github下载:https://github.com/likeshop-github/likeadmin
  9. // | 访问官网:https://www.likeadmin.cn
  10. // | likeadmin团队 版权所有 拥有最终解释权
  11. // +----------------------------------------------------------------------
  12. // | author: likeadminTeam
  13. // +----------------------------------------------------------------------
  14. namespace app\common\enum\user;
  15. /**
  16. * 用户账户流水变动表枚举
  17. * Class AccountLogEnum
  18. * @package app\common\enum
  19. */
  20. class AccountLogEnum
  21. {
  22. /**
  23. * 变动类型命名规则:对象_动作_简洁描述
  24. * 动作 DEC-减少 INC-增加
  25. * 对象 UM-用户余额
  26. */
  27. /**
  28. * 变动对象
  29. * UM 用户余额(user_money)
  30. */
  31. const UM = 1;
  32. /**
  33. * 动作
  34. * INC 增加
  35. * DEC 减少
  36. */
  37. const INC = 1;
  38. const DEC = 2;
  39. /**
  40. * 用户余额减少类型
  41. */
  42. const UM_DEC_ADMIN = 100;
  43. const UM_DEC_RECHARGE_REFUND = 101;
  44. /**
  45. * 用户余额增加类型
  46. */
  47. const UM_INC_ADMIN = 200;
  48. const UM_INC_RECHARGE = 201;
  49. /**
  50. * 用户余额(减少类型汇总)
  51. */
  52. const UM_DEC = [
  53. self::UM_DEC_ADMIN,
  54. self::UM_DEC_RECHARGE_REFUND,
  55. ];
  56. /**
  57. * 用户余额(增加类型汇总)
  58. */
  59. const UM_INC = [
  60. self::UM_INC_ADMIN,
  61. self::UM_INC_RECHARGE,
  62. ];
  63. /**
  64. * @notes 动作描述
  65. * @param $action
  66. * @param false $flag
  67. * @return string|string[]
  68. * @author 段誉
  69. * @date 2023/2/23 10:07
  70. */
  71. public static function getActionDesc($action, $flag = false)
  72. {
  73. $desc = [
  74. self::DEC => '减少',
  75. self::INC => '增加',
  76. ];
  77. if ($flag) {
  78. return $desc;
  79. }
  80. return $desc[$action] ?? '';
  81. }
  82. /**
  83. * @notes 变动类型描述
  84. * @param $changeType
  85. * @param false $flag
  86. * @return string|string[]
  87. * @author 段誉
  88. * @date 2023/2/23 10:07
  89. */
  90. public static function getChangeTypeDesc($changeType, $flag = false)
  91. {
  92. $desc = [
  93. self::UM_DEC_ADMIN => '平台减少余额',
  94. self::UM_INC_ADMIN => '平台增加余额',
  95. self::UM_INC_RECHARGE => '充值增加余额',
  96. self::UM_DEC_RECHARGE_REFUND => '充值订单退款减少余额',
  97. ];
  98. if ($flag) {
  99. return $desc;
  100. }
  101. return $desc[$changeType] ?? '';
  102. }
  103. /**
  104. * @notes 获取用户余额类型描述
  105. * @return string|string[]
  106. * @author 段誉
  107. * @date 2023/2/23 10:08
  108. */
  109. public static function getUserMoneyChangeTypeDesc()
  110. {
  111. $UMChangeType = self::getUserMoneyChangeType();
  112. $changeTypeDesc = self::getChangeTypeDesc('', true);
  113. return array_filter($changeTypeDesc, function ($key) use ($UMChangeType) {
  114. return in_array($key, $UMChangeType);
  115. }, ARRAY_FILTER_USE_KEY);
  116. }
  117. /**
  118. * @notes 获取用户余额变动类型
  119. * @return int[]
  120. * @author 段誉
  121. * @date 2023/2/23 10:08
  122. */
  123. public static function getUserMoneyChangeType() : array
  124. {
  125. return array_merge(self::UM_DEC, self::UM_INC);
  126. }
  127. /**
  128. * @notes 获取变动对象
  129. * @param $changeType
  130. * @return false
  131. * @author 段誉
  132. * @date 2023/2/23 10:10
  133. */
  134. public static function getChangeObject($changeType)
  135. {
  136. // 用户余额
  137. $um = self::getUserMoneyChangeType();
  138. if (in_array($changeType, $um)) {
  139. return self::UM;
  140. }
  141. // 其他...
  142. return false;
  143. }
  144. }