123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- namespace 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();
- }
- }
-
|