This commit is contained in:
Edward Yang 2022-08-19 14:26:55 +08:00
parent b310755a55
commit bf2346d2c1
3 changed files with 45 additions and 14 deletions

View File

@ -11,15 +11,16 @@
namespace Beike\Admin\Http\Controllers; namespace Beike\Admin\Http\Controllers;
use Beike\Repositories\LanguageRepo;
use Exception; use Exception;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redirect; use Beike\Repositories\LanguageRepo;
class LanguageController extends Controller class LanguageController extends Controller
{ {
/**
* 语言列表
* @return mixed
*/
public function index() public function index()
{ {
$languages = LanguageRepo::all(); $languages = LanguageRepo::all();
@ -31,13 +32,19 @@ class LanguageController extends Controller
return view('admin::pages.languages.index', $data); return view('admin::pages.languages.index', $data);
} }
/**
* 新建语言
* @param Request $request
* @return array
*/
public function store(Request $request): array public function store(Request $request): array
{ {
$language = LanguageRepo::create($request->only('name', 'code', 'locale', 'image', 'sort_order', 'status')); $language = LanguageRepo::create($request->all());
return json_success(trans('common.created_success'), $language); return json_success(trans('common.created_success'), $language);
} }
/** /**
* @param Request $request * @param Request $request
* @param int $id * @param int $id
@ -46,11 +53,18 @@ class LanguageController extends Controller
*/ */
public function update(Request $request, int $id): array public function update(Request $request, int $id): array
{ {
$language = LanguageRepo::update($id, $request->only('name', 'code', 'locale', 'image', 'sort_order', 'status')); $language = LanguageRepo::update($id, $request->all());
return json_success(trans('common.updated_success'), $language); return json_success(trans('common.updated_success'), $language);
} }
/**
* 删除语言
*
* @param int $currencyId
* @return array
*/
public function destroy(int $currencyId): array public function destroy(int $currencyId): array
{ {
LanguageRepo::delete($currencyId); LanguageRepo::delete($currencyId);

View File

@ -12,13 +12,14 @@
namespace Beike\Repositories; namespace Beike\Repositories;
use Beike\Models\Country; use Beike\Models\Country;
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
class CountryRepo class CountryRepo
{ {
/** /**
* 创建一个country记录 * 创建一个country记录
* @param $data * @param $data
* @return int * @return mixed
*/ */
public static function create($data) public static function create($data)
{ {
@ -29,7 +30,8 @@ class CountryRepo
/** /**
* @param $id * @param $id
* @param $data * @param $data
* @return bool|int * @return mixed
* @throws \Exception
*/ */
public static function update($id, $data) public static function update($id, $data)
{ {
@ -43,7 +45,7 @@ class CountryRepo
/** /**
* @param $id * @param $id
* @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model|null * @return mixed
*/ */
public static function find($id) public static function find($id)
{ {
@ -64,9 +66,9 @@ class CountryRepo
/** /**
* @param $data * @param $data
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator * @return LengthAwarePaginator
*/ */
public static function list($data) public static function list($data): LengthAwarePaginator
{ {
$builder = Country::query(); $builder = Country::query();

View File

@ -11,7 +11,6 @@
namespace Beike\Repositories; namespace Beike\Repositories;
use Beike\Models\Language; use Beike\Models\Language;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
@ -26,7 +25,15 @@ class LanguageRepo
*/ */
public static function create($data) public static function create($data)
{ {
return Language::query()->create($data); $languageData = [
'name' => $data['name'] ?? '',
'code' => $data['code'] ?? '',
'locale' => $data['locale'] ?? '',
'image' => $data['image'] ?? '',
'sort_order' => (int)($data['sort_order'] ?? 0),
'status' => (bool)($data['status'] ?? ''),
];
return Language::query()->create($languageData);
} }
/** /**
@ -41,7 +48,15 @@ class LanguageRepo
if (!$item) { if (!$item) {
throw new \Exception("语言id {$id} 不存在"); throw new \Exception("语言id {$id} 不存在");
} }
$item->update($data); $languageData = [
'name' => $data['name'] ?? '',
'code' => $data['code'] ?? '',
'locale' => $data['locale'] ?? '',
'image' => $data['image'] ?? '',
'sort_order' => (int)($data['sort_order'] ?? 0),
'status' => (bool)($data['status'] ?? ''),
];
$item->update($languageData);
return $item; return $item;
} }