Przeglądaj źródła

🐛 fix(goods-category-management-ui-mt): 统一商品分类层级标识

- 修复商品树形管理组件中顶级分类层级标识不一致问题
- 将顶级分类层级从0改为1,与商品分类选择组件保持一致
- 更新测试数据中的层级标识,确保与实际数据库数据一致
- 修复多级分类测试中的层级计算逻辑

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 1 miesiąc temu
rodzic
commit
af8f1da98b

+ 3 - 3
packages/goods-category-management-ui-mt/src/components/GoodsCategoryTreeManagement.tsx

@@ -48,7 +48,7 @@ export const GoodsCategoryTreeManagement: React.FC = () => {
         query: {
           page: 1,
           pageSize: 100,
-          filters: JSON.stringify({ level: 0 }),
+          filters: JSON.stringify({ level: 1 }),
           sortBy: 'id',
           sortOrder: 'ASC'
         }
@@ -347,7 +347,7 @@ export const GoodsCategoryTreeManagement: React.FC = () => {
             onSubmit={handleCreateCategory}
             isLoading={createMutation.isPending}
             onCancel={() => setIsCreateDialogOpen(false)}
-            smartLevel={0} // 默认设置为顶级分类
+            smartLevel={1} // 默认设置为顶级分类
           />
         </DialogContent>
       </Dialog>
@@ -400,7 +400,7 @@ export const GoodsCategoryTreeManagement: React.FC = () => {
               setIsAddChildDialogOpen(false);
               setParentCategoryForChild(null);
             }}
-            smartLevel={(parentCategoryForChild?.level ?? 0) + 1}
+            smartLevel={(parentCategoryForChild?.level ?? 1) + 1}
             smartParentId={parentCategoryForChild?.id}
           />
         </DialogContent>

+ 9 - 9
packages/goods-category-management-ui-mt/tests/integration/goods-category-tree-management.integration.test.tsx

@@ -99,7 +99,7 @@ describe('商品分类树形管理集成测试', () => {
           tenantId: 1,
           name: '电子产品',
           parentId: 0,
-          level: 0,
+          level: 1,
           state: 1,
           imageFileId: null
         }
@@ -168,7 +168,7 @@ describe('商品分类树形管理集成测试', () => {
           tenantId: 1,
           name: '电子产品',
           parentId: 0,
-          level: 0,
+          level: 1,
           state: 1,
           imageFileId: null
         }
@@ -225,7 +225,7 @@ describe('商品分类树形管理集成测试', () => {
           tenantId: 1,
           name: '电子产品',
           parentId: 0,
-          level: 0,
+          level: 1,
           state: 1,
           imageFileId: null
         }
@@ -271,7 +271,7 @@ describe('商品分类树形管理集成测试', () => {
           tenantId: 1,
           name: '服装',
           parentId: 0,
-          level: 0,
+          level: 1,
           state: 1,
           imageFileId: null
         }
@@ -315,7 +315,7 @@ describe('商品分类树形管理集成测试', () => {
           tenantId: 1,
           name: '电子产品',
           parentId: 0,
-          level: 0,
+          level: 1,
           state: 1,
           imageFileId: null
         }
@@ -366,7 +366,7 @@ describe('商品分类树形管理集成测试', () => {
           tenantId: 1,
           name: '电子产品',
           parentId: 0,
-          level: 0,
+          level: 1,
           state: 1,
           imageFileId: null
         },
@@ -375,7 +375,7 @@ describe('商品分类树形管理集成测试', () => {
           tenantId: 1,
           name: '手机',
           parentId: 1,
-          level: 1,
+          level: 2,
           state: 1,
           imageFileId: null
         },
@@ -384,7 +384,7 @@ describe('商品分类树形管理集成测试', () => {
           tenantId: 1,
           name: '智能手机',
           parentId: 2,
-          level: 2,
+          level: 3,
           state: 1,
           imageFileId: null
         },
@@ -393,7 +393,7 @@ describe('商品分类树形管理集成测试', () => {
           tenantId: 1,
           name: '苹果手机',
           parentId: 3,
-          level: 3,
+          level: 4,
           state: 1,
           imageFileId: null
         }

+ 3 - 1
packages/server/src/index.ts

@@ -135,7 +135,7 @@ export const tenantApiRoutes = api.route('/api/v1/tenants', tenantRoutes)
 import { areasRoutesMt, adminAreasRoutesMt } from '@d8d/geo-areas-mt'
 import { PaymentMtRoutes as PaymentRoutes } from '@d8d/mini-payment-mt'
 import { advertisementRoutes, advertisementTypeRoutes } from '@d8d/advertisements-module-mt'
-import { userDeliveryAddressRoutesMt as userDeliveryAddressRoutes } from '@d8d/delivery-address-module-mt'
+import { userDeliveryAddressRoutesMt as userDeliveryAddressRoutes, adminDeliveryAddressRoutesMt as adminDeliveryAddressRoutes } from '@d8d/delivery-address-module-mt'
 import { adminGoodsCategoriesRoutesMt as adminGoodsCategoriesRoutes, adminGoodsRoutesMt as adminGoodsRoutes } from '@d8d/goods-module-mt'
 import { userMerchantRoutes as merchantRoutes } from '@d8d/merchant-module-mt'
 import { userOrderRoutes, userOrderItemsRoutes, userRefundsRoutes } from '@d8d/orders-module-mt'
@@ -149,6 +149,7 @@ export const paymentApiRoutes = api.route('/api/v1/payments', PaymentRoutes)
 export const advertisementApiRoutes = api.route('/api/v1/advertisements', advertisementRoutes)
 export const advertisementTypeApiRoutes = api.route('/api/v1/advertisement-types', advertisementTypeRoutes)
 export const deliveryAddressApiRoutes = api.route('/api/v1/delivery-addresses', userDeliveryAddressRoutes)
+export const adminDeliveryAddressApiRoutes = api.route('/api/v1/admin/delivery-addresses', adminDeliveryAddressRoutes)
 export const goodsCategoryApiRoutes = api.route('/api/v1/goods-categories', adminGoodsCategoriesRoutes)
 export const goodsApiRoutes = api.route('/api/v1/goods', adminGoodsRoutes)
 export const merchantApiRoutes = api.route('/api/v1/merchants', merchantRoutes)
@@ -169,6 +170,7 @@ export type GoodsRoutes = typeof goodsApiRoutes
 export type SupplierRoutes = typeof supplierApiRoutes
 export type MerchantRoutes = typeof merchantApiRoutes
 export type DeliveryAddressRoutes = typeof deliveryAddressApiRoutes
+export type AdminDeliveryAddressRoutes = typeof adminDeliveryAddressApiRoutes
 export type OrderRoutes = typeof orderApiRoutes
 export type OrderGoodsRoutes = typeof orderGoodsApiRoutes
 export type OrderRefundRoutes = typeof orderRefundApiRoutes