186 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			186 lines
		
	
	
		
			8.0 KiB
		
	
	
	
		
			PHP
		
	
	
| 
								 | 
							
								<?php
							 | 
						|||
| 
								 | 
							
								namespace app\common\model;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								use app\common\basics\Models;
							 | 
						|||
| 
								 | 
							
								use app\common\model\user\User;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								class AccountLog extends Models
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    /*******************************
							 | 
						|||
| 
								 | 
							
								     ** 余额变动:100~199
							 | 
						|||
| 
								 | 
							
								     ** 积分变动:200~299
							 | 
						|||
| 
								 | 
							
								     ** 成长值变动:300~399
							 | 
						|||
| 
								 | 
							
								     ** 佣金变动: 400~499
							 | 
						|||
| 
								 | 
							
								     *******************************/
							 | 
						|||
| 
								 | 
							
								    const admin_add_money       = 100;
							 | 
						|||
| 
								 | 
							
								    const admin_reduce_money    = 101;
							 | 
						|||
| 
								 | 
							
								    const recharge_money        = 102;
							 | 
						|||
| 
								 | 
							
								    const balance_pay_order     = 103;
							 | 
						|||
| 
								 | 
							
								    const cancel_order_refund   = 104;
							 | 
						|||
| 
								 | 
							
								    const after_sale_refund     = 105;
							 | 
						|||
| 
								 | 
							
								    const withdraw_to_balance   = 106;
							 | 
						|||
| 
								 | 
							
								    const user_transfer_inc_balance = 107;
							 | 
						|||
| 
								 | 
							
								    const user_transfer_dec_balance = 108;
							 | 
						|||
| 
								 | 
							
								    const integral_order_dec_balance = 109;
							 | 
						|||
| 
								 | 
							
								    const integral_order_inc_balance = 110;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    const admin_add_integral           = 200;
							 | 
						|||
| 
								 | 
							
								    const admin_reduce_integral        = 201;
							 | 
						|||
| 
								 | 
							
								    const sign_in_integral             = 202;
							 | 
						|||
| 
								 | 
							
								    const recharge_give_integral       = 203;
							 | 
						|||
| 
								 | 
							
								    const order_award_integral         = 204;
							 | 
						|||
| 
								 | 
							
								    const register_add_integral        = 205;
							 | 
						|||
| 
								 | 
							
								    const invite_add_integral          = 206;
							 | 
						|||
| 
								 | 
							
								    const order_deduction_integral     = 207;
							 | 
						|||
| 
								 | 
							
								    const cancel_order_refund_integral = 208;
							 | 
						|||
| 
								 | 
							
								    const luck_draw_integral           = 209;
							 | 
						|||
| 
								 | 
							
								    const deduct_order_first_integral  = 210;
							 | 
						|||
| 
								 | 
							
								    const order_goods_give_integral    = 211;
							 | 
						|||
| 
								 | 
							
								    const consume_award_integral       = 212;
							 | 
						|||
| 
								 | 
							
								    const pay_integral_order           = 213;
							 | 
						|||
| 
								 | 
							
								    const cancel_integral_order        = 214;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    const admin_add_growth      = 300;
							 | 
						|||
| 
								 | 
							
								    const admin_reduce_growth   = 301;
							 | 
						|||
| 
								 | 
							
								    const sign_give_growth      = 302;
							 | 
						|||
| 
								 | 
							
								    const recharge_give_growth  = 303;
							 | 
						|||
| 
								 | 
							
								    const order_give_growth     = 304;//下单赠送成长值
							 | 
						|||
| 
								 | 
							
								    const register_give_growth     = 305;//注册赠送成长值
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    const withdraw_dec_earnings     = 400;//提现扣减佣金
							 | 
						|||
| 
								 | 
							
								    const withdraw_back_earnings    = 401;//提现被拒绝返回佣金
							 | 
						|||
| 
								 | 
							
								    const distribution_inc_earnings = 402;//分销订单结算增加佣金
							 | 
						|||
| 
								 | 
							
								    const admin_inc_earnings        = 403; //后台增加佣金
							 | 
						|||
| 
								 | 
							
								    const admin_reduce_earnings     = 404; //后台减少佣金
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    const money_change = [      //余额变动类型
							 | 
						|||
| 
								 | 
							
								        self::admin_add_money,self::admin_reduce_money,self::recharge_money,self::balance_pay_order,self::cancel_order_refund,self::after_sale_refund
							 | 
						|||
| 
								 | 
							
								        , self::withdraw_to_balance,self::user_transfer_inc_balance, self::user_transfer_dec_balance, self::integral_order_dec_balance, self::integral_order_inc_balance
							 | 
						|||
| 
								 | 
							
								    ];
							 | 
						|||
