修复编码格式

dev
Jing Li 2022-10-19 10:30:40 +08:00
parent 7a0b6e3b17
commit 1032ab2633
45 changed files with 284 additions and 231 deletions

View File

@ -2,15 +2,15 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Helpers\Paginator;
use Illuminate\Http\Request;
use App\Models\AdminPermission; use App\Models\AdminPermission;
use Illuminate\Http\Request;
class AdminPermissionController extends Controller class AdminPermissionController extends Controller
{ {
public function index(Request $request) public function index(Request $request)
{ {
$permissions = (new AdminPermission())->toTree(AdminPermission::endPoint()->get()); $permissions = (new AdminPermission())->toTree(AdminPermission::endPoint()->get());
return $this->json($this->formatPermissionsTreeToArray($permissions)); return $this->json($this->formatPermissionsTreeToArray($permissions));
} }
@ -30,6 +30,7 @@ class AdminPermissionController extends Controller
'children' => $this->formatPermissionsTreeToArray($permission->children ?? []), 'children' => $this->formatPermissionsTreeToArray($permission->children ?? []),
]; ];
} }
return $res; return $res;
} }
} }

View File

@ -2,12 +2,12 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\AdminRole;
use App\Helpers\Paginator; use App\Helpers\Paginator;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Http\Requestes\AdminRoleRequest; use App\Http\Requestes\AdminRoleRequest;
use App\Http\Resources\AdminRoleResource; use App\Http\Resources\AdminRoleResource;
use App\Models\AdminRole;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class AdminRoleController extends Controller class AdminRoleController extends Controller
{ {
@ -15,6 +15,7 @@ class AdminRoleController extends Controller
{ {
$query = AdminRole::filter($request->input())->where('id', '>', '1'); $query = AdminRole::filter($request->input())->where('id', '>', '1');
$list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50)); $list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50));
return $this->json(AdminRoleResource::collection($list)); return $this->json(AdminRoleResource::collection($list));
} }
@ -35,13 +36,17 @@ class AdminRoleController extends Controller
} catch(\Throwable $th) { } catch(\Throwable $th) {
DB::rollBack(); DB::rollBack();
report($th); report($th);
return $this->error('添加失败,请稍后再试'); return $this->error('添加失败,请稍后再试');
} }
return $this->success('添加成功'); return $this->success('添加成功');
} }
public function show(AdminRole $adminRole){ public function show(AdminRole $adminRole)
{
$adminRole->load('permissions'); $adminRole->load('permissions');
return $this->json(AdminRoleResource::make($adminRole)); return $this->json(AdminRoleResource::make($adminRole));
} }
@ -62,12 +67,15 @@ class AdminRoleController extends Controller
} catch(\Throwable $th) { } catch(\Throwable $th) {
DB::rollBack(); DB::rollBack();
report($th); report($th);
return $this->error('添加失败,请稍后再试'); return $this->error('添加失败,请稍后再试');
} }
return $this->success('添加成功'); return $this->success('添加成功');
} }
public function destroy(AdminRole $adminRole){ public function destroy(AdminRole $adminRole)
{
try { try {
DB::beginTransaction(); DB::beginTransaction();
$adminRole->permissions()->sync([]); $adminRole->permissions()->sync([]);
@ -76,8 +84,10 @@ class AdminRoleController extends Controller
} catch(\Throwable $th) { } catch(\Throwable $th) {
DB::rollBack(); DB::rollBack();
report($th); report($th);
return $this->error('删除失败,请稍后再试'); return $this->error('删除失败,请稍后再试');
} }
return $this->success('删除成功!'); return $this->success('删除成功!');
} }
} }

View File

