From c4b32da54dfde54acdb6a6bdbd34ea50dda00fa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E9=B9=8F?= Date: Tue, 7 Jul 2026 17:51:26 +0800 Subject: [PATCH] chore: seed demo group buy delivery order --- .../com/linhelp/dev/DevDataInitializer.java | 27 ++++++++++++++++--- .../linhelp/dev/DevDataInitializerTests.java | 7 +++++ docs/deploy/local-runbook.md | 2 +- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/com/linhelp/dev/DevDataInitializer.java b/backend/src/main/java/com/linhelp/dev/DevDataInitializer.java index fbe1605..5f8bf15 100644 --- a/backend/src/main/java/com/linhelp/dev/DevDataInitializer.java +++ b/backend/src/main/java/com/linhelp/dev/DevDataInitializer.java @@ -7,6 +7,9 @@ import com.linhelp.common.enums.DeliveryMethod; import com.linhelp.express.ExpressOrderRequest; import com.linhelp.express.ExpressOrderResponse; import com.linhelp.express.ExpressOrderService; +import com.linhelp.groupbuy.GroupBuyOrderRequest; +import com.linhelp.groupbuy.GroupBuyOrderResponse; +import com.linhelp.groupbuy.GroupBuyOrderService; import com.linhelp.groupbuy.GroupBuyRequest; import com.linhelp.groupbuy.GroupBuyResponse; import com.linhelp.groupbuy.GroupBuyService; @@ -51,6 +54,7 @@ public class DevDataInitializer implements ApplicationRunner { private final ProductService productService; private final GroupBuyService groupBuyService; + private final GroupBuyOrderService groupBuyOrderService; private final NoticeService noticeService; private final BannerService bannerService; private final SecondGoodsService secondGoodsService; @@ -62,6 +66,7 @@ public class DevDataInitializer implements ApplicationRunner { public DevDataInitializer(ProductService productService, GroupBuyService groupBuyService, + GroupBuyOrderService groupBuyOrderService, NoticeService noticeService, BannerService bannerService, SecondGoodsService secondGoodsService, @@ -72,6 +77,7 @@ public class DevDataInitializer implements ApplicationRunner { ExpressOrderService expressOrderService) { this.productService = productService; this.groupBuyService = groupBuyService; + this.groupBuyOrderService = groupBuyOrderService; this.noticeService = noticeService; this.bannerService = bannerService; this.secondGoodsService = secondGoodsService; @@ -92,7 +98,8 @@ public class DevDataInitializer implements ApplicationRunner { List categories = seedCategories(); ProductResponse demoProduct = seedProducts(categories); seedDemoDeliveryTasks(address.getId(), demoProduct); - seedGroupBuy(); + GroupBuyResponse groupBuy = seedGroupBuy(); + seedGroupBuyOrder(address.getId(), groupBuy.getId()); seedNotices(); seedBanner(); seedSecondGoods(); @@ -224,7 +231,7 @@ public class DevDataInitializer implements ApplicationRunner { return request; } - private void seedGroupBuy() { + private GroupBuyResponse seedGroupBuy() { GroupBuyRequest request = new GroupBuyRequest(); request.setTenantId(TENANT_ID); request.setCommunityId(COMMUNITY_ID); @@ -238,7 +245,21 @@ public class DevDataInitializer implements ApplicationRunner { request.setEndTime(LocalDateTime.now().plusDays(1)); request.setPickupAddress("小区东门团购点"); GroupBuyResponse groupBuy = groupBuyService.create(request); - groupBuyService.start(groupBuy.getId()); + return groupBuyService.start(groupBuy.getId()); + } + + private void seedGroupBuyOrder(Long addressId, Long groupBuyId) { + GroupBuyOrderRequest request = new GroupBuyOrderRequest(); + request.setTenantId(TENANT_ID); + request.setCommunityId(COMMUNITY_ID); + request.setGroupBuyId(groupBuyId); + request.setAddressId(addressId); + request.setQuantity(2); + request.setDeliveryMethod(DeliveryMethod.IMMEDIATE); + request.setRemark("Demo:团购送货上门"); + GroupBuyOrderResponse order = groupBuyOrderService.create(RESIDENT_USER_ID, request); + groupBuyOrderService.confirm(order.getId()); + groupBuyOrderService.markReady(order.getId()); } private void seedNotices() { diff --git a/backend/src/test/java/com/linhelp/dev/DevDataInitializerTests.java b/backend/src/test/java/com/linhelp/dev/DevDataInitializerTests.java index 78cab15..a28273c 100644 --- a/backend/src/test/java/com/linhelp/dev/DevDataInitializerTests.java +++ b/backend/src/test/java/com/linhelp/dev/DevDataInitializerTests.java @@ -2,6 +2,8 @@ package com.linhelp.dev; import com.linhelp.delivery.DeliveryUserService; import com.linhelp.delivery.DeliveryAssignmentService; +import com.linhelp.common.enums.GroupBuyOrderStatus; +import com.linhelp.groupbuy.GroupBuyOrderService; import com.linhelp.groupbuy.GroupBuyService; import com.linhelp.notice.BannerService; import com.linhelp.notice.NoticeService; @@ -23,6 +25,8 @@ class DevDataInitializerTests { @Autowired private GroupBuyService groupBuyService; @Autowired + private GroupBuyOrderService groupBuyOrderService; + @Autowired private NoticeService noticeService; @Autowired private BannerService bannerService; @@ -38,6 +42,9 @@ class DevDataInitializerTests { assertThat(productService.listCategories(1L, true)).hasSize(6); assertThat(productService.listMini(1L, null)).hasSizeGreaterThanOrEqualTo(10); assertThat(groupBuyService.listMini(1L)).hasSize(1); + assertThat(groupBuyOrderService.listByGroupBuy(groupBuyService.listMini(1L).get(0).getId())) + .extracting("status") + .containsExactly(GroupBuyOrderStatus.PENDING_DELIVERY); assertThat(noticeService.listPublished(1L)).hasSize(2); assertThat(bannerService.listEnabled(1L)).hasSize(1); assertThat(secondGoodsService.listPublic(1L, null)).hasSize(1); diff --git a/docs/deploy/local-runbook.md b/docs/deploy/local-runbook.md index 88daa37..10f3182 100644 --- a/docs/deploy/local-runbook.md +++ b/docs/deploy/local-runbook.md @@ -50,7 +50,7 @@ Demo profile URL: Backend API: http://localhost:18080 ``` -The demo profile starts without MySQL and seeds product, notice, group-buy, secondhand, one goods delivery task, and one express pickup task in memory. +The demo profile starts without MySQL and seeds product, notice, group-buy, a pending group-buy delivery order, secondhand, one goods delivery task, and one express pickup task in memory. Demo accounts: