サービス契約情報登録実装編#
1.1. 処理概要#
画面の入力内容をもとにサービス契約情報の登録を行います。
本処理を行うには、API認証よりAPIを呼び出すためのアクセストークンが必要となります。
1.1.1. 呼出API#
以下、サービス契約情報登録で呼び出すAPIとなります。
No | API | 処理内容 | 使用用途 |
---|---|---|---|
1 | POST /API/v2/api/servicecontracts | サービス契約を編集する | サービス契約登録画面で登録ボタン押下時にサービス契約情報を作成 |
1.1.2. 処理フロー#
サービス契約情報登録を行うまでの処理は以下のフローとなります。
1.1.3. 実装例#
以下API呼び出しの実装例となります。
※本マニュアルに記載している実装例は、分かりやすさを優先し簡易的に記載しております。提供しているソースと異なりますので詳細については提供ソースをご確認ください。
ServiceContractRegistController.java
/** * 登録処理 * @param model モデル * @param form サービス契約登録フォーム * @param result バリデーション結果 * @return サービス契約登録 */ @RequestMapping(value = "/ServiceContractRegist/regist", method = RequestMethod.POST) public String regist( Model model, @Valid ServiceContractRegistForm form, BindingResult result) { form.setMessage(""); form.setErrorInformation(""); model.addAttribute("serviceContractRegistForm", form); serviceContractRegistFormSession.setServiceContractRegistForm(form); if (result.hasErrors()) { return ControllerConstants.SERVICE_CONTRACT_REGIST_JSP; } Web_IFServiceContractEdition_I web_IFServiceContractEdition_I = new Web_IFServiceContractEdition_I(); Web_IFServiceContractEdition_O web_IFServiceContractEdition_O = new Web_IFServiceContractEdition_O(); web_IFServiceContractEdition_I.entry_id = CommonConstants.登録者ID; web_IFServiceContractEdition_I.administration_number = "1"; web_IFServiceContractEdition_I.customer_id = SampleUtil.emptyToNull(form.getCustomerId()); Web_IndividualizedServiceContractEditionList web_IndividualizedServiceContractEditionList = new Web_IndividualizedServiceContractEditionList(); web_IndividualizedServiceContractEditionList.version_info = "1"; web_IndividualizedServiceContractEditionList.bill_to_id = SampleUtil.emptyToNull(form.getBillToId()); web_IndividualizedServiceContractEditionList.service_code = SampleUtil.emptyToNull(form.getServiceCode()); web_IndividualizedServiceContractEditionList.price_plan_code = SampleUtil.emptyToNull(form.getPricePlanCode()); web_IndividualizedServiceContractEditionList.number_of_contracts = SampleUtil.emptyToNull(form.getNumberOfContracts()); web_IndividualizedServiceContractEditionList.service_application_date = DateUtil.nowDate(); web_IndividualizedServiceContractEditionList.apply_start_date = DateUtil.nowDate(); web_IndividualizedServiceContractEditionList.charging_start_date = DateUtil.nowDate(); web_IndividualizedServiceContractEditionList.free_item1 = SampleUtil.emptyToNull(form.getNote()); web_IFServiceContractEdition_I.individualized_service_contract_edition_list.add(web_IndividualizedServiceContractEditionList); try { // サービス契約を編集する web_IFServiceContractEdition_O = serviceContractService.serviceContractEdition(web_IFServiceContractEdition_I); if (ControllerConstants.API_RESULT_NG.equals(web_IFServiceContractEdition_O.result_information.result)) { form.setErrorInformation(web_IFServiceContractEdition_O.result_information.detailed_result); return ControllerConstants.SERVICE_CONTRACT_REGIST_JSP; } } catch (ApiException e) { model.addAttribute("errorCode", e.getErrorCode().getValue()); return ControllerConstants.SYSTEM_ERROR_JSP; } catch (Exception e) { return ControllerConstants.SYSTEM_ERROR_JSP; } form.setServiceContractId(web_IFServiceContractEdition_O.servicecontract_id_information_list.get(0).service_contract_id); model.addAttribute("serviceContractRegistForm", form); // メッセージ表示 form.setMessage(getMsg(MessageConstants.MSGI00001, getMsg(MessageConstants.LBL000001), web_IFServiceContractEdition_O.servicecontract_id_information_list.get(0).service_contract_id)); return ControllerConstants.SERVICE_CONTRACT_REGIST_JSP; }
ServiceContractService.java
/** * サービス契約_編集 API * * @param web_IFServiceContractEdition_I IFサービス契約_編集_入力 * @return IFサービス契約_編集_出力 */ public Web_IFServiceContractEdition_O serviceContractEdition(Web_IFServiceContractEdition_I web_IFServiceContractEdition_I) { // 通信設定 String strURI = ClientUtil.makeURI(UriInfo.ServiceContractEdition, null, null); HttpPost postMethod = ClientUtil.makeHttpPost(strURI, web_IFServiceContractEdition_I); // 通信実行 return CommonHttpClient.httpPost(postMethod, Web_IFServiceContractEdition_O.class); }
共通HTTPリクエストクラス[CommonHttpClient.java]の実装例についてはこちらをご参照ください。