# プロジェクト概要
電子契約システムの新規開発
# チーム情報
バックエンドチーム:10名(PHP : 4名、Java : 5名、PL : 1名
フロントエンドチーム:10名
テストチーム:10名
管理チーム:5名
# 開発・実装内容A
【概要】
書類データをPDFで一括ダウンロードする機能実装
【どのような機能の開発・実装か】
書類一覧画面でPDFダウンロードのボタンをクリックすると一覧表示されている書類がPDFでダウンロードする。
上記機能で担当した処理は下記の通りです。
・フロントから渡ってくるパラメータのバリデーションチェック
・該当する書類の有無の確認(ない場合はバリデーションエラーとして返却)
・フロントから渡されたリクエスト情報をAzureのキューに登録する(ダウンロード関連の処理はJava側が担当)
【課題・問題点】
・課題
PHPとJavaそれぞれで同じSQLを叩いていること
(PHPでは書類の有無の確認、Javaではダウンロードファイル作成用の項目取得に使用)
【打ち手・使用した技術】
課題に対しチームで検討し、ストアドファンクションを使用することにしました。
ストアドファンクションの作成、リファクタリングを担当しております。
# 開発・実装内容B
【概要】
登録されている書類の一括署名機能
【どのような機能の開発・実装か】
登録されている書類を複数選択し署名ボタンをクリックすると、外部APIにアクセスし電子署名が実行される。
上記機能で担当した処理は下記の通りです。
・フロントから渡ってくるパラメータのバリデーションチェック
・該当する書類の有無、署名不可のデータの存在有無をチェック
(データがない・データに問題がある場合はバリデーションエラーとして返却)
・DBから取得したデータををAzureのキューに登録する(署名関連の処理はJava側が担当)
【課題・問題点】
・課題
一括で処理を行い、書類に不備があるデータが存在する場合はそのデータを除いたものをキューに登録。
不備がある書類が複数ある場合はそれぞれのエラー内容をフロントに返却する。
【打ち手・使用した技術】
処理を実装する前に仕様を確認(エラーがあるものだけキューに登録しないのか、それともリクエストされた書類全て登録しないのかを確認)
エラーがあるものだけキューに登録しないということになったので、for文で処理を回し不備があったデータの情報を配列に格納してfor文実行後にforeachでそれぞれのエラー内容をバリデーションエラーとしてフロントに返却するように処理を実装しました。