CategoryController.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace App\Http\Controllers\Admin\Config;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\GoodsCategory;
  5. use Exception;
  6. use Illuminate\Http\Request;
  7. use Log;
  8. use Response;
  9. use Validator;
  10. class CategoryController extends Controller
  11. {
  12. // 添加等级
  13. public function store(Request $request)
  14. {
  15. $validator = Validator::make($request->all(), ['name' => 'required']);
  16. if ($validator->fails()) {
  17. return Response::json(['status' => 'fail', 'message' => $validator->errors()->all()]);
  18. }
  19. if (GoodsCategory::create($validator->validated())) {
  20. return Response::json(['status' => 'success', 'message' => '提交成功']);
  21. }
  22. return Response::json(['status' => 'fail', 'message' => '操作失败']);
  23. }
  24. // 编辑等级
  25. public function update(Request $request, GoodsCategory $category)
  26. {
  27. $validator = Validator::make($request->all(), [
  28. 'name' => 'required',
  29. 'sort' => 'required|numeric',
  30. ]);
  31. if ($validator->fails()) {
  32. return Response::json(['status' => 'fail', 'message' => $validator->errors()->all()]);
  33. }
  34. if ($category->update($validator->validated())) {
  35. return Response::json(['status' => 'success', 'message' => '操作成功']);
  36. }
  37. return Response::json(['status' => 'fail', 'message' => '操作失败']);
  38. }
  39. // 删除等级
  40. public function destroy(GoodsCategory $category)
  41. {
  42. // 校验该等级下是否存在关联账号
  43. if ($category->goods()->exists()) {
  44. return Response::json(['status' => 'fail', 'message' => '该分类下存在关联账号,请先取消关联']);
  45. }
  46. try {
  47. if ($category->delete()) {
  48. return Response::json(['status' => 'success', 'message' => '删除成功']);
  49. }
  50. } catch (Exception $e) {
  51. Log::error('删除时报错:'.$e->getMessage());
  52. return Response::json(['status' => 'fail', 'message' => '删除失败:'.$e->getMessage()]);
  53. }
  54. return Response::json(['status' => 'fail', 'message' => '删除失败']);
  55. }
  56. }