@ -2,14 +2,14 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\AdminUser;
use App\Helpers\Paginator; use App\Helpers\Paginator;
use App\Http\Requestes\AdminUserRequest;
use App\Http\Requestes\AdminUserUpdateRequest;
use App\Http\Requestes\RestPasswordRequest;
use App\Http\Resources\AdminUserResource;
use App\Models\AdminUser;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use App\Http\Requestes\AdminUserRequest;
use App\Http\Resources\AdminUserResource;
use App\Http\Requestes\RestPasswordRequest;
use App\Http\Requestes\AdminUserUpdateRequest;
class AdminUserController extends Controller class AdminUserController extends Controller
{ {
@ -17,6 +17,7 @@ class AdminUserController extends Controller
{ {
$query = AdminUser::filter($request->all())->where('id', '>', 1); $query = AdminUser::filter($request->all())->where('id', '>', 1);
$list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50)); $list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50));
return $this->json(AdminUserResource::collection($list)); return $this->json(AdminUserResource::collection($list));
} }
@ -40,12 +41,15 @@ class AdminUserController extends Controller
} catch(\Throwable $th) { } catch(\Throwable $th) {
DB::rollBack(); DB::rollBack();
report($th); report($th);
return $this->error('添加失败,请稍后再试'); return $this->error('添加失败,请稍后再试');
} }
return $this->success('添加成功'); return $this->success('添加成功');
} }
public function show(AdminUser $adminUser){ public function show(AdminUser $adminUser)
{
return $this->json(AdminUserResource::make($adminUser)); return $this->json(AdminUserResource::make($adminUser));
} }
@ -67,12 +71,15 @@ class AdminUserController extends Controller
} catch(\Throwable $th) { } catch(\Throwable $th) {
DB::rollBack(); DB::rollBack();
report($th); report($th);
return $this->error('修改失败,请稍后再试'); return $this->error('修改失败,请稍后再试');
} }
return $this->success('修改成功!'); return $this->success('修改成功!');
} }
public function destroy(AdminUser $adminUser){ public function destroy(AdminUser $adminUser)
{
if ($adminUser->id == 1) { if ($adminUser->id == 1) {
return $this->error('删除失败,请稍后再试'); return $this->error('删除失败,请稍后再试');
} }
@ -85,8 +92,10 @@ class AdminUserController extends Controller
} catch(\Throwable $th) { } catch(\Throwable $th) {
DB::rollBack(); DB::rollBack();
report($th); report($th);
return $this->error('删除失败,请稍后再试'); return $this->error('删除失败,请稍后再试');
} }
return $this->success('删除成功!'); return $this->success('删除成功!');
} }
@ -96,24 +105,27 @@ class AdminUserController extends Controller
* @param AdminUser $adminUser * @param AdminUser $adminUser
* @return void * @return void
*/ */
public function endable(AdminUser $adminUser){ public function endable(AdminUser $adminUser)
{
if ($adminUser->id == 1) { if ($adminUser->id == 1) {
return $this->error('操作失败,请稍后再试'); return $this->error('操作失败,请稍后再试');
} }
$adminUser->update([ $adminUser->update([
'is_enable' => (int) !$adminUser->is_enable 'is_enable' => (int) ! $adminUser->is_enable,
]); ]);
return $this->success('操作成功!'); return $this->success('操作成功!');
} }
public function editPassword(AdminUser $adminUser, RestPasswordRequest $request){ public function editPassword(AdminUser $adminUser, RestPasswordRequest $request)
{
if ($adminUser->id == 1) { if ($adminUser->id == 1) {
return $this->error('操作失败,请稍后再试'); return $this->error('操作失败,请稍后再试');
} }
$adminUser->update([ $adminUser->update([
'password' => bcrypt($request->input('password')) 'password' => bcrypt($request->input('password')),
]); ]);
return $this->success('修改成功!'); return $this->success('修改成功!');
} }
} }

View File

@ -3,11 +3,11 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Helpers\Paginator; use App\Helpers\Paginator;
use Illuminate\Http\Request;
use App\Models\AgriculturalBase;
use Illuminate\Support\Facades\DB;
use App\Http\Requestes\AgriculturalBaseRequest; use App\Http\Requestes\AgriculturalBaseRequest;
use App\Http\Resources\AgriculturalBaseResource; use App\Http\Resources\AgriculturalBaseResource;
use App\Models\AgriculturalBase;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class AgriculturalBaseController extends Controller class AgriculturalBaseController extends Controller
{ {
@ -17,13 +17,16 @@ class AgriculturalBaseController extends Controller
* @param Request $request * @param Request $request
* @return void * @return void
*/ */
public function index(Request $request){ public function index(Request $request)
{
$query = AgriculturalBase::with('crops')->filter($request->all())->sort(); $query = AgriculturalBase::with('crops')->filter($request->all())->sort();
$list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50)); $list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50));
return AgriculturalBaseResource::collection($list); return AgriculturalBaseResource::collection($list);
} }
public function store(AgriculturalBaseRequest $request){ public function store(AgriculturalBaseRequest $request)
{
$cropsIds = $request->input('crops_ids', []); $cropsIds = $request->input('crops_ids', []);
try { try {
DB::beginTransaction(); DB::beginTransaction();
@ -35,16 +38,20 @@ class AgriculturalBaseController extends Controller
} catch(\Throwable $th) { } catch(\Throwable $th) {
DB::rollBack(); DB::rollBack();
report($th); report($th);
return $this->error('添加失败,请稍后再试'); return $this->error('添加失败,请稍后再试');
} }
return $this->success('添加成功!'); return $this->success('添加成功!');
} }
public function show(AgriculturalBase $agriculturalBasic){ public function show(AgriculturalBase $agriculturalBasic)
{
return $this->json(AgriculturalBaseResource::make($agriculturalBasic)); return $this->json(AgriculturalBaseResource::make($agriculturalBasic));
} }
public function update(AgriculturalBase $agriculturalBasic, AgriculturalBaseRequest $request){ public function update(AgriculturalBase $agriculturalBasic, AgriculturalBaseRequest $request)
{
$cropsIds = $request->input('crops_ids', []); $cropsIds = $request->input('crops_ids', []);
try { try {
DB::beginTransaction(); DB::beginTransaction();
@ -56,12 +63,15 @@ class AgriculturalBaseController extends Controller
} catch(\Throwable $th) { } catch(\Throwable $th) {
DB::rollBack(); DB::rollBack();
report($th); report($th);
return $this->error('修改失败,请稍后再试'); return $this->error('修改失败,请稍后再试');
} }
return $this->success('修改成功!'); return $this->success('修改成功!');
} }
public function destroy(AgriculturalBase $agriculturalBasic){ public function destroy(AgriculturalBase $agriculturalBasic)
{
try { try {
DB::beginTransaction(); DB::beginTransaction();
$agriculturalBasic->crops()->sync([]); $agriculturalBasic->crops()->sync([]);
@ -70,8 +80,10 @@ class AgriculturalBaseController extends Controller
} catch(\Throwable $th) { } catch(\Throwable $th) {
DB::rollBack(); DB::rollBack();
report($th); report($th);
return $this->error('删除失败,请稍后再试'); return $this->error('删除失败,请稍后再试');
} }
return $this->success('删除成功!'); return $this->success('删除成功!');
} }
} }

