CustomerLogStatusController.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\CustomerLogStatus;
  4. use App\Services\LogService;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Support\Facades\Validator;
  7. class CustomerLogStatusController extends Controller
  8. {
  9. public function __construct()
  10. {
  11. $this->middleware('auth');
  12. }
  13. public function index()
  14. {
  15. $customerLogStatuses = CustomerLogStatus::query()->paginate();
  16. return view('customer.customerLogStatus.index', compact('customerLogStatuses'));
  17. }
  18. public function get()
  19. {
  20. return ["success"=>true,"data"=>app("CustomerLogStatusService")->getSelection()];
  21. }
  22. public function save(Request $request)
  23. {
  24. $errors = $this->validator($request->input(),$request->input("id"))->errors();
  25. if (count($errors) > 0)return ["success"=>true,"data"=>["errors"=>$errors]];
  26. if ($request->input("id")){
  27. app("CustomerLogStatusService")->update(["id"=>$request->input("id")],
  28. ["name"=>$request->input("name"),"description"=>$request->input("description")]);
  29. LogService::log(__METHOD__,"修改客户状态",json_encode($request->input(),JSON_UNESCAPED_UNICODE));
  30. return ["success"=>true];
  31. }
  32. /** @var CustomerLogStatus $model */
  33. $model = app("CustomerLogStatusService")->create(["name"=>$request->input("name"),"description"=>$request->input("description")]);
  34. LogService::log(__METHOD__,"录入客户状态",$model->toJson());
  35. return ["success"=>true,"data"=>$model];
  36. }
  37. private function validator($params, $id)
  38. {
  39. return Validator::make($params,[
  40. "name" => ['max:50','required',$id?"unique:customer_log_statuses,name,$id":'unique:customer_log_statuses,name']
  41. ],[
  42. 'required'=>':attribute 为必填项',
  43. 'max'=>':attribute 最大为50个字符',
  44. 'unique'=>':attribute 已存在',
  45. ],[
  46. "name" => "名称"
  47. ]);
  48. }
  49. public function destroy(Request $request)
  50. {
  51. $id = $request->input("id");
  52. if (!$id) return ["success"=>false,"data"=>"非法参数!"];
  53. app("CustomerLogStatusService")->destroy($request->input("id"));
  54. LogService::log(__METHOD__,"删除客户状态",$id);
  55. return ["success"=>true];
  56. }
  57. }