From c8b63cf0f537b73fb79ad12215086474b613deea Mon Sep 17 00:00:00 2001 From: MSuMshk <2039814060@qq.com> Date: Fri, 6 Feb 2026 13:45:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=95=86=E6=88=B7=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E5=95=86=E6=88=B7=E5=85=A8=E9=87=8F=E5=85=B3?= =?UTF-8?q?=E8=81=94=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 对齐后端 /merchant/info 聚合结构,页面按基本信息、资质合同、门店、员工、日志分区展示商户中心数据。 --- apps/web-antd/src/api/merchant/index.ts | 173 +++++++++-- .../src/views/merchant/center/index.vue | 271 +++++++++++++++--- 2 files changed, 380 insertions(+), 64 deletions(-) diff --git a/apps/web-antd/src/api/merchant/index.ts b/apps/web-antd/src/api/merchant/index.ts index 0edcdbe..42bd728 100644 --- a/apps/web-antd/src/api/merchant/index.ts +++ b/apps/web-antd/src/api/merchant/index.ts @@ -1,41 +1,164 @@ import { requestClient } from '#/api/request'; /** - * 商户信息 DTO + * 商户门店信息 */ -export interface MerchantDto { +export interface MerchantStoreDto { + /** 门店ID */ + id: string; + /** 门店名称 */ + name: string; + /** 营业执照号 */ + licenseNumber?: string; + /** 联系电话 */ + contactPhone?: string; + /** 门店地址 */ + address: string; + /** 门店状态 */ + status: number; +} + +/** + * 商户详情信息 + */ +export interface MerchantDetailDto { /** 商户ID */ id: string; + /** 租户ID */ + tenantId: string; + /** 租户名称 */ + tenantName?: string; /** 商户名称 */ - merchantName: string; - /** 联系人 */ - contactName: string; + name: string; + /** 经营模式 */ + operatingMode?: number; + /** 营业执照号 */ + licenseNumber?: string; + /** 法人/负责人 */ + legalRepresentative?: string; + /** 注册地址 */ + registeredAddress?: string; /** 联系电话 */ - contactPhone: string; - /** 商户地址 */ - address: string; - /** 商户状态 (1: 正常, 2: 禁用) */ + contactPhone?: string; + /** 联系邮箱 */ + contactEmail?: string; + /** 商户状态 */ status: number; - /** 营业执照代码 */ - businessLicenseCode: string; - /** 商户简介 */ - description: string; + /** 是否冻结 */ + isFrozen: boolean; + /** 冻结原因 */ + frozenReason?: string; + /** 冻结时间 */ + frozenAt?: null | string; + /** 审核通过人 */ + approvedBy?: string; + /** 审核通过时间 */ + approvedAt?: null | string; + /** 关联门店 */ + stores: MerchantStoreDto[]; + /** 并发版本 */ + rowVersion?: string; /** 创建时间 */ - createTime: string; - /** 商户Logo */ - logo?: string; + createdAt: string; + /** 创建人 */ + createdBy?: string; + /** 更新时间 */ + updatedAt?: null | string; + /** 更新人 */ + updatedBy?: string; } /** - * 获取当前商户信息 + * 商户资质信息 + */ +export interface MerchantDocumentDto { + id: string; + merchantId: string; + documentType: number; + status: number; + fileUrl: string; + documentNumber?: string; + issuedAt?: null | string; + expiresAt?: null | string; + remarks?: string; + createdAt: string; +} + +/** + * 商户合同信息 + */ +export interface MerchantContractDto { + id: string; + merchantId: string; + contractNumber: string; + status: number; + startDate: string; + endDate: string; + fileUrl: string; + signedAt?: null | string; + terminatedAt?: null | string; + terminationReason?: string; +} + +/** + * 商户员工信息 + */ +export interface MerchantStaffDto { + id: string; + tenantId: string; + merchantId: string; + storeId?: null | string; + name: string; + phone: string; + email?: string; + roleType: number; + status: number; +} + +/** + * 商户审核日志 + */ +export interface MerchantAuditLogDto { + id: string; + merchantId: string; + action: number; + operatorId?: string; + title: string; + description?: string; + operatorName?: string; + ipAddress?: string; + createdAt: string; +} + +/** + * 商户变更日志 + */ +export interface MerchantChangeLogDto { + id: string; + fieldName: string; + oldValue?: string; + newValue?: string; + changedBy?: string; + changedByName?: string; + changedAt: string; + changeReason?: string; +} + +/** + * 商户中心聚合信息 + */ +export interface CurrentMerchantCenterDto { + merchant: MerchantDetailDto; + documents: MerchantDocumentDto[]; + contracts: MerchantContractDto[]; + staffs: MerchantStaffDto[]; + auditLogs: MerchantAuditLogDto[]; + changeLogs: MerchantChangeLogDto[]; +} + +/** + * 获取当前商户中心信息 */ export async function getMerchantInfoApi() { - return requestClient.get('/merchant/info'); -} - -/** - * 更新商户信息 - */ -export async function updateMerchantInfoApi(data: Partial) { - return requestClient.post('/merchant/update', data); + return requestClient.get('/merchant/info'); } diff --git a/apps/web-antd/src/views/merchant/center/index.vue b/apps/web-antd/src/views/merchant/center/index.vue index 13093f6..4ddb9f3 100644 --- a/apps/web-antd/src/views/merchant/center/index.vue +++ b/apps/web-antd/src/views/merchant/center/index.vue @@ -1,5 +1,11 @@