AccountLogEnum.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449
  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. const EXCHANGE_INC_RECHARGE = 210;
  79. /**
  80. * 可提现余额减少类型
  81. */
  82. const BW_DEC_WITHDRAWAL = 300;
  83. const BW_DEC_ADMIN = 301;
  84. /**
  85. * 可提现余额增加类型
  86. */
  87. const BW_INC_REFUSE_WITHDRAWAL = 400;
  88. const BW_INC_DISTRIBUTION_SETTLE = 401;
  89. const BW_INC_PAYMENT_FAIL = 402;
  90. const BW_INC_TRANSFER_FAIL = 403;
  91. const BW_INC_ADMIN = 404;
  92. /**
  93. * 成长值减少类型
  94. */
  95. const GROWTH_DEC_ADMIN = 500;
  96. /**
  97. * 成长值增加类型
  98. */
  99. const GROWTH_INC_ADMIN = 600;
  100. const GROWTH_INC_SIGN = 601;
  101. const GROWTH_INC_RECHARGE = 602;
  102. const GROWTH_INC_ORDER = 603;
  103. /**
  104. * 积分减少类型
  105. */
  106. const INTEGRAL_DEC_ADMIN = 700;
  107. const INTEGRAL_DEC_ORDER = 701;
  108. const INTEGRAL_DEC_LOTTERY = 702;
  109. const INTEGRAL_DEC_INTEGRAL_ORDER = 703;
  110. /**
  111. * 积分增加类型
  112. */
  113. const INTEGRAL_INC_ADMIN = 800;
  114. const INTEGRAL_INC_SIGN = 801;
  115. const INTEGRAL_INC_RECHARGE = 802;
  116. const INTEGRAL_INC_ORDER = 803;
  117. const INTEGRAL_INC_REGISTER = 804;
  118. const INTEGRAL_INC_INVITE = 805;
  119. const INTEGRAL_INC_CANCEL_ORDER = 806;
  120. const INTEGRAL_INC_LOTTERY = 807;
  121. const INTEGRAL_INC_AWARD = 808;
  122. const INTEGRAL_INC_CANCEL_INTEGRAL = 809;
  123. const INTEGRAL_INC_USER_REGISTER = 810;
  124. /**
  125. * 不可提现余额(减少类型汇总)
  126. */
  127. const BNW_DEC = [
  128. self::BNW_DEC_ADMIN,
  129. self::BNW_DEC_ORDER,
  130. self::BNW_DEC_TRANSFER
  131. ];
  132. /**
  133. * 不可提现余额(增加类型汇总)
  134. */
  135. const BNW_INC = [
  136. self::BNW_INC_ADMIN,
  137. self::BNW_INC_RECHARGE,
  138. self::BNW_INC_CANCEL_ORDER,
  139. self::BNW_INC_AFTER_SALE,
  140. self::BNW_INC_WITHDRAW,
  141. self::BNW_INC_RECHARGE_GIVE,
  142. self::BNW_INC_TRANSFER,
  143. self::BNW_INC_LOTTERY,
  144. self::BNW_INC_INTEGRAL_ORDER,
  145. self::BNW_INC_USER_REGISTER,
  146. self::EXCHANGE_INC_RECHARGE,
  147. ];
  148. /**
  149. * 可提现余额(减少类型汇总)
  150. */
  151. const BW_DEC = [
  152. self::BW_DEC_ADMIN,
  153. self::BW_DEC_WITHDRAWAL,
  154. ];
  155. /**
  156. * 可提现余额(增加类型汇总)
  157. */
  158. const BW_INC = [
  159. self::BW_INC_REFUSE_WITHDRAWAL,
  160. self::BW_INC_DISTRIBUTION_SETTLE,
  161. self::BW_INC_PAYMENT_FAIL,
  162. self::BW_INC_TRANSFER_FAIL,
  163. self::BW_INC_ADMIN
  164. ];
  165. /**
  166. * 成长值(减少类型汇总)
  167. */
  168. const GROWTH_DEC = [
  169. self::GROWTH_DEC_ADMIN
  170. ];
  171. /**
  172. * 成长值(增加类型汇总)
  173. */
  174. const GROWTH_INC = [
  175. self::GROWTH_INC_ADMIN,
  176. self::GROWTH_INC_SIGN,
  177. self::GROWTH_INC_RECHARGE,
  178. self::GROWTH_INC_ORDER,
  179. ];
  180. /**
  181. * 积分(减少类型汇总)
  182. */
  183. const INTEGRAL_DEC = [
  184. self::INTEGRAL_DEC_ADMIN,
  185. self::INTEGRAL_DEC_ORDER,
  186. self::INTEGRAL_DEC_LOTTERY,
  187. self::INTEGRAL_DEC_INTEGRAL_ORDER
  188. ];
  189. /**
  190. * 积分(增加类型汇总)
  191. */
  192. const INTEGRAL_INC = [
  193. self::INTEGRAL_INC_ADMIN,
  194. self::INTEGRAL_INC_SIGN,
  195. self::INTEGRAL_INC_RECHARGE,
  196. self::INTEGRAL_INC_ORDER,
  197. self::INTEGRAL_INC_REGISTER,
  198. self::INTEGRAL_INC_INVITE,
  199. self::INTEGRAL_INC_CANCEL_ORDER,
  200. self::INTEGRAL_INC_LOTTERY,
  201. self::INTEGRAL_INC_AWARD,
  202. self::INTEGRAL_INC_CANCEL_INTEGRAL,
  203. self::INTEGRAL_INC_USER_REGISTER,
  204. ];
  205. /**
  206. * @notes 动作描述
  207. * @param $action
  208. * @param false $flag
  209. * @return string|string[]
  210. * @author Tab
  211. * @date 2021/8/9 17:34
  212. */
  213. public static function getActionDesc($action, $flag = false)
  214. {
  215. $desc = [
  216. self::DEC => '减少',
  217. self::INC => '增加',
  218. ];
  219. if($flag) {
  220. return $desc;
  221. }
  222. return $desc[$action] ?? '';
  223. }
  224. /**
  225. * @notes 获取变动类型描述
  226. * @param $changeType
  227. * @param false $flag
  228. * @return string|string[]
  229. * @author Tab
  230. * @date 2021/8/3 18:48
  231. */
  232. public static function getChangeTypeDesc($changeType, $flag = false)
  233. {
  234. $desc = [
  235. self::BNW_DEC_ADMIN => '管理员减少余额',
  236. self::BNW_DEC_ORDER => '下单扣减余额',
  237. self::BNW_DEC_TRANSFER => '转账扣减余额',
  238. self::BNW_INC_ADMIN => '管理员增加余额',
  239. self::BNW_INC_RECHARGE => '充值增加余额',
  240. self::BNW_INC_CANCEL_ORDER => '取消订单退还余额',
  241. self::BNW_INC_AFTER_SALE => '售后退还余额',
  242. self::BNW_INC_WITHDRAW => '提现至余额',
  243. self::BNW_INC_RECHARGE_GIVE => '充值赠送余额',
  244. self::BNW_INC_TRANSFER => '转账增加余额',
  245. self::BNW_INC_LOTTERY => '幸运抽奖增加余额',
  246. self::BNW_INC_INTEGRAL_ORDER => '下单积分商城红包增加余额',
  247. self::BNW_INC_USER_REGISTER => '用户注册赠送余额',
  248. self::BW_DEC_WITHDRAWAL => '佣金提现',
  249. self::BW_DEC_ADMIN => '管理员减少余额',
  250. self::BW_INC_REFUSE_WITHDRAWAL => '拒绝提现回退金额',
  251. self::BW_INC_DISTRIBUTION_SETTLE => '分销结算增加收入',
  252. self::BW_INC_PAYMENT_FAIL => '付款失败回退金额',
  253. self::BW_INC_TRANSFER_FAIL => '转账失败回退金额',
  254. self::BW_INC_ADMIN => '管理员增加余额',
  255. self::GROWTH_DEC_ADMIN => '管理员减少成长值',
  256. self::GROWTH_INC_ADMIN => '管理员增加成长值',
  257. self::GROWTH_INC_SIGN => '签到赠送成长值',
  258. self::GROWTH_INC_RECHARGE => '充值赠送成长值',
  259. self::GROWTH_INC_ORDER => '下单赠送成长值',
  260. self::INTEGRAL_DEC_ADMIN => '管理员减少积分',
  261. self::INTEGRAL_DEC_ORDER => '下单扣减积分',
  262. self::INTEGRAL_DEC_LOTTERY => '幸运抽奖扣减积分',
  263. self::INTEGRAL_DEC_INTEGRAL_ORDER => '积分商城下单扣减积分',
  264. self::INTEGRAL_INC_ADMIN => '管理员增加积分',
  265. self::INTEGRAL_INC_SIGN => '签到赠送积分',
  266. self::INTEGRAL_INC_RECHARGE => '充值赠送积分',
  267. self::INTEGRAL_INC_ORDER => '下单赠送积分',
  268. self::INTEGRAL_INC_REGISTER => '注册赠送积分',
  269. self::INTEGRAL_INC_INVITE => '邀请赠送积分',
  270. self::INTEGRAL_INC_CANCEL_ORDER => '取消订单退还积分',
  271. self::INTEGRAL_INC_LOTTERY => '幸运抽奖增加积分',
  272. self::INTEGRAL_INC_AWARD => '消费赠送积分',
  273. self::INTEGRAL_INC_CANCEL_INTEGRAL => '取消积分订单返还积分',
  274. self::INTEGRAL_INC_USER_REGISTER => '用户注册赠送积分',
  275. self::EXCHANGE_INC_RECHARGE => '礼品卡兑换增加余额',
  276. ];
  277. if($flag) {
  278. return $desc;
  279. }
  280. return $desc[$changeType] ?? '';
  281. }
  282. /**
  283. * @notes 获取不可提现余额类型描述
  284. * @return string|string[]
  285. * @author Tab
  286. * @date 2021/8/25 20:28
  287. */
  288. public static function getBnwChangeTypeDesc()
  289. {
  290. $bnwChangeType = self::getBnwChangeType();
  291. $changeTypeDesc = self::getChangeTypeDesc('',true);
  292. $bnwChangeTypeDesc = array_filter($changeTypeDesc, function($key) use ($bnwChangeType) {
  293. return in_array($key, $bnwChangeType);
  294. }, ARRAY_FILTER_USE_KEY);
  295. return $bnwChangeTypeDesc;
  296. }
  297. /**
  298. * @notes 获取可提现余额类型描述
  299. * @return string|string[]
  300. * @author 段誉
  301. * @date 2022/3/28 11:18
  302. */
  303. public static function getBwChangeTypeDesc()
  304. {
  305. $bwChangeType = self::getBwChangeType();
  306. $changeTypeDesc = self::getChangeTypeDesc('',true);
  307. $bwChangeTypeDesc = array_filter($changeTypeDesc, function($key) use ($bwChangeType) {
  308. return in_array($key, $bwChangeType);
  309. }, ARRAY_FILTER_USE_KEY);
  310. return $bwChangeTypeDesc;
  311. }
  312. /**
  313. * @notes 获取积分类型描述
  314. * @return string|string[]
  315. * @author Tab
  316. * @date 2021/8/25 20:46
  317. */
  318. public static function getIntegralChangeTypeDesc()
  319. {
  320. $integralChangeType = self::getIntegralChangeType();
  321. $changeTypeDesc = self::getChangeTypeDesc('',true);
  322. $integralChangeTypeDesc = array_filter($changeTypeDesc, function($key) use ($integralChangeType) {
  323. return in_array($key, $integralChangeType);
  324. }, ARRAY_FILTER_USE_KEY);
  325. return $integralChangeTypeDesc;
  326. }
  327. /**
  328. * @notes 获取可提现余额变动类型
  329. * @return int[]
  330. * @author Tab
  331. * @date 2021/8/3 19:02
  332. */
  333. public static function getBwChangeType()
  334. {
  335. $bw = array_merge(self::BW_DEC, self::BW_INC);
  336. return $bw;
  337. }
  338. /**
  339. * @notes 获取不可提现余额变动类型
  340. * @return int[]
  341. * @author Tab
  342. * @date 2021/8/3 19:03
  343. */
  344. public static function getBnwChangeType()
  345. {
  346. $bnw = array_merge(self::BNW_DEC, self::BNW_INC);
  347. return $bnw;
  348. }
  349. /**
  350. * @notes 获取余额变动类型
  351. * @return int[]
  352. * @author Tab
  353. * @date 2021/8/3 19:05
  354. */
  355. public static function getBalanceChangeType()
  356. {
  357. $bw = self::getBwChangeType();
  358. $bnw = self::getBnwChangeType();
  359. $balance = array_merge($bw, $bnw);
  360. return $balance;
  361. }
  362. /**
  363. * @notes 获取成长值变动类型
  364. * @return int[]
  365. * @author Tab
  366. * @date 2021/8/3 19:00
  367. */
  368. public static function getGrowthChangeType()
  369. {
  370. $growth = array_merge(self::GROWTH_DEC, self::GROWTH_INC);
  371. return $growth;
  372. }
  373. /**
  374. * @notes 获取积分变动类型
  375. * @return int[]
  376. * @author Tab
  377. * @date 2021/8/3 19:06
  378. */
  379. public static function getIntegralChangeType()
  380. {
  381. $integral = array_merge(self::INTEGRAL_DEC, self::INTEGRAL_INC);
  382. return $integral;
  383. }
  384. /**
  385. * @notes 获取变动对象
  386. * @param $changeType
  387. * @return false|string
  388. * @author Tab
  389. * @date 2021/8/4 9:36
  390. */
  391. public static function getChangeObject($changeType)
  392. {
  393. // 可提现余额
  394. $bw = self::getBwChangeType();
  395. if(in_array($changeType, $bw)) {
  396. return self::BW;
  397. }
  398. // 不可提现余额
  399. $bnw = self::getBnwChangeType();
  400. if(in_array($changeType, $bnw)) {
  401. return self::BNW;
  402. }
  403. // 成长值
  404. $growth = self::getGrowthChangeType();
  405. if(in_array($changeType, $growth)) {
  406. return self::GROWTH;
  407. }
  408. // 积分
  409. $integral = self::getIntegralChangeType();
  410. if(in_array($changeType, $integral)) {
  411. return self::INTEGRAL;
  412. }
  413. return false;
  414. }
  415. }