View File

@ -33,6 +33,7 @@ class AuthController extends Controller
protected function attemptUser(AdminUser $user, $name = 'api') protected function attemptUser(AdminUser $user, $name = 'api')
{ {
$token = $user->createToken($name)->plainTextToken; $token = $user->createToken($name)->plainTextToken;
return $this->json(['token' => $token, 'info' => $user, 'permissions' => $user->permissionIds()]); return $this->json(['token' => $token, 'info' => $user, 'permissions' => $user->permissionIds()]);
} }
} }

View File

@ -2,12 +2,12 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\CropFlow;
use App\Helpers\Paginator; use App\Helpers\Paginator;
use Illuminate\Http\Request;
use App\Http\Requestes\CropFlowRequest; use App\Http\Requestes\CropFlowRequest;
use App\Http\Resources\CropFlowResource;
use App\Http\Requestes\CropFlowUpdateRequest; use App\Http\Requestes\CropFlowUpdateRequest;
use App\Http\Resources\CropFlowResource;
use App\Models\CropFlow;
use Illuminate\Http\Request;
class CropFlowController extends Controller class CropFlowController extends Controller
{ {
@ -17,6 +17,7 @@ class CropFlowController extends Controller
$totalNum = $query->sum('sale'); //总产量 $totalNum = $query->sum('sale'); //总产量
$list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50)); $list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50));
$list->load(['createdBy']); $list->load(['createdBy']);
return $this->json([ return $this->json([
'total' => $totalNum, 'total' => $totalNum,
'list' => CropFlowResource::collection($list), 'list' => CropFlowResource::collection($list),
@ -36,26 +37,30 @@ class CropFlowController extends Controller
'updated_at' => now(), 'updated_at' => now(),
]); ]);
}, $flows)); }, $flows));
return $this->success('添加成功'); return $this->success('添加成功');
} }
public function show(CropFlow $cropFlow) public function show(CropFlow $cropFlow)
{ {
$cropFlow->load(['crop', 'user']); $cropFlow->load(['crop', 'user']);
return $this->json(CropFlowResource::make($cropFlow)); return $this->json(CropFlowResource::make($cropFlow));
} }
public function update(CropFlow $cropFlow, CropFlowUpdateRequest $request) public function update(CropFlow $cropFlow, CropFlowUpdateRequest $request)
{ {
$cropFlow->update(array_merge($request->input(), $cropFlow->update(array_merge($request->input(),
['updated_by'=>auth('api')->user()?->id ?? 0,] ['updated_by' => auth('api')->user()?->id ?? 0]
)); ));
return $this->success('修改成功'); return $this->success('修改成功');
} }
public function destroy(CropFlow $cropFlow) public function destroy(CropFlow $cropFlow)
{ {
$cropFlow->delete(); $cropFlow->delete();
return $this->success('删除成功'); return $this->success('删除成功');
} }
} }

View File

