feat(api): accept mineVehicles on vehicle-recharge-apply endpoints

Wire query param through list/get/create/update/submit/cancel for mini-program scope.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-09-27 18:35:59 +08:00
1 parent 0d2c5a2048
commit 0a9d5ba2ed
1 file changed
+25 -5
+25 -5
View File
@@ -51,6 +51,14 @@ def _param_get(params: dict, *keys: str) -> Any:
return None
def _as_bool(value: Any) -> bool:
if isinstance(value, bool):
return value
if value is None:
return False
return str(value).strip().lower() in {"1", "true", "yes", "y"}
def _body_to_params(body: BaseModel) -> dict:
data = body.model_dump(by_alias=True, exclude_none=True)
for key in ("ids", "columns"):
@@ -76,6 +84,7 @@ def _apply_list_kwargs(params: dict) -> dict:
applicant_id=_param_get(params, "applicantId", "applicant_id"),
sort_field=_param_get(params, "sortField", "sort_field"),
sort_order=_param_get(params, "sortOrder", "sort_order"),
mine_vehicles=_as_bool(_param_get(params, "mineVehicles", "mine_vehicles")),
)
@@ -106,6 +115,7 @@ def list_applies(
apply_date_from: Optional[date] = Query(default=None, alias="applyDateFrom"),
apply_date_to: Optional[date] = Query(default=None, alias="applyDateTo"),
applicant_id: Optional[str] = Query(default=None, alias="applicantId"),
mine_vehicles: Optional[bool] = Query(default=None, alias="mineVehicles"),
page: int = Query(default=1, ge=1),
page_size: int = Query(default=20, ge=1, le=500, alias="pageSize"),
db: Session = Depends(get_db),
@@ -120,6 +130,7 @@ def list_applies(
applyDateFrom=apply_date_from,
applyDateTo=apply_date_to,
applicantId=applicant_id,
mineVehicles=mine_vehicles,
)
items, total = svc.list_applies(
db,
@@ -209,52 +220,61 @@ def export_recharge_applies(
@apply_router.get("/{id}", response_model=VehicleRechargeApplyRead)
def get_apply(
id: str,
mine_vehicles: bool = Query(default=False, alias="mineVehicles"),
db: Session = Depends(get_db),
user: DbUserContext = Depends(get_db_current_user),
) -> VehicleRechargeApplyRead:
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
return svc.get_apply(db, tenant_no, user, id)
return svc.get_apply(db, tenant_no, user, id, mine_vehicles=mine_vehicles)
@apply_router.post("/{id}/submit", response_model=VehicleRechargeApplyRead)
def submit_apply(
id: str,
mine_vehicles: bool = Query(default=False, alias="mineVehicles"),
db: Session = Depends(get_db),
user: DbUserContext = Depends(get_db_current_user),
) -> VehicleRechargeApplyRead:
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
return svc.submit_apply(db, tenant_no, user, id)
return svc.submit_apply(db, tenant_no, user, id, mine_vehicles=mine_vehicles)
@apply_router.post("/", response_model=VehicleRechargeApplyRead, status_code=status.HTTP_201_CREATED)
def create_apply(
payload: VehicleRechargeApplyCreate,
mine_vehicles: bool = Query(default=False, alias="mineVehicles"),
db: Session = Depends(get_db),
user: DbUserContext = Depends(get_db_current_user),
) -> VehicleRechargeApplyRead:
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
return svc.create_apply(db, tenant_no, user, payload)
return svc.create_apply(
db, tenant_no, user, payload, mine_vehicles=mine_vehicles
)
@apply_router.put("/{id}", response_model=VehicleRechargeApplyRead)
def update_apply(
id: str,
payload: VehicleRechargeApplyUpdate,
mine_vehicles: bool = Query(default=False, alias="mineVehicles"),
db: Session = Depends(get_db),
user: DbUserContext = Depends(get_db_current_user),
) -> VehicleRechargeApplyRead:
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
return svc.update_apply(db, tenant_no, user, id, payload)
return svc.update_apply(
db, tenant_no, user, id, payload, mine_vehicles=mine_vehicles
)
@apply_router.post("/{id}/cancel", response_model=VehicleRechargeApplyRead)
def cancel_apply(
id: str,
mine_vehicles: bool = Query(default=False, alias="mineVehicles"),
db: Session = Depends(get_db),
user: DbUserContext = Depends(get_db_current_user),
) -> VehicleRechargeApplyRead:
tenant_no = get_tenant_no(db, user.to_tenant_user_dict())
return svc.cancel_apply(db, tenant_no, user, id)
return svc.cancel_apply(db, tenant_no, user, id, mine_vehicles=mine_vehicles)
@apply_router.delete("/{ids}", status_code=status.HTTP_204_NO_CONTENT)