AccountLog.php 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. <?php
  2. namespace app\common\model;
  3. use app\common\basics\Models;
  4. use app\common\model\user\User;
  5. class AccountLog extends Models
  6. {
  7. /*******************************
  8. ** 余额变动:100~199
  9. ** 积分变动:200~299
  10. ** 成长值变动:300~399
  11. ** 佣金变动: 400~499
  12. *******************************/
  13. const admin_add_money = 100;
  14. const admin_reduce_money = 101;
  15. const recharge_money = 102;
  16. const balance_pay_order = 103;
  17. const cancel_order_refund = 104;
  18. const after_sale_refund = 105;
  19. const withdraw_to_balance = 106;
  20. const user_transfer_inc_balance = 107;
  21. const user_transfer_dec_balance = 108;
  22. const integral_order_dec_balance = 109;
  23. const integral_order_inc_balance = 110;
  24. const admin_add_integral = 200;
  25. const admin_reduce_integral = 201;
  26. const sign_in_integral = 202;
  27. const recharge_give_integral = 203;
  28. const order_award_integral = 204;
  29. const register_add_integral = 205;
  30. const invite_add_integral = 206;
  31. const order_deduction_integral = 207;
  32. const cancel_order_refund_integral = 208;
  33. const luck_draw_integral = 209;
  34. const deduct_order_first_integral = 210;
  35. const order_goods_give_integral = 211;
  36. const consume_award_integral = 212;
  37. const pay_integral_order = 213;
  38. const cancel_integral_order = 214;
  39. const integral_dividend = 215;
  40. const admin_add_growth = 300;
  41. const admin_reduce_growth = 301;
  42. const sign_give_growth = 302;
  43. const recharge_give_growth = 303;
  44. const order_give_growth = 304;//下单赠送成长值
  45. const register_give_growth = 305;//注册赠送成长值
  46. const withdraw_dec_earnings = 400;//提现扣减佣金
  47. const withdraw_back_earnings = 401;//提现被拒绝返回佣金
  48. const distribution_inc_earnings = 402;//分销订单结算增加佣金
  49. const admin_inc_earnings = 403; //后台增加佣金
  50. const admin_reduce_earnings = 404; //后台减少佣金
  51. const dividend_inc_earnings = 405; //分红池增加佣金
  52. const money_change = [ //余额变动类型
  53. self::admin_add_money,self::admin_reduce_money,self::recharge_money,self::balance_pay_order,self::cancel_order_refund,self::after_sale_refund
  54. , self::withdraw_to_balance,self::user_transfer_inc_balance, self::user_transfer_dec_balance, self::integral_order_dec_balance, self::integral_order_inc_balance
  55. ];
  56. const integral_change = [ //积分变动类型
  57. self::admin_add_integral,self::admin_reduce_integral,self::sign_in_integral,self::recharge_give_integral,self::order_award_integral,self::invite_add_integral
  58. , self::order_deduction_integral,self::register_add_integral,self::cancel_order_refund_integral,self::luck_draw_integral,self::deduct_order_first_integral
  59. , self::order_goods_give_integral,self::consume_award_integral, self::pay_integral_order,self::cancel_integral_order,self::integral_dividend
  60. ];
  61. const growth_change = [ //成长值变动类型
  62. self::admin_add_growth,self::admin_reduce_growth,self::recharge_give_growth,self::sign_give_growth, self::order_give_growth,self::register_give_growth
  63. ];
  64. /**
  65. * 佣金变动类型
  66. */
  67. const earnings_change = [
  68. self::withdraw_dec_earnings, //提现扣减
  69. self::withdraw_back_earnings, //提现拒绝返还
  70. self::distribution_inc_earnings, //订单结算增加
  71. self::admin_inc_earnings, //后台增加佣金
  72. self::admin_reduce_earnings, //后台减少佣金
  73. self::dividend_inc_earnings,//分红池增加佣金
  74. ];
  75. public static function getAcccountDesc($from = true){
  76. $desc = [
  77. self::admin_add_money => '系统增加余额',
  78. self::admin_reduce_money => '系统扣减余额',
  79. self::recharge_money => '用户充值余额',
  80. self::admin_add_integral => '系统增加积分',
  81. self::admin_reduce_integral => '系统扣减积分',
  82. self::sign_in_integral => '每日签到赠送积分',
  83. self::recharge_give_integral => '充值赠送积分',
  84. self::order_award_integral => '下单赠送积分',
  85. self::order_deduction_integral => '下单积分抵扣',
  86. self::register_add_integral => '注册赠送积分',
  87. self::invite_add_integral => '邀请会员赠送积分',
  88. self::admin_add_growth => '系统增加成长值',
  89. self::admin_reduce_growth => '系统扣减成长值',
  90. self::sign_give_growth => '每日签到赠送成长值',
  91. self::recharge_give_growth => '充值赠送成长值',
  92. self::balance_pay_order => '下单扣减余额',
  93. self::cancel_order_refund => '取消订单退回余额',
  94. self::after_sale_refund => '售后退回余额',
  95. self::withdraw_to_balance => '佣金提现',
  96. self::withdraw_dec_earnings => '提现扣减佣金',
  97. self::withdraw_back_earnings => '拒绝提现返还佣金',
  98. self::distribution_inc_earnings => '订单结算获得佣金',
  99. self::cancel_order_refund_integral => '取消订单退回积分',
  100. self::deduct_order_first_integral => '扣除首单积分',
  101. self::luck_draw_integral => '积分抽奖中奖',
  102. self::order_goods_give_integral => '购买商品赠送积分',
  103. self::user_transfer_inc_balance => '会员转账(收入方)',
  104. self::user_transfer_dec_balance => '会员转账(支出方)',
  105. self::order_give_growth => '下单赠送成长值',
  106. self::register_give_growth => '注册赠送成长值',
  107. self::consume_award_integral => '消费赠送积分',
  108. self::pay_integral_order => '支付积分商城订单',
  109. self::integral_order_inc_balance => '积分商城订单',
  110. self::integral_order_dec_balance => '余额支付积分订单',
  111. self::cancel_integral_order => '取消积分订单返回积分',
  112. self::integral_dividend => '积分转化分红',
  113. self::admin_inc_earnings => '后台增加佣金',
  114. self::admin_reduce_earnings => '后台减少佣金',
  115. self::dividend_inc_earnings => '分红池增加佣金',
  116. ];
  117. if($from === true){
  118. return $desc;
  119. }
  120. return $desc[$from] ?? '';
  121. }
  122. //返回变动类型
  123. public static function getChangeType($source_type){
  124. $type = '';
  125. if(in_array($source_type,self::money_change)){
  126. $type = 'money';
  127. }
  128. if(in_array($source_type,self::integral_change)){
  129. $type = 'integral';
  130. }
  131. if(in_array($source_type,self::growth_change)){
  132. $type = 'growth';
  133. }
  134. if(in_array($source_type,self::earnings_change)){
  135. $type = 'earnings';
  136. }
  137. return $type;
  138. }
  139. public static function getRemarkDesc($from,$source_sn,$remark =''){
  140. return $remark;
  141. }
  142. public static function getChangeAmountFormatAttr($value,$data){
  143. $amount = $value;
  144. if(!in_array($data['source_type'],self::money_change) && !in_array($data['source_type'],self::earnings_change)){
  145. $amount = intval($value);
  146. }
  147. if($data['change_type'] == 1){
  148. return '+'.$amount;
  149. }
  150. return '-'.$amount;
  151. }
  152. public static function getSourceTypeAttr($value,$data){
  153. return self::getAcccountDesc($value);
  154. }
  155. public function getCreateTimeFormatAttr($value, $data)
  156. {
  157. return date('Y-m-d H:i:s', $value);
  158. }
  159. /**
  160. * @notes 佣金变动 [400 => 'xxxxx']
  161. * @return array
  162. * @author 段誉
  163. * @date 2022/3/16 10:17
  164. */
  165. public static function getEarningsChange()
  166. {
  167. $earnings = [];
  168. foreach (self::earnings_change as $item) {
  169. $earnings[$item] = self::getAcccountDesc($item);
  170. }
  171. return $earnings;
  172. }
  173. }