@ -2,11 +2,11 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\CropStructure;
use App\Http\Requestes\CropStructureRequest; use App\Http\Requestes\CropStructureRequest;
use App\Http\Resources\CropStructureResource;
use App\Http\Requestes\CropStructureUpdateRequest; use App\Http\Requestes\CropStructureUpdateRequest;
use App\Http\Resources\CropStructureResource;
use App\Models\CropStructure;
use Illuminate\Http\Request;
class CropStructureController extends Controller class CropStructureController extends Controller
{ {
@ -14,6 +14,7 @@ class CropStructureController extends Controller
{ {
$list = CropStructure::with('cropsCate')->filter($request->input())->get(); $list = CropStructure::with('cropsCate')->filter($request->input())->get();
$totalOutput = $list->sum('crops_output'); $totalOutput = $list->sum('crops_output');
return $this->json([ return $this->json([
'totalOutput' => $totalOutput, 'totalOutput' => $totalOutput,
'list' => array_map(function ($item) use ($totalOutput) { 'list' => array_map(function ($item) use ($totalOutput) {
@ -24,7 +25,7 @@ class CropStructureController extends Controller
'year' => $item['time_year'], 'year' => $item['time_year'],
'crops_output' => number_format($item['crops_output']), 'crops_output' => number_format($item['crops_output']),
]; ];
}, $list->toArray()) }, $list->toArray()),
]); ]);
} }
@ -42,8 +43,10 @@ class CropStructureController extends Controller
return $this->success('添加成功'); return $this->success('添加成功');
} }
public function show(CropStructure $cropStructure){ public function show(CropStructure $cropStructure)
{
$cropStructure->load('cropsCate'); $cropStructure->load('cropsCate');
return $this->json(CropStructureResource::make($cropStructure)); return $this->json(CropStructureResource::make($cropStructure));
} }

View File

@ -2,12 +2,12 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\CropYield;
use App\Helpers\Paginator; use App\Helpers\Paginator;
use Illuminate\Http\Request;
use App\Http\Requestes\CropYieldRequest; use App\Http\Requestes\CropYieldRequest;
use App\Http\Resources\CropYieldResource;
use App\Http\Requestes\CropYieldUpdateRequest; use App\Http\Requestes\CropYieldUpdateRequest;
use App\Http\Resources\CropYieldResource;
use App\Models\CropYield;
use Illuminate\Http\Request;
class CropYieldController extends Controller class CropYieldController extends Controller
{ {
@ -17,9 +17,10 @@ class CropYieldController extends Controller
$totalNum = $query->sum('yield'); //总产量 $totalNum = $query->sum('yield'); //总产量
$list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50)); $list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50));
$list->load(['base', 'createdBy']); $list->load(['base', 'createdBy']);
return $this->json([ return $this->json([
'total' => $totalNum, 'total' => $totalNum,
'list' => CropYieldResource::collection($list) 'list' => CropYieldResource::collection($list),
]); ]);
} }
@ -36,26 +37,30 @@ class CropYieldController extends Controller
'updated_at' => now(), 'updated_at' => now(),
]); ]);
}, $yields)); }, $yields));
return $this->success('添加成功'); return $this->success('添加成功');
} }
public function show(CropYield $cropYield) public function show(CropYield $cropYield)
{ {
$cropYield->load(['base', 'crop', 'createdBy']); $cropYield->load(['base', 'crop', 'createdBy']);
return $this->json(CropYieldResource::make($cropYield)); return $this->json(CropYieldResource::make($cropYield));
} }
public function update(CropYield $cropYield, CropYieldUpdateRequest $request) public function update(CropYield $cropYield, CropYieldUpdateRequest $request)
{ {
$cropYield->update(array_merge($request->input(), $cropYield->update(array_merge($request->input(),
['updated_by'=>auth('api')->user()?->id ?? 0,] ['updated_by' => auth('api')->user()?->id ?? 0]
)); ));
return $this->success('修改成功'); return $this->success('修改成功');
} }
public function destroy(CropYield $cropYield) public function destroy(CropYield $cropYield)
{ {
$cropYield->delete(); $cropYield->delete();
return $this->success('删除成功'); return $this->success('删除成功');
} }
} }

View File

@ -2,12 +2,12 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\Device;
use App\Enums\DeviceType; use App\Enums\DeviceType;
use App\Helpers\Paginator; use App\Helpers\Paginator;
use Illuminate\Http\Request;
use App\Http\Requestes\DeviceRequest; use App\Http\Requestes\DeviceRequest;
use App\Http\Resources\DeviceResource; use App\Http\Resources\DeviceResource;
use App\Models\Device;
use Illuminate\Http\Request;
class DeviceController extends Controller class DeviceController extends Controller
{ {
@ -15,6 +15,7 @@ class DeviceController extends Controller
{ {
$query = Device::with('base')->filter($request->input()); $query = Device::with('base')->filter($request->input());
$list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50)); $list = $query->simplePaginate(Paginator::resolvePerPage('per_page', 20, 50));
return $this->json(DeviceResource::collection($list)); return $this->json(DeviceResource::collection($list));
} }
@ -29,6 +30,7 @@ class DeviceController extends Controller
'created_by' => auth('api')->user()?->id ?? 0, 'created_by' => auth('api')->user()?->id ?? 0,
'updated_by' => auth('api')->user()?->id ?? 0, 'updated_by' => auth('api')->user()?->id ?? 0,
])); ]));
return $this->success('添加成功'); return $this->success('添加成功');
} }
@ -47,16 +49,19 @@ class DeviceController extends Controller
$device->update(array_merge($input, [ $device->update(array_merge($input, [
'updated_by' => auth('api')->user()?->id ?? 0, 'updated_by' => auth('api')->user()?->id ?? 0,
])); ]));
return $this->success('修改成功'); return $this->success('修改成功');
} }
public function destroy(Device $device) public function destroy(Device $device)
{ {
$device->delete(); $device->delete();
return $this->success('删除成功'); return $this->success('删除成功');
} }
public function types(){ public function types()
{
return $this->json(DeviceType::types()); return $this->json(DeviceType::types());
} }
} }

