@newpeak/barista-cli 0.1.10 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/package.json +7 -3
- package/docs/ARCHITECTURE.md +0 -184
- package/docs/COMMANDS.md +0 -352
- package/docs/COMMAND_DESIGN_SPEC.md +0 -840
- package/docs/INTEGRATION_NOTES.md +0 -270
- package/docs/commands/REFERENCE.md +0 -323
- package/docs/commands/arabica/auth/index.md +0 -296
- package/docs/commands/liberica/auth/index.md +0 -133
- package/docs/commands/liberica/calendar/DESIGN.md +0 -333
- package/docs/commands/liberica/client-contacts/create.md +0 -152
- package/docs/commands/liberica/client-contacts/delete.md +0 -123
- package/docs/commands/liberica/client-contacts/get.md +0 -133
- package/docs/commands/liberica/client-contacts/list.md +0 -143
- package/docs/commands/liberica/client-contacts/update.md +0 -158
- package/docs/commands/liberica/context/index.md +0 -60
- package/docs/commands/liberica/currency/create.md +0 -145
- package/docs/commands/liberica/currency/delete.md +0 -121
- package/docs/commands/liberica/currency/disable.md +0 -119
- package/docs/commands/liberica/currency/enable.md +0 -115
- package/docs/commands/liberica/currency/get.md +0 -118
- package/docs/commands/liberica/currency/list.md +0 -149
- package/docs/commands/liberica/currency/update.md +0 -141
- package/docs/commands/liberica/employees/create.md +0 -185
- package/docs/commands/liberica/employees/disable.md +0 -138
- package/docs/commands/liberica/employees/enable.md +0 -137
- package/docs/commands/liberica/employees/get.md +0 -153
- package/docs/commands/liberica/employees/list.md +0 -168
- package/docs/commands/liberica/employees/update.md +0 -180
- package/docs/commands/liberica/locations/create.md +0 -195
- package/docs/commands/liberica/locations/list.md +0 -171
- package/docs/commands/liberica/materials/create.md +0 -293
- package/docs/commands/liberica/materials/delete.md +0 -240
- package/docs/commands/liberica/materials/disable.md +0 -150
- package/docs/commands/liberica/materials/enable.md +0 -146
- package/docs/commands/liberica/materials/get.md +0 -188
- package/docs/commands/liberica/materials/list.md +0 -198
- package/docs/commands/liberica/materials/update.md +0 -250
- package/docs/commands/liberica/orgs/list.md +0 -62
- package/docs/commands/liberica/positions/list.md +0 -61
- package/docs/commands/liberica/roles/list.md +0 -67
- package/docs/commands/liberica/stock/ledger.md +0 -209
- package/docs/commands/liberica/stock/list.md +0 -165
- package/docs/commands/liberica/supplier-contacts/create.md +0 -152
- package/docs/commands/liberica/supplier-contacts/delete.md +0 -123
- package/docs/commands/liberica/supplier-contacts/get.md +0 -133
- package/docs/commands/liberica/supplier-contacts/list.md +0 -143
- package/docs/commands/liberica/supplier-contacts/update.md +0 -158
- package/docs/commands/liberica/teams/issues/close.md +0 -161
- package/docs/commands/liberica/teams/issues/create.md +0 -212
- package/docs/commands/liberica/teams/issues/delete.md +0 -179
- package/docs/commands/liberica/teams/issues/get.md +0 -167
- package/docs/commands/liberica/teams/issues/list.md +0 -182
- package/docs/commands/liberica/teams/issues/tests-design.md +0 -341
- package/docs/commands/liberica/teams/issues/update.md +0 -202
- package/docs/commands/liberica/teams/projects/create.md +0 -174
- package/docs/commands/liberica/teams/projects/delete.md +0 -180
- package/docs/commands/liberica/teams/projects/get.md +0 -150
- package/docs/commands/liberica/teams/projects/list.md +0 -179
- package/docs/commands/liberica/teams/projects/update.md +0 -175
- package/docs/commands/liberica/teams/tasks/create.md +0 -163
- package/docs/commands/liberica/teams/tasks/delete.md +0 -109
- package/docs/commands/liberica/teams/tasks/get.md +0 -121
- package/docs/commands/liberica/teams/tasks/list.md +0 -148
- package/docs/commands/liberica/teams/tasks/update.md +0 -158
- package/docs/commands/liberica/teams/work-logs/create.md +0 -151
- package/docs/commands/liberica/teams/work-logs/delete.md +0 -130
- package/docs/commands/liberica/teams/work-logs/get.md +0 -131
- package/docs/commands/liberica/teams/work-logs/list.md +0 -153
- package/docs/commands/liberica/teams/work-logs/update.md +0 -150
- package/docs/commands/liberica/transfer-in-forms/batch-delete.md +0 -157
- package/docs/commands/liberica/transfer-in-forms/batch-review.md +0 -157
- package/docs/commands/liberica/transfer-in-forms/batch-unreview.md +0 -157
- package/docs/commands/liberica/transfer-in-forms/create.md +0 -220
- package/docs/commands/liberica/transfer-in-forms/get.md +0 -221
- package/docs/commands/liberica/transfer-in-forms/list.md +0 -242
- package/docs/commands/liberica/transfer-in-forms/update.md +0 -185
- package/docs/commands/liberica/transfer-out-forms/batch-delete.md +0 -187
- package/docs/commands/liberica/transfer-out-forms/batch-review.md +0 -157
- package/docs/commands/liberica/transfer-out-forms/batch-unreview.md +0 -157
- package/docs/commands/liberica/transfer-out-forms/create.md +0 -280
- package/docs/commands/liberica/transfer-out-forms/get.md +0 -211
- package/docs/commands/liberica/transfer-out-forms/list.md +0 -233
- package/docs/commands/liberica/transfer-out-forms/update.md +0 -286
- package/docs/commands/liberica/uoms/create.md +0 -136
- package/docs/commands/liberica/uoms/delete.md +0 -119
- package/docs/commands/liberica/uoms/disable.md +0 -117
- package/docs/commands/liberica/uoms/enable.md +0 -115
- package/docs/commands/liberica/uoms/get.md +0 -119
- package/docs/commands/liberica/uoms/list.md +0 -155
- package/docs/commands/liberica/uoms/update.md +0 -148
- package/docs/commands/liberica/users/create.md +0 -170
- package/docs/commands/liberica/users/get.md +0 -151
- package/docs/commands/liberica/users/list.md +0 -175
- package/docs/commands/liberica/warehouses/create.md +0 -222
- package/docs/commands/liberica/warehouses/list.md +0 -184
- package/src/commands/arabica/auth/index.ts +0 -277
- package/src/commands/arabica/auth/login.ts +0 -5
- package/src/commands/arabica/auth/logout.ts +0 -5
- package/src/commands/arabica/auth/register.ts +0 -5
- package/src/commands/arabica/auth/status.ts +0 -5
- package/src/commands/arabica/index.ts +0 -23
- package/src/commands/auth.ts +0 -107
- package/src/commands/context.ts +0 -60
- package/src/commands/liberica/auth/index.ts +0 -176
- package/src/commands/liberica/calendar/index.ts +0 -13
- package/src/commands/liberica/calendar/list.ts +0 -214
- package/src/commands/liberica/calendar/set.ts +0 -130
- package/src/commands/liberica/client-contacts/create.ts +0 -115
- package/src/commands/liberica/client-contacts/delete.ts +0 -140
- package/src/commands/liberica/client-contacts/get.ts +0 -103
- package/src/commands/liberica/client-contacts/index.ts +0 -19
- package/src/commands/liberica/client-contacts/list.ts +0 -118
- package/src/commands/liberica/client-contacts/update.ts +0 -137
- package/src/commands/liberica/clients/create.ts +0 -122
- package/src/commands/liberica/clients/delete.ts +0 -125
- package/src/commands/liberica/clients/get.ts +0 -88
- package/src/commands/liberica/clients/index.ts +0 -19
- package/src/commands/liberica/clients/list.ts +0 -123
- package/src/commands/liberica/clients/update.ts +0 -103
- package/src/commands/liberica/context/index.ts +0 -43
- package/src/commands/liberica/currency/create.ts +0 -183
- package/src/commands/liberica/currency/delete.ts +0 -124
- package/src/commands/liberica/currency/disable.ts +0 -147
- package/src/commands/liberica/currency/enable.ts +0 -128
- package/src/commands/liberica/currency/get.ts +0 -91
- package/src/commands/liberica/currency/index.ts +0 -23
- package/src/commands/liberica/currency/list.ts +0 -140
- package/src/commands/liberica/currency/update.ts +0 -129
- package/src/commands/liberica/dict-types/get.ts +0 -74
- package/src/commands/liberica/dict-types/index.ts +0 -15
- package/src/commands/liberica/dict-types/list.ts +0 -118
- package/src/commands/liberica/dict-types/update.ts +0 -134
- package/src/commands/liberica/dicts/create.ts +0 -175
- package/src/commands/liberica/dicts/delete.ts +0 -107
- package/src/commands/liberica/dicts/get.ts +0 -80
- package/src/commands/liberica/dicts/index.ts +0 -19
- package/src/commands/liberica/dicts/list.ts +0 -114
- package/src/commands/liberica/dicts/update.ts +0 -116
- package/src/commands/liberica/employees/create.ts +0 -275
- package/src/commands/liberica/employees/delete.ts +0 -122
- package/src/commands/liberica/employees/disable.ts +0 -97
- package/src/commands/liberica/employees/enable.ts +0 -97
- package/src/commands/liberica/employees/get.ts +0 -115
- package/src/commands/liberica/employees/index.ts +0 -23
- package/src/commands/liberica/employees/list.ts +0 -131
- package/src/commands/liberica/employees/update.ts +0 -157
- package/src/commands/liberica/index.ts +0 -81
- package/src/commands/liberica/materials/create.ts +0 -199
- package/src/commands/liberica/materials/delete.ts +0 -105
- package/src/commands/liberica/materials/disable.ts +0 -148
- package/src/commands/liberica/materials/enable.ts +0 -129
- package/src/commands/liberica/materials/get.ts +0 -83
- package/src/commands/liberica/materials/index.ts +0 -23
- package/src/commands/liberica/materials/list.ts +0 -142
- package/src/commands/liberica/materials/update.ts +0 -125
- package/src/commands/liberica/mould/get.ts +0 -111
- package/src/commands/liberica/mould/index.ts +0 -17
- package/src/commands/liberica/mould/list.ts +0 -157
- package/src/commands/liberica/mould/set-status.ts +0 -99
- package/src/commands/liberica/mould/stock-in.ts +0 -165
- package/src/commands/liberica/operations/active.ts +0 -153
- package/src/commands/liberica/operations/batch-delete.ts +0 -131
- package/src/commands/liberica/operations/copy.ts +0 -138
- package/src/commands/liberica/operations/create.ts +0 -223
- package/src/commands/liberica/operations/deactive.ts +0 -152
- package/src/commands/liberica/operations/delete.ts +0 -128
- package/src/commands/liberica/operations/design.md +0 -587
- package/src/commands/liberica/operations/get.ts +0 -112
- package/src/commands/liberica/operations/index.ts +0 -27
- package/src/commands/liberica/operations/list.ts +0 -180
- package/src/commands/liberica/operations/update.ts +0 -218
- package/src/commands/liberica/orgs/index.ts +0 -34
- package/src/commands/liberica/positions/index.ts +0 -30
- package/src/commands/liberica/roles/index.ts +0 -59
- package/src/commands/liberica/stock/index.ts +0 -13
- package/src/commands/liberica/stock/ledger.ts +0 -159
- package/src/commands/liberica/stock/list.ts +0 -128
- package/src/commands/liberica/supplier-contacts/create.ts +0 -120
- package/src/commands/liberica/supplier-contacts/delete.ts +0 -88
- package/src/commands/liberica/supplier-contacts/get.ts +0 -94
- package/src/commands/liberica/supplier-contacts/index.ts +0 -19
- package/src/commands/liberica/supplier-contacts/list.ts +0 -130
- package/src/commands/liberica/supplier-contacts/update.ts +0 -127
- package/src/commands/liberica/suppliers/create.ts +0 -149
- package/src/commands/liberica/suppliers/delete.ts +0 -102
- package/src/commands/liberica/suppliers/disable.ts +0 -145
- package/src/commands/liberica/suppliers/enable.ts +0 -126
- package/src/commands/liberica/suppliers/get.ts +0 -86
- package/src/commands/liberica/suppliers/index.ts +0 -23
- package/src/commands/liberica/suppliers/list.ts +0 -134
- package/src/commands/liberica/suppliers/update.ts +0 -128
- package/src/commands/liberica/teams/index.ts +0 -17
- package/src/commands/liberica/teams/issues/close.ts +0 -104
- package/src/commands/liberica/teams/issues/create.ts +0 -254
- package/src/commands/liberica/teams/issues/delete.ts +0 -58
- package/src/commands/liberica/teams/issues/get.ts +0 -78
- package/src/commands/liberica/teams/issues/index.ts +0 -21
- package/src/commands/liberica/teams/issues/list.ts +0 -144
- package/src/commands/liberica/teams/issues/update.ts +0 -141
- package/src/commands/liberica/teams/projects/create.ts +0 -159
- package/src/commands/liberica/teams/projects/delete.ts +0 -58
- package/src/commands/liberica/teams/projects/get.ts +0 -87
- package/src/commands/liberica/teams/projects/index.ts +0 -19
- package/src/commands/liberica/teams/projects/list.ts +0 -147
- package/src/commands/liberica/teams/projects/update.ts +0 -117
- package/src/commands/liberica/teams/tasks/create.ts +0 -102
- package/src/commands/liberica/teams/tasks/delete.ts +0 -92
- package/src/commands/liberica/teams/tasks/get.ts +0 -64
- package/src/commands/liberica/teams/tasks/index.ts +0 -19
- package/src/commands/liberica/teams/tasks/list.ts +0 -102
- package/src/commands/liberica/teams/tasks/update.ts +0 -122
- package/src/commands/liberica/teams/work-logs/create.ts +0 -204
- package/src/commands/liberica/teams/work-logs/delete.ts +0 -58
- package/src/commands/liberica/teams/work-logs/get.ts +0 -87
- package/src/commands/liberica/teams/work-logs/index.ts +0 -19
- package/src/commands/liberica/teams/work-logs/list.ts +0 -141
- package/src/commands/liberica/teams/work-logs/update.ts +0 -120
- package/src/commands/liberica/transfer-in-forms/batch-delete.ts +0 -152
- package/src/commands/liberica/transfer-in-forms/batch-review.ts +0 -151
- package/src/commands/liberica/transfer-in-forms/batch-unreview.ts +0 -152
- package/src/commands/liberica/transfer-in-forms/create.ts +0 -179
- package/src/commands/liberica/transfer-in-forms/get.ts +0 -107
- package/src/commands/liberica/transfer-in-forms/index.ts +0 -23
- package/src/commands/liberica/transfer-in-forms/list.ts +0 -97
- package/src/commands/liberica/transfer-in-forms/update.ts +0 -213
- package/src/commands/liberica/transfer-out-forms/batch-delete.ts +0 -83
- package/src/commands/liberica/transfer-out-forms/batch-review.ts +0 -148
- package/src/commands/liberica/transfer-out-forms/batch-unreview.ts +0 -56
- package/src/commands/liberica/transfer-out-forms/create.ts +0 -194
- package/src/commands/liberica/transfer-out-forms/get.ts +0 -114
- package/src/commands/liberica/transfer-out-forms/index.ts +0 -23
- package/src/commands/liberica/transfer-out-forms/list.ts +0 -125
- package/src/commands/liberica/transfer-out-forms/update.ts +0 -197
- package/src/commands/liberica/uoms/create.ts +0 -134
- package/src/commands/liberica/uoms/delete.ts +0 -105
- package/src/commands/liberica/uoms/disable.ts +0 -148
- package/src/commands/liberica/uoms/enable.ts +0 -129
- package/src/commands/liberica/uoms/get.ts +0 -83
- package/src/commands/liberica/uoms/index.ts +0 -23
- package/src/commands/liberica/uoms/list.ts +0 -129
- package/src/commands/liberica/uoms/update.ts +0 -124
- package/src/commands/liberica/users/create.ts +0 -133
- package/src/commands/liberica/users/delete.ts +0 -49
- package/src/commands/liberica/users/disable.ts +0 -41
- package/src/commands/liberica/users/enable.ts +0 -30
- package/src/commands/liberica/users/get.ts +0 -46
- package/src/commands/liberica/users/index.ts +0 -27
- package/src/commands/liberica/users/list.ts +0 -68
- package/src/commands/liberica/users/me.ts +0 -42
- package/src/commands/liberica/users/reset-password.ts +0 -42
- package/src/commands/liberica/users/update.ts +0 -48
- package/src/commands/liberica/warehouses/create.ts +0 -204
- package/src/commands/liberica/warehouses/delete.ts +0 -112
- package/src/commands/liberica/warehouses/disable.ts +0 -174
- package/src/commands/liberica/warehouses/enable.ts +0 -174
- package/src/commands/liberica/warehouses/get.ts +0 -101
- package/src/commands/liberica/warehouses/index.ts +0 -25
- package/src/commands/liberica/warehouses/list.ts +0 -136
- package/src/commands/liberica/warehouses/locations/create.ts +0 -209
- package/src/commands/liberica/warehouses/locations/delete.ts +0 -116
- package/src/commands/liberica/warehouses/locations/disable.ts +0 -174
- package/src/commands/liberica/warehouses/locations/enable.ts +0 -174
- package/src/commands/liberica/warehouses/locations/get.ts +0 -84
- package/src/commands/liberica/warehouses/locations/index.ts +0 -23
- package/src/commands/liberica/warehouses/locations/list.ts +0 -140
- package/src/commands/liberica/warehouses/locations/update.ts +0 -135
- package/src/commands/liberica/warehouses/update.ts +0 -142
- package/src/core/api/client.ts +0 -4443
- package/src/core/auth/token-manager.ts +0 -183
- package/src/core/config/manager.ts +0 -164
- package/src/index.ts +0 -35
- package/src/types/calendar.ts +0 -36
- package/src/types/client-contact.ts +0 -78
- package/src/types/client.ts +0 -115
- package/src/types/currency.ts +0 -90
- package/src/types/dict.ts +0 -121
- package/src/types/employee.ts +0 -102
- package/src/types/index.ts +0 -93
- package/src/types/location.ts +0 -66
- package/src/types/material.ts +0 -61
- package/src/types/mould-stock-in.ts +0 -82
- package/src/types/mould.ts +0 -74
- package/src/types/operation.ts +0 -72
- package/src/types/org.ts +0 -25
- package/src/types/position.ts +0 -24
- package/src/types/stock.ts +0 -161
- package/src/types/supplier-contact.ts +0 -78
- package/src/types/supplier.ts +0 -66
- package/src/types/team-issue.ts +0 -94
- package/src/types/team-project.ts +0 -74
- package/src/types/team-task.ts +0 -98
- package/src/types/team-work-log.ts +0 -87
- package/src/types/transfer-in-form.ts +0 -265
- package/src/types/transfer-out-form.ts +0 -290
- package/src/types/uom.ts +0 -60
- package/src/types/user.ts +0 -64
- package/src/types/warehouse.ts +0 -82
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
# barista liberica client-contacts get
|
|
2
|
-
|
|
3
|
-
获取单个客户联系人详情。
|
|
4
|
-
|
|
5
|
-
## 2.1 命令元数据
|
|
6
|
-
|
|
7
|
-
| 字段 | 值 |
|
|
8
|
-
|------|-----|
|
|
9
|
-
| 完整命令 | `barista liberica client-contacts get <contact-id>` |
|
|
10
|
-
| 功能描述 | 获取单个客户联系人详情 |
|
|
11
|
-
| HTTP方法 | GET |
|
|
12
|
-
| 是否需要认证 | ✅ 是 |
|
|
13
|
-
| 是否支持dry-run | ⬜ 否 |
|
|
14
|
-
|
|
15
|
-
## 2.2 后端接口引用
|
|
16
|
-
|
|
17
|
-
### Controller位置
|
|
18
|
-
```
|
|
19
|
-
coffee-liberica-end/
|
|
20
|
-
└── facade/liberica-facade-enterprise/
|
|
21
|
-
└── src/main/java/com/newpeak/liberica/facade/enterprise/controller/sales/
|
|
22
|
-
└── EnterpriseClientContactController.java
|
|
23
|
-
└── detail(@GetResource(path = "/detail"))
|
|
24
|
-
└── public ResponseData<MasterClientContactResponse> detail(
|
|
25
|
-
@RequestHeader("X-TENANT-ID") Long tenantId,
|
|
26
|
-
MasterClientContactRequest masterClientContactRequest
|
|
27
|
-
)
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Request DTO位置
|
|
31
|
-
```
|
|
32
|
-
coffee-liberica-end/
|
|
33
|
-
└── business/liberica-business-sales/sales-api/
|
|
34
|
-
└── src/main/java/com/newpeak/liberica/sales/api/pojo/request/
|
|
35
|
-
└── MasterClientContactRequest.java
|
|
36
|
-
└── clientContactId: Long (@NotNull on detail)
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### Response DTO位置
|
|
40
|
-
```
|
|
41
|
-
coffee-liberica-end/
|
|
42
|
-
└── business/liberica-business-sales/sales-api/
|
|
43
|
-
└── src/main/java/com/newpeak/liberica/sales/api/pojo/response/
|
|
44
|
-
└── MasterClientContactResponse.java
|
|
45
|
-
├── clientContactId: Long
|
|
46
|
-
├── clientId: Long
|
|
47
|
-
├── clientContactName: String
|
|
48
|
-
├── clientContactPhone: String
|
|
49
|
-
├── clientContactTelephone: String
|
|
50
|
-
├── clientContactEmail: String
|
|
51
|
-
├── clientContactSex: String
|
|
52
|
-
├── clientContactBirthday: Date
|
|
53
|
-
├── clientContactQq: String
|
|
54
|
-
├── clientContactWechat: String
|
|
55
|
-
├── clientContactAddress: String
|
|
56
|
-
├── defaultFlag: String (Y/N)
|
|
57
|
-
├── remark: String
|
|
58
|
-
├── createTime: String
|
|
59
|
-
└── updateTime: String
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## 2.3 CLI参数设计
|
|
63
|
-
|
|
64
|
-
### 命令结构
|
|
65
|
-
```
|
|
66
|
-
barista liberica client-contacts get <contact-id> [options]
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### 位置参数
|
|
70
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
71
|
-
|------|------|------|------|
|
|
72
|
-
| contact-id | string | ✅ | 客户联系人ID (clientContactId) |
|
|
73
|
-
|
|
74
|
-
### 全局选项
|
|
75
|
-
| 选项 | 类型 | 说明 |
|
|
76
|
-
|------|------|------|
|
|
77
|
-
| `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
|
|
78
|
-
| `--tenant` | string | 租户代码 |
|
|
79
|
-
| `--json` | boolean | JSON输出 |
|
|
80
|
-
|
|
81
|
-
### 命令选项
|
|
82
|
-
| 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 |
|
|
83
|
-
|------|--------|------|------|--------|------|
|
|
84
|
-
| — | — | — | — | — | 此命令无额外选项,ID 通过位置参数传入 |
|
|
85
|
-
|
|
86
|
-
## 2.4 字段映射表
|
|
87
|
-
|
|
88
|
-
| CLI参数 | DTO字段 | 类型转换 | 验证规则 |
|
|
89
|
-
|---------|---------|----------|----------|
|
|
90
|
-
| <contact-id> (位置参数) | clientContactId | string→Long | @NotNull, 必须为正整数 |
|
|
91
|
-
|
|
92
|
-
## 2.5 错误码引用
|
|
93
|
-
|
|
94
|
-
### ExceptionEnum位置
|
|
95
|
-
```
|
|
96
|
-
coffee-liberica-end/
|
|
97
|
-
└── business/liberica-business-sales/sales-api/
|
|
98
|
-
└── src/main/java/com/newpeak/liberica/sales/api/pojo/response/
|
|
99
|
-
└── MasterClientContactResponse.java
|
|
100
|
-
└── MASTER_CLIENT_CONTACT_NOT_EXIST("01001207001", "租户客户联系人不存在")
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### 已知错误码
|
|
104
|
-
| 错误码 | 错误消息 | 触发条件 |
|
|
105
|
-
|--------|----------|----------|
|
|
106
|
-
| 01001207001 | 租户客户联系人不存在 | contact-id 不存在或不属于当前租户 |
|
|
107
|
-
|
|
108
|
-
## 2.6 权限检查
|
|
109
|
-
|
|
110
|
-
| 检查项 | 位置 | 说明 |
|
|
111
|
-
|--------|------|------|
|
|
112
|
-
| 注解 | `@GetResource(path = "/detail")` | 无 requiredPermission |
|
|
113
|
-
|
|
114
|
-
## 2.7 实现要点
|
|
115
|
-
|
|
116
|
-
1. **位置参数**:`get` 命令使用 `<contact-id>` 位置参数指定联系人ID
|
|
117
|
-
2. **错误处理**:联系人不存在时抛出 `MASTER_CLIENT_CONTACT_NOT_EXIST`,CLI 显示友好错误信息
|
|
118
|
-
3. **tenantId来源**:来自 X-TENANT-ID header,后端自动按租户隔离数据
|
|
119
|
-
4. **输出格式**:表格形式展示联系人详情,或 JSON 格式
|
|
120
|
-
|
|
121
|
-
## 2.8 示例用法
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
# 获取联系人详情
|
|
125
|
-
barista liberica client-contacts get 12345
|
|
126
|
-
|
|
127
|
-
# JSON 输出
|
|
128
|
-
barista liberica client-contacts get 12345 --json
|
|
129
|
-
|
|
130
|
-
# 联系人不存在
|
|
131
|
-
barista liberica client-contacts get 99999
|
|
132
|
-
# 输出: Error: 租户客户联系人不存在 (01001207001)
|
|
133
|
-
```
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
# barista liberica client-contacts list
|
|
2
|
-
|
|
3
|
-
查询客户联系人列表。
|
|
4
|
-
|
|
5
|
-
## 2.1 命令元数据
|
|
6
|
-
|
|
7
|
-
| 字段 | 值 |
|
|
8
|
-
|------|-----|
|
|
9
|
-
| 完整命令 | `barista liberica client-contacts list` |
|
|
10
|
-
| 功能描述 | 查询指定客户的联系人列表 |
|
|
11
|
-
| HTTP方法 | GET |
|
|
12
|
-
| 是否需要认证 | ✅ 是 |
|
|
13
|
-
| 是否支持dry-run | ⬜ 否 |
|
|
14
|
-
|
|
15
|
-
## 2.2 后端接口引用
|
|
16
|
-
|
|
17
|
-
### Controller位置
|
|
18
|
-
```
|
|
19
|
-
coffee-liberica-end/
|
|
20
|
-
└── facade/liberica-facade-enterprise/
|
|
21
|
-
└── src/main/java/com/newpeak/liberica/facade/enterprise/controller/sales/
|
|
22
|
-
└── EnterpriseClientContactController.java
|
|
23
|
-
└── list(@GetResource(path = "/list"))
|
|
24
|
-
└── public ResponseData<List<MasterClientContactResponse>> list(
|
|
25
|
-
@RequestHeader("X-TENANT-ID") Long tenantId,
|
|
26
|
-
MasterClientContactRequest masterClientContactRequest
|
|
27
|
-
)
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Request DTO位置
|
|
31
|
-
```
|
|
32
|
-
coffee-liberica-end/
|
|
33
|
-
└── business/liberica-business-sales/sales-api/
|
|
34
|
-
└── src/main/java/com/newpeak/liberica/sales/api/pojo/request/
|
|
35
|
-
└── MasterClientContactRequest.java
|
|
36
|
-
├── clientId: Long (@NotNull)
|
|
37
|
-
├── clientContactName: String (搜索关键词)
|
|
38
|
-
├── pageNo: Long (分页页码)
|
|
39
|
-
└── pageSize: Long (分页大小)
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Response DTO位置
|
|
43
|
-
```
|
|
44
|
-
coffee-liberica-end/
|
|
45
|
-
└── business/liberica-business-sales/sales-api/
|
|
46
|
-
└── src/main/java/com/newpeak/liberica/sales/api/pojo/response/
|
|
47
|
-
└── MasterClientContactResponse.java
|
|
48
|
-
├── clientContactId: Long
|
|
49
|
-
├── clientId: Long
|
|
50
|
-
├── clientContactName: String
|
|
51
|
-
├── clientContactPhone: String
|
|
52
|
-
├── clientContactTelephone: String
|
|
53
|
-
├── clientContactEmail: String
|
|
54
|
-
├── clientContactSex: String
|
|
55
|
-
├── clientContactBirthday: Date
|
|
56
|
-
├── clientContactQq: String
|
|
57
|
-
├── clientContactWechat: String
|
|
58
|
-
├── clientContactAddress: String
|
|
59
|
-
├── defaultFlag: String (Y/N)
|
|
60
|
-
├── remark: String
|
|
61
|
-
├── createTime: String
|
|
62
|
-
└── updateTime: String
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## 2.3 CLI参数设计
|
|
66
|
-
|
|
67
|
-
### 命令结构
|
|
68
|
-
```
|
|
69
|
-
barista liberica client-contacts list [options]
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### 全局选项
|
|
73
|
-
| 选项 | 类型 | 说明 |
|
|
74
|
-
|------|------|------|
|
|
75
|
-
| `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
|
|
76
|
-
| `--tenant` | string | 租户代码 |
|
|
77
|
-
| `--json` | boolean | JSON输出 |
|
|
78
|
-
|
|
79
|
-
### 命令选项
|
|
80
|
-
| 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
|
|
81
|
-
|------|--------|------|------|--------|------|-------------|
|
|
82
|
-
| --client-id | -c | string | ✅ | - | 客户ID | clientId |
|
|
83
|
-
| --page | -p | number | ⬜ | 1 | 页码 | pageNo |
|
|
84
|
-
| --size | -s | number | ⬜ | 20 | 每页条数 | pageSize |
|
|
85
|
-
| --search | -S | string | ⬜ | - | 搜索关键词(姓名) | clientContactName |
|
|
86
|
-
|
|
87
|
-
## 2.4 字段映射表
|
|
88
|
-
|
|
89
|
-
| CLI参数 | DTO字段 | 类型转换 | 验证规则 |
|
|
90
|
-
|---------|---------|----------|----------|
|
|
91
|
-
| --client-id / -c | clientId | string→Long | @NotNull |
|
|
92
|
-
| --page / -p | pageNo | number→Long | >= 1 |
|
|
93
|
-
| --size / -s | pageSize | number→Long | 1-100 |
|
|
94
|
-
| --search / -S | clientContactName | 直接传递 | 模糊查询 |
|
|
95
|
-
|
|
96
|
-
## 2.5 错误码引用
|
|
97
|
-
|
|
98
|
-
### ExceptionEnum位置
|
|
99
|
-
```
|
|
100
|
-
coffee-liberica-end/
|
|
101
|
-
└── business/liberica-business-sales/sales-api/
|
|
102
|
-
└── src/main/java/com/newpeak/liberica/sales/api/exception/enums/
|
|
103
|
-
└── MasterClientContactExceptionEnum.java
|
|
104
|
-
└── MASTER_CLIENT_CONTACT_NOT_EXIST("01001207001", "租户客户联系人不存在")
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### 已知错误码
|
|
108
|
-
| 错误码 | 错误消息 | 触发条件 |
|
|
109
|
-
|--------|----------|----------|
|
|
110
|
-
| 01001207001 | 租户客户联系人不存在 | 客户ID不存在时 |
|
|
111
|
-
|
|
112
|
-
## 2.6 权限检查
|
|
113
|
-
|
|
114
|
-
| 检查项 | 位置 | 说明 |
|
|
115
|
-
|--------|------|------|
|
|
116
|
-
| 注解 | `@GetResource(path = "/list")` | 无 requiredPermission(无需权限码) |
|
|
117
|
-
|
|
118
|
-
**注意**:list 接口在 Controller 层无需权限校验,数据范围通过 tenantId 隔离。
|
|
119
|
-
|
|
120
|
-
## 2.7 实现要点
|
|
121
|
-
|
|
122
|
-
1. **必填参数**:--client-id 必须指定
|
|
123
|
-
2. **分页默认值**:page=1, size=20
|
|
124
|
-
3. **搜索行为**:clientContactName 支持模糊查询
|
|
125
|
-
4. **无结果处理**:返回空列表,不抛出异常
|
|
126
|
-
5. **tenantId来源**:来自 X-TENANT-ID header
|
|
127
|
-
6. **输出格式**:表格形式展示联系人列表
|
|
128
|
-
|
|
129
|
-
## 2.8 示例用法
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
# 列出客户的所有联系人
|
|
133
|
-
barista liberica client-contacts list --client-id 12345
|
|
134
|
-
|
|
135
|
-
# 指定页码和每页条数
|
|
136
|
-
barista liberica client-contacts list --client-id 12345 --page 2 --size 50
|
|
137
|
-
|
|
138
|
-
# 搜索联系人
|
|
139
|
-
barista liberica client-contacts list --client-id 12345 --search "张"
|
|
140
|
-
|
|
141
|
-
# JSON 输出(便于脚本处理)
|
|
142
|
-
barista liberica client-contacts list --client-id 12345 --json
|
|
143
|
-
```
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
# barista liberica client-contacts update
|
|
2
|
-
|
|
3
|
-
更新客户联系人信息。
|
|
4
|
-
|
|
5
|
-
## 2.1 命令元数据
|
|
6
|
-
|
|
7
|
-
| 字段 | 值 |
|
|
8
|
-
|------|-----|
|
|
9
|
-
| 完整命令 | `barista liberica client-contacts update <contact-id>` |
|
|
10
|
-
| 功能描述 | 修改客户联系人信息 |
|
|
11
|
-
| HTTP方法 | POST |
|
|
12
|
-
| 是否需要认证 | ✅ 是 |
|
|
13
|
-
| 是否支持dry-run | ✅ 是 |
|
|
14
|
-
|
|
15
|
-
## 2.2 后端接口引用
|
|
16
|
-
|
|
17
|
-
### Controller位置
|
|
18
|
-
```
|
|
19
|
-
coffee-liberica-end/
|
|
20
|
-
└── facade/liberica-facade-enterprise/
|
|
21
|
-
└── src/main/java/com/newpeak/liberica/facade/enterprise/controller/sales/
|
|
22
|
-
└── EnterpriseClientContactController.java
|
|
23
|
-
└── edit(@PostResource(path = "/edit", requiredPermission = true, requirePermissionCode = "EDIT_MASTER_CLIENT_CONTACT"))
|
|
24
|
-
└── public ResponseData<?> edit(
|
|
25
|
-
@RequestHeader("X-TENANT-ID") Long tenantId,
|
|
26
|
-
@RequestBody @Validated(BaseRequest.edit.class) MasterClientContactRequest masterClientContactRequest
|
|
27
|
-
)
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Request DTO位置
|
|
31
|
-
```
|
|
32
|
-
coffee-liberica-end/
|
|
33
|
-
└── business/liberica-business-sales/sales-api/
|
|
34
|
-
└── src/main/java/com/newpeak/liberica/sales/api/pojo/request/
|
|
35
|
-
└── MasterClientContactRequest.java
|
|
36
|
-
├── clientContactId: Long (@NotNull on edit)
|
|
37
|
-
├── clientContactName: String (@NotBlank, max=255)
|
|
38
|
-
├── clientContactPhone: String (max=256)
|
|
39
|
-
├── clientContactTelephone: String (max=256)
|
|
40
|
-
├── clientContactEmail: String (max=512)
|
|
41
|
-
├── clientContactSex: String (max=255)
|
|
42
|
-
├── clientContactBirthday: Date
|
|
43
|
-
├── clientContactQq: String (max=512)
|
|
44
|
-
├── clientContactWechat: String (max=512)
|
|
45
|
-
├── clientContactAddress: String (max=512)
|
|
46
|
-
├── defaultFlag: String (max=1)
|
|
47
|
-
└── remark: String (max=255)
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Response DTO位置
|
|
51
|
-
```
|
|
52
|
-
coffee-liberica-end/
|
|
53
|
-
└── business/liberica-business-sales/sales-api/
|
|
54
|
-
└── src/main/java/com/newpeak/liberica/sales/api/pojo/response/
|
|
55
|
-
└── MasterClientContactResponse.java
|
|
56
|
-
└── (同 get 接口)
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## 2.3 CLI参数设计
|
|
60
|
-
|
|
61
|
-
### 命令结构
|
|
62
|
-
```
|
|
63
|
-
barista liberica client-contacts update <contact-id> [options]
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### 位置参数
|
|
67
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
68
|
-
|------|------|------|------|
|
|
69
|
-
| contact-id | string | ✅ | 客户联系人ID |
|
|
70
|
-
|
|
71
|
-
### 全局选项
|
|
72
|
-
| 选项 | 类型 | 说明 |
|
|
73
|
-
|------|------|------|
|
|
74
|
-
| `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
|
|
75
|
-
| `--tenant` | string | 租户代码 |
|
|
76
|
-
| `--dry-run` | boolean | 预览模式 |
|
|
77
|
-
| `--json` | boolean | JSON输出 |
|
|
78
|
-
|
|
79
|
-
### 命令选项
|
|
80
|
-
| 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
|
|
81
|
-
|------|--------|------|------|--------|------|-------------|
|
|
82
|
-
| --name | -n | string | ⬜ | - | 姓名 | clientContactName |
|
|
83
|
-
| --phone | -p | string | ⬜ | - | 手机号 | clientContactPhone |
|
|
84
|
-
| --telephone | -t | string | ⬜ | - | 座机号 | clientContactTelephone |
|
|
85
|
-
| --email | -e | string | ⬜ | - | 电子邮箱 | clientContactEmail |
|
|
86
|
-
| --sex | -s | string | ⬜ | - | 性别 | clientContactSex |
|
|
87
|
-
| --birthday | -b | string | ⬜ | - | 生日(YYYY-MM-DD) | clientContactBirthday |
|
|
88
|
-
| --qq | -q | string | ⬜ | - | QQ号 | clientContactQq |
|
|
89
|
-
| --wechat | -w | string | ⬜ | - | 微信号 | clientContactWechat |
|
|
90
|
-
| --address | -a | string | ⬜ | - | 详细地址 | clientContactAddress |
|
|
91
|
-
| --default | -d | boolean | ⬜ | - | 是否默认联系人 | defaultFlag |
|
|
92
|
-
| --remark | -r | string | ⬜ | - | 备注 | remark |
|
|
93
|
-
|
|
94
|
-
**注意**:所有字段在 update 时都是可选的,至少需要提供一个要更新的字段。
|
|
95
|
-
|
|
96
|
-
## 2.4 字段映射表
|
|
97
|
-
|
|
98
|
-
| CLI参数 | DTO字段 | 类型转换 | 验证规则 |
|
|
99
|
-
|---------|---------|----------|----------|
|
|
100
|
-
| <contact-id> | clientContactId | string→Long | @NotNull |
|
|
101
|
-
| --name / -n | clientContactName | 直接传递 | max=255 |
|
|
102
|
-
| --phone / -p | clientContactPhone | 直接传递 | max=256 |
|
|
103
|
-
| --telephone / -t | clientContactTelephone | 直接传递 | max=256 |
|
|
104
|
-
| --email / -e | clientContactEmail | 直接传递 | max=512 |
|
|
105
|
-
| --sex / -s | clientContactSex | 直接传递 | max=255 |
|
|
106
|
-
| --birthday / -b | clientContactBirthday | string→Date | yyyy-MM-dd |
|
|
107
|
-
| --qq / -q | clientContactQq | 直接传递 | max=512 |
|
|
108
|
-
| --wechat / -w | clientContactWechat | 直接传递 | max=512 |
|
|
109
|
-
| --address / -a | clientContactAddress | 直接传递 | max=512 |
|
|
110
|
-
| --default / -d | defaultFlag | boolean→Y/N | max=1 |
|
|
111
|
-
| --remark / -r | remark | 直接传递 | max=255 |
|
|
112
|
-
|
|
113
|
-
## 2.5 错误码引用
|
|
114
|
-
|
|
115
|
-
### ExceptionEnum位置
|
|
116
|
-
```
|
|
117
|
-
coffee-liberica-end/
|
|
118
|
-
└── business/liberica-business-sales/sales-api/
|
|
119
|
-
└── src/main/java/com/newpeak/liberica/sales/api/exception/enums/
|
|
120
|
-
└── MasterClientContactExceptionEnum.java
|
|
121
|
-
└── MASTER_CLIENT_CONTACT_NOT_EXIST("01001207001", "租户客户联系人不存在")
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
### 已知错误码
|
|
125
|
-
| 错误码 | 错误消息 | 触发条件 |
|
|
126
|
-
|--------|----------|----------|
|
|
127
|
-
| 01001207001 | 租户客户联系人不存在 | contact-id 不存在或不属于当前租户 |
|
|
128
|
-
|
|
129
|
-
## 2.6 权限检查
|
|
130
|
-
|
|
131
|
-
| 检查项 | 位置 | 说明 |
|
|
132
|
-
|--------|------|------|
|
|
133
|
-
| PermissionConstants | `EDIT_MASTER_CLIENT_CONTACT` | 编辑客户联系人需要此权限 |
|
|
134
|
-
| 注解 | `@PostResource(requirePermissionCode = "EDIT_MASTER_CLIENT_CONTACT")` | Controller方法上 |
|
|
135
|
-
|
|
136
|
-
## 2.7 实现要点
|
|
137
|
-
|
|
138
|
-
1. **位置参数**:contact-id 必须指定
|
|
139
|
-
2. **可选字段**:所有业务字段都是可选的,至少提供一个
|
|
140
|
-
3. **dry-run 模式**:预览模式下只显示将要更新的数据,不实际调用 API
|
|
141
|
-
4. **输出格式**:成功后显示更新后的联系人信息
|
|
142
|
-
5. **错误处理**:联系人不存在时显示友好错误信息
|
|
143
|
-
|
|
144
|
-
## 2.8 示例用法
|
|
145
|
-
|
|
146
|
-
```bash
|
|
147
|
-
# 更新联系人姓名(dry-run 预览)
|
|
148
|
-
barista liberica client-contacts update 12345 --name "新姓名" --dry-run
|
|
149
|
-
|
|
150
|
-
# 实际更新
|
|
151
|
-
barista liberica client-contacts update 12345 --name "新姓名" --phone "13900139000"
|
|
152
|
-
|
|
153
|
-
# 更新多个字段
|
|
154
|
-
barista liberica client-contacts update 12345 --email "new@example.com" --address "新地址"
|
|
155
|
-
|
|
156
|
-
# JSON 输出
|
|
157
|
-
barista liberica client-contacts update 12345 --name "新姓名" --json
|
|
158
|
-
```
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# liberica context
|
|
2
|
-
|
|
3
|
-
管理 Liberica 上下文(租户、环境)。
|
|
4
|
-
|
|
5
|
-
## Commands
|
|
6
|
-
|
|
7
|
-
### show
|
|
8
|
-
|
|
9
|
-
显示当前 Liberica 上下文。
|
|
10
|
-
|
|
11
|
-
**Usage:**
|
|
12
|
-
```
|
|
13
|
-
barista liberica context show
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
**Output:**
|
|
17
|
-
```
|
|
18
|
-
📋 Liberica Context
|
|
19
|
-
|
|
20
|
-
Environment: dev
|
|
21
|
-
Tenant: electionjp
|
|
22
|
-
Auth Status: ✓ Logged in
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
**Implementation Notes:**
|
|
26
|
-
- 无 API 调用,仅读取本地配置
|
|
27
|
-
- 使用 `configManager.getCurrentContext()` 获取当前上下文
|
|
28
|
-
- 使用 `tokenManager.getToken()` 检查认证状态
|
|
29
|
-
|
|
30
|
-
---
|
|
31
|
-
|
|
32
|
-
### use-enterprise
|
|
33
|
-
|
|
34
|
-
切换 Liberica 租户。
|
|
35
|
-
|
|
36
|
-
**Usage:**
|
|
37
|
-
```
|
|
38
|
-
barista liberica context use-enterprise <tenant>
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
**Arguments:**
|
|
42
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
43
|
-
|------|------|------|------|
|
|
44
|
-
| tenant | string | ✅ | 租户名称 |
|
|
45
|
-
|
|
46
|
-
**Examples:**
|
|
47
|
-
```bash
|
|
48
|
-
barista liberica context use-enterprise electionjp
|
|
49
|
-
barista liberica context use-enterprise newtenant
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
**Implementation Notes:**
|
|
53
|
-
- 使用 `configManager.setTenant()` 更新默认租户
|
|
54
|
-
- 租户变更后不影响当前已存储的 Token
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## Design Reference
|
|
59
|
-
|
|
60
|
-
完整设计文档见:[命令设计规范](../../COMMAND_DESIGN_SPEC.md#62-示例liberica-context-show-命令)
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
# barista liberica currency create
|
|
2
|
-
|
|
3
|
-
创建新的币种。
|
|
4
|
-
|
|
5
|
-
## 2.1 命令元数据
|
|
6
|
-
|
|
7
|
-
| 字段 | 值 |
|
|
8
|
-
|------|-----|
|
|
9
|
-
| 完整命令 | `barista liberica currency create` |
|
|
10
|
-
| 功能描述 | 创建新的币种 |
|
|
11
|
-
| HTTP方法 | POST |
|
|
12
|
-
| 是否需要认证 | ✅ 是 |
|
|
13
|
-
| 是否支持dry-run | ✅ 是 |
|
|
14
|
-
|
|
15
|
-
## 2.2 后端接口引用
|
|
16
|
-
|
|
17
|
-
### Controller位置
|
|
18
|
-
```
|
|
19
|
-
coffee-liberica-end/
|
|
20
|
-
└── facade/liberica-facade-enterprise/
|
|
21
|
-
└── src/main/java/com/newpeak/liberica/facade/enterprise/controller/finance/
|
|
22
|
-
└── FinanceCurrencyController.java
|
|
23
|
-
└── addCurrency(@PostResource(path = "/add"))
|
|
24
|
-
└── public ResponseData<CurrencyResponse> addCurrency(
|
|
25
|
-
@RequestBody @Validated CurrencyRequest request
|
|
26
|
-
)
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### Request DTO位置
|
|
30
|
-
```
|
|
31
|
-
coffee-liberica-end/
|
|
32
|
-
└── business/liberica-business-finance/finance-api/src/main/java/com/newpeak/liberica/finance/api/pojo/request/CurrencyRequest.java
|
|
33
|
-
├── currencyCode: String (@NotBlank, 3位编码)
|
|
34
|
-
├── currencyName: String (@NotBlank)
|
|
35
|
-
└── currencySign: String (符号,如 ¥, $)
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### Response DTO位置
|
|
39
|
-
```
|
|
40
|
-
coffee-liberica-end/
|
|
41
|
-
└── business/liberica-business-finance/finance-api/src/main/java/com/newpeak/liberica/finance/api/pojo/response/CurrencyResponse.java
|
|
42
|
-
├── currencyId: String
|
|
43
|
-
├── currencyCode: String (3位编码)
|
|
44
|
-
├── currencyName: String
|
|
45
|
-
├── currencySign: String
|
|
46
|
-
├── statusFlag: Integer (1=启用)
|
|
47
|
-
├── createTime: String
|
|
48
|
-
└── updateTime: String
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### 辅助接口(创建流程内部使用)
|
|
52
|
-
```
|
|
53
|
-
coffee-liberica-end/
|
|
54
|
-
└── facade/liberica-facade-platform/
|
|
55
|
-
└── src/main/java/com/newpeak/liberica/facade/platform/controller/
|
|
56
|
-
└── MasterCurrencyController.java
|
|
57
|
-
└── getAvailableList(@GetResource(path = "/available/list"))
|
|
58
|
-
└── 获取可用币种列表(用于选择currencyCode)
|
|
59
|
-
└── getCurrencyDefault(@GetResource(path = "/currency/default"))
|
|
60
|
-
└── 获取币种默认值(根据currencyCode自动填充名称和符号)
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## 2.3 CLI参数设计
|
|
64
|
-
|
|
65
|
-
### 命令结构
|
|
66
|
-
```
|
|
67
|
-
barista liberica currency create [options]
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### 全局选项
|
|
71
|
-
| 选项 | 类型 | 说明 |
|
|
72
|
-
|------|------|------|
|
|
73
|
-
| `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
|
|
74
|
-
| `--tenant` | string | 租户代码 |
|
|
75
|
-
| `--dry-run` | boolean | 预览模式 |
|
|
76
|
-
| `--json` | boolean | JSON输出 |
|
|
77
|
-
|
|
78
|
-
### 命令选项
|
|
79
|
-
| 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
|
|
80
|
-
|------|--------|------|------|--------|------|-------------|
|
|
81
|
-
| --code | -c | string | ✅ | - | 币种编码(3位,如 CNY) | currencyCode |
|
|
82
|
-
| --name | -n | string | ⬜ | - | 币种名称(可自动填充) | currencyName |
|
|
83
|
-
| --sign | -S | string | ⬜ | - | 币种符号(可自动填充,如 ¥) | currencySign |
|
|
84
|
-
|
|
85
|
-
## 2.4 字段映射表
|
|
86
|
-
|
|
87
|
-
| CLI参数 | DTO字段 | 类型转换 | 验证规则 |
|
|
88
|
-
|---------|---------|----------|----------|
|
|
89
|
-
| --code / -c | currencyCode | string→String | @NotBlank, 3位字母, ISO 4217 |
|
|
90
|
-
| --name / -n | currencyName | string→String | @NotBlank, max=255 |
|
|
91
|
-
| --sign / -S | currencySign | string→String | max=10 |
|
|
92
|
-
|
|
93
|
-
## 2.5 错误码引用
|
|
94
|
-
|
|
95
|
-
### ExceptionEnum位置
|
|
96
|
-
```
|
|
97
|
-
coffee-liberica-end/
|
|
98
|
-
└── business/liberica-business-finance/finance-api/src/main/java/com/newpeak/liberica/finance/api/exception/enums/CurrencyExceptionEnum.java
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### 已知错误码
|
|
102
|
-
| 错误码 | 错误消息 | 触发条件 |
|
|
103
|
-
|--------|----------|----------|
|
|
104
|
-
| CURRENCY_CODE_DUPLICATE | 币种编码重复 | 编码重复 |
|
|
105
|
-
| CURRENCY_CODE_EMPTY | 币种编码不能为空 | 编码为空 |
|
|
106
|
-
| CURRENCY_NAME_EMPTY | 币种名称不能为空 | 名称为空 |
|
|
107
|
-
| CURRENCY_CODE_INVALID | 币种编码无效 | 非标准3位编码 |
|
|
108
|
-
|
|
109
|
-
## 2.6 权限检查
|
|
110
|
-
|
|
111
|
-
| 检查项 | 位置 | 说明 |
|
|
112
|
-
|--------|------|------|
|
|
113
|
-
| 注解 | FinanceCurrencyController.java | 需要 `finance_currency:add` 权限 |
|
|
114
|
-
|
|
115
|
-
## 2.7 实现要点
|
|
116
|
-
|
|
117
|
-
1. **必填参数**:currencyCode 为必填参数,currencyName 和 currencySign 可自动填充
|
|
118
|
-
2. **自动填充流程**:
|
|
119
|
-
- 用户输入 currencyCode(如 CNY)
|
|
120
|
-
- 调用 `/master/currency/currency/default` 获取默认值
|
|
121
|
-
- 自动填充 currencyName(人民币)和 currencySign(¥)
|
|
122
|
-
3. **编码规范**:currencyCode 必须为3位字母,符合ISO 4217标准
|
|
123
|
-
4. **dry-run 支持**:支持 `--dry-run` 预览模式,显示将要创建的币种信息
|
|
124
|
-
5. **编码唯一性**:后端会校验 currencyCode 是否已存在
|
|
125
|
-
6. **状态默认**:新创建币种默认状态为启用(statusFlag=1)
|
|
126
|
-
7. **API路径**:POST `/api/enterprise/finance/currency/add`
|
|
127
|
-
8. **成功响应**:返回创建的币种详情,包括生成的 currencyId
|
|
128
|
-
|
|
129
|
-
## 2.8 示例用法
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
# 创建币种(自动填充名称和符号)
|
|
133
|
-
barista liberica currency create --code "CNY"
|
|
134
|
-
barista liberica currency create -c "USD"
|
|
135
|
-
|
|
136
|
-
# 创建并指定完整信息
|
|
137
|
-
barista liberica currency create --code "EUR" --name "欧元" --sign "€"
|
|
138
|
-
barista liberica currency create -c "JPY" -n "日元" -S "¥"
|
|
139
|
-
|
|
140
|
-
# 预览模式(dry-run)
|
|
141
|
-
barista liberica currency create --code "GBP" --dry-run
|
|
142
|
-
|
|
143
|
-
# JSON 输出
|
|
144
|
-
barista liberica currency create --code "CNY" --json
|
|
145
|
-
```
|