| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | <?phpnamespace App\Modules\Finance\Models;use Illuminate\Database\Eloquent\Model;use DB;/** * Class Bill 账单 * @package App\Modules\Finance\Models */class FinancialPayMerchantBalance extends Model{	protected $table = 'financial_pay_merchant_balance';	//recharge_amount:充值金额    protected $fillable = ['distribution_channel_id','pay_merchant_company_id', 'accumulative_withdrawal_amount','enable_withdrawal_amount', 'latest_withdrawal_amount', 'latest_withdraw_time','withdraw_pending_amount','commission_rate'];    public static function getOne($distribution_channel_id,$pay_merchant_company_id){        return self::where('distribution_channel_id',$distribution_channel_id)->where('pay_merchant_company_id',$pay_merchant_company_id)->first();    }    static function getChannelEnableWithdraw($channel_id,$is_company){        $obj = self::orderBy('enable_withdrawal_amount','desc')->where('distribution_channel_id',$channel_id);        if($is_company == 0){            //TODO 将1替换成掌维公司id            $obj->whereNotIn('pay_merchant_company_id',explode(',',env('ZW_COMPANY_ID')));        }        $res = $obj->first();        return $res;    }    static function getFinancialStatSingle($channelId,$pay_merchant_company_id) {        return self::where('distribution_channel_id',$channelId)->where('pay_merchant_company_id',$pay_merchant_company_id)->first();    }    static function updateBalanceByWithdraw($money,$channelId,$pay_merchant_company_id){        $financialStat = self::getFinancialStatSingle($channelId,$pay_merchant_company_id);        if(!empty($financialStat)) {            $enable_amount = $financialStat['enable_withdrawal_amount'] - $money;            $withdraw_pending_amount = $financialStat['withdraw_pending_amount'] + $money;            //修改可提现总额            $financialStat['enable_withdrawal_amount'] = round($enable_amount,2);            //修改提现中金额            $financialStat['withdraw_pending_amount'] = $withdraw_pending_amount;            //修改最近提现金额            $dataFinancialStat['latest_withdrawal_amount'] = $money;            //修改提现时间            $financialStat['latest_withdraw_time'] = date('Y-m-d H:i:s');            $financialStat->save();        }    }    static function getChannelEnableWithdrawByCompanyId($channel_id) {        $obj = self::orderBy('enable_withdrawal_amount','desc')            ->where('distribution_channel_id',$channel_id);        return $obj->get();    }} 
 |