save(); } return $dataPayment; } /** * 获取打款列表 * @param $withdraw_cash_id * @param string $start_date * @param string $end_date * @param string $status * @param bool $is_all * @return mixed */ static function getList($withdraw_cash_id, $start_date='',$end_date='', $status = '', $is_all=false) { $search_object = self::orderBy('pay_time','desc'); if($withdraw_cash_id) { $search_object->where('withdraw_cash_id', $withdraw_cash_id); } if($start_date) $search_object->where('pay_time','>=',$start_date); if($end_date) $search_object->where('pay_time','<=',$end_date); if($status) { $search_object->where('status',$status); } if($is_all) { return $search_object->get(); }else{ return $search_object->paginate(); } } /** * 更新打款状态 * @param $id * @param $status * @return mixed */ public static function updateSimplePaymentStatus($id, $status) { return self::where('id', $id)->update(['status' => $status]); } /** * 打款详情列表 * @param array $params[] * withdraw_cash_id : 提现ID * channel_id:渠道ID 可选 * channel_name:渠道名称 可选 * account_name: 打款人姓名 * start_date:开始时间 可选 * end_date:结束时间 可选 * end_date:结束时间 可选 * search_name: 搜索名称 * status: 状态 查看接口 WithdrawCashService::getWithdrawCashStatusList * @return mixed */ static function getListDetail($params=[]) { $search_object = self::select([ 'payments.id', 'payments.withdraw_cash_id as cash_id', 'payments.amount', 'payments.amount_person', 'payments.pay_time', 'payments.pay_merchant_source', 'payments.trade_no', 'payments.status as payments_status', 'payments.is_company', 'payments.pay_merchant_source_result', 'payments.pay_merchant_source_msg', 'withdraw_cashes.distribution_channel_id as channel_id', 'withdraw_cashes.distribution_channel_name as channel_name', 'withdraw_cashes.status as wc_status', 'withdraw_cashes.remark', 'withdraw_cashes.check_user_id', 'withdraw_cashes.check_user_name', 'withdraw_cashes.amount as withdraw_cashes_amount', 'withdraw_cashes.tallage as withdraw_cashes_tallage', 'cash_accounts.account_name', 'cash_accounts.identity_card', 'cash_accounts.card_number', 'cash_accounts.account_bank', 'cash_accounts.bank', 'cash_accounts.province', 'cash_accounts.status as ca_status ' ]) ->leftjoin('withdraw_cashes','withdraw_cashes.id','=','payments.withdraw_cash_id') ->leftjoin('cash_accounts','cash_accounts.distribution_channel_id','=','withdraw_cashes.distribution_channel_id') ->orderBy('payments.id','desc'); if(isset($params['withdraw_cash_id']) && $params['withdraw_cash_id']) $search_object->where('payments.withdraw_cash_id', $params['withdraw_cash_id']); if(isset($params['channel_id']) && $params['channel_id']) $search_object->where('withdraw_cashes.distribution_channel_id', $params['channel_id']); if(isset($params['search_name']) && $params['search_name']) { $search_object->where(function ($query) use($params) { $query->where('withdraw_cashes.distribution_channel_name','like', "%".$params['search_name']."%") ->orWhere('cash_accounts.account_name', 'like', "%".$params['search_name']."%"); }); } if(isset($params['channel_name']) && $params['channel_name']) $search_object->where('withdraw_cashes.distribution_channel_name','like', "%".$params['channel_name']."%"); if(isset($params['account_name']) && $params['account_name']) $search_object->where('cash_accounts.account_name', 'like', "%".$params['account_name']."%"); if(isset($params['start_date']) && $params['start_date']) $search_object->where('payments.pay_time','>=', $params['start_date']); if(isset($params['end_date']) && $params['end_date']) $search_object->where('payments.pay_time','<=', $params['end_date']); if(isset($params['is_company']) && is_numeric($params['is_company'])) $search_object->where('payments.is_company', $params['is_company']); if(isset($params['status']) && $params['status']) { $search_object->whereIn('withdraw_cashes.status', $params['status']); } return $search_object->paginate(); } }