投资理财综合盘是属于出海业务类比较火的一个板块,作为投资理财的那产品项目肯定就少不了。而作为出海产品多语言和多支付接口是最基本的要求,有些人会为了方便用国内的tp fastadmin 若依等框架开发,虽然他们也支持多语言,但是对多语言的兼容性以及后期的可维护性都没有laravel广泛。所以我们采用laravel开发,系统底层报错都是英文,如果用tp的话报错都显示的中文,那就很尴尬了。
我们确定了整个系统几个核心板块
理财项目板块
理财又分为 基金 能源 石油 AI 农业 回收等多个板块,用户可以在后台自由配置信息
储蓄存款板块
这个是很常见的一个功能了,定期存款 定期理财 到期返本 没有什么过多的介绍
贷款板块
这个板块提供了企业贷 商家贷 灵活贷 学生贷 等多种贷款模式,每一个贷款模式后台都可以自己编辑需要的信息。比如企业贷需要上传营业执照,学生贷需要上传学生证
常见问题板块
用于提供对平台的各项介绍
关于我们板块
用于存放平台的白皮书等宣传资料。
下面我提供部分代码仅供参考
贷款部分代码 ` public function list() { allDps = Dps::where('user_id', auth()->id())->searchable(['dps_number', 'plan:name']) ->withCount('dueInstallments')->with(['plan', 'nextInstallment']); if (request()->status) { allDps->where('status', request()->status); } if (request()->date) { date = explode('-', request()->date); date[0]))->format('Y-m-d'); date[1] ? Carbon::parse(trim(@startDate;
request()->merge(['start_date' => $startDate, 'end_date' => $endDate]);
request()->validate([
'start_date' => 'required|date_format:Y-m-d',
'end_date' => 'nullable|date_format:Y-m-d',
]);
$allDps->whereHas('nextInstallment', function ($query) use ($startDate, $endDate) {`
理财部分代码
` public function plans() { plans = FdrPlan::active()->orderBy('interest_rate')->get(); return view($this->activeTemplate . 'user.fdr.plans', compact('pageTitle', 'plans')); }
public function apply(Request $request, $id)
{
$plan = FdrPlan::active()->find($id);
$this->validation($request, $plan);
$additionalData = [
'amount' => $request->amount,
'after_verified' => 'user.fdr.apply.preview',
];
$otpManager = new OTPManager();
return $otpManager->newOTP($plan, $request->auth_mode, 'FDR_OTP', $additionalData);
}
public function preview()
{
$verification = OtpVerification::find(sessionVerificationId());
OTPManager::checkVerificationData($verification, FdrPlan::class);
$plan = $verification->verifiable;
$amount = $verification->additional_data->amount;
$verificationId = $verification->id;
$pageTitle = 'FDR Application Preview';
return view($this->activeTemplate . 'user.fdr.preview', compact('pageTitle', 'plan', 'amount', 'verificationId')); `
定期存款部分代码
` public function plans() { plans = LoanPlan::active()->latest()->get(); return view($this->activeTemplate . 'user.loan.plans', compact('pageTitle', 'plans')); }
public function applyLoan(Request $request, $id)
{
$plan = LoanPlan::active()->findOrFail($id);
$request->validate(['amount' => "required|numeric|min:$plan->minimum_amount|max:$plan->maximum_amount"]);
session()->put('loan', ['plan' => $plan, 'amount' => $request->amount]);
return redirect()->route('user.loan.apply.form');
}
public function loanPreview()
{
$loan = session('loan');
if (!$loan) {
return redirect()->route('user.loan.plans');
}
$plan = $loan['plan'];
$amount = $loan['amount'];
$pageTitle = 'Apply For Loan';
return view($this->activeTemplate . 'user.loan.form', compact('pageTitle', 'plan', 'amount'));
}
public function confirm(Request $request)
{
$loan = session('loan'); `