@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,143 +0,0 @@
|
|
|
1
|
-
# barista liberica supplier-contacts list
|
|
2
|
-
|
|
3
|
-
查询供应商联系人列表。
|
|
4
|
-
|
|
5
|
-
## 2.1 命令元数据
|
|
6
|
-
|
|
7
|
-
| 字段 | 值 |
|
|
8
|
-
|------|-----|
|
|
9
|
-
| 完整命令 | `barista liberica supplier-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/purchases/
|
|
22
|
-
└── EnterpriseSupplierContactController.java
|
|
23
|
-
└── list(@GetResource(path = "/list"))
|
|
24
|
-
└── public ResponseData<List<MasterSupplierContactResponse>> list(
|
|
25
|
-
@RequestHeader("X-TENANT-ID") Long tenantId,
|
|
26
|
-
MasterSupplierContactRequest masterSupplierContactRequest
|
|
27
|
-
)
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Request DTO位置
|
|
31
|
-
```
|
|
32
|
-
coffee-liberica-end/
|
|
33
|
-
└── business/liberica-business-master/master-api/
|
|
34
|
-
└── src/main/java/com/newpeak/liberica/master/api/pojo/request/
|
|
35
|
-
└── MasterSupplierContactRequest.java
|
|
36
|
-
├── supplierId: Long (@NotNull)
|
|
37
|
-
├── supplierContactName: String (搜索关键词)
|
|
38
|
-
├── pageNo: Long (分页页码)
|
|
39
|
-
└── pageSize: Long (分页大小)
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### Response DTO位置
|
|
43
|
-
```
|
|
44
|
-
coffee-liberica-end/
|
|
45
|
-
└── business/liberica-business-master/master-api/
|
|
46
|
-
└── src/main/java/com/newpeak/liberica/master/api/pojo/response/
|
|
47
|
-
└── MasterSupplierContactResponse.java
|
|
48
|
-
├── supplierContactId: Long
|
|
49
|
-
├── supplierId: Long
|
|
50
|
-
├── supplierContactName: String
|
|
51
|
-
├── supplierContactPhone: String
|
|
52
|
-
├── supplierContactTelephone: String
|
|
53
|
-
├── supplierContactEmail: String
|
|
54
|
-
├── supplierContactSex: String
|
|
55
|
-
├── supplierContactBirthday: Date
|
|
56
|
-
├── supplierContactQq: String
|
|
57
|
-
├── supplierContactWechat: String
|
|
58
|
-
├── supplierContactAddress: 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 supplier-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
|
-
| --supplier-id | -s | string | ✅ | - | 供应商ID | supplierId |
|
|
83
|
-
| --page | -p | number | ⬜ | 1 | 页码 | pageNo |
|
|
84
|
-
| --size | -z | number | ⬜ | 20 | 每页条数 | pageSize |
|
|
85
|
-
| --search | -S | string | ⬜ | - | 搜索关键词(姓名) | supplierContactName |
|
|
86
|
-
|
|
87
|
-
## 2.4 字段映射表
|
|
88
|
-
|
|
89
|
-
| CLI参数 | DTO字段 | 类型转换 | 验证规则 |
|
|
90
|
-
|---------|---------|----------|----------|
|
|
91
|
-
| --supplier-id / -s | supplierId | string→Long | @NotNull |
|
|
92
|
-
| --page / -p | pageNo | number→Long | >= 1 |
|
|
93
|
-
| --size / -z | pageSize | number→Long | 1-100 |
|
|
94
|
-
| --search / -S | supplierContactName | 直接传递 | 模糊查询 |
|
|
95
|
-
|
|
96
|
-
## 2.5 错误码引用
|
|
97
|
-
|
|
98
|
-
### ExceptionEnum位置
|
|
99
|
-
```
|
|
100
|
-
coffee-liberica-end/
|
|
101
|
-
└── business/liberica-business-master/master-api/
|
|
102
|
-
└── src/main/java/com/newpeak/liberica/master/api/exception/enums/
|
|
103
|
-
└── MasterSupplierContactExceptionEnum.java
|
|
104
|
-
└── MASTER_SUPPLIER_CONTACT_NOT_EXIST("01001XXX001", "租户供应商联系人不存在")
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
### 已知错误码
|
|
108
|
-
| 错误码 | 错误消息 | 触发条件 |
|
|
109
|
-
|--------|----------|----------|
|
|
110
|
-
| 01001XXX001 | 租户供应商联系人不存在 | 供应商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. **必填参数**:--supplier-id 必须指定
|
|
123
|
-
2. **分页默认值**:page=1, size=20
|
|
124
|
-
3. **搜索行为**:supplierContactName 支持模糊查询
|
|
125
|
-
4. **无结果处理**:返回空列表,不抛出异常
|
|
126
|
-
5. **tenantId来源**:来自 X-TENANT-ID header
|
|
127
|
-
6. **输出格式**:表格形式展示联系人列表
|
|
128
|
-
|
|
129
|
-
## 2.8 示例用法
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
# 列出供应商的所有联系人
|
|
133
|
-
barista liberica supplier-contacts list --supplier-id 12345
|
|
134
|
-
|
|
135
|
-
# 指定页码和每页条数
|
|
136
|
-
barista liberica supplier-contacts list --supplier-id 12345 --page 2 --size 50
|
|
137
|
-
|
|
138
|
-
# 搜索联系人
|
|
139
|
-
barista liberica supplier-contacts list --supplier-id 12345 --search "张"
|
|
140
|
-
|
|
141
|
-
# JSON 输出(便于脚本处理)
|
|
142
|
-
barista liberica supplier-contacts list --supplier-id 12345 --json
|
|
143
|
-
```
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
# barista liberica supplier-contacts update
|
|
2
|
-
|
|
3
|
-
更新供应商联系人信息。
|
|
4
|
-
|
|
5
|
-
## 2.1 命令元数据
|
|
6
|
-
|
|
7
|
-
| 字段 | 值 |
|
|
8
|
-
|------|-----|
|
|
9
|
-
| 完整命令 | `barista liberica supplier-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/purchases/
|
|
22
|
-
└── EnterpriseSupplierContactController.java
|
|
23
|
-
└── edit(@PostResource(path = "/edit", requiredPermission = true, requirePermissionCode = "EDIT_MASTER_SUPPLIER_CONTACT"))
|
|
24
|
-
└── public ResponseData<?> edit(
|
|
25
|
-
@RequestHeader("X-TENANT-ID") Long tenantId,
|
|
26
|
-
@RequestBody @Validated(BaseRequest.edit.class) MasterSupplierContactRequest masterSupplierContactRequest
|
|
27
|
-
)
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Request DTO位置
|
|
31
|
-
```
|
|
32
|
-
coffee-liberica-end/
|
|
33
|
-
└── business/liberica-business-master/master-api/
|
|
34
|
-
└── src/main/java/com/newpeak/liberica/master/api/pojo/request/
|
|
35
|
-
└── MasterSupplierContactRequest.java
|
|
36
|
-
├── supplierContactId: Long (@NotNull on edit)
|
|
37
|
-
├── supplierContactName: String (@NotBlank, max=255)
|
|
38
|
-
├── supplierContactPhone: String (max=256)
|
|
39
|
-
├── supplierContactTelephone: String (max=256)
|
|
40
|
-
├── supplierContactEmail: String (max=512)
|
|
41
|
-
├── supplierContactSex: String (max=255)
|
|
42
|
-
├── supplierContactBirthday: Date
|
|
43
|
-
├── supplierContactQq: String (max=512)
|
|
44
|
-
├── supplierContactWechat: String (max=512)
|
|
45
|
-
├── supplierContactAddress: 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-master/master-api/
|
|
54
|
-
└── src/main/java/com/newpeak/liberica/master/api/pojo/response/
|
|
55
|
-
└── MasterSupplierContactResponse.java
|
|
56
|
-
└── (同 get 接口)
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## 2.3 CLI参数设计
|
|
60
|
-
|
|
61
|
-
### 命令结构
|
|
62
|
-
```
|
|
63
|
-
barista liberica supplier-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 | ⬜ | - | 姓名 | supplierContactName |
|
|
83
|
-
| --phone | -p | string | ⬜ | - | 手机号 | supplierContactPhone |
|
|
84
|
-
| --telephone | -t | string | ⬜ | - | 座机号 | supplierContactTelephone |
|
|
85
|
-
| --email | -e | string | ⬜ | - | 电子邮箱 | supplierContactEmail |
|
|
86
|
-
| --sex | -x | string | ⬜ | - | 性别 | supplierContactSex |
|
|
87
|
-
| --birthday | -b | string | ⬜ | - | 生日(YYYY-MM-DD) | supplierContactBirthday |
|
|
88
|
-
| --qq | -q | string | ⬜ | - | QQ号 | supplierContactQq |
|
|
89
|
-
| --wechat | -w | string | ⬜ | - | 微信号 | supplierContactWechat |
|
|
90
|
-
| --address | -a | string | ⬜ | - | 详细地址 | supplierContactAddress |
|
|
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> | supplierContactId | string→Long | @NotNull |
|
|
101
|
-
| --name / -n | supplierContactName | 直接传递 | max=255 |
|
|
102
|
-
| --phone / -p | supplierContactPhone | 直接传递 | max=256 |
|
|
103
|
-
| --telephone / -t | supplierContactTelephone | 直接传递 | max=256 |
|
|
104
|
-
| --email / -e | supplierContactEmail | 直接传递 | max=512 |
|
|
105
|
-
| --sex / -x | supplierContactSex | 直接传递 | max=255 |
|
|
106
|
-
| --birthday / -b | supplierContactBirthday | string→Date | yyyy-MM-dd |
|
|
107
|
-
| --qq / -q | supplierContactQq | 直接传递 | max=512 |
|
|
108
|
-
| --wechat / -w | supplierContactWechat | 直接传递 | max=512 |
|
|
109
|
-
| --address / -a | supplierContactAddress | 直接传递 | 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-master/master-api/
|
|
119
|
-
└── src/main/java/com/newpeak/liberica/master/api/exception/enums/
|
|
120
|
-
└── MasterSupplierContactExceptionEnum.java
|
|
121
|
-
└── MASTER_SUPPLIER_CONTACT_NOT_EXIST("01001XXX001", "租户供应商联系人不存在")
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
### 已知错误码
|
|
125
|
-
| 错误码 | 错误消息 | 触发条件 |
|
|
126
|
-
|--------|----------|----------|
|
|
127
|
-
| 01001XXX001 | 租户供应商联系人不存在 | contact-id 不存在或不属于当前租户 |
|
|
128
|
-
|
|
129
|
-
## 2.6 权限检查
|
|
130
|
-
|
|
131
|
-
| 检查项 | 位置 | 说明 |
|
|
132
|
-
|--------|------|------|
|
|
133
|
-
| PermissionConstants | `EDIT_MASTER_SUPPLIER_CONTACT` | 编辑供应商联系人需要此权限 |
|
|
134
|
-
| 注解 | `@PostResource(requirePermissionCode = "EDIT_MASTER_SUPPLIER_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 supplier-contacts update 12345 --name "新姓名" --dry-run
|
|
149
|
-
|
|
150
|
-
# 实际更新
|
|
151
|
-
barista liberica supplier-contacts update 12345 --name "新姓名" --phone "13900139000"
|
|
152
|
-
|
|
153
|
-
# 更新多个字段
|
|
154
|
-
barista liberica supplier-contacts update 12345 --email "new@example.com" --address "新地址"
|
|
155
|
-
|
|
156
|
-
# JSON 输出
|
|
157
|
-
barista liberica supplier-contacts update 12345 --name "新姓名" --json
|
|
158
|
-
```
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
# barista liberica teams issues close
|
|
2
|
-
|
|
3
|
-
关闭团队问题。
|
|
4
|
-
|
|
5
|
-
## 2.1 命令元数据
|
|
6
|
-
|
|
7
|
-
| 字段 | 值 |
|
|
8
|
-
|------|-----|
|
|
9
|
-
| 完整命令 | `barista liberica teams issues close <issue-id>` |
|
|
10
|
-
| 功能描述 | 将团队问题状态设置为已关闭(CLOSED) |
|
|
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/team/
|
|
22
|
-
└── EnterpriseTeamIssueController.java
|
|
23
|
-
└── edit(@PostResource(path = "/edit", requiredPermission = true, requirePermissionCode = TeamIssuePermissionConstants.EDIT_TEAM_ISSUE))
|
|
24
|
-
└── public ResponseData<? extends TeamIssueResponse> edit(
|
|
25
|
-
@RequestHeader("X-TENANT-ID") Long tenantId,
|
|
26
|
-
@RequestBody @Validated(BaseRequest.edit.class) TeamIssueRequest teamIssueRequest
|
|
27
|
-
)
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
**注意**:后端没有独立的 `close` 端点。close 命令内部调用 `POST /edit` API,仅更新 `teamIssueId` 和 `teamIssueStatus` 两个字段。
|
|
31
|
-
|
|
32
|
-
### Request DTO位置
|
|
33
|
-
```
|
|
34
|
-
coffee-liberica-end/
|
|
35
|
-
└── business/liberica-business-team/team-api/
|
|
36
|
-
└── src/main/java/com/newpeak/liberica/team/api/pojo/request/
|
|
37
|
-
└── TeamIssueRequest.java
|
|
38
|
-
├── teamIssueId: Long (@NotNull on edit)
|
|
39
|
-
├── teamIssueStatus: String (@NotBlank, max=20)
|
|
40
|
-
└── tenantId: Long
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
**Close 请求体结构:**
|
|
44
|
-
```json
|
|
45
|
-
{
|
|
46
|
-
"teamIssueId": 123456789,
|
|
47
|
-
"teamIssueStatus": "CLOSED"
|
|
48
|
-
}
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Response DTO位置
|
|
52
|
-
```
|
|
53
|
-
coffee-liberica-end/
|
|
54
|
-
└── business/liberica-business-team/team-api/
|
|
55
|
-
└── src/main/java/com/newpeak/liberica/team/api/pojo/response/
|
|
56
|
-
└── TeamIssueResponse.java
|
|
57
|
-
├── teamIssueId: Long
|
|
58
|
-
├── teamIssueCode: String
|
|
59
|
-
├── issueTitle: String
|
|
60
|
-
├── teamIssueStatus: String
|
|
61
|
-
├── priority: String
|
|
62
|
-
├── reporterName: String
|
|
63
|
-
├── projectId: Long
|
|
64
|
-
└── closeTime: Instant
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## 2.3 CLI参数设计
|
|
68
|
-
|
|
69
|
-
### 命令结构
|
|
70
|
-
```
|
|
71
|
-
barista liberica teams issues close <issue-id> [options]
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### Usage
|
|
75
|
-
```bash
|
|
76
|
-
barista liberica teams issues close 123456789
|
|
77
|
-
barista liberica teams issues close 123456789 --json
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
### 全局选项
|
|
81
|
-
| 选项 | 类型 | 说明 |
|
|
82
|
-
|------|------|------|
|
|
83
|
-
| `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
|
|
84
|
-
| `--tenant` | string | 租户代码 |
|
|
85
|
-
| `--dry-run` | boolean | 预览模式(不实际调用API) |
|
|
86
|
-
| `--json` | boolean | JSON输出 |
|
|
87
|
-
|
|
88
|
-
### 位置参数
|
|
89
|
-
| 参数 | 类型 | 必填 | 说明 |
|
|
90
|
-
|------|------|------|------|
|
|
91
|
-
| issue-id | string | ✅ | 要关闭的问题ID |
|
|
92
|
-
|
|
93
|
-
### 命令选项
|
|
94
|
-
| 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
|
|
95
|
-
|------|--------|------|------|--------|------|-------------|
|
|
96
|
-
| --json | -j | boolean | ⬜ | false | JSON格式输出 | - |
|
|
97
|
-
|
|
98
|
-
## 2.4 字段映射表
|
|
99
|
-
|
|
100
|
-
| CLI参数 | DTO字段 | 类型转换 | 验证规则 |
|
|
101
|
-
|---------|---------|----------|----------|
|
|
102
|
-
| issue-id (位置参数) | teamIssueId | string→Long | @NotNull |
|
|
103
|
-
| (固定值) | teamIssueStatus | 直接传递 | 固定值为 "CLOSED" |
|
|
104
|
-
|
|
105
|
-
## 2.5 错误码引用
|
|
106
|
-
|
|
107
|
-
### ExceptionEnum位置
|
|
108
|
-
```
|
|
109
|
-
coffee-liberica-end/
|
|
110
|
-
└── business/liberica-business-team/team-api/
|
|
111
|
-
└── src/main/java/com/newpeak/liberica/team/api/exception/enums/
|
|
112
|
-
└── TeamIssueExceptionEnum.java
|
|
113
|
-
└── TEAM_ISSUE_NOT_EXIST("01001958001", "团队问题不存在")
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
### Service层业务校验
|
|
117
|
-
```
|
|
118
|
-
coffee-liberica-end/
|
|
119
|
-
└── business/liberica-business-team/team-business/
|
|
120
|
-
└── src/main/java/com/newpeak/liberica/team/modular/business/
|
|
121
|
-
└── TeamIssueBusiness.java
|
|
122
|
-
└── edit(TeamIssueRequest request)
|
|
123
|
-
└── 检查团队问题是否存在
|
|
124
|
-
└── throw new TeamServiceException(TeamIssueExceptionEnum.TEAM_ISSUE_NOT_EXIST)
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
### 已知错误码
|
|
128
|
-
| 错误码 | 错误消息 | 触发条件 |
|
|
129
|
-
|--------|----------|----------|
|
|
130
|
-
| 01001958001 | 团队问题不存在 | 关闭的 issue-id 不存在或已被删除 |
|
|
131
|
-
|
|
132
|
-
## 2.6 权限检查
|
|
133
|
-
|
|
134
|
-
| 检查项 | 位置 | 说明 |
|
|
135
|
-
|--------|------|------|
|
|
136
|
-
| PermissionConstants | `TeamIssuePermissionConstants.EDIT_TEAM_ISSUE` | Controller层 `@PostResource(requirePermissionCode = "EDIT_TEAM_ISSUE")` |
|
|
137
|
-
|
|
138
|
-
## 2.7 实现要点
|
|
139
|
-
|
|
140
|
-
1. **必填参数**:`issue-id` 作为位置参数必须提供
|
|
141
|
-
2. **内部调用 update API**:close 命令没有独立后端端点,内部构造 `{ teamIssueId, teamIssueStatus: "CLOSED" }` 并调用 `apiClient.updateTeamIssue()`
|
|
142
|
-
3. **不校验前置状态**:不在 CLI 层校验当前状态是否允许关闭,直接透传给后端处理
|
|
143
|
-
4. **Dry-run 支持**:使用 `--dry-run` 时构造请求体但不发送,显示预览信息
|
|
144
|
-
5. **ID 类型处理**:后端使用 Long (BigInteger),CLI 使用 string 避免精度丢失
|
|
145
|
-
6. **无 X-TENANT-ID Header**:CLI 不手动添加该 header,租户信息由后端从 JWT 中提取
|
|
146
|
-
|
|
147
|
-
## 2.8 示例用法
|
|
148
|
-
|
|
149
|
-
```bash
|
|
150
|
-
# 关闭问题
|
|
151
|
-
barista liberica teams issues close 123456789
|
|
152
|
-
|
|
153
|
-
# Dry-run 预览
|
|
154
|
-
barista liberica teams issues close 123456789 --dry-run
|
|
155
|
-
|
|
156
|
-
# JSON 输出
|
|
157
|
-
barista liberica teams issues close 123456789 --json
|
|
158
|
-
|
|
159
|
-
# 指定环境
|
|
160
|
-
barista liberica teams issues close 123456789 --env test
|
|
161
|
-
```
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
# barista liberica teams issues create
|
|
2
|
-
|
|
3
|
-
创建团队问题。
|
|
4
|
-
|
|
5
|
-
## 2.1 命令元数据
|
|
6
|
-
|
|
7
|
-
| 字段 | 值 |
|
|
8
|
-
|------|-----|
|
|
9
|
-
| 完整命令 | `barista liberica teams issues create` |
|
|
10
|
-
| 功能描述 | 创建新的团队问题(Bug、需求或问题) |
|
|
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/team/
|
|
22
|
-
└── EnterpriseTeamIssueController.java
|
|
23
|
-
└── add(@PostResource(path = "/add", requiredPermission = true, requirePermissionCode = TeamIssuePermissionConstants.ADD_TEAM_ISSUE))
|
|
24
|
-
└── public ResponseData<TeamIssueResponse> add(
|
|
25
|
-
@RequestHeader("X-TENANT-ID") Long tenantId,
|
|
26
|
-
@RequestBody @Validated(BaseRequest.add.class) TeamIssueRequest teamIssueRequest
|
|
27
|
-
)
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
### Request DTO位置
|
|
31
|
-
```
|
|
32
|
-
coffee-liberica-end/
|
|
33
|
-
└── business/liberica-business-team/team-api/
|
|
34
|
-
└── src/main/java/com/newpeak/liberica/team/api/pojo/request/
|
|
35
|
-
└── TeamIssueRequest.java
|
|
36
|
-
├── teamIssueCode: String (max=255, 可选,为空则后端自动生成)
|
|
37
|
-
├── issueTitle: String (@NotBlank, max=500)
|
|
38
|
-
├── issueType: String (max=20)
|
|
39
|
-
├── issueDesc: String (@NotNull)
|
|
40
|
-
├── projectId: Long (@NotNull)
|
|
41
|
-
├── projectCode: String (@NotBlank, max=50)
|
|
42
|
-
├── projectName: String (@NotBlank, max=200)
|
|
43
|
-
├── reporterAccount: String (max=255)
|
|
44
|
-
├── reporterName: String (@NotBlank, max=100)
|
|
45
|
-
├── reporterEmail: String (@NotBlank, max=200)
|
|
46
|
-
├── reporterTenantId: Long
|
|
47
|
-
├── reportDate: Date
|
|
48
|
-
├── assignTo: JSON (@NotNull)
|
|
49
|
-
├── teamIssueStatus: String (@NotBlank, max=20)
|
|
50
|
-
├── priority: String (@NotBlank, max=20)
|
|
51
|
-
├── solution: String
|
|
52
|
-
├── tags: JSON
|
|
53
|
-
└── refId: String (max=255)
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Response DTO位置
|
|
57
|
-
```
|
|
58
|
-
coffee-liberica-end/
|
|
59
|
-
└── business/liberica-business-team/team-api/
|
|
60
|
-
└── src/main/java/com/newpeak/liberica/team/api/pojo/response/
|
|
61
|
-
└── TeamIssueResponse.java
|
|
62
|
-
├── teamIssueId: Long
|
|
63
|
-
├── teamIssueCode: String
|
|
64
|
-
├── issueTitle: String
|
|
65
|
-
├── issueType: String
|
|
66
|
-
├── teamIssueStatus: String
|
|
67
|
-
├── priority: String
|
|
68
|
-
├── reporterName: String
|
|
69
|
-
├── projectId: Long
|
|
70
|
-
├── projectCode: String
|
|
71
|
-
├── projectName: String
|
|
72
|
-
└── createTime: String
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## 2.3 CLI参数设计
|
|
76
|
-
|
|
77
|
-
### 命令结构
|
|
78
|
-
```
|
|
79
|
-
barista liberica teams issues create [options]
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### Usage
|
|
83
|
-
```bash
|
|
84
|
-
barista liberica teams issues create --title "示例" --desc "描述" --type BUG --project-id 1 --project-code "P1" --project-name "项目"
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### 全局选项
|
|
88
|
-
| 选项 | 类型 | 说明 |
|
|
89
|
-
|------|------|------|
|
|
90
|
-
| `--env` | string | 目标环境(dev\|test\|prod-cn\|prod-jp) |
|
|
91
|
-
| `--tenant` | string | 租户代码 |
|
|
92
|
-
| `--dry-run` | boolean | 预览模式(不实际调用API) |
|
|
93
|
-
| `--json` | boolean | JSON输出 |
|
|
94
|
-
|
|
95
|
-
### 命令选项
|
|
96
|
-
| 选项 | 短选项 | 类型 | 必填 | 默认值 | 说明 | 对应DTO字段 |
|
|
97
|
-
|------|--------|------|------|--------|------|-------------|
|
|
98
|
-
| --title | -t | string | ✅ | - | 问题标题 | issueTitle |
|
|
99
|
-
| --desc | -d | string | ✅ | - | 问题描述 | issueDesc |
|
|
100
|
-
| --type | -y | string | ✅ | - | 问题类型(BUG/REQUIREMENT/QUESTION) | issueType |
|
|
101
|
-
| --project-id | — | string | ✅ | - | 所属项目ID | projectId |
|
|
102
|
-
| --project-code | — | string | ✅ | - | 所属项目代号 | projectCode |
|
|
103
|
-
| --project-name | — | string | ✅ | - | 所属项目名称 | projectName |
|
|
104
|
-
| --priority | -p | string | ⬜ | MEDIUM | 优先级(LOW/MEDIUM/HIGH/URGENT) | priority |
|
|
105
|
-
| --status | -s | string | ⬜ | OPEN | 问题状态(OPEN/IN_PROGRESS/RESOLVED/CLOSED) | teamIssueStatus |
|
|
106
|
-
| --assign-to | -a | string | ⬜ | - | 负责人ID列表,逗号分隔 | assignTo |
|
|
107
|
-
| --tags | — | string | ⬜ | - | 标签列表,逗号分隔 | tags |
|
|
108
|
-
| --json | -j | boolean | ⬜ | false | JSON格式输出 | - |
|
|
109
|
-
|
|
110
|
-
## 2.4 字段映射表
|
|
111
|
-
|
|
112
|
-
| CLI参数 | DTO字段 | 类型转换 | 验证规则 |
|
|
113
|
-
|---------|---------|----------|----------|
|
|
114
|
-
| --title / -t | issueTitle | 直接传递 | @NotBlank, max=500 |
|
|
115
|
-
| --desc / -d | issueDesc | 直接传递 | @NotNull |
|
|
116
|
-
| --type / -y | issueType | 直接传递 | BUG, REQUIREMENT, QUESTION |
|
|
117
|
-
| --project-id | projectId | string→Long | @NotNull |
|
|
118
|
-
| --project-code | projectCode | 直接传递 | @NotBlank, max=50 |
|
|
119
|
-
| --project-name | projectName | 直接传递 | @NotBlank, max=200 |
|
|
120
|
-
| --priority / -p | priority | 直接传递 | LOW, MEDIUM, HIGH, URGENT |
|
|
121
|
-
| --status / -s | teamIssueStatus | 直接传递 | OPEN, IN_PROGRESS, RESOLVED, CLOSED |
|
|
122
|
-
| --assign-to / -a | assignTo | string→JSON数组 | @NotNull,逗号分隔用户ID |
|
|
123
|
-
| --tags | tags | string→JSON数组 | 逗号分隔标签 |
|
|
124
|
-
|
|
125
|
-
**自动填充字段(不通过CLI参数):**
|
|
126
|
-
| 字段 | 来源 |
|
|
127
|
-
|------|------|
|
|
128
|
-
| tenantId | 后端从 X-TENANT-ID header 注入 |
|
|
129
|
-
| reporterAccount | 当前认证用户上下文自动填充 |
|
|
130
|
-
| reporterName | 当前认证用户上下文自动填充 |
|
|
131
|
-
| reporterEmail | 当前认证用户上下文自动填充 |
|
|
132
|
-
| reporterTenantId | 当前认证用户上下文自动填充 |
|
|
133
|
-
| reportDate | 自动填充当前系统日期 |
|
|
134
|
-
| teamIssueCode | 为空时后端自动生成编码 |
|
|
135
|
-
|
|
136
|
-
## 2.5 错误码引用
|
|
137
|
-
|
|
138
|
-
### ExceptionEnum位置
|
|
139
|
-
```
|
|
140
|
-
coffee-liberica-end/
|
|
141
|
-
└── business/liberica-business-team/team-api/
|
|
142
|
-
└── src/main/java/com/newpeak/liberica/team/api/exception/enums/
|
|
143
|
-
└── TeamIssueExceptionEnum.java
|
|
144
|
-
└── TEAM_ISSUE_NOT_EXIST("01001958001", "团队问题不存在")
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
### 已知错误码
|
|
148
|
-
| 错误码 | 错误消息 | 触发条件 |
|
|
149
|
-
|--------|----------|----------|
|
|
150
|
-
| 01001958001 | 团队问题不存在 | copy/edit 时引用的原问题不存在 |
|
|
151
|
-
|
|
152
|
-
## 2.6 权限检查
|
|
153
|
-
|
|
154
|
-
| 检查项 | 位置 | 说明 |
|
|
155
|
-
|--------|------|------|
|
|
156
|
-
| PermissionConstants | `TeamIssuePermissionConstants.ADD_TEAM_ISSUE` | Controller层 `@PostResource(requirePermissionCode = "ADD_TEAM_ISSUE")` |
|
|
157
|
-
|
|
158
|
-
## 2.7 实现要点
|
|
159
|
-
|
|
160
|
-
1. **必填字段**:`--title`、`--desc`、`--type`、`--project-id`、`--project-code`、`--project-name` 必须提供
|
|
161
|
-
2. **默认值**:`--priority` 默认 `MEDIUM`,`--status` 默认 `OPEN`,`--reportDate` 自动填充当前日期
|
|
162
|
-
3. **Reporter 自动填充**:`reporterAccount`、`reporterName`、`reporterEmail` 从当前认证用户上下文获取
|
|
163
|
-
4. **assignTo / tags 序列化**:逗号分隔的字符串需要在 CLI 内部转换为 JSON 数组格式再发送到后端
|
|
164
|
-
5. **Dry-run 支持**:使用 `--dry-run` 时构造请求体但不发送,显示预览信息
|
|
165
|
-
6. **tenantId 来源**:来自 X-TENANT-ID header,不通过请求体传递
|
|
166
|
-
7. **无 X-TENANT-ID Header**:CLI 不手动添加该 header,租户信息由后端从 JWT 中提取
|
|
167
|
-
|
|
168
|
-
## 2.8 示例用法
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
# 最小参数创建
|
|
172
|
-
barista liberica teams issues create \
|
|
173
|
-
--title "登录页面样式异常" \
|
|
174
|
-
--desc "在移动端浏览器中,登录按钮被遮挡" \
|
|
175
|
-
--type BUG \
|
|
176
|
-
--project-id 123456789 \
|
|
177
|
-
--project-code "ERP" \
|
|
178
|
-
--project-name "ERP系统"
|
|
179
|
-
|
|
180
|
-
# 完整参数创建
|
|
181
|
-
barista liberica teams issues create \
|
|
182
|
-
--title "新增报表导出功能" \
|
|
183
|
-
--desc "支持将销售报表导出为 Excel 格式" \
|
|
184
|
-
--type REQUIREMENT \
|
|
185
|
-
--project-id 123456789 \
|
|
186
|
-
--project-code "ERP" \
|
|
187
|
-
--project-name "ERP系统" \
|
|
188
|
-
--priority HIGH \
|
|
189
|
-
--status OPEN \
|
|
190
|
-
--assign-to "111,222,333" \
|
|
191
|
-
--tags "销售,报表,高优先级"
|
|
192
|
-
|
|
193
|
-
# Dry-run 预览
|
|
194
|
-
barista liberica teams issues create \
|
|
195
|
-
--title "测试问题" \
|
|
196
|
-
--desc "测试描述" \
|
|
197
|
-
--type QUESTION \
|
|
198
|
-
--project-id 123456789 \
|
|
199
|
-
--project-code "TEST" \
|
|
200
|
-
--project-name "测试项目" \
|
|
201
|
-
--dry-run
|
|
202
|
-
|
|
203
|
-
# JSON 输出
|
|
204
|
-
barista liberica teams issues create \
|
|
205
|
-
--title "测试问题" \
|
|
206
|
-
--desc "测试描述" \
|
|
207
|
-
--type BUG \
|
|
208
|
-
--project-id 123456789 \
|
|
209
|
-
--project-code "TEST" \
|
|
210
|
-
--project-name "测试项目" \
|
|
211
|
-
--json
|
|
212
|
-
```
|