param; $access = Customer::getAccess(); $query = Customer::getQuery()->where(Customer::FIELD_EMAIL, $param->email); $customer = $access->some($query); if ($customer->count() !== 1) { // 無効なユーザだが、セキュリティ対策として成功と見せかける return $this->successResponse(); } $customer = $customer->first(); $kintoneId = $customer->getRecordId(); $user = User::whereKintoneId($kintoneId) ->first(); if ($user instanceof User) { //データ同期 if ($user->email !== $param->email) { $user->email = $param->email; $user->save(); } if ($user->kintone_customer_code !== $customer->getNumber(Customer::FIELD_CUSTOMER_CODE)) { $user->kintone_customer_code = $customer->getNumber(Customer::FIELD_CUSTOMER_CODE); $user->save(); } } else { // 新規の場合はユーザーを追加する $user = new User(); $user->email = $param->email; $user->kintone_id = $customer->getRecordId(); $user->kintone_customer_code = $customer->getNumber(Customer::FIELD_CUSTOMER_CODE); $user->save(); } // トークン生成 $this->manager->generate($user); return $this->successResponse(); } }