View File

@ -9,6 +9,7 @@ class UserController extends Controller
public function info() public function info()
{ {
$user = auth('api')->user(); $user = auth('api')->user();
return $this->json(['info' => $user, 'permissions' => $user->permissionIds()]); return $this->json(['info' => $user, 'permissions' => $user->permissionIds()]);
} }

View File

@ -42,7 +42,7 @@ class AdminUserRequest extends FormRequest
'name.string' => '请正确填写名称', 'name.string' => '请正确填写名称',
'name.max' => '名称长度不能超过100位', 'name.max' => '名称长度不能超过100位',
'status' => '请选择用户状态', 'status' => '请选择用户状态',
'role_id' => "请选择角色" 'role_id' => '请选择角色',
]; ];
return $messages; return $messages;

View File

@ -37,7 +37,7 @@ class AdminUserUpdateRequest extends FormRequest
'name.string' => '请正确填写名称', 'name.string' => '请正确填写名称',
'name.max' => '名称长度不能超过100位', 'name.max' => '名称长度不能超过100位',
'status' => '请选择用户状态', 'status' => '请选择用户状态',
'role_id' => "请选择角色" 'role_id' => '请选择角色',
]; ];
return $messages; return $messages;

View File

@ -19,7 +19,7 @@ class CropFlowRequest extends FormRequest
'time_year' => 'required|date_format:Y', 'time_year' => 'required|date_format:Y',
'crop_id' => 'required|integer|min:0', 'crop_id' => 'required|integer|min:0',
'flows' => 'required|array|min:1', 'flows' => 'required|array|min:1',
'flows.*'=>'required_array_keys:flow_name,sale' 'flows.*' => 'required_array_keys:flow_name,sale',
]; ];
} }

View File

@ -18,7 +18,7 @@ class CropStructureRequest extends FormRequest
return [ return [
'time_year' => 'required|date_format:Y', 'time_year' => 'required|date_format:Y',
'structures' => 'required|array|min:1', 'structures' => 'required|array|min:1',
'structures.*'=>'required_array_keys:crops_cate_id,crops_output' 'structures.*' => 'required_array_keys:crops_cate_id,crops_output',
]; ];
} }
@ -26,7 +26,7 @@ class CropStructureRequest extends FormRequest
{ {
$messages = [ $messages = [
'time_year' => '请选择年份', 'time_year' => '请选择年份',
'structures' => '请填写产业及产值' 'structures' => '请填写产业及产值',
]; ];
return $messages; return $messages;

View File

@ -18,7 +18,7 @@ class CropStructureUpdateRequest extends FormRequest
return [ return [
'time_year' => 'required|date_format:Y', 'time_year' => 'required|date_format:Y',
'crops_cate_id' => 'required|integer|min:1', 'crops_cate_id' => 'required|integer|min:1',
'crops_output' => 'required|regex:/^\d+(\.\d{1,2})?$/' 'crops_output' => 'required|regex:/^\d+(\.\d{1,2})?$/',
]; ];
} }
@ -27,7 +27,7 @@ class CropStructureUpdateRequest extends FormRequest
$messages = [ $messages = [
'time_year' => '请选择年份', 'time_year' => '请选择年份',
'crops_cate_id' => '请选择产业', 'crops_cate_id' => '请选择产业',
'crops_output' => '请填写产值' 'crops_output' => '请填写产值',
]; ];
return $messages; return $messages;

View File

@ -19,7 +19,7 @@ class CropYieldRequest extends FormRequest
'time_year' => 'required|date_format:Y', 'time_year' => 'required|date_format:Y',
'crop_id' => 'required|integer|min:0', 'crop_id' => 'required|integer|min:0',
'yields' => 'required|array|min:1', 'yields' => 'required|array|min:1',
'yields.*'=>'required_array_keys:base_id,yield,cultivated,output' 'yields.*' => 'required_array_keys:base_id,yield,cultivated,output',
]; ];
} }

View File

@ -21,7 +21,7 @@ class CropYieldUpdateRequest extends FormRequest
'base_id' => 'required|integer|min:0', 'base_id' => 'required|integer|min:0',
'yield' => 'required|regex:/^\d+(\.\d{1,2})?$/', 'yield' => 'required|regex:/^\d+(\.\d{1,2})?$/',
'cultivated' => 'required|regex:/^\d+(\.\d{1,2})?$/', 'cultivated' => 'required|regex:/^\d+(\.\d{1,2})?$/',
'output' => 'required|regex:/^\d+(\.\d{1,2})?$/' 'output' => 'required|regex:/^\d+(\.\d{1,2})?$/',
]; ];
} }

