Skip to content

企業業務領域 ​

Java 服務按 module/<領域>/{api,service,persistence} 組織功能。Flyway V9__enterprise_domains.sql 加入企業資料表及權限;PostgreSQL 儲存業務狀態,Redis 處理短期協調。回應遵循 API 契約,前端客戶端位於 packages/effects/api/src/modules/enterprise.ts。

租戶、組織及部門 ​

API用途權限
GET、POST /api/v1/tenants;PUT /api/v1/tenants/{id}查詢、建立、修改租戶admin 角色及 tenant:list
GET /api/v1/organizations/current目前組織department:list
PUT /api/v1/organizations/{id}修改組織department:manage
GET /api/v1/departments;GET /api/v1/departments/{id}/members部門樹及成員department:list
POST /api/v1/departments;PUT、DELETE /api/v1/departments/{id}建立、修改、刪除部門department:manage
PUT、DELETE /api/v1/departments/{id}/members/{userId}加入、移除成員department:manage

已登入請求由簽名 Access Token 取得 tenantId;MyBatis 會對受保護資料表加入租戶條件,服務層再檢查業務存取。只有初始化的系統超級管理員可使用明確的跨租戶路徑。匿名 /api/v1/public/** 以 X-Tenant-Code 選擇有效租戶,預設為 default;不存在、停用或過期的租戶會回傳錯誤。

Java 登入及註冊請求可帶 tenantCode,預設為 default。目前前端 LoginParams 及登入表單尚未提供此欄位,現有畫面只能登入預設租戶。測試其他租戶須直接呼叫 Java 認證 API;前端切換租戶仍需修改型別及畫面。

項目及任務 ​

API用途權限
GET /api/v1/projects、/{id}、/{id}/activities可存取項目、詳情及動態project:list
POST /api/v1/projects建立項目,須帶 Idempotency-Keyproject:create
PUT /api/v1/projects/{id}、/{id}/archive?version=N帶版本更新或封存project:update
PUT、DELETE /api/v1/projects/{id}/members/{userId}管理成員project:update
GET、POST /api/v1/projects/{id}/tasks任務列表或建立任務project:list / task:create
GET、PUT /api/v1/tasks/{id}讀取或帶 version 更新任務project:list / task:update
GET、POST /api/v1/tasks/{id}/comments;GET /api/v1/tasks/{id}/activities評論及任務動態project:list

建立者自動成為項目負責人及成員;任務指派對象必須是項目成員。封存後不可新增任務或變更成員;仍有未完成任務的成員不可移除。寫入與動態記錄在同一交易內。狀態為 TODO → IN_PROGRESS → BLOCKED → IN_PROGRESS,IN_PROGRESS 可完成,前三種狀態可取消;DONE、CANCELLED 為終態。優先級為 LOW、MEDIUM、HIGH、URGENT。過期版本或非法轉換回傳 HTTP 409。

審批、通知、審計及檔案 ​

API用途權限
GET、POST /api/v1/approvals可見審批、建立草稿已登入 / approval:create
POST /api/v1/approvals/{id}/submit提交,須帶 Idempotency-Keyapproval:create
POST /api/v1/approvals/{id}/approve、/reject、/cancel批准、拒絕、取消approval:action / approval:create
GET /api/v1/notifications、/unread-count;PUT /api/v1/notifications/{id}/read、/read-all個人通知已登入
GET /api/v1/audit/operations請求操作資料audit:view
POST /api/v1/files;GET、DELETE /api/v1/files/{tenantId}/{filename}上載、下載、刪除檔案file:upload / 已登入 / file:upload

審批由 DRAFT 提交為 PENDING,再成為 APPROVED 或 REJECTED;申請人可取消草稿或待審單。提交前須指定有負責人的部門,依次由部門負責人及管理員處理。通知在交易提交後建立。操作審計只儲存請求中繼資料,不存請求本文;檔案目前儲存在按租戶區分的本機目錄。

項目建立及審批提交的 Idempotency-Key 在 Redis 保留 24 小時;重複鍵回傳 HTTP 409,不會重播首次回應。網絡失敗後先查詢資源,再決定是否重試。

目前只有 web-antd 提供企業領域頁面。Nitro 及瀏覽器靜態預覽使用記憶體 createStaticEnterpriseApi;它們可檢查路由及資料形狀,無法驗證 PostgreSQL 交易、Redis、持久化檔案或完整 Java 權限規則。請依後端連接驗證實際業務行為。

Released under the MIT License.