$value) { $grade[] = [ 'status' => $key, 'text' => $value, ]; } return json($grade); } /** * 客户偏好 * @param Request $request * @return \support\Response */ public function getCarType(Request $request) { $grade = []; foreach (Constants::GRADE as $key => $value) { $grade[] = [ 'status' => $key, 'text' => $value, ]; } return json($grade); } /** * 客户列表 * @param Request $request * @return \support\Response */ public function list(Request $request) { $page = $request->input('page', 1); $perPage = $request->input('per_page', 10); $where = []; $userId = $request->user['id']; if (Util::isEmpty($userId)) { return Util::fail(['user_id' => $userId], trans('user_none')); } if ($request->user['role'] != 1) { $where['user_id'] = $userId; } // 执行分页查询 $data = Customer::where($where) ->orderBy('id', 'desc') ->paginate($perPage, ['*'], 'page', $page); foreach ($data->items() as &$value) { $value = Customer::getCustomer($value); } return Util::page($data); } /** * 客户详情 * @param Request $request * @return \support\Response */ public function detail(Request $request) { $id = Util::getParam($request, 'id'); if (Util::isEmpty($id)) { return Util::fail([], 'id' . trans('not_null')); } $res = Customer::select('id', 'user_id', 'grade', 'channel_id','car_type_id', 'country_id', 'magnitude', 'email', 'phone', 'WhatsApp', 'contacts', 'describe') ->where('id', $id) ->first(); if ($res) { $res->toArray(); } else { return Util::fail([], '记录不存在'); } $res = Customer::getCustomer($res); return Util::success($res); } /** * 客户录入 * @param Request $request * @return \support\Response */ public function save(Request $request) { $id = Util::getParam($request, 'id'); $channel_id = Util::getParam($request, 'channel_id'); if (Util::isEmpty($channel_id)) { return Util::fail([], 'channel_id' . trans('not_null')); } $country_id = Util::getParam($request, 'country_id'); if (Util::isEmpty($country_id)) { // return Util::fail([],'country_id'.trans('not_null')); } $car_type_id = Util::getParam($request, 'car_type_id'); if (Util::isEmpty($car_type_id)) { return Util::fail([], 'car_type_id' . trans('not_null')); } $contacts = Util::getParam($request, 'contacts'); $email = Util::getParam($request, 'email'); $phone = Util::getParam($request, 'phone'); if (Util::isEmpty($contacts) && Util::isEmpty($email) && Util::isEmpty($phone)) { return Util::fail([], 'country_id' . trans('not_null')); } $data = [ 'user_id' => $request->user['id'], 'grade' => Util::getParam($request, 'grade', 0), 'channel_id' => $channel_id, 'country_id' => $country_id, 'car_type_id' => $car_type_id, 'magnitude' => Util::getParam($request, 'magnitude', 0), 'email' => $email, 'phone' => $phone, 'WhatsApp' => Util::getParam($request, 'WhatsApp',''), 'contacts' => $contacts, 'describe' => Util::getParam($request, 'describe'), 'lat' => Util::getParam($request, 'lat',0), 'lng' => Util::getParam($request, 'lng',0), 'address' => Util::getParam($request, 'address',''), ]; if (Util::isEmpty($id)) { $res = Customer::create($data); } else { $res = Customer::where('id', $id) ->update($data); // Log::info('update', ['res' => $res]); (!$res)?: $res=Customer::find($id)->toArray(); } if ($res) { return Util::success($res); } else { return Util::fail($res); } } }