View File

@ -3,10 +3,10 @@
namespace App\Http\Requestes; namespace App\Http\Requestes;
use App\Enums\DeviceType; use App\Enums\DeviceType;
use Illuminate\Validation\Rules\Enum;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Contracts\Validation\Validator; use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Exceptions\HttpResponseException; use Illuminate\Http\Exceptions\HttpResponseException;
use Illuminate\Validation\Rules\Enum;
class DeviceRequest extends FormRequest class DeviceRequest extends FormRequest
{ {

View File

@ -3,7 +3,6 @@
namespace App\Http\Resources; namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource; use Illuminate\Http\Resources\Json\JsonResource;
use Peidikeji\Keywords\Http\Resources\KeywordResource;
class AdminRoleResource extends JsonResource class AdminRoleResource extends JsonResource
{ {

View File

@ -3,7 +3,6 @@
namespace App\Http\Resources; namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource; use Illuminate\Http\Resources\Json\JsonResource;
use Peidikeji\Keywords\Http\Resources\KeywordResource;
class AdminUserResource extends JsonResource class AdminUserResource extends JsonResource
{ {

View File

@ -25,7 +25,7 @@ class AgriculturalBaseResource extends JsonResource
'map' => $this->map ?? '', 'map' => $this->map ?? '',
'areas' => ($this->areas ?? 0.00).' 亩', 'areas' => ($this->areas ?? 0.00).' 亩',
'workforce' => $this->workforce ?? 0, 'workforce' => $this->workforce ?? 0,
'crops' => KeywordResource::collection($this->whenLoaded('crops')) 'crops' => KeywordResource::collection($this->whenLoaded('crops')),
]; ];
} }
} }

View File

@ -2,10 +2,8 @@
namespace App\ModelFilters; namespace App\ModelFilters;
use Carbon\Carbon;
use EloquentFilter\ModelFilter; use EloquentFilter\ModelFilter;
class AdminRoleFilter extends ModelFilter class AdminRoleFilter extends ModelFilter
{ {
} }

View File

@ -2,10 +2,8 @@
namespace App\ModelFilters; namespace App\ModelFilters;
use Carbon\Carbon;
use EloquentFilter\ModelFilter; use EloquentFilter\ModelFilter;
class AdminUserFilter extends ModelFilter class AdminUserFilter extends ModelFilter
{ {
} }

View File

@ -2,10 +2,8 @@
namespace App\ModelFilters; namespace App\ModelFilters;
use Carbon\Carbon;
use EloquentFilter\ModelFilter; use EloquentFilter\ModelFilter;
class AgriculturalBaseFilter extends ModelFilter class AgriculturalBaseFilter extends ModelFilter
{ {
} }

View File

@ -2,7 +2,6 @@
namespace App\ModelFilters; namespace App\ModelFilters;
use Carbon\Carbon;
use EloquentFilter\ModelFilter; use EloquentFilter\ModelFilter;
class CropFlowFilter extends ModelFilter class CropFlowFilter extends ModelFilter
@ -10,6 +9,7 @@ class CropFlowFilter extends ModelFilter
public function year($y) public function year($y)
{ {
$y = $y ?? date('Y'); //默认当前年份 $y = $y ?? date('Y'); //默认当前年份
return $this->where('time_year', $y); return $this->where('time_year', $y);
} }

View File

@ -2,7 +2,6 @@
namespace App\ModelFilters; namespace App\ModelFilters;
use Carbon\Carbon;
use EloquentFilter\ModelFilter; use EloquentFilter\ModelFilter;
class CropStructureFilter extends ModelFilter class CropStructureFilter extends ModelFilter
@ -10,6 +9,7 @@ class CropStructureFilter extends ModelFilter
public function year($y) public function year($y)
{ {
$y = $y ?? date('Y'); //默认当前年份 $y = $y ?? date('Y'); //默认当前年份
return $this->where('time_year', $y); return $this->where('time_year', $y);
} }
} }

View File

@ -2,7 +2,6 @@
namespace App\ModelFilters; namespace App\ModelFilters;
use Carbon\Carbon;
use EloquentFilter\ModelFilter; use EloquentFilter\ModelFilter;
class CropYieldFilter extends ModelFilter class CropYieldFilter extends ModelFilter
@ -10,6 +9,7 @@ class CropYieldFilter extends ModelFilter
public function year($y) public function year($y)
{ {
$y = $y ?? date('Y'); //默认当前年份 $y = $y ?? date('Y'); //默认当前年份
return $this->where('time_year', $y); return $this->where('time_year', $y);
} }

View File

