From 43a18c95d8191f03cbf68a6abfddf6b4d0b7e8b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B2=B3=E5=B9=B3?= <14767849+liuehping@user.noreply.gitee.com> Date: Tue, 26 Nov 2024 14:35:11 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat():=E8=90=A5=E9=94=80=E5=9B=A2=E8=B4=AD?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E7=9A=84=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/ActivityTeamInfoAddModel.java | 26 +++++++++++++++++++ .../model/ActivityTeamProductSkuAddModel.java | 12 +++++++++ .../domain/req/ActivityTeamInfoSaveReq.java | 2 ++ .../controller/ActivityTeamController.java | 11 ++++++++ .../impl/ActivityTeamInfoServiceImpl.java | 2 ++ 5 files changed, 53 insertions(+) diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoAddModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoAddModel.java index 40b2def..05bc89c 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoAddModel.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoAddModel.java @@ -2,6 +2,7 @@ package com.muyu.marketing.domain.model; import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq; import com.muyu.marketing.domain.req.ProjectSkuInfoAddReq; import lombok.AllArgsConstructor; import lombok.Builder; @@ -78,4 +79,29 @@ public class ActivityTeamInfoAddModel { * 策略ID */ private Long strategyId; + + public static ActivityTeamInfoAddModel addBuild(ActivityTeamInfoSaveReq activityTeamInfoSaveReq) { + return ActivityTeamInfoAddModel.builder() + .name(activityTeamInfoSaveReq.getName()) + .productId(activityTeamInfoSaveReq.getProductId()) + .productImage(activityTeamInfoSaveReq.getProductImage()) + .introduction(activityTeamInfoSaveReq.getIntroduction()) + .unit(activityTeamInfoSaveReq.getUnit()) + .imageList(activityTeamInfoSaveReq.getImageList()) + .endTime(activityTeamInfoSaveReq.getEndTime()) + .sort(activityTeamInfoSaveReq.getSort()) + .content(activityTeamInfoSaveReq.getContent()) + .status(activityTeamInfoSaveReq.getStatus()) + .strategyType(activityTeamInfoSaveReq.getStrategyType()) + .strategyId(activityTeamInfoSaveReq.getStrategyId()) + .activityTeamProductSkuAddModelList( + activityTeamInfoSaveReq.getProjectSkuInfoAddReqList() + .stream().map(addReq -> ActivityTeamProductSkuAddModel.addReqBuild(addReq,activityTeamInfoSaveReq::getProductId)) + .toList() + ).build(); + } + + + + } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java index 62195d0..9c04861 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java @@ -1,12 +1,15 @@ package com.muyu.marketing.domain.model; +import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; +import com.muyu.marketing.domain.req.ProjectSkuInfoAddReq; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.math.BigDecimal; +import java.util.function.Supplier; /** * 团购spu库存添加模型 @@ -44,4 +47,13 @@ public class ActivityTeamProductSkuAddModel { * 拼团库存 */ private Long teamStock; + + public static ActivityTeamProductSkuAddModel addReqBuild(ProjectSkuInfoAddReq projectSkuInfoAddReq, Supplier getProductId) { + return ActivityTeamProductSkuAddModel.builder() + .productId(getProductId.get()) + .sku(projectSkuInfoAddReq.getSku()) + .teamStock(projectSkuInfoAddReq.getTeamStock()) + .teamPrice(projectSkuInfoAddReq.getTeamPrice()) + .build(); + } } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoSaveReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoSaveReq.java index 24afced..59660df 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoSaveReq.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoSaveReq.java @@ -72,4 +72,6 @@ public class ActivityTeamInfoSaveReq extends BaseEntity { * 策略ID */ private Long strategyId; + + } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java index 4694815..c6fa9f0 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java @@ -3,7 +3,9 @@ package com.muyu.marketing.team.controller; import com.muyu.common.core.domain.Result; import com.muyu.common.core.web.page.TableDataInfo; +import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; +import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq; import com.muyu.marketing.domain.req.TeamInfoListReq; import com.muyu.marketing.domain.resp.TeamInfoListResp; import com.muyu.marketing.team.service.ActivityTeamInfoService; @@ -44,4 +46,13 @@ public class ActivityTeamController { }} ); } + + /** + * 添加营销团购活动 + */ + @PostMapping("insert") + public Result insert(@RequestBody ActivityTeamInfoSaveReq activityTeamInfoSaveReq) { + activityTeamInfoService.save(ActivityTeamInfoAddModel.addBuild(activityTeamInfoSaveReq)); + return Result.success(); + } } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java index e4e9313..61b7cf8 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java @@ -85,4 +85,6 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl Date: Wed, 27 Nov 2024 10:41:04 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat():=E8=90=A5=E9=94=80=E5=9B=A2=E8=B4=AD?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E7=9A=84=E6=B7=BB=E5=8A=A0=E5=92=8C=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E7=9A=84=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/团购查询单条数据结构.java | 24 ++++++ .../marketing/domain/ActivityTeamInfo.java | 8 +- .../domain/ActivityTeamProductSkuInfo.java | 6 +- .../model/ActivityProductSkuListModel.java | 41 ++++++++++ .../model/ActivityTeamInfoAddModel.java | 5 +- .../model/ActivityTeamProductSkuAddModel.java | 5 +- .../model/TeamProductDiscountPriceModel.java | 2 +- .../domain/req/ActivityTeamInfoSaveReq.java | 3 +- .../domain/req/ProjectSkuInfoAddReq.java | 1 + .../marketing/domain/req/TeamInfoListReq.java | 3 +- .../resp/ActivityTeamInfoDetailResp.java | 81 +++++++++++++++++++ .../resp/ActivityTeamProductSkuResp.java | 33 ++++++++ .../controller/ActivityTeamController.java | 15 +++- .../ActivityTeamProductSkuController.java | 28 +++++++ .../team/service/ActivityTeamInfoService.java | 8 ++ .../ActivityTeamProductSkuInfoService.java | 6 +- .../impl/ActivityTeamInfoServiceImpl.java | 52 +++++++++++- ...ActivityTeamProductSkuInfoServiceImpl.java | 59 ++++++++++++-- .../src/main/resources/bootstrap.yml | 6 +- 19 files changed, 353 insertions(+), 33 deletions(-) create mode 100644 doc/团购查询单条数据结构.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityProductSkuListModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoDetailResp.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamProductSkuResp.java create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamProductSkuController.java diff --git a/doc/团购查询单条数据结构.java b/doc/团购查询单条数据结构.java new file mode 100644 index 0000000..06291ea --- /dev/null +++ b/doc/团购查询单条数据结构.java @@ -0,0 +1,24 @@ +{ + "团购活动id":"Long" + "商品ID":"Long", + "活动名称":"String", + "活动简介":"String", + "商品图片":"String", + "商品单位":"String", + "商品的轮播图":[ + "String","String" + ], + "活动时间":"date", + "策略类型":"String", + "策略ID":"Long", + "商品规格List":[ + { + "规格id":"Long", + "规格SKU":"String", + "拼团价格":"BigDecimal", + "拼团库存":"Long" + } + ], + "排序":"Integer", + "详情":"String" + } \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java index e94e0db..185dc0b 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java @@ -22,7 +22,7 @@ public class ActivityTeamInfo extends BaseEntity { * 主键 */ @TableId(value = "id", type = IdType.AUTO) - private long id; + private Long id; /** * 拼团名称 */ @@ -30,7 +30,7 @@ public class ActivityTeamInfo extends BaseEntity { /** * 商品ID */ - private long productId; + private Long productId; /** * 商品活动图 */ @@ -54,7 +54,7 @@ public class ActivityTeamInfo extends BaseEntity { /** * 活动排序 */ - private long sort; + private Long sort; /** * 活动详情 */ @@ -70,7 +70,7 @@ public class ActivityTeamInfo extends BaseEntity { /** * 策略ID */ - private long strategyId; + private Long strategyId; /** * 公共添加模型,转换成添加对象 diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java index 43521d0..bbff0a9 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java @@ -22,11 +22,11 @@ public class ActivityTeamProductSkuInfo extends BaseEntity { * 主键 */ @TableId(value = "id", type = IdType.AUTO) - private long id; + private Long id; /** * 活动ID */ - private long teamId; + private Long teamId; /** * 商品ID */ @@ -60,6 +60,6 @@ public class ActivityTeamProductSkuInfo extends BaseEntity { .teamStock(activityTeamProductSkuAddModel.getTeamStock()) .remainStock(activityTeamProductSkuAddModel.getTeamStock()) .teamPrice(activityTeamProductSkuAddModel.getTeamPrice()) - .build() + .build(); } } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityProductSkuListModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityProductSkuListModel.java new file mode 100644 index 0000000..84f8498 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityProductSkuListModel.java @@ -0,0 +1,41 @@ +package com.muyu.marketing.domain.model; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ActivityProductSkuListModel { + /** + * 活动id + */ + private Long id; + /** + * 规格id + */ + private Long skuId; + /** + * 商品id + */ + private Long productId; + /** + * 规格SKU + */ + private String sku; + + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + + /** + * 拼团库存 + */ + private Long teamStock; +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoAddModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoAddModel.java index 05bc89c..f80538f 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoAddModel.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoAddModel.java @@ -23,7 +23,6 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor public class ActivityTeamInfoAddModel { - /** * 拼团名称 */ @@ -43,12 +42,10 @@ public class ActivityTeamInfoAddModel { /** * 单位 */ - private String unit; /** * 轮播图 */ - private String imageList; /** * 活动结束时间 @@ -58,7 +55,7 @@ public class ActivityTeamInfoAddModel { /** * 活动排序 */ - private Integer sort; + private Long sort; /** * 商品SkU集合 */ diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java index 9c04861..d42f4ef 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java @@ -36,7 +36,7 @@ public class ActivityTeamProductSkuAddModel { /** * 规格SKU */ - private String sku; + private String productSku; /** * 拼团价格 @@ -50,8 +50,9 @@ public class ActivityTeamProductSkuAddModel { public static ActivityTeamProductSkuAddModel addReqBuild(ProjectSkuInfoAddReq projectSkuInfoAddReq, Supplier getProductId) { return ActivityTeamProductSkuAddModel.builder() + .teamId(projectSkuInfoAddReq.getId()) .productId(getProductId.get()) - .sku(projectSkuInfoAddReq.getSku()) + .productSku(projectSkuInfoAddReq.getSku()) .teamStock(projectSkuInfoAddReq.getTeamStock()) .teamPrice(projectSkuInfoAddReq.getTeamPrice()) .build(); diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamProductDiscountPriceModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamProductDiscountPriceModel.java index 61f9d08..e7a98a2 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamProductDiscountPriceModel.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamProductDiscountPriceModel.java @@ -44,7 +44,7 @@ public class TeamProductDiscountPriceModel { * @return 优惠力度 */ public static TeamProductDiscountPriceModel of(BigDecimal productPrice, BigDecimal teamPrice) { - TeamProductDiscountPriceModel.builder() + return TeamProductDiscountPriceModel.builder() .productPrice(productPrice) .teamPrice(teamPrice) .discount( diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoSaveReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoSaveReq.java index 59660df..c0ca84d 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoSaveReq.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoSaveReq.java @@ -36,7 +36,6 @@ public class ActivityTeamInfoSaveReq extends BaseEntity { /** * 单位 */ - private String unit; /** * 轮播图 @@ -51,7 +50,7 @@ public class ActivityTeamInfoSaveReq extends BaseEntity { /** * 活动排序 */ - private Integer sort; + private Long sort; /** * 商品SkU集合 */ diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ProjectSkuInfoAddReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ProjectSkuInfoAddReq.java index 0a7c56d..fe65df7 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ProjectSkuInfoAddReq.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ProjectSkuInfoAddReq.java @@ -16,6 +16,7 @@ import java.math.BigDecimal; @AllArgsConstructor @NoArgsConstructor public class ProjectSkuInfoAddReq { + private Long id; /** * 规格SKU diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamInfoListReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamInfoListReq.java index fcfc308..4dab2b5 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamInfoListReq.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamInfoListReq.java @@ -3,9 +3,10 @@ package com.muyu.marketing.domain.req; import com.muyu.common.core.web.page.PageDomain; import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel; import lombok.*; +import lombok.experimental.SuperBuilder; @Data -@Builder +@SuperBuilder @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoDetailResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoDetailResp.java new file mode 100644 index 0000000..5bac782 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoDetailResp.java @@ -0,0 +1,81 @@ +package com.muyu.marketing.domain.resp; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + +/** + * 修改回显的团购活动信息 + * + * @author DongZeLiang + * @date 2024-11-26 09:38 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamInfoDetailResp { + /** + * 活动id + */ + private Long id; + /** + * 拼团名称 + */ + private String name; + /** + * 商品ID + */ + private Long productId; + /** + * 商品活动图 + */ + private String productImage; + /** + * 活动简介 + */ + private String introduction; + /** + * 单位 + */ + private String unit; + /** + * 轮播图 + */ + private String imageList; + /** + * 活动结束时间 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd") + private Date endTime; + /** + * 活动排序 + */ + private Integer sort; + /** + * 商品SkU集合 + */ + private List ActivityTeamProductSkuList; + /** + * 活动详情 + */ + private String content; + /** + * 活动状态 + */ + private String status; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private Long strategyId; +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamProductSkuResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamProductSkuResp.java new file mode 100644 index 0000000..83892fd --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamProductSkuResp.java @@ -0,0 +1,33 @@ +package com.muyu.marketing.domain.resp; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamProductSkuResp { + /** + * 规格id + */ + private Long id; + + /** + * 规格SKU + */ + private String sku; + + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + + /** + * 拼团库存 + */ + private Long teamStock; +} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java index c6fa9f0..7705ad6 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java @@ -7,13 +7,11 @@ import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq; import com.muyu.marketing.domain.req.TeamInfoListReq; +import com.muyu.marketing.domain.resp.ActivityTeamInfoDetailResp; import com.muyu.marketing.domain.resp.TeamInfoListResp; import com.muyu.marketing.team.service.ActivityTeamInfoService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -55,4 +53,13 @@ public class ActivityTeamController { activityTeamInfoService.save(ActivityTeamInfoAddModel.addBuild(activityTeamInfoSaveReq)); return Result.success(); } + + + /** + * 获取营销团购活动信息 + */ + @GetMapping("getById/{teamId}") + public Result getTeamInfo(@PathVariable Long teamId){ + return Result.success(activityTeamInfoService.getActivityByTeamId(teamId)); + } } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamProductSkuController.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamProductSkuController.java new file mode 100644 index 0000000..ebc917e --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamProductSkuController.java @@ -0,0 +1,28 @@ +package com.muyu.marketing.team.controller; + +import com.muyu.common.core.domain.Result; +import com.muyu.marketing.domain.model.ActivityProductSkuListModel; +import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("sku") +public class ActivityTeamProductSkuController { + + @Autowired + private ActivityTeamProductSkuInfoService activityTeamProductSkuInfoService; + + /** + * 回显 + */ + @GetMapping("getById/{teamId}") + public Result> getById(@PathVariable Long teamId){ + return Result.success(activityTeamProductSkuInfoService.getTeamProductSkuInfoListByTeamId(teamId)); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java index 21d9f00..1dc4c0a 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java @@ -6,6 +6,7 @@ import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel; +import com.muyu.marketing.domain.resp.ActivityTeamInfoDetailResp; import java.util.List; @@ -24,4 +25,11 @@ public interface ActivityTeamInfoService extends IService { * @param activityTeamInfoAddModel 团购添加模型 */ public void save(ActivityTeamInfoAddModel activityTeamInfoAddModel); + + /** + * 通过id查询团购活动详情 + */ + ActivityTeamInfoDetailResp getActivityByTeamId(Long teamId); + + } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamProductSkuInfoService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamProductSkuInfoService.java index 6a5d6dd..3edfbcd 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamProductSkuInfoService.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamProductSkuInfoService.java @@ -3,7 +3,7 @@ package com.muyu.marketing.team.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; -import com.muyu.marketing.domain.TeamStrategyExemptionHundred; +import com.muyu.marketing.domain.model.ActivityProductSkuListModel; import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; import com.muyu.marketing.domain.model.TeamProductStockModel; @@ -41,4 +41,8 @@ public interface ActivityTeamProductSkuInfoService extends IService activityTeamProductSkuAddModelList); + /** + * 通过活动id查询活动商品规格信息 + */ + public List getTeamProductSkuInfoListByTeamId(Long teamId); } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java index 61b7cf8..383c874 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java @@ -6,14 +6,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.common.core.exception.ServiceException; import com.muyu.common.core.utils.StringUtils; +import com.muyu.common.core.utils.bean.BeanUtils; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.marketing.domain.ActivityTeamInfo; +import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; import com.muyu.marketing.domain.model.*; +import com.muyu.marketing.domain.resp.ActivityTeamInfoDetailResp; +import com.muyu.marketing.domain.resp.ActivityTeamProductSkuResp; import com.muyu.marketing.team.mapper.ActivityTeamInfoMapper; import com.muyu.marketing.team.service.ActivityTeamInfoService; import com.muyu.marketing.team.service.ActivityTeamOpenInfoService; import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -23,13 +28,16 @@ import java.util.function.Consumer; @Service public class ActivityTeamInfoServiceImpl extends ServiceImpl - implements ActivityTeamInfoService { + implements ActivityTeamInfoService { @Autowired private ActivityTeamOpenInfoService activityTeamOpenInfoService; @Autowired private ActivityTeamProductSkuInfoService activityTeamProductSkuInfoService; +// @Autowired +// private ActivityTeamInfoMapper activityTeamInfoMapper; + @Override public TableDataInfo query(ActivityTeamInfoListQueryModel activityTeamInfoListQueryModel) { @@ -85,6 +93,44 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl activityTeamProductSkuList = activityTeamInfoDetailResp.getActivityTeamProductSkuList(); + //根据活动id查询活动商品SKU集合 + List teamProductSkuInfoList = activityTeamProductSkuInfoService.getTeamProductSkuInfoListByTeamId(teamId); + if (teamProductSkuInfoList != null) { + //定义一个空集合 + ArrayList activityProductSkuList = new ArrayList<>(); + for (ActivityProductSkuListModel activityProductSkuListModel : teamProductSkuInfoList) { + Long id = activityProductSkuListModel.getId(); + //根据id查询 + ActivityTeamProductSkuInfo activityTeamProductSkuInfo = activityTeamProductSkuInfoService.getById(id); + //添加到集合中 + activityProductSkuList.add( + ActivityTeamProductSkuResp.builder() + .id(activityTeamProductSkuInfo.getId()) + .sku(activityTeamProductSkuInfo.getProductSku()) + .teamPrice(activityTeamProductSkuInfo.getTeamPrice()) + .teamStock(activityTeamProductSkuInfo.getTeamStock()) + .build() + ); + } + + activityTeamInfoDetailResp.setActivityTeamProductSkuList(activityProductSkuList); + BeanUtils.copyBeanProp(activityTeamInfoDetailResp, activityTeamInfo); + } + return activityTeamInfoDetailResp; + } + } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamProductSkuInfoServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamProductSkuInfoServiceImpl.java index 6e87518..d14a706 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamProductSkuInfoServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamProductSkuInfoServiceImpl.java @@ -1,32 +1,35 @@ package com.muyu.marketing.team.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.common.core.exception.ServiceException; import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; +import com.muyu.marketing.domain.model.ActivityProductSkuListModel; import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; import com.muyu.marketing.domain.model.TeamProductStockModel; +import com.muyu.marketing.domain.resp.ActivityTeamInfoDetailResp; +import com.muyu.marketing.domain.resp.ActivityTeamProductSkuResp; import com.muyu.marketing.team.mapper.ActivityTeamProductSkuInfoMapper; +import com.muyu.marketing.team.service.ActivityTeamInfoService; import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService; import com.muyu.product.cache.ProjectSkuCache; import com.muyu.product.domain.ProjectSkuInfo; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; -import java.math.BigDecimal; -import java.math.RoundingMode; import java.util.ArrayList; -import java.util.Comparator; import java.util.List; import java.util.Optional; @Service public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl - implements ActivityTeamProductSkuInfoService { + implements ActivityTeamProductSkuInfoService { @Autowired private ProjectSkuCache projectSkuCache; + @Autowired + private @Lazy ActivityTeamInfoService activityTeamInfoService; /** * 通过团购活动ID获取团购中最优惠的价格 @@ -45,7 +48,7 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl Double.valueOf(o1.getDiscount() * 100 - o2.getDiscount() * 100).intValue()); - if (discountPriceModelOptional.isEmpty()){ + if (discountPriceModelOptional.isEmpty()) { throw new ServiceException("团购活动下没有商品绑定"); } return discountPriceModelOptional.get(); @@ -80,4 +83,48 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl getTeamProductSkuInfoListByTeamId(Long teamId) { + //根据活动id查询团购商品SKU集合 + List activityTeamProductSkuList = this.getActivityTeamProductSkuInfoByTeamId(teamId); + ArrayList activityProductSkuList = new ArrayList<>(); + for (ActivityTeamProductSkuInfo activityTeamProductSkuInfo : activityTeamProductSkuList) { + activityProductSkuList.add(ActivityProductSkuListModel.builder() + .id(activityTeamProductSkuInfo.getId()) + .productId(activityTeamProductSkuInfo.getProductId()) + .sku(activityTeamProductSkuInfo.getProductSku()) + .teamPrice(activityTeamProductSkuInfo.getTeamPrice()) + .teamStock(activityTeamProductSkuInfo.getTeamStock()) + .build()); + } + return activityProductSkuList; +// //根据活动id查询活动相关信息 +// ActivityTeamInfoDetailResp activityTeamInfoDetailResp=activityTeamInfoService.getActivityByTeamId(teamId); +// //获取到活动商品SKU集合 +// List activityTeamProductSkuList = activityTeamInfoDetailResp.getActivityTeamProductSkuList(); +// //定义一个空集合 +// ArrayList activityProductSkuList = new ArrayList<>(); +// //遍历SKU集合 +// for (ActivityTeamProductSkuResp activityTeamProductSkuResp : activityTeamProductSkuList) { +// //获取到SKU的id +// Long id = activityTeamProductSkuResp.getId(); +// //根据id查询 +// ActivityTeamProductSkuInfo activityTeamProductSkuInfo = this.getById(id); +// //添加到集合中 +// activityProductSkuList.add(ActivityProductSkuListModel.builder() +// .productId(activityTeamProductSkuInfo.getProductId()) +// .sku(activityTeamProductSkuInfo.getProductSku()) +// .teamPrice(activityTeamProductSkuInfo.getTeamPrice()) +// .teamStock(activityTeamProductSkuInfo.getTeamStock()) +// .build()); +// } +// return activityProductSkuList; + } } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml index 78b5a7b..bd3ba93 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml @@ -14,10 +14,12 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 113.44.45.42:8848 + namespace: e6fc646f-719d-4642-9228-b68fb4ed42aa config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 113.44.45.42:8848 + namespace: e6fc646f-719d-4642-9228-b68fb4ed42aa # 配置文件格式 file-extension: yml # 共享配置