validate($request, [ 'owner_name' => 'required|string|max:64', 'name_of_payee' => 'required|string|max:128', 'card_no' => 'required', 'bank_name' => 'required|string|max:128', 'sub_bank_name' => 'required|string|max:256', 'phone_of_payee' => 'required', // 'business_id' => 'required', ]); $company_uid = $this->getLoginUserId(); $id = $request->input('id'); $now = date('Y-m-d H:i:s'); if($id) { // $data = $request->only(['owner_name', 'name_of_payee', 'card_no','bank_name', 'sub_bank_name', 'phone_of_payee', 'business_id']); $data = $request->only(['owner_name', 'name_of_payee', 'card_no','bank_name', 'sub_bank_name', 'phone_of_payee']); $data['updated_at'] = $now; // 只有待审核的允许修改 --放弃 // DB::table('bank_cards') // ->where([ // 'id' => $id, 'status' => 1, 'company_uid'=> $company_uid // ])->update($data); DB::table('bank_cards') ->where([ 'id' => $id, 'company_uid'=> $company_uid ])->update($data); } else { $data = $request->all(); $data['status'] = 2; // 免审直接通过 $data['updated_at'] = $data['created_at'] = $now; $data['company_uid'] = $company_uid; DB::table('bank_cards') ->insert($data); } return 'ok'; } /** * 商务列表 * @param Request $request */ public function listShangwu(Request $request) { return BusinessmanService::list(); } /** * 银行列表 * @param Request $request */ public function listBank(Request $request) { return DB::table('banks') ->where(['is_show' => 1]) ->select('id', 'name') ->get(); } /** * 公司银行卡列表 * @param Request $request */ public function listCompanyCard(Request $request) { $company_uid = $this->getLoginUserId(); $ownerName = $request->input('owner_name'); $businessId = $request->input('business_id'); $createStartAt = $request->input('create_start_at'); $createEndAt = $request->input('create_end_at'); $bankCards = DB::table('bank_cards') ->where([ 'company_uid' => $company_uid ])->where('status', '<>', 0) ->when($ownerName, function ($query, $ownerName){ return $query->where('owner_name', 'like', '%'. $ownerName . '%'); })->when($businessId, function ($query, $businessId){ return $query->where('business_id', $businessId); })->when($createStartAt, function ($query, $createStartAt) { return $query->where('created_at', '>=', $createStartAt); })->when($createEndAt, function ($query, $createEndAt){ return $query->where('created_at', '<=', $createEndAt . ' 23:59:59'); }) ->orderBy('id', 'desc') ->paginate($request->input('limit', 15)); $businessmans = BusinessmanService::list()->keyBy('id'); foreach ($bankCards as $bankCard) { $bankCard->status_str = ConstService::BANK_CARD_CHECK_STATUS[$bankCard->status] ?? ''; if ($bankCard->business_id > 0){ $bankCard->business_str = $businessmans->get($bankCard->business_id)->username ?? ''; }else{ $bankCard->business_str = ""; } } return $bankCards; } /** * 公司管理员可用的银行卡列表 * @param Request $request */ public function listAvailableBankCard(Request $request) { $company_uid = $this->getLoginUserId(); return DB::table('bank_cards') ->where([ 'company_uid' => $company_uid, // 'status' => 2 ])->where('status','>',0) ->select('id', 'bank_name', 'card_no', 'sub_bank_name') ->get(); } /** * 合作信息 * @param Request $request */ public function hezuoInfo(Request $request) { $shareRate = DB::table('company_share_rates') ->whereIn('company_uid', [0, $this->getLoginUserId()]) ->select('company_uid', 'share_rate') ->orderBy('company_uid', 'desc') ->first()->share_rate ?? '89.1'; return [ 'share_rate' => $shareRate . '%', ]; } /** * 删除银行卡信息 * @param Request $request */ public function delCompanyCard(Request $request) { $this->validate($request, [ 'id' => 'required' ]); $company_uid = $this->getLoginUserId(); DB::table('bank_cards') ->where([ 'company_uid' => $company_uid, 'id' => $request->input('id'), ])->where('status', '<>', 2) ->update([ 'status' => 0, 'updated_at' => date('Y-m-d H:i:s') ]); return 'ok'; } }