13. Customer サービス
client.customer() でアクセスします。顧客(Customer)のCRUDおよびサイト別照会を提供します。
13.1 メソッド一覧
| メソッド | 戻り値の型 | HTTP | エンドポイント |
|---|---|---|---|
create(CustomerRequestV5) | CustomerResponseV5 または null | POST | /api/v5/customer |
update(customer_id, CustomerRequestV5) | CustomerResponseV5 または null | PUT | /api/v5/customer/{id} |
delete(customer_id) | boolean | DELETE | /api/v5/customer/{id} |
get(customer_id) | CustomerResponseV5 または null | GET | /api/v5/customer/{id} |
list() | List<CustomerResponseV5> | GET | /api/v5/customer |
listBySite(site_id) | List<CustomerResponseV5> | GET | /api/v5/customer?site_id=... |
exists(customer_id) | boolean | GET | /api/v5/customer/{id}/exists |
count() | long | GET | /api/v5/customer/count |
13.2 CustomerRequestV5 / CustomerResponseV5
| フィールド | 型 | 説明 |
|---|---|---|
customer_id | String | 顧客ID (PK) |
customer_name | String | 顧客名 |
site_id | String | 所属サイト |
description | String | 説明 |
manager_name | String | 担当者名 |
manager_email | String | 担当者メールアドレス |
manager_phone | String | 担当者電話番号 |
external_customer_id | String | 外部システム(ERPなど)の顧客ID |
company_code | String | 会社コード |
address | String | 住所 |
13.3 使用例
顧客の作成
import plantpulse.api.v5.dto.request.CustomerRequestV5;
import plantpulse.api.v5.dto.response.CustomerResponseV5;
CustomerRequestV5 req = new CustomerRequestV5();
req.setCustomer_id("CUST_001");
req.setCustomer_name("삼성전자");
req.setSite_id("SITE_DJ");
req.setExternal_customer_id("ERP_C001");
req.setCompany_code("SEC");
req.setAddress("경기도 수원시");
req.setManager_name("홍길동");
req.setManager_email("hong@example.com");
req.setManager_phone("01012345678");
CustomerResponseV5 created = client.customer().create(req);
照会 / 存在確認
CustomerResponseV5 c = client.customer().get("CUST_001");
boolean exists = client.customer().exists("CUST_001");
long total = client.customer().count();
全件 / サイト別リスト
import java.util.List;
List<CustomerResponseV5> all = client.customer().list();
List<CustomerResponseV5> djCusts = client.customer().listBySite("SITE_DJ");
更新 / 削除
CustomerRequestV5 update = new CustomerRequestV5();
update.setCustomer_id("CUST_001");
update.setCustomer_name("삼성전자 DS");
update.setSite_id("SITE_DJ");
// ... 변경할 필드 ...
client.customer().update("CUST_001", update);
client.customer().delete("CUST_001");
13.4 活用シナリオ
シナリオ — ERP顧客マスタ同期
// 1) ERP에서 가져온 고객 데이터
for (ErpCustomer erp : erpData) {
CustomerRequestV5 req = new CustomerRequestV5();
req.setCustomer_id("CUST_" + erp.code);
req.setCustomer_name(erp.name);
req.setExternal_customer_id(erp.id);
req.setCompany_code(erp.companyCode);
if (client.customer().exists("CUST_" + erp.code)) {
client.customer().update("CUST_" + erp.code, req);
} else {
client.customer().create(req);
}
}
次のステップ
- Employee サービス — 従業員マスタ
- Product サービス — 製品マスタ