@ -2,20 +2,22 @@
namespace App\ModelFilters; namespace App\ModelFilters;
use Carbon\Carbon;
use EloquentFilter\ModelFilter; use EloquentFilter\ModelFilter;
class DeviceFilter extends ModelFilter class DeviceFilter extends ModelFilter
{ {
public function point($point){ public function point($point)
{
return $this->where('monitoring_point', 'like', $point.'%'); return $this->where('monitoring_point', 'like', $point.'%');
} }
public function base($base){ public function base($base)
{
return $this->where('agricultural_base_id', $base); return $this->where('agricultural_base_id', $base);
} }
public function type($type){ public function type($type)
{
return $this->where('type', $type); return $this->where('type', $type);
} }
} }

View File

@ -2,14 +2,15 @@
namespace App\Models; namespace App\Models;
use EloquentFilter\Filterable;
use Dcat\Admin\Models\Permission as BaseAdminModel; use Dcat\Admin\Models\Permission as BaseAdminModel;
use EloquentFilter\Filterable;
class AdminPermission extends BaseAdminModel class AdminPermission extends BaseAdminModel
{ {
use Filterable; use Filterable;
public function scopeEndPoint($q){ public function scopeEndPoint($q)
{
return $q->where('slug', 'like', 'endpoint%'); return $q->where('slug', 'like', 'endpoint%');
} }
} }

View File

@ -2,8 +2,8 @@
namespace App\Models; namespace App\Models;
use EloquentFilter\Filterable;
use Dcat\Admin\Models\Role as BaseAdminModel; use Dcat\Admin\Models\Role as BaseAdminModel;
use EloquentFilter\Filterable;
class AdminRole extends BaseAdminModel class AdminRole extends BaseAdminModel
{ {

View File

@ -2,9 +2,9 @@
namespace App\Models; namespace App\Models;
use Dcat\Admin\Models\Administrator as BaseAdminModel;
use EloquentFilter\Filterable; use EloquentFilter\Filterable;
use Laravel\Sanctum\HasApiTokens; use Laravel\Sanctum\HasApiTokens;
use Dcat\Admin\Models\Administrator as BaseAdminModel;
class AdminUser extends BaseAdminModel class AdminUser extends BaseAdminModel
{ {
@ -22,11 +22,13 @@ class AdminUser extends BaseAdminModel
'password', 'remember_token', 'password', 'remember_token',
]; ];
public function bases(){ public function bases()
{
return $this->belongsToMany(AgriculturalBase::class, 'admin_user_bases', 'user_id', 'base_id'); return $this->belongsToMany(AgriculturalBase::class, 'admin_user_bases', 'user_id', 'base_id');
} }
public function permissionIds(){ public function permissionIds()
{
return $this->getCachePermissions()->pluck('id'); return $this->getCachePermissions()->pluck('id');
} }
} }

View File

@ -8,12 +8,11 @@ use Peidikeji\Keywords\Models\Keywords;
class AgriculturalBase extends Model class AgriculturalBase extends Model
{ {
use Filterable; use Filterable;
protected $fillable = [ protected $fillable = [
'name', 'person', 'address', 'address_lat', 'address_lng', 'name', 'person', 'address', 'address_lat', 'address_lng',
'description', 'map', 'areas', 'workforce' 'description', 'map', 'areas', 'workforce',
]; ];
public function scopeSort($q) public function scopeSort($q)
@ -21,7 +20,8 @@ class AgriculturalBase extends Model
return $q->orderBy('created_at', 'desc'); return $q->orderBy('created_at', 'desc');
} }
public function crops(){ public function crops()
{
return $this->belongsToMany(Keywords::class, 'base_crops', 'base_id', 'crop_id'); return $this->belongsToMany(Keywords::class, 'base_crops', 'base_id', 'crop_id');
} }
} }

View File

@ -12,7 +12,7 @@ class CropFlow extends Model
protected $fillable = [ protected $fillable = [
'crop_id', 'flow_name', 'time_year', 'sale', 'user_id', 'crop_id', 'flow_name', 'time_year', 'sale', 'user_id',
'created_by', 'updated_by' 'created_by', 'updated_by',
]; ];
/** /**
@ -20,7 +20,8 @@ class CropFlow extends Model
* *
* @return void * @return void
*/ */
public function crop(){ public function crop()
{
return $this->belongsTo(Keywords::class, 'crop_id'); return $this->belongsTo(Keywords::class, 'crop_id');
} }

View File

