feat: expose current node name and action type on recharge apply read

Approval UI needs node display name and approve/disburse action without a separate node lookup.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-09-26 21:05:52 +08:00
1 parent f80a29fb8d
commit a1fbbac370
2 files changed
+20

No files matched your search

@@ -83,6 +83,10 @@ class VehicleRechargeApplyRead(BaseModel):
status: str
wf_id: Optional[str] = Field(default=None, alias="wfId")
current_node: Optional[str] = Field(default=None, alias="currentNode")
current_node_name: Optional[str] = Field(default=None, alias="currentNodeName")
current_node_action_type: Optional[str] = Field(
default=None, alias="currentNodeActionType"
)
approval_round: int = Field(default=0, alias="approvalRound")
approvals: List[VehicleRechargeApprovalRead] = Field(default_factory=list)
record: Optional[VehicleRechargeRecordRead] = None
@@ -220,6 +220,20 @@ def apply_to_read(
) -> VehicleRechargeApplyRead:
approvals: list[VehicleRechargeApprovalRead] = []
record_read: Optional[VehicleRechargeRecordRead] = None
current_node_name: Optional[str] = None
current_node_action_type: Optional[str] = None
if row.current_node:
node = (
db.query(BxWorkflowNode)
.filter(
BxWorkflowNode.id == row.current_node,
BxWorkflowNode.del_flag == 0,
)
.first()
)
if node:
current_node_name = node.node_name
current_node_action_type = (node.action_type or "approve").strip() or "approve"
if include_detail:
approvals = _list_approvals(db, row.tenant_no, row.id)
record_row = _get_linked_record(db, row.tenant_no, row.id)
@@ -238,6 +252,8 @@ def apply_to_read(
status=row.status,
wfId=row.wf_id,
currentNode=row.current_node,
currentNodeName=current_node_name,
currentNodeActionType=current_node_action_type,
approvalRound=row.approval_round or 0,
approvals=approvals,
record=record_read,