グループ情報登録実装編#
1.1. 処理概要#
画面の入力内容をもとにグループ情報の登録を行います。
また、顧客追加ボタンから顧客を選択し、グループの作成と同時にそのグループに紐づく顧客の作成も行います。
本処理を行うには、API認証よりAPIを呼び出すためのアクセストークンが必要となります。
1.1.1. 呼出API#
以下、グループ登録で呼び出すAPIとなります。
No | API | 処理内容 | 使用用途 |
---|---|---|---|
1 | POST /v2/api/group | グループを作成する | グループ登録画面で登録ボタン押下時にグループ情報を登録 |
2 | GET /v2/api/customers | 顧客を検索する | グループ登録画面で顧客追加ボタン押下時に顧客情報を検索 |
3 | POST /v2/api/grouprelation | グループに紐づく顧客を追加する | グループ登録画面で登録ボタン押下時に、グループに紐づく顧客情報を追加 |
1.1.2. 処理フロー#
グループ登録を行うまでの処理は以下のフローとなります。
1.1.3. 実装例#
以下API呼出の実装例となります。
顧客追加ボタン押下時の「顧客を検索する」API呼び出しについては、「顧客情報検索実装編」及び提供ソースをご確認ください。
※本マニュアルに記載している実装例は、分かりやすさを優先し簡易的に記載しております。提供しているソースと異なりますので詳細については提供ソースをご確認ください。
GroupRegisterController.java
/** * 登録処理 */ @RequestMapping(value = "/GroupRegister/register", method = RequestMethod.POST) public String register( Model model, @Valid GroupRegisterForm form, BindingResult result){ // バリデーションエラー if (result.hasErrors()) { return ControllerConstants.GROUP_REGISTER_JSP; } model.addAttribute("groupRegisterForm", form); Web_IFGroupCreate_I web_IFGroupCreate_I = new Web_IFGroupCreate_I(); Web_IFGroupCreate_O web_IFGroupCreate_O = new Web_IFGroupCreate_O(); Web_IFGroupRelationCreate_I web_IFGroupRelationCreate_I = new Web_IFGroupRelationCreate_I(); Web_IFGroupRelationCreate_O web_IFGroupRelationCreate_O = new Web_IFGroupRelationCreate_O(); web_IFGroupCreate_I.entry_id = CommonConstants.登録者ID; web_IFGroupCreate_I.group_name = form.getGroupName(); // フリー項目 JsonObject free_json = new JsonObject(); if (!form.getRepresentative().isEmpty() || !form.getTEL().isEmpty() || !form.getEmail().isEmpty() || !form.getNote().isEmpty()) { free_json.addProperty("representative", SampleUtil.emptyToNull(form.getRepresentative())); free_json.addProperty("TEL", SampleUtil.emptyToNull(form.getTEL())); free_json.addProperty("email", SampleUtil.emptyToNull(form.getEmail())); free_json.addProperty("note", SampleUtil.emptyToNull(form.getNote())); } web_IFGroupCreate_I.free_item = free_json; web_IFGroupCreate_I.free_item1 = form.getNumberOfPersons(); try { // グループを作成する web_IFGroupCreate_O = groupService.groupCreate(web_IFGroupCreate_I); if (ControllerConstants.API_RESULT_NG.equals(web_IFGroupCreate_O.result_information.result)) { form.setErrorInformation(web_IFGroupCreate_O.result_information.detailed_result); return ControllerConstants.GROUP_REGISTER_JSP; // メンバー情報がある場合、グループに紐づく顧客の追加を実行 } else if (form.getMemberId() != null){ List<String> memberList = form.getMemberId(); for (int i = 0; memberList.size() > i; i++) { web_IFGroupRelationCreate_I.entry_id = CommonConstants.登録者ID; web_IFGroupRelationCreate_I.group_id = web_IFGroupCreate_O.group_id; web_IFGroupRelationCreate_I.customer_id = memberList.get(i); // グループに紐づく顧客の追加 web_IFGroupRelationCreate_O = groupService.groupRelationCreate(web_IFGroupRelationCreate_I); if (ControllerConstants.API_RESULT_NG.equals(web_IFGroupRelationCreate_O.result_information.result)) { form.setErrorInformation(web_IFGroupRelationCreate_O.result_information.detailed_result); return ControllerConstants.GROUP_REGISTER_JSP; } } } } catch (ApiException e) { model.addAttribute("errorCode", e.getErrorCode().getValue()); return ControllerConstants.SYSTEM_ERROR_JSP; } catch (Exception e) { return ControllerConstants.SYSTEM_ERROR_JSP; } // メッセージ表示 form.setMessage(getMsg(MessageConstants.MSGI00001, getMsg(MessageConstants.LBL000005), web_IFGroupCreate_O.group_id)); form.setGroupId(web_IFGroupCreate_O.group_id); return ControllerConstants.GROUP_REGISTER_JSP; }
GroupService.java
public Web_IFGroupCreate_O groupCreate(Web_IFGroupCreate_I web_IFGroupCreate_I){ // 通信設定 String strURI = ClientUtil.makeURI(UriInfo.GroupCreate, null, null); HttpPost postMethod = ClientUtil.makeHttpPost(strURI, web_IFGroupCreate_I); return CommonHttpClient.httpPost(postMethod, Web_IFGroupCreate_O.class); } //・・・ 省略・・・ public Web_IFGroupRelationCreate_O groupRelationCreate(Web_IFGroupRelationCreate_I web_IFGroupRelationCreate_I){ // 通信設定 String strURI = ClientUtil.makeURI(UriInfo.GroupRelationCreate, null, null); HttpPost postMethod = ClientUtil.makeHttpPost(strURI, web_IFGroupRelationCreate_I); return CommonHttpClient.httpPost(postMethod, Web_IFGroupRelationCreate_O.class); }
共通HTTPリクエストクラス[CommonHttpClient.java]の実装例についてはこちらをご参照ください。