| 
								 | 
							
								    const integral_change = [   //积分变动类型
							 | 
						|||
| 
								 | 
							
								        self::admin_add_integral,self::admin_reduce_integral,self::sign_in_integral,self::recharge_give_integral,self::order_award_integral,self::invite_add_integral
							 | 
						|||
| 
								 | 
							
								        , self::order_deduction_integral,self::register_add_integral,self::cancel_order_refund_integral,self::luck_draw_integral,self::deduct_order_first_integral
							 | 
						|||
| 
								 | 
							
								        , self::order_goods_give_integral,self::consume_award_integral, self::pay_integral_order,self::cancel_integral_order
							 | 
						|||
| 
								 | 
							
								    ];
							 | 
						|||
| 
								 | 
							
								    const growth_change = [     //成长值变动类型
							 | 
						|||
| 
								 | 
							
								        self::admin_add_growth,self::admin_reduce_growth,self::recharge_give_growth,self::sign_give_growth, self::order_give_growth,self::register_give_growth
							 | 
						|||
| 
								 | 
							
								    ];
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * 佣金变动类型
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    const earnings_change = [
							 | 
						|||
| 
								 | 
							
								        self::withdraw_dec_earnings,     //提现扣减
							 | 
						|||
| 
								 | 
							
								        self::withdraw_back_earnings,    //提现拒绝返还
							 | 
						|||
| 
								 | 
							
								        self::distribution_inc_earnings,  //订单结算增加
							 | 
						|||
| 
								 | 
							
								        self::admin_inc_earnings,  //后台增加佣金
							 | 
						|||
| 
								 | 
							
								        self::admin_reduce_earnings,  //后台减少佣金
							 | 
						|||
| 
								 | 
							
								    ];
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    public static function getAcccountDesc($from = true){
							 | 
						|||
| 
								 | 
							
								        $desc = [
							 | 
						|||
| 
								 | 
							
								            self::admin_add_money               => '系统增加余额',
							 | 
						|||
| 
								 | 
							
								            self::admin_reduce_money            => '系统扣减余额',
							 | 
						|||
| 
								 | 
							
								            self::recharge_money                => '用户充值余额',
							 | 
						|||
| 
								 | 
							
								            self::admin_add_integral            => '系统增加积分',
							 | 
						|||
| 
								 | 
							
								            self::admin_reduce_integral         => '系统扣减积分',
							 | 
						|||
| 
								 | 
							
								            self::sign_in_integral              => '每日签到赠送积分',
							 | 
						|||
| 
								 | 
							
								            self::recharge_give_integral        => '充值赠送积分',
							 | 
						|||
| 
								 | 
							
								            self::order_award_integral          => '下单赠送积分',
							 | 
						|||
| 
								 | 
							
								            self::order_deduction_integral      => '下单积分抵扣',
							 | 
						|||
| 
								 | 
							
								            self::register_add_integral         => '注册赠送积分',
							 | 
						|||
| 
								 | 
							
								            self::invite_add_integral           => '邀请会员赠送积分',
							 | 
						|||
| 
								 | 
							
								            self::admin_add_growth              => '系统增加成长值',
							 | 
						|||
| 
								 | 
							
								            self::admin_reduce_growth           => '系统扣减成长值',
							 | 
						|||
| 
								 | 
							
								            self::sign_give_growth              => '每日签到赠送成长值',
							 | 
						|||
| 
								 | 
							
								            self::recharge_give_growth          => '充值赠送成长值',
							 | 
						|||
| 
								 | 
							
								            self::balance_pay_order             => '下单扣减余额',
							 | 
						|||
| 
								 | 
							
								            self::cancel_order_refund           => '取消订单退回余额',
							 | 
						|||
| 
								 | 
							
								            self::after_sale_refund             => '售后退回余额',
							 | 
						|||
| 
								 | 
							
								            self::withdraw_to_balance           => '佣金提现',
							 | 
						|||
| 
								 | 
							
								            self::withdraw_dec_earnings         => '提现扣减佣金',
							 | 
						|||
| 
								 | 
							
								            self::withdraw_back_earnings        => '拒绝提现返还佣金',
							 | 
						|||
| 
								 | 
							
								            self::distribution_inc_earnings     => '订单结算获得佣金',
							 | 
						|||
| 
								 | 
							
								            self::cancel_order_refund_integral  => '取消订单退回积分',
							 | 
						|||
| 
								 | 
							
								            self::deduct_order_first_integral   => '扣除首单积分',
							 | 
						|||
| 
								 | 
							
								            self::luck_draw_integral            => '积分抽奖中奖',
							 | 
						|||
| 
								 | 
							
								            self::order_goods_give_integral     => '购买商品赠送积分',
							 | 
						|||
| 
								 | 
							
								            self::user_transfer_inc_balance     => '会员转账(收入方)',
							 | 
						|||
| 
								 | 
							
								            self::user_transfer_dec_balance     => '会员转账(支出方)',
							 | 
						|||
| 
								 | 
							
								            self::order_give_growth             => '下单赠送成长值',
							 | 
						|||
| 
								 | 
							
								            self::register_give_growth          => '注册赠送成长值',
							 | 
						|||
| 
								 | 
							
								            self::consume_award_integral        => '消费赠送积分',
							 | 
						|||
| 
								 | 
							
								            self::pay_integral_order            => '支付积分商城订单',
							 | 
						|||
| 
								 | 
							
								            self::integral_order_inc_balance    => '积分商城订单',
							 | 
						|||
| 
								 | 
							
								            self::integral_order_dec_balance    => '余额支付积分订单',
							 | 
						|||
| 
								 | 
							
								            self::cancel_integral_order         => '取消积分订单返回积分',
							 | 
						|||
| 
								 | 
							
								            self::admin_inc_earnings            => '后台增加佣金',
							 | 
						|||
| 
								 | 
							
								            self::admin_reduce_earnings         => '后台减少佣金',
							 | 
						|||
| 
								 | 
							
								        ];
							 | 
						|||
| 
								 | 
							
								        if($from === true){
							 | 
						|||
| 
								 | 
							
								            return $desc;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        return $desc[$from] ?? '';
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								    //返回变动类型
							 | 
						|||
| 
								 | 
							
								    public static function getChangeType($source_type){
							 | 
						|||
| 
								 | 
							
								        $type = '';
							 | 
						|||
| 
								 | 
							
								        if(in_array($source_type,self::money_change)){
							 | 
						|||
| 
								 | 
							
								            $type = 'money';
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        if(in_array($source_type,self::integral_change)){
							 | 
						|||
| 
								 | 
							
								            $type = 'integral';
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        if(in_array($source_type,self::growth_change)){
							 | 
						|||
| 
								 | 
							
								            $type = 'growth';
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        if(in_array($source_type,self::earnings_change)){
							 | 
						|||
| 
								 | 
							
								            $type = 'earnings';
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        return $type;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    public static function getRemarkDesc($from,$source_sn,$remark =''){
							 | 
						|||
| 
								 | 
							
								        return $remark;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    public static function getChangeAmountFormatAttr($value,$data){
							 | 
						|||
| 
								 | 
							
								        $amount = $value;
							 | 
						|||
| 
								 | 
							
								        if(!in_array($data['source_type'],self::money_change) && !in_array($data['source_type'],self::earnings_change)){
							 | 
						|||
| 
								 | 
							
								            $amount = intval($value);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        if($data['change_type'] == 1){
							 | 
						|||
| 
								 | 
							
								            return '+'.$amount;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        return '-'.$amount;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    public static function getSourceTypeAttr($value,$data){
							 | 
						|||
| 
								 | 
							
								        return self::getAcccountDesc($value);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    public function getCreateTimeFormatAttr($value, $data)
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        return date('Y-m-d H:i:s', $value);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    /**
							 | 
						|||
| 
								 | 
							
								     * @notes 佣金变动 [400 => 'xxxxx']
							 | 
						|||
| 
								 | 
							
								     * @return array
							 | 
						|||
| 
								 | 
							
								     * @author 段誉
							 | 
						|||
| 
								 | 
							
								     * @date 2022/3/16 10:17
							 | 
						|||
| 
								 | 
							
								     */
							 | 
						|||
| 
								 | 
							
								    public static function getEarningsChange()
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        $earnings = [];
							 | 
						|||
| 
								 | 
							
								        foreach (self::earnings_change as $item) {
							 | 
						|||
| 
								 | 
							
								            $earnings[$item] = self::getAcccountDesc($item);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        return $earnings;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 |