AccountLogEnum.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | likeshop100%开源免费商用商城系统
  4. // +----------------------------------------------------------------------
  5. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  6. // | 开源版本可自由商用,可去除界面版权logo
  7. // | 商业版本务必购买商业授权,以免引起法律纠纷
  8. // | 禁止对系统程序代码以任何目的,任何形式的再发布
  9. // | gitee下载:https://gitee.com/likeshop_gitee
  10. // | github下载:https://github.com/likeshop-github
  11. // | 访问官网:https://www.likeshop.cn
  12. // | 访问社区:https://home.likeshop.cn
  13. // | 访问手册:http://doc.likeshop.cn
  14. // | 微信公众号:likeshop技术社区
  15. // | likeshop团队 版权所有 拥有最终解释权
  16. // +----------------------------------------------------------------------
  17. // | author: likeshopTeam
  18. // +----------------------------------------------------------------------
  19. namespace app\common\enum;
  20. /**
  21. * 会员账户流水变动表枚举
  22. * Class AccountLogEnum
  23. * @package app\common\enum
  24. */
  25. class AccountLogEnum
  26. {
  27. /**
  28. * 变动类型命名规则:对象_动作_简洁描述
  29. * 动作 DEC-减少 INC-增加
  30. * 对象 BNW-不可提现余额(充值等) BW-可提现余额(分销收入、股东分红等) GROWTH-成长值 INTEGRAL-积分
  31. * BNW - BALANCE_NOT_WITHDRAWABLE 不可提现余额
  32. * BW - BALANCE_WITHDRAWABLE 可提现余额
  33. * 可提现余额类型 100-199(减少) 200-299(增加)
  34. * 不可提现余额类型 300-399(减少) 400-499(增加)
  35. * 成长值类型 500-599(减少) 600-699(增加)
  36. * 积分类型 700-799(减少) 800-899(增加)
  37. * 例:
  38. * const BNW_DEC_ADMIN = 100; // 管理员减少余额
  39. * const BNW_INC_ADMIN = 200; // 管理员增加余额
  40. */
  41. /**
  42. * 变动对象
  43. * BW 可提现余额
  44. * BNW 不可提现余额
  45. * GROWTH 成长值
  46. * INTEGRAL 积分
  47. */
  48. const BW = 1;
  49. const BNW = 2;
  50. const GROWTH = 3;
  51. const INTEGRAL = 4;
  52. /**
  53. * 动作
  54. * DEC 减少
  55. * INC 增加
  56. */
  57. const DEC = 1;
  58. const INC = 2;
  59. /**
  60. * 不可提现余额减少类型
  61. */
  62. const BNW_DEC_ADMIN = 100;
  63. const BNW_DEC_ORDER = 101;
  64. const BNW_DEC_TRANSFER = 102;
  65. /**
  66. * 不可提现余额增加类型
  67. */
  68. const BNW_INC_ADMIN = 200;
  69. const BNW_INC_RECHARGE = 201;
  70. const BNW_INC_CANCEL_ORDER = 202;
  71. const BNW_INC_AFTER_SALE = 203;
  72. const BNW_INC_WITHDRAW = 204;
  73. const BNW_INC_RECHARGE_GIVE = 205;
  74. const BNW_INC_TRANSFER = 206;
  75. const BNW_INC_LOTTERY = 207;
  76. const BNW_INC_INTEGRAL_ORDER = 208;
  77. const BNW_INC_USER_REGISTER = 209;
  78. /**
  79. * 可提现余额减少类型
  80. */
  81. const BW_DEC_WITHDRAWAL = 300;
  82. const BW_DEC_ADMIN = 301;
  83. /**
  84. * 可提现余额增加类型
  85. */
  86. const BW_INC_REFUSE_WITHDRAWAL = 400;
  87. const BW_INC_DISTRIBUTION_SETTLE = 401;
  88. const BW_INC_PAYMENT_FAIL = 402;
  89. const BW_INC_TRANSFER_FAIL = 403;
  90. const BW_INC_ADMIN = 404;
  91. /**
  92. * 成长值减少类型
  93. */
  94. const GROWTH_DEC_ADMIN = 500;
  95. /**
  96. * 成长值增加类型
  97. */
  98. const GROWTH_INC_ADMIN = 600;
  99. const GROWTH_INC_SIGN = 601;
  100. const GROWTH_INC_RECHARGE = 602;
  101. const GROWTH_INC_ORDER = 603;
  102. /**
  103. * 积分减少类型
  104. */
  105. const INTEGRAL_DEC_ADMIN = 700;
  106. const INTEGRAL_DEC_ORDER = 701;
  107. const INTEGRAL_DEC_LOTTERY = 702;
  108. const INTEGRAL_DEC_INTEGRAL_ORDER = 703;
  109. /**
  110. * 积分增加类型
  111. */
  112. const INTEGRAL_INC_ADMIN = 800;
  113. const INTEGRAL_INC_SIGN = 801;
  114. const INTEGRAL_INC_RECHARGE = 802;
  115. const INTEGRAL_INC_ORDER = 803;
  116. const INTEGRAL_INC_REGISTER = 804;
  117. const INTEGRAL_INC_INVITE = 805;
  118. const INTEGRAL_INC_CANCEL_ORDER = 806;
  119. const INTEGRAL_INC_LOTTERY = 807;
  120. const INTEGRAL_INC_AWARD = 808;
  121. const INTEGRAL_INC_CANCEL_INTEGRAL = 809;
  122. const INTEGRAL_INC_USER_REGISTER = 810;
  123. /**
  124. * 不可提现余额(减少类型汇总)
  125. */
  126. const BNW_DEC = [
  127. self::BNW_DEC_ADMIN,
  128. self::BNW_DEC_ORDER,
  129. self::BNW_DEC_TRANSFER
  130. ];
  131. /**
  132. * 不可提现余额(增加类型汇总)
  133. */
  134. const BNW_INC = [
  135. self::BNW_INC_ADMIN,
  136. self::BNW_INC_RECHARGE,
  137. self::BNW_INC_CANCEL_ORDER,
  138. self::BNW_INC_AFTER_SALE,
  139. self::BNW_INC_WITHDRAW,
  140. self::BNW_INC_RECHARGE_GIVE,
  141. self::BNW_INC_TRANSFER,
  142. self::BNW_INC_LOTTERY,
  143. self::BNW_INC_INTEGRAL_ORDER,
  144. self::BNW_INC_USER_REGISTER,
  145. ];
  146. /**
  147. * 可提现余额(减少类型汇总)
  148. */
  149. const BW_DEC = [
  150. self::BW_DEC_ADMIN,
  151. self::BW_DEC_WITHDRAWAL,
  152. ];
  153. /**
  154. * 可提现余额(增加类型汇总)
  155. */
  156. const BW_INC = [
  157. self::BW_INC_REFUSE_WITHDRAWAL,
  158. self::BW_INC_DISTRIBUTION_SETTLE,
  159. self::BW_INC_PAYMENT_FAIL,
  160. self::BW_INC_TRANSFER_FAIL,
  161. self::BW_INC_ADMIN
  162. ];
  163. /**
  164. * 成长值(减少类型汇总)
  165. */
  166. const GROWTH_DEC = [
  167. self::GROWTH_DEC_ADMIN
  168. ];
  169. /**
  170. * 成长值(增加类型汇总)
  171. */
  172. const GROWTH_INC = [
  173. self::GROWTH_INC_ADMIN,
  174. self::GROWTH_INC_SIGN,
  175. self::GROWTH_INC_RECHARGE,
  176. self::GROWTH_INC_ORDER,
  177. ];
  178. /**
  179. * 积分(减少类型汇总)
  180. */
  181. const INTEGRAL_DEC = [
  182. self::INTEGRAL_DEC_ADMIN,
  183. self::INTEGRAL_DEC_ORDER,
  184. self::INTEGRAL_DEC_LOTTERY,
  185. self::INTEGRAL_DEC_INTEGRAL_ORDER
  186. ];
  187. /**
  188. * 积分(增加类型汇总)
  189. */
  190. const INTEGRAL_INC = [
  191. self::INTEGRAL_INC_ADMIN,
  192. self::INTEGRAL_INC_SIGN,
  193. self::INTEGRAL_INC_RECHARGE,
  194. self::INTEGRAL_INC_ORDER,
  195. self::INTEGRAL_INC_REGISTER,
  196. self::INTEGRAL_INC_INVITE,
  197. self::INTEGRAL_INC_CANCEL_ORDER,
  198. self::INTEGRAL_INC_LOTTERY,
  199. self::INTEGRAL_INC_AWARD,
  200. self::INTEGRAL_INC_CANCEL_INTEGRAL,
  201. self::INTEGRAL_INC_USER_REGISTER,
  202. ];
  203. /**
  204. * @notes 动作描述
  205. * @param $action
  206. * @param false $flag
  207. * @return string|string[]
  208. * @author Tab
  209. * @date 2021/8/9 17:34
  210. */
  211. public static function getActionDesc($action, $flag = false)
  212. {
  213. $desc = [
  214. self::DEC => '减少',
  215. self::INC => '增加',
  216. ];
  217. if($flag) {
  218. return $desc;
  219. }
  220. return $desc[$action] ?? '';
  221. }
  222. /**
  223. * @notes 获取变动类型描述
  224. * @param $changeType
  225. * @param false $flag
  226. * @return string|string[]
  227. * @author Tab
  228. * @date 2021/8/3 18:48
  229. */
  230. public static function getChangeTypeDesc($changeType, $flag = false)
  231. {
  232. $desc = [
  233. self::BNW_DEC_ADMIN => '管理员减少余额',
  234. self::BNW_DEC_ORDER => '下单扣减余额',
  235. self::BNW_DEC_TRANSFER => '转账扣减余额',
  236. self::BNW_INC_ADMIN => '管理员增加余额',
  237. self::BNW_INC_RECHARGE => '充值增加余额',
  238. self::BNW_INC_CANCEL_ORDER => '取消订单退还余额',
  239. self::BNW_INC_AFTER_SALE => '售后退还余额',
  240. self::BNW_INC_WITHDRAW => '提现至余额',
  241. self::BNW_INC_RECHARGE_GIVE => '充值赠送余额',
  242. self::BNW_INC_TRANSFER => '转账增加余额',
  243. self::BNW_INC_LOTTERY => '幸运抽奖增加余额',
  244. self::BNW_INC_INTEGRAL_ORDER => '下单积分商城红包增加余额',
  245. self::BNW_INC_USER_REGISTER => '用户注册赠送余额',
  246. self::BW_DEC_WITHDRAWAL => '佣金提现',
  247. self::BW_DEC_ADMIN => '管理员减少余额',
  248. self::BW_INC_REFUSE_WITHDRAWAL => '拒绝提现回退金额',
  249. self::BW_INC_DISTRIBUTION_SETTLE => '分销结算增加收入',
  250. self::BW_INC_PAYMENT_FAIL => '付款失败回退金额',
  251. self::BW_INC_TRANSFER_FAIL => '转账失败回退金额',
  252. self::BW_INC_ADMIN => '管理员增加余额',
  253. self::GROWTH_DEC_ADMIN => '管理员减少成长值',
  254. self::GROWTH_INC_ADMIN => '管理员增加成长值',
  255. self::GROWTH_INC_SIGN => '签到赠送成长值',
  256. self::GROWTH_INC_RECHARGE => '充值赠送成长值',
  257. self::GROWTH_INC_ORDER => '下单赠送成长值',
  258. self::INTEGRAL_DEC_ADMIN => '管理员减少积分',
  259. self::INTEGRAL_DEC_ORDER => '下单扣减积分',
  260. self::INTEGRAL_DEC_LOTTERY => '幸运抽奖扣减积分',
  261. self::INTEGRAL_DEC_INTEGRAL_ORDER => '积分商城下单扣减积分',
  262. self::INTEGRAL_INC_ADMIN => '管理员增加积分',
  263. self::INTEGRAL_INC_SIGN => '签到赠送积分',
  264. self::INTEGRAL_INC_RECHARGE => '充值赠送积分',
  265. self::INTEGRAL_INC_ORDER => '下单赠送积分',
  266. self::INTEGRAL_INC_REGISTER => '注册赠送积分',
  267. self::INTEGRAL_INC_INVITE => '邀请赠送积分',
  268. self::INTEGRAL_INC_CANCEL_ORDER => '取消订单退还积分',
  269. self::INTEGRAL_INC_LOTTERY => '幸运抽奖增加积分',
  270. self::INTEGRAL_INC_AWARD => '消费赠送积分',
  271. self::INTEGRAL_INC_CANCEL_INTEGRAL => '取消积分订单返还积分',
  272. self::INTEGRAL_INC_USER_REGISTER => '用户注册赠送积分',
  273. ];
  274. if($flag) {
  275. return $desc;
  276. }
  277. return $desc[$changeType] ?? '';
  278. }
  279. /**
  280. * @notes 获取不可提现余额类型描述
  281. * @return string|string[]
  282. * @author Tab
  283. * @date 2021/8/25 20:28
  284. */
  285. public static function getBnwChangeTypeDesc()
  286. {
  287. $bnwChangeType = self::getBnwChangeType();
  288. $changeTypeDesc = self::getChangeTypeDesc('',true);
  289. $bnwChangeTypeDesc = array_filter($changeTypeDesc, function($key) use ($bnwChangeType) {
  290. return in_array($key, $bnwChangeType);
  291. }, ARRAY_FILTER_USE_KEY);
  292. return $bnwChangeTypeDesc;
  293. }
  294. /**
  295. * @notes 获取可提现余额类型描述
  296. * @return string|string[]
  297. * @author 段誉
  298. * @date 2022/3/28 11:18
  299. */
  300. public static function getBwChangeTypeDesc()
  301. {
  302. $bwChangeType = self::getBwChangeType();
  303. $changeTypeDesc = self::getChangeTypeDesc('',true);
  304. $bwChangeTypeDesc = array_filter($changeTypeDesc, function($key) use ($bwChangeType) {
  305. return in_array($key, $bwChangeType);
  306. }, ARRAY_FILTER_USE_KEY);
  307. return $bwChangeTypeDesc;
  308. }
  309. /**
  310. * @notes 获取积分类型描述
  311. * @return string|string[]
  312. * @author Tab
  313. * @date 2021/8/25 20:46
  314. */
  315. public static function getIntegralChangeTypeDesc()
  316. {
  317. $integralChangeType = self::getIntegralChangeType();
  318. $changeTypeDesc = self::getChangeTypeDesc('',true);
  319. $integralChangeTypeDesc = array_filter($changeTypeDesc, function($key) use ($integralChangeType) {
  320. return in_array($key, $integralChangeType);
  321. }, ARRAY_FILTER_USE_KEY);
  322. return $integralChangeTypeDesc;
  323. }
  324. /**
  325. * @notes 获取可提现余额变动类型
  326. * @return int[]
  327. * @author Tab
  328. * @date 2021/8/3 19:02
  329. */
  330. public static function getBwChangeType()
  331. {
  332. $bw = array_merge(self::BW_DEC, self::BW_INC);
  333. return $bw;
  334. }
  335. /**
  336. * @notes 获取不可提现余额变动类型
  337. * @return int[]
  338. * @author Tab
  339. * @date 2021/8/3 19:03
  340. */
  341. public static function getBnwChangeType()
  342. {
  343. $bnw = array_merge(self::BNW_DEC, self::BNW_INC);
  344. return $bnw;
  345. }
  346. /**
  347. * @notes 获取余额变动类型
  348. * @return int[]
  349. * @author Tab
  350. * @date 2021/8/3 19:05
  351. */
  352. public static function getBalanceChangeType()
  353. {
  354. $bw = self::getBwChangeType();
  355. $bnw = self::getBnwChangeType();
  356. $balance = array_merge($bw, $bnw);
  357. return $balance;
  358. }
  359. /**
  360. * @notes 获取成长值变动类型
  361. * @return int[]
  362. * @author Tab
  363. * @date 2021/8/3 19:00
  364. */
  365. public static function getGrowthChangeType()
  366. {
  367. $growth = array_merge(self::GROWTH_DEC, self::GROWTH_INC);
  368. return $growth;
  369. }
  370. /**
  371. * @notes 获取积分变动类型
  372. * @return int[]
  373. * @author Tab
  374. * @date 2021/8/3 19:06
  375. */
  376. public static function getIntegralChangeType()
  377. {
  378. $integral = array_merge(self::INTEGRAL_DEC, self::INTEGRAL_INC);
  379. return $integral;
  380. }
  381. /**
  382. * @notes 获取变动对象
  383. * @param $changeType
  384. * @return false|string
  385. * @author Tab
  386. * @date 2021/8/4 9:36
  387. */
  388. public static function getChangeObject($changeType)
  389. {
  390. // 可提现余额
  391. $bw = self::getBwChangeType();
  392. if(in_array($changeType, $bw)) {
  393. return self::BW;
  394. }
  395. // 不可提现余额
  396. $bnw = self::getBnwChangeType();
  397. if(in_array($changeType, $bnw)) {
  398. return self::BNW;
  399. }
  400. // 成长值
  401. $growth = self::getGrowthChangeType();
  402. if(in_array($changeType, $growth)) {
  403. return self::GROWTH;
  404. }
  405. // 积分
  406. $integral = self::getIntegralChangeType();
  407. if(in_array($changeType, $integral)) {
  408. return self::INTEGRAL;
  409. }
  410. return false;
  411. }
  412. }