@ -12,7 +12,7 @@ class CropYield extends Model
protected $fillable = [ protected $fillable = [
'base_id', 'crop_id', 'time_year', 'yield', 'cultivated', 'output', 'user_id', 'base_id', 'crop_id', 'time_year', 'yield', 'cultivated', 'output', 'user_id',
'created_by', 'updated_by' 'created_by', 'updated_by',
]; ];
/** /**
@ -20,7 +20,8 @@ class CropYield extends Model
* *
* @return void * @return void
*/ */
public function base(){ public function base()
{
return $this->belongsTo(AgriculturalBase::class, 'base_id'); return $this->belongsTo(AgriculturalBase::class, 'base_id');
} }
@ -29,7 +30,8 @@ class CropYield extends Model
* *
* @return void * @return void
*/ */
public function crop(){ public function crop()
{
return $this->belongsTo(Keywords::class, 'crop_id'); return $this->belongsTo(Keywords::class, 'crop_id');
} }
@ -42,5 +44,4 @@ class CropYield extends Model
{ {
return $this->belongsTo(AdminUser::class, 'updated_by'); return $this->belongsTo(AdminUser::class, 'updated_by');
} }
} }

View File

@ -2,12 +2,12 @@
namespace App\Models; namespace App\Models;
use App\Enums\DeviceType;
use App\Enums\DeviceStatus; use App\Enums\DeviceStatus;
use App\Enums\DeviceType;
use EloquentFilter\Filterable; use EloquentFilter\Filterable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Factories\HasFactory;
class Device extends Model class Device extends Model
{ {
@ -20,7 +20,7 @@ class Device extends Model
protected $casts = [ protected $casts = [
'type' => DeviceType::class, 'type' => DeviceType::class,
'status' => DeviceStatus::class, 'status' => DeviceStatus::class,
'extends' => 'array' 'extends' => 'array',
]; ];
protected $fillable = [ protected $fillable = [
@ -36,7 +36,8 @@ class Device extends Model
'updated_by', 'updated_by',
]; ];
public function base(){ public function base()
{
return $this->belongsTo(AgriculturalBase::class, 'agricultural_base_id'); return $this->belongsTo(AgriculturalBase::class, 'agricultural_base_id');
} }

View File

@ -4,7 +4,6 @@ namespace Database\Seeders;
use Dcat\Admin\Models\Permission; use Dcat\Admin\Models\Permission;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class EndpointPermissionSeeder extends Seeder class EndpointPermissionSeeder extends Seeder
{ {
@ -21,7 +20,7 @@ class EndpointPermissionSeeder extends Seeder
'weather' => ['name' => '气象管理', 'curd' => ['index']], 'weather' => ['name' => '气象管理', 'curd' => ['index']],
'camera' => ['name' => '智能监控', 'curd' => ['index']], 'camera' => ['name' => '智能监控', 'curd' => ['index']],
'soil' => ['name' => '土壤监控', 'curd' => ['index'], 'children' => ['setting' => '设置']], 'soil' => ['name' => '土壤监控', 'curd' => ['index'], 'children' => ['setting' => '设置']],
'water' => ['name' =>'水质监控', 'curd'=>['index'], 'children'=> ['setting'=>'设置']] 'water' => ['name' => '水质监控', 'curd' => ['index'], 'children' => ['setting' => '设置']],
]], ]],
'base_data' => ['name' => '基础数据管理', 'curd' => false, 'children' => [ 'base_data' => ['name' => '基础数据管理', 'curd' => false, 'children' => [
'citydata_statistics' => ['name' => '全市基础数据', 'curd' => ['index', 'edit']], 'citydata_statistics' => ['name' => '全市基础数据', 'curd' => ['index', 'edit']],
@ -36,12 +35,12 @@ class EndpointPermissionSeeder extends Seeder
]], ]],
'manage' => ['name' => '系统管理', 'curd' => false, 'children' => [ 'manage' => ['name' => '系统管理', 'curd' => false, 'children' => [
'admin_users' => ['name' => '管理员管理', 'curd' => true, 'children' => [ 'admin_users' => ['name' => '管理员管理', 'curd' => true, 'children' => [
'edit_password'=>'修改密码', 'enable'=>'启用/禁用' 'edit_password' => '修改密码', 'enable' => '启用/禁用',
]], ]],
'admin_roles' => ['name' => '角色管理', 'curd' => true], 'admin_roles' => ['name' => '角色管理', 'curd' => true],
'operation_log' => ['name' =>'操作日志', 'curd'=>['index']] 'operation_log' => ['name' => '操作日志', 'curd' => ['index']],
]] ]],
]] ]],
]; ];
$this->createPermissionData($permissions); $this->createPermissionData($permissions);
} }

View File

@ -24,7 +24,6 @@ Route::group(['middleware' => 'auth:sanctum'], function () {
Route::get('device-types', [DeviceController::class, 'types']); Route::get('device-types', [DeviceController::class, 'types']);
Route::group(['as' => 'endpoint.'], function () { Route::group(['as' => 'endpoint.'], function () {
//全市基础数据 //全市基础数据
Route::get('citydata-statistics', [CityDataController::class, 'statistics'])->name('citydata_statistics.index'); Route::get('citydata-statistics', [CityDataController::class, 'statistics'])->name('citydata_statistics.index');
//基地数据 //基地数据