AccountLogEnum.php 14 KB

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