feat(credit): 添加用户数据范围控制功能

- 在所有信用模块的搜索参数接口中添加 userId 字段
- 集成 withCreditUserScope 数据范围工具函数到各个 API 请求
- 实现对行政许可、破产重整、分支机构、失信被执行人等所有信用数据的用户范围过滤
- 统一处理分页和列表查询的数据范围限制
- 确保所有信用相关 API 都支持基于用户的权限控制
This commit is contained in:
2026-01-21 13:15:48 +08:00
parent fa188f482b
commit 6b21547b09
57 changed files with 216 additions and 167 deletions

BIN
dist.zip Normal file

Binary file not shown.

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult } from '@/api';
/**
@@ -17,7 +19,7 @@ export async function refreshCreditCompanyId(
const res = await request.post<ApiResult<unknown>>(
`/credit/${module}/company-id/refresh`,
undefined,
{ params }
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.message;

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type {
CreditAdministrativeLicense,
@@ -13,9 +15,7 @@ export async function pageCreditAdministrativeLicense(
) {
const res = await request.get<
ApiResult<PageResult<CreditAdministrativeLicense>>
>('/credit/credit-administrative-license/page', {
params
});
>('/credit/credit-administrative-license/page', { params: withCreditUserScope(params) });
if (res.data.code === 0) {
return res.data.data;
}
@@ -30,9 +30,7 @@ export async function listCreditAdministrativeLicense(
) {
const res = await request.get<ApiResult<CreditAdministrativeLicense[]>>(
'/credit/credit-administrative-license',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -53,6 +53,8 @@ export interface CreditAdministrativeLicense {
* 行政许可搜索条件
*/
export interface CreditAdministrativeLicenseParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditBankruptcy, CreditBankruptcyParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditBankruptcy, CreditBankruptcyParam } from './model';
export async function pageCreditBankruptcy(params: CreditBankruptcyParam) {
const res = await request.get<ApiResult<PageResult<CreditBankruptcy>>>(
'/credit/credit-bankruptcy/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditBankruptcy(params: CreditBankruptcyParam) {
export async function listCreditBankruptcy(params?: CreditBankruptcyParam) {
const res = await request.get<ApiResult<CreditBankruptcy[]>>(
'/credit/credit-bankruptcy',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -44,6 +44,8 @@ export interface CreditBankruptcy {
* 破产重整搜索条件
*/
export interface CreditBankruptcyParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditBranch, CreditBranchParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditBranch, CreditBranchParam } from './model';
export async function pageCreditBranch(params: CreditBranchParam) {
const res = await request.get<ApiResult<PageResult<CreditBranch>>>(
'/credit/credit-branch/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditBranch(params: CreditBranchParam) {
export async function listCreditBranch(params?: CreditBranchParam) {
const res = await request.get<ApiResult<CreditBranch[]>>(
'/credit/credit-branch',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -44,6 +44,8 @@ export interface CreditBranch {
* 分支机构搜索条件
*/
export interface CreditBranchParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditBreachOfTrust, CreditBreachOfTrustParam } from './model';
@@ -10,9 +12,7 @@ export async function pageCreditBreachOfTrust(
) {
const res = await request.get<ApiResult<PageResult<CreditBreachOfTrust>>>(
'/credit/credit-breach-of-trust/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -28,9 +28,7 @@ export async function listCreditBreachOfTrust(
) {
const res = await request.get<ApiResult<CreditBreachOfTrust[]>>(
'/credit/credit-breach-of-trust',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -52,6 +52,8 @@ export interface CreditBreachOfTrust {
* 失信被执行人搜索条件
*/
export interface CreditBreachOfTrustParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditCaseFiling, CreditCaseFilingParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditCaseFiling, CreditCaseFilingParam } from './model';
export async function pageCreditCaseFiling(params: CreditCaseFilingParam) {
const res = await request.get<ApiResult<PageResult<CreditCaseFiling>>>(
'/credit/credit-case-filing/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditCaseFiling(params: CreditCaseFilingParam) {
export async function listCreditCaseFiling(params?: CreditCaseFilingParam) {
const res = await request.get<ApiResult<CreditCaseFiling[]>>(
'/credit/credit-case-filing',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -52,6 +52,8 @@ export interface CreditCaseFiling {
* 司法大数据搜索条件
*/
export interface CreditCaseFilingParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditCompany, CreditCompanyParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditCompany, CreditCompanyParam } from './model';
export async function pageCreditCompany(params: CreditCompanyParam) {
const res = await request.get<ApiResult<PageResult<CreditCompany>>>(
'/credit/credit-company/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditCompany(params: CreditCompanyParam) {
export async function listCreditCompany(params?: CreditCompanyParam) {
const res = await request.get<ApiResult<CreditCompany[]>>(
'/credit/credit-company',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
@@ -131,9 +129,7 @@ export async function importCreditCompany(file: File) {
export async function getCompanyRelatedInfo(params: CreditCompanyParam) {
const res = await request.get<ApiResult<CreditCompany>>(
'/credit/credit-company/related',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -132,6 +132,8 @@ export interface CreditCompany {
* 企业搜索条件
*/
export interface CreditCompanyParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditCompetitor, CreditCompetitorParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditCompetitor, CreditCompetitorParam } from './model';
export async function pageCreditCompetitor(params: CreditCompetitorParam) {
const res = await request.get<ApiResult<PageResult<CreditCompetitor>>>(
'/credit/credit-competitor/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditCompetitor(params: CreditCompetitorParam) {
export async function listCreditCompetitor(params?: CreditCompetitorParam) {
const res = await request.get<ApiResult<CreditCompetitor[]>>(
'/credit/credit-competitor',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -46,6 +46,8 @@ export interface CreditCompetitor {
* 竞争对手搜索条件
*/
export interface CreditCompetitorParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type {
CreditCourtAnnouncement,
@@ -13,9 +15,7 @@ export async function pageCreditCourtAnnouncement(
) {
const res = await request.get<ApiResult<PageResult<CreditCourtAnnouncement>>>(
'/credit/credit-court-announcement/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -31,9 +31,7 @@ export async function listCreditCourtAnnouncement(
) {
const res = await request.get<ApiResult<CreditCourtAnnouncement[]>>(
'/credit/credit-court-announcement',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -52,6 +52,8 @@ export interface CreditCourtAnnouncement {
* 法院公告司法大数据搜索条件
*/
export interface CreditCourtAnnouncementParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditCourtSession, CreditCourtSessionParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditCourtSession, CreditCourtSessionParam } from './model';
export async function pageCreditCourtSession(params: CreditCourtSessionParam) {
const res = await request.get<ApiResult<PageResult<CreditCourtSession>>>(
'/credit/credit-court-session/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditCourtSession(params: CreditCourtSessionParam) {
export async function listCreditCourtSession(params?: CreditCourtSessionParam) {
const res = await request.get<ApiResult<CreditCourtSession[]>>(
'/credit/credit-court-session',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -52,6 +52,8 @@ export interface CreditCourtSession {
* 开庭公告司法大数据搜索条件
*/
export interface CreditCourtSessionParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditCustomer, CreditCustomerParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditCustomer, CreditCustomerParam } from './model';
export async function pageCreditCustomer(params: CreditCustomerParam) {
const res = await request.get<ApiResult<PageResult<CreditCustomer>>>(
'/credit/credit-customer/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditCustomer(params: CreditCustomerParam) {
export async function listCreditCustomer(params?: CreditCustomerParam) {
const res = await request.get<ApiResult<CreditCustomer[]>>(
'/credit/credit-customer',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -42,6 +42,8 @@ export interface CreditCustomer {
* 客户搜索条件
*/
export interface CreditCustomerParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditDeliveryNotice, CreditDeliveryNoticeParam } from './model';
@@ -10,9 +12,7 @@ export async function pageCreditDeliveryNotice(
) {
const res = await request.get<ApiResult<PageResult<CreditDeliveryNotice>>>(
'/credit/credit-delivery-notice/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -28,9 +28,7 @@ export async function listCreditDeliveryNotice(
) {
const res = await request.get<ApiResult<CreditDeliveryNotice[]>>(
'/credit/credit-delivery-notice',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -52,6 +52,8 @@ export interface CreditDeliveryNotice {
* 送达公告司法大数据搜索条件
*/
export interface CreditDeliveryNoticeParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditExternal, CreditExternalParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditExternal, CreditExternalParam } from './model';
export async function pageCreditExternal(params: CreditExternalParam) {
const res = await request.get<ApiResult<PageResult<CreditExternal>>>(
'/credit/credit-external/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditExternal(params: CreditExternalParam) {
export async function listCreditExternal(params?: CreditExternalParam) {
const res = await request.get<ApiResult<CreditExternal[]>>(
'/credit/credit-external',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -60,6 +60,8 @@ export interface CreditExternal {
* 对外投资搜索条件
*/
export interface CreditExternalParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditFinalVersion, CreditFinalVersionParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditFinalVersion, CreditFinalVersionParam } from './model';
export async function pageCreditFinalVersion(params: CreditFinalVersionParam) {
const res = await request.get<ApiResult<PageResult<CreditFinalVersion>>>(
'/credit/credit-final-version/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditFinalVersion(params: CreditFinalVersionParam) {
export async function listCreditFinalVersion(params?: CreditFinalVersionParam) {
const res = await request.get<ApiResult<CreditFinalVersion[]>>(
'/credit/credit-final-version',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -41,6 +41,8 @@ export interface CreditFinalVersion {
* 终本案件搜索条件
*/
export interface CreditFinalVersionParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditGqdj, CreditGqdjParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditGqdj, CreditGqdjParam } from './model';
export async function pageCreditGqdj(params: CreditGqdjParam) {
const res = await request.get<ApiResult<PageResult<CreditGqdj>>>(
'/credit/credit-gqdj/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditGqdj(params: CreditGqdjParam) {
export async function listCreditGqdj(params?: CreditGqdjParam) {
const res = await request.get<ApiResult<CreditGqdj[]>>(
'/credit/credit-gqdj',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -58,6 +58,8 @@ export interface CreditGqdj {
* 股权冻结搜索条件
*/
export interface CreditGqdjParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type {
CreditHistoricalLegalPerson,
@@ -13,9 +15,7 @@ export async function pageCreditHistoricalLegalPerson(
) {
const res = await request.get<
ApiResult<PageResult<CreditHistoricalLegalPerson>>
>('/credit/credit-historical-legal-person/page', {
params
});
>('/credit/credit-historical-legal-person/page', { params: withCreditUserScope(params) });
if (res.data.code === 0) {
return res.data.data;
}
@@ -30,9 +30,7 @@ export async function listCreditHistoricalLegalPerson(
) {
const res = await request.get<ApiResult<CreditHistoricalLegalPerson[]>>(
'/credit/credit-historical-legal-person',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -40,6 +40,8 @@ export interface CreditHistoricalLegalPerson {
* 历史法定代表人搜索条件
*/
export interface CreditHistoricalLegalPersonParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditJudgmentDebtor, CreditJudgmentDebtorParam } from './model';
@@ -10,9 +12,7 @@ export async function pageCreditJudgmentDebtor(
) {
const res = await request.get<ApiResult<PageResult<CreditJudgmentDebtor>>>(
'/credit/credit-judgment-debtor/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -28,9 +28,7 @@ export async function listCreditJudgmentDebtor(
) {
const res = await request.get<ApiResult<CreditJudgmentDebtor[]>>(
'/credit/credit-judgment-debtor',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;
@@ -178,7 +176,7 @@ export async function refreshCreditJudgmentDebtorCompanyId(params?: {
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-judgment-debtor/company-id/refresh',
undefined,
{ params }
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.message;

View File

@@ -50,6 +50,8 @@ export interface CreditJudgmentDebtor {
* 被执行人搜索条件
*/
export interface CreditJudgmentDebtorParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type {
CreditJudicialDocument,
@@ -13,9 +15,7 @@ export async function pageCreditJudicialDocument(
) {
const res = await request.get<ApiResult<PageResult<CreditJudicialDocument>>>(
'/credit/credit-judicial-document/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -31,9 +31,7 @@ export async function listCreditJudicialDocument(
) {
const res = await request.get<ApiResult<CreditJudicialDocument[]>>(
'/credit/credit-judicial-document',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -58,6 +58,8 @@ export interface CreditJudicialDocument {
* 裁判文书司法大数据搜索条件
*/
export interface CreditJudicialDocumentParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditJudiciary, CreditJudiciaryParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditJudiciary, CreditJudiciaryParam } from './model';
export async function pageCreditJudiciary(params: CreditJudiciaryParam) {
const res = await request.get<ApiResult<PageResult<CreditJudiciary>>>(
'/credit/credit-judiciary/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditJudiciary(params: CreditJudiciaryParam) {
export async function listCreditJudiciary(params?: CreditJudiciaryParam) {
const res = await request.get<ApiResult<CreditJudiciary[]>>(
'/credit/credit-judiciary',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -66,6 +66,8 @@ export interface CreditJudiciary {
* 司法案件搜索条件
*/
export interface CreditJudiciaryParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditMediation, CreditMediationParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditMediation, CreditMediationParam } from './model';
export async function pageCreditMediation(params: CreditMediationParam) {
const res = await request.get<ApiResult<PageResult<CreditMediation>>>(
'/credit/credit-mediation/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditMediation(params: CreditMediationParam) {
export async function listCreditMediation(params?: CreditMediationParam) {
const res = await request.get<ApiResult<CreditMediation[]>>(
'/credit/credit-mediation',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -52,6 +52,8 @@ export interface CreditMediation {
* 诉前调解司法大数据搜索条件
*/
export interface CreditMediationParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditNearbyCompany, CreditNearbyCompanyParam } from './model';
@@ -10,9 +12,7 @@ export async function pageCreditNearbyCompany(
) {
const res = await request.get<ApiResult<PageResult<CreditNearbyCompany>>>(
'/credit/credit-nearby-company/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -28,9 +28,7 @@ export async function listCreditNearbyCompany(
) {
const res = await request.get<ApiResult<CreditNearbyCompany[]>>(
'/credit/credit-nearby-company',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -136,6 +136,8 @@ export interface CreditNearbyCompany {
* 附近企业搜索条件
*/
export interface CreditNearbyCompanyParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditPatent, CreditPatentParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditPatent, CreditPatentParam } from './model';
export async function pageCreditPatent(params: CreditPatentParam) {
const res = await request.get<ApiResult<PageResult<CreditPatent>>>(
'/credit/credit-patent/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditPatent(params: CreditPatentParam) {
export async function listCreditPatent(params?: CreditPatentParam) {
const res = await request.get<ApiResult<CreditPatent[]>>(
'/credit/credit-patent',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -52,6 +52,8 @@ export interface CreditPatent {
* 专利搜索条件
*/
export interface CreditPatentParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditProject, CreditProjectParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditProject, CreditProjectParam } from './model';
export async function pageCreditProject(params: CreditProjectParam) {
const res = await request.get<ApiResult<PageResult<CreditProject>>>(
'/credit/credit-project/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditProject(params: CreditProjectParam) {
export async function listCreditProject(params?: CreditProjectParam) {
const res = await request.get<ApiResult<CreditProject[]>>(
'/credit/credit-project',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -64,6 +64,8 @@ export interface CreditProject {
* 招投标搜索条件
*/
export interface CreditProjectParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditRiskRelation, CreditRiskRelationParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditRiskRelation, CreditRiskRelationParam } from './model';
export async function pageCreditRiskRelation(params: CreditRiskRelationParam) {
const res = await request.get<ApiResult<PageResult<CreditRiskRelation>>>(
'/credit/credit-risk-relation/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditRiskRelation(params: CreditRiskRelationParam) {
export async function listCreditRiskRelation(params?: CreditRiskRelationParam) {
const res = await request.get<ApiResult<CreditRiskRelation[]>>(
'/credit/credit-risk-relation',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -44,6 +44,8 @@ export interface CreditRiskRelation {
* 风险关系表搜索条件
*/
export interface CreditRiskRelationParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditSupplier, CreditSupplierParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditSupplier, CreditSupplierParam } from './model';
export async function pageCreditSupplier(params: CreditSupplierParam) {
const res = await request.get<ApiResult<PageResult<CreditSupplier>>>(
'/credit/credit-supplier/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditSupplier(params: CreditSupplierParam) {
export async function listCreditSupplier(params?: CreditSupplierParam) {
const res = await request.get<ApiResult<CreditSupplier[]>>(
'/credit/credit-supplier',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -42,6 +42,8 @@ export interface CreditSupplier {
* 供应商搜索条件
*/
export interface CreditSupplierParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type {
CreditSuspectedRelationship,
@@ -13,9 +15,7 @@ export async function pageCreditSuspectedRelationship(
) {
const res = await request.get<
ApiResult<PageResult<CreditSuspectedRelationship>>
>('/credit/credit-suspected-relationship/page', {
params
});
>('/credit/credit-suspected-relationship/page', { params: withCreditUserScope(params) });
if (res.data.code === 0) {
return res.data.data;
}
@@ -30,9 +30,7 @@ export async function listCreditSuspectedRelationship(
) {
const res = await request.get<ApiResult<CreditSuspectedRelationship[]>>(
'/credit/credit-suspected-relationship',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -50,6 +50,8 @@ export interface CreditSuspectedRelationship {
* 疑似关系搜索条件
*/
export interface CreditSuspectedRelationshipParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditUser, CreditUserParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditUser, CreditUserParam } from './model';
export async function pageCreditUser(params: CreditUserParam) {
const res = await request.get<ApiResult<PageResult<CreditUser>>>(
'/credit/credit-user/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditUser(params: CreditUserParam) {
export async function listCreditUser(params?: CreditUserParam) {
const res = await request.get<ApiResult<CreditUser[]>>(
'/credit/credit-user',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -64,6 +64,8 @@ export interface CreditUser {
* 招投标信息表搜索条件
*/
export interface CreditUserParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -1,4 +1,6 @@
import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditXgxf, CreditXgxfParam } from './model';
@@ -8,9 +10,7 @@ import type { CreditXgxf, CreditXgxfParam } from './model';
export async function pageCreditXgxf(params: CreditXgxfParam) {
const res = await request.get<ApiResult<PageResult<CreditXgxf>>>(
'/credit/credit-xgxf/page',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0) {
return res.data.data;
@@ -24,9 +24,7 @@ export async function pageCreditXgxf(params: CreditXgxfParam) {
export async function listCreditXgxf(params?: CreditXgxfParam) {
const res = await request.get<ApiResult<CreditXgxf[]>>(
'/credit/credit-xgxf',
{
params
}
{ params: withCreditUserScope(params) }
);
if (res.data.code === 0 && res.data.data) {
return res.data.data;

View File

@@ -52,6 +52,8 @@ export interface CreditXgxf {
* 限制高消费搜索条件
*/
export interface CreditXgxfParam extends PageParam {
userId?: number;
id?: number;
keywords?: string;
}

View File

@@ -0,0 +1,49 @@
import { hasRole } from '@/utils/permission';
import { useUserStore } from '@/store/modules/user';
function isSuperAdmin(): boolean {
try {
return hasRole('superAdmin');
} catch {
return false;
}
}
function getCurrentUserId(): number | undefined {
try {
const store = useUserStore();
const id = store?.info?.userId;
if (typeof id === 'number' && Number.isFinite(id) && id > 0) {
return id;
}
} catch {
// Pinia may not be active in some early-init code paths.
}
const raw = localStorage.getItem('UserId');
if (!raw) {
return undefined;
}
const n = Number(raw);
return Number.isFinite(n) && n > 0 ? n : undefined;
}
/**
* Credit module data scope:
* - superAdmin: see all data
* - others: only see data published by themselves (userId)
*/
export function withCreditUserScope<T extends Record<string, any> | undefined>(
params: T
): T {
if (isSuperAdmin()) {
return params;
}
const userId = getCurrentUserId();
if (!userId) {
return params;
}
if (!params) {
return { userId } as T;
}
return { ...(params as any), userId } as T;
}