diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 21aeb894..66a78d7e 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -20,7 +20,6 @@ class Kernel extends HttpKernel \App\Http\Middleware\PreventRequestsDuringMaintenance::class, \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, \App\Http\Middleware\TrimStrings::class, - \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, ]; /** diff --git a/beike/Admin/Http/Controllers/CurrencyController.php b/beike/Admin/Http/Controllers/CurrencyController.php new file mode 100644 index 00000000..df135a8e --- /dev/null +++ b/beike/Admin/Http/Controllers/CurrencyController.php @@ -0,0 +1,91 @@ + + * @created 2022-06-30 16:17:04 + * @modified 2022-06-30 16:17:04 + */ + +namespace Beike\Admin\Http\Controllers; + +use Beike\Admin\Http\Requests\CurrencyRequest; +use Beike\Admin\Http\Resources\CustomerResource; +use Beike\Models\Customer; +use Beike\Repositories\CountryRepo; +use Beike\Repositories\CurrencyRepo; +use Beike\Repositories\CustomerGroupRepo; +use Beike\Repositories\CustomerRepo; +use Illuminate\Http\Request; + +class CurrencyController extends Controller +{ + protected string $defaultRoute = 'currencies.index'; + + public function index(Request $request) + { + $currencies = CurrencyRepo::all(); + + $data = [ + 'currencies' => $currencies, + ]; + + return view('admin::pages.currencies.index', $data); + } + + public function create() + { + return view('admin::pages.currencies.form'); + } + + public function store(CurrencyRequest $request) + { + $data = [ + 'name' => $request->get('name', ''), + 'code' => $request->get('code', ''), + 'symbol_left' => $request->get('symbol_left', ''), + 'symbol_right' => $request->get('symbol_right', ''), + 'decimal_place' => (float)$request->get('decimal_place', 0), + 'value' => (float)$request->get('value', 1), + 'status' => (int)$request->get('status', 0), + ]; + CurrencyRepo::create($data); + + return redirect($this->getRedirect())->with('success', '货币创建成功!'); + } + + public function edit(Request $request, int $currency) + { + $data = [ + 'currency' => $currency, + '_redirect' => $this->getRedirect(), + ]; + + return view('admin::pages.currencies.form', $data); + } + + public function update(CurrencyRequest $request, int $currencyId) + { + $data = [ + 'name' => $request->get('name', ''), + 'code' => $request->get('code', ''), + 'symbol_left' => $request->get('symbol_left', ''), + 'symbol_right' => $request->get('symbol_right', ''), + 'decimal_place' => (float)$request->get('decimal_place', 0), + 'value' => (float)$request->get('value', 1), + 'status' => (int)$request->get('status', 0), + ]; + CurrencyRepo::update($currencyId, $data); + + return redirect($this->getRedirect())->with('success', '货币更新成功!'); + } + + public function destroy(Request $request, int $currencyId) + { + CurrencyRepo::delete($currencyId); + + return json_success('删除成功!'); + } +} diff --git a/beike/Admin/Http/Requests/CurrencyRequest.php b/beike/Admin/Http/Requests/CurrencyRequest.php new file mode 100644 index 00000000..162a8542 --- /dev/null +++ b/beike/Admin/Http/Requests/CurrencyRequest.php @@ -0,0 +1,45 @@ + 'required|max:64', + 'code' => 'required|max:16', + 'symbol_left' => 'max:16', + 'symbol_right' => 'max:16', + 'value' => 'required', + ]; + } + + public function attributes() + { + return [ + 'name' => '名称', + 'code' => '编码', + 'symbol_left' => '左符号', + 'symbol_right' => '右符号', + 'value' => '汇率值', + ]; + } +} diff --git a/beike/Admin/Routes/admin.php b/beike/Admin/Routes/admin.php index 0956b00e..f89fd78b 100644 --- a/beike/Admin/Routes/admin.php +++ b/beike/Admin/Routes/admin.php @@ -23,6 +23,7 @@ Route::prefix('admin') Route::put('products/restore', [\Beike\Admin\Http\Controllers\ProductController::class, 'restore']); Route::resource('products', \Beike\Admin\Http\Controllers\ProductController::class); + Route::resource('currencies', \Beike\Admin\Http\Controllers\CurrencyController::class); Route::get('settings', [\Beike\Admin\Http\Controllers\SettingController::class, 'index'])->name('settings.index'); diff --git a/beike/Models/Currency.php b/beike/Models/Currency.php new file mode 100644 index 00000000..a6855d83 --- /dev/null +++ b/beike/Models/Currency.php @@ -0,0 +1,24 @@ + + * @created 2022-06-30 15:22:18 + * @modified 2022-06-30 15:22:18 + */ + +namespace Beike\Models; + +use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\Factories\HasFactory; + +class Currency extends Model +{ + use HasFactory; + + protected $fillable = ['name', 'code', 'symbol_left', 'symbol_right', 'decimal_place', 'value', 'status']; + +} + diff --git a/beike/Repositories/CurrencyRepo.php b/beike/Repositories/CurrencyRepo.php new file mode 100644 index 00000000..f32714dc --- /dev/null +++ b/beike/Repositories/CurrencyRepo.php @@ -0,0 +1,69 @@ + + * @created 2022-06-30 15:22:05 + * @modified 2022-06-30 15:22:05 + */ + +namespace Beike\Repositories; + +use Beike\Models\Country; +use Beike\Models\Currency; + +class CurrencyRepo +{ + /** + * 创建一个currency记录 + * @param $data + * @return int + */ + public static function create($data) + { + return Currency::query()->create($data); + } + + /** + * @param $id + * @param $data + * @return bool|int + */ + public static function update($id, $data) + { + $item = Currency::query()->find($id); + if (!$item) { + throw new \Exception("货币id {$id} 不存在"); + } + $item->update($data); + return $item; + } + + /** + * @param $id + * @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model|null + */ + public static function find($id) + { + return Currency::query()->find($id); + } + + /** + * @param $id + * @return void + */ + public static function delete($id) + { + $item = Currency::query()->find($id); + if ($item) { + $item->delete(); + } + } + + public static function all() + { + return Currency::query()->get(); + } +} diff --git a/resources/beike/admin/views/pages/currencies/form.blade.php b/resources/beike/admin/views/pages/currencies/form.blade.php new file mode 100644 index 00000000..b4778488 --- /dev/null +++ b/resources/beike/admin/views/pages/currencies/form.blade.php @@ -0,0 +1,77 @@ +@extends('admin::layouts.master') + +@section('title', '货币管理') + +@section('content') +
+
+
+ @csrf + +
+ + + @error('name') + + @enderror +
+ +
+ + + @error('code') + + @enderror +
+ +
+ + + @error('symbol_left') + + @enderror +
+ +
+ + + @error('symbol_right') + + @enderror +
+ +
+ + + @error('decimal_place') + + @enderror +
+ +
+ + + @error('value') + + @enderror +
+ +
+ + + @error('status') + + @enderror +
+ + @if (session('error')) +
+ {{ session('error') }} +
+ @endif + + +
+
+
+@endsection diff --git a/resources/beike/admin/views/pages/currencies/index.blade.php b/resources/beike/admin/views/pages/currencies/index.blade.php new file mode 100644 index 00000000..c168da9d --- /dev/null +++ b/resources/beike/admin/views/pages/currencies/index.blade.php @@ -0,0 +1,45 @@ +@extends('admin::layouts.master') + +@section('title', '货币管理') + +@section('content') +
+
+
+ 创建 +
+ + + + + + + + + + + + + + + + @foreach ($currencies as $currency) + + + + + + + + + + + + @endforeach + +
#名称编码货币左符号货币右符号小数位数汇率值状态操作
{{ $currency['id'] }}{{ $currency['name'] }}{{ $currency['code'] }}{{ $currency['symbol_left'] }}{{ $currency['symbol_right'] }}{{ $currency['decimal_place'] }}{{ $currency['value'] }}{{ $currency['status'] }} + 编辑 +
+
+
+@endsection diff --git a/resources/beike/admin/views/pages/customers/form-vue.blade.php b/resources/beike/admin/views/pages/customers/form-vue.blade.php deleted file mode 100644 index 9289f6a9..00000000 --- a/resources/beike/admin/views/pages/customers/form-vue.blade.php +++ /dev/null @@ -1,97 +0,0 @@ -@extends('admin::admin.layouts.master') - -@section('title', '分类管理') - -@push('header') - -@endpush - -@section('content') -
- -
- 编辑分类 -
- - - - -
- @foreach (locales() as $locale) - - - - @endforeach -
-
- - -
- @foreach (locales() as $locale) - - - - @endforeach -
-
- - - - @foreach ($categories as $_category) - - @endforeach - - - - - - 启用 - 禁用 - - - - - 立即创建 - 取消 - -
-
-
-@endsection - -@push('footer') - -@endpush