From 2eb81a550105624d0b884f9867f1416e4c977ff3 Mon Sep 17 00:00:00 2001 From: yangchaoshun <2919058172@qq.com> Date: Tue, 26 Nov 2024 23:47:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=BC=E5=9B=A2=E5=95=86=E5=93=81=E5=9B=9E?= =?UTF-8?q?=E6=98=BE=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/团购回显数据结构 | 24 +++++ .../marketing/domain/ActivityTeamInfo.java | 2 +- .../domain/ActivityTeamProductSkuInfo.java | 2 +- .../model/ActivityTeamInfoDetailModel.java | 85 ++++++++++++++++ .../model/ActivityTeamInfoUpdModel.java | 75 ++++++++++++++ .../model/ActivityTeamProductSkuAddModel.java | 4 +- .../ActivityTeamProductSkuInfoListModel.java | 60 ++++++++++++ .../model/ActivityTeamProductSkuUpdModel.java | 17 ++++ .../domain/req/ActivityTeamInfoUpdReq.java | 75 ++++++++++++++ .../domain/resp/TeamInfoDetailResp.java | 98 +++++++++++++++++++ .../domain/resp/TeamProjectSkuInfoResp.java | 47 +++++++++ .../controller/ActivityTeamController.java | 47 +++++++-- .../team/service/ActivityTeamInfoService.java | 6 ++ .../ActivityTeamProductSkuInfoService.java | 9 ++ .../impl/ActivityTeamInfoServiceImpl.java | 8 ++ ...ActivityTeamProductSkuInfoServiceImpl.java | 16 +++ 16 files changed, 564 insertions(+), 11 deletions(-) create mode 100644 doc/团购回显数据结构 create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoDetailModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoUpdModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuInfoListModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuUpdModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoUpdReq.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamInfoDetailResp.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuInfoResp.java diff --git a/doc/团购回显数据结构 b/doc/团购回显数据结构 new file mode 100644 index 0000000..07385cf --- /dev/null +++ b/doc/团购回显数据结构 @@ -0,0 +1,24 @@ +{ + 商品id:Long + 商品图片:String + "活动名称": "String", + 商品详情:String + 商品单位:String + 商品轮播图:[] + 商品价格:BigDecimal + "活动时间": "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..7e1b7ab 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 @@ -54,7 +54,7 @@ public class ActivityTeamInfo extends BaseEntity { /** * 活动排序 */ - private long sort; + private Integer sort; /** * 活动详情 */ 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..b663274 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 @@ -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/ActivityTeamInfoDetailModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoDetailModel.java new file mode 100644 index 0000000..0ce50ef --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoDetailModel.java @@ -0,0 +1,85 @@ +package com.muyu.marketing.domain.model; + +import com.muyu.marketing.domain.ActivityTeamInfo; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import java.util.Date; +/** + * 拼团活动详情模型 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamInfoDetailModel { + private long id; + /** + * 拼团名称 + */ + private String name; + /** + * 商品ID + */ + private long productId; + /** + * 商品活动图 + */ + private String productImage; + /** + * 活动简介 + */ + private String introduction; + /** + * 单位 + */ + private String unit; + /** + * 轮播图 + */ + private String imageList; + /** + * 活动结束时间 + */ + private Date endTime; + /** + * 活动排序 + */ + private Integer sort; + /** + * 活动详情 + */ + private String content; + /** + * 活动状态 + */ + private String status; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private long strategyId; + + public static ActivityTeamInfoDetailModel activityTeamInfoDetailModel(ActivityTeamInfo activityTeamInfo){ + return ActivityTeamInfoDetailModel.builder() + .id(activityTeamInfo.getId()) + .name(activityTeamInfo.getName()) + .productId(activityTeamInfo.getProductId()) + .productImage(activityTeamInfo.getProductImage()) + .introduction(activityTeamInfo.getIntroduction()) + .unit(activityTeamInfo.getUnit()) + .imageList(activityTeamInfo.getImageList()) + .endTime(activityTeamInfo.getEndTime()) + .sort(activityTeamInfo.getSort()) + .content(activityTeamInfo.getContent()) + .status(activityTeamInfo.getStatus()) + .strategyType(activityTeamInfo.getStrategyType()) + .strategyId(activityTeamInfo.getStrategyId()) + .build(); + } + +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoUpdModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoUpdModel.java new file mode 100644 index 0000000..f9bf34a --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoUpdModel.java @@ -0,0 +1,75 @@ +package com.muyu.marketing.domain.model; + +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; + +/** + * 拼团活动修改模型 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamInfoUpdModel { + /** + * 拼团名称 + */ + 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 activityTeamProductSkuUpdModelList; + /** + * 活动详情 + */ + 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/model/ActivityTeamProductSkuAddModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java index 7d3ca35..03e3891 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; /** * 拼团价格 @@ -51,7 +51,7 @@ public class ActivityTeamProductSkuAddModel { public static ActivityTeamProductSkuAddModel addReqBuild(TeamProjectSkuInfoAddReq teamProjectSkuInfoAddReq, Supplier productId){ return ActivityTeamProductSkuAddModel.builder() .productId(productId.get()) - .sku(teamProjectSkuInfoAddReq.getSku()) + .productSku(teamProjectSkuInfoAddReq.getSku()) .teamStock(teamProjectSkuInfoAddReq.getTeamStock()) .teamPrice(teamProjectSkuInfoAddReq.getTeamPrice()) .build(); diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuInfoListModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuInfoListModel.java new file mode 100644 index 0000000..75c73e4 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuInfoListModel.java @@ -0,0 +1,60 @@ +package com.muyu.marketing.domain.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * 商品活动规格集合模型 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamProductSkuInfoListModel { + /** + * 主键 + */ + private long id; + /** + * 活动ID + */ + private long teamId; + /** + * 商品ID + */ + private Long productId; + /** + * 商品SKU + */ + private String productSku; + /** + * 拼团库存 + */ + private Long teamStock; + /** + * 剩余库存 + */ + private Long remainStock; + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + + public static ActivityTeamProductSkuInfoListModel infoListModel(ActivityTeamProductSkuInfo activityTeamProductSkuInfo){ + return ActivityTeamProductSkuInfoListModel.builder() + .id(activityTeamProductSkuInfo.getId()) + .teamId(activityTeamProductSkuInfo.getTeamId()) + .productId(activityTeamProductSkuInfo.getProductId()) + .teamStock(activityTeamProductSkuInfo.getTeamStock()) + .productSku(activityTeamProductSkuInfo.getProductSku()) + .teamPrice(activityTeamProductSkuInfo.getTeamPrice()) + .build(); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuUpdModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuUpdModel.java new file mode 100644 index 0000000..a5395a6 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuUpdModel.java @@ -0,0 +1,17 @@ +package com.muyu.marketing.domain.model; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 拼团活动规格修改 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamProductSkuUpdModel { + private String productSku; +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoUpdReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoUpdReq.java new file mode 100644 index 0000000..1693fe3 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoUpdReq.java @@ -0,0 +1,75 @@ +package com.muyu.marketing.domain.req; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; +import java.util.List; + +/** + * 修改拼团活动详情 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamInfoUpdReq { + /** + * 拼团名称 + */ + 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 teamProjectSkuInfoAddReqList; + /** + * 活动详情 + */ + 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/TeamInfoDetailResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamInfoDetailResp.java new file mode 100644 index 0000000..afbb6c5 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamInfoDetailResp.java @@ -0,0 +1,98 @@ +package com.muyu.marketing.domain.resp; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.marketing.domain.model.ActivityTeamInfoDetailModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.cglib.core.internal.Function; + +import java.util.Date; +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TeamInfoDetailResp { + /** + * 活动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 teamProjectSkuInfoResp; + /** + * 活动详情 + */ + private String content; + /** + * 活动状态 + */ + private String status; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private Long strategyId; + + public static TeamInfoDetailResp teamInfoDetailResp(ActivityTeamInfoDetailModel activityTeamInfoDetailModel, Function> teamProjectSkuInfoResp){ + return TeamInfoDetailResp.builder() + .id(activityTeamInfoDetailModel.getId()) + .name(activityTeamInfoDetailModel.getName()) + .productId(activityTeamInfoDetailModel.getProductId()) + .productImage(activityTeamInfoDetailModel.getProductImage()) + .introduction(activityTeamInfoDetailModel.getIntroduction()) + .unit(activityTeamInfoDetailModel.getUnit()) + .imageList(activityTeamInfoDetailModel.getImageList()) + .endTime(activityTeamInfoDetailModel.getEndTime()) + .sort(activityTeamInfoDetailModel.getSort()) + .content(activityTeamInfoDetailModel.getContent()) + .status(activityTeamInfoDetailModel.getStatus()) + .strategyType(activityTeamInfoDetailModel.getStrategyType()) + .strategyId(activityTeamInfoDetailModel.getStrategyId()) + .teamProjectSkuInfoResp(teamProjectSkuInfoResp.apply(activityTeamInfoDetailModel.getId())) + .build(); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuInfoResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuInfoResp.java new file mode 100644 index 0000000..52274c3 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuInfoResp.java @@ -0,0 +1,47 @@ +package com.muyu.marketing.domain.resp; + +import com.muyu.marketing.domain.model.ActivityTeamProductSkuInfoListModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TeamProjectSkuInfoResp { + /** + * 规格Id + */ + private Long productSkuId; + /** + * 规格SKU + */ + private String productSku; + + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + + /** + * 拼团库存 + */ + private Long teamStock; + + public static List teamProjectSkuInfoResp(List activityTeamProductSkuInfoListModel){ + return activityTeamProductSkuInfoListModel.stream().map(teamProductSkuInfoListModel ->{ + TeamProjectSkuInfoResp skuInfoResp = TeamProjectSkuInfoResp.builder() + .productSkuId(teamProductSkuInfoListModel.getProductId()) + .productSku(teamProductSkuInfoListModel.getProductSku()) + .teamPrice(teamProductSkuInfoListModel.getTeamPrice()) + .teamStock(teamProductSkuInfoListModel.getTeamStock()) + .build(); + return skuInfoResp; + }).toList(); + } +} 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 342b35d..d25556a 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 @@ -4,16 +4,20 @@ 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.ActivityTeamInfoDetailModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuInfoListModel; import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq; +import com.muyu.marketing.domain.req.ActivityTeamInfoUpdReq; import com.muyu.marketing.domain.req.TeamInfoListReq; +import com.muyu.marketing.domain.resp.TeamInfoDetailResp; import com.muyu.marketing.domain.resp.TeamInfoListResp; +import com.muyu.marketing.domain.resp.TeamProjectSkuInfoResp; import com.muyu.marketing.team.service.ActivityTeamInfoService; +import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService; 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.cglib.core.internal.Function; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -28,10 +32,15 @@ import java.util.List; public class ActivityTeamController { @Autowired - private ActivityTeamInfoService activityTeamInfoService;; + private ActivityTeamInfoService activityTeamInfoService; + + @Autowired + private ActivityTeamProductSkuInfoService activityTeamProductSkuInfoService; + ; /** * 查询营销团购活动列表 + * * @param teamInfoListReq 活动查询入参 * @return 活动响应结果 */ @@ -40,7 +49,7 @@ public class ActivityTeamController { TableDataInfo tableDataInfo = activityTeamInfoService.query(teamInfoListReq.buildQueryModel()); List respList = tableDataInfo.getRows().stream().map(TeamInfoListResp::listModelBuild).toList(); return Result.success( - new TableDataInfo<>(){{ + new TableDataInfo<>() {{ setRows(respList); setTotal(tableDataInfo.getTotal()); }} @@ -50,12 +59,36 @@ public class ActivityTeamController { /** * 添加团购活动 + * * @param activityTeamInfoSaveReq 添加请求对象 * @return 结果集 */ - @PostMapping + @PostMapping("/add") public Result save(@RequestBody ActivityTeamInfoSaveReq activityTeamInfoSaveReq) { activityTeamInfoService.save(ActivityTeamInfoAddModel.addReqBuild(activityTeamInfoSaveReq)); return Result.success(); } + + + /** + * 商品拼团活动详情 + */ + @GetMapping("findById") + public Result findById(@RequestParam("id")Long id){ + ActivityTeamInfoDetailModel teamInfo = activityTeamInfoService.findById(id); + TeamInfoDetailResp teamInfoDetailResp = TeamInfoDetailResp.teamInfoDetailResp( + teamInfo, + teamId -> TeamProjectSkuInfoResp.teamProjectSkuInfoResp(activityTeamProductSkuInfoService.findByTeamId(teamId)) + ); + return Result.success(teamInfoDetailResp); + } + + /** + * 修改商品拼团活动详情 + */ + @PutMapping("update") + public Result upd(@RequestBody ActivityTeamInfoUpdReq activityTeamInfoUpdReq){ + return Result.success(); + } + } 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..cb7551b 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 @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; +import com.muyu.marketing.domain.model.ActivityTeamInfoDetailModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel; @@ -24,4 +25,9 @@ public interface ActivityTeamInfoService extends IService { * @param activityTeamInfoAddModel 团购添加模型 */ public void save(ActivityTeamInfoAddModel activityTeamInfoAddModel); + + /** + * 拼团活动详情 + */ + public ActivityTeamInfoDetailModel findById(Long id); } 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..36dc828 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 @@ -5,6 +5,7 @@ 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.ActivityTeamProductSkuAddModel; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuInfoListModel; import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; import com.muyu.marketing.domain.model.TeamProductStockModel; @@ -41,4 +42,12 @@ public interface ActivityTeamProductSkuInfoService extends IService activityTeamProductSkuAddModelList); + + /** + * 活动商品规格sku + * @param teamId + * @return + */ + public List findByTeamId(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 c65d649..71a0216 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 @@ -82,4 +82,12 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl activityTeamProductSkuAddModel.setTeamId(activityTeamInfo.getId())); this.activityTeamProductSkuInfoService.batchSave(teamProductSkuAddModelList); } + + /** + * 拼团活动详情 + */ + @Override + public ActivityTeamInfoDetailModel findById(Long id) { + return ActivityTeamInfoDetailModel.activityTeamInfoDetailModel(this.getById(id)); + } } 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..55c0a7a 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 @@ -5,6 +5,7 @@ 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.ActivityTeamProductSkuAddModel; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuInfoListModel; import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; import com.muyu.marketing.domain.model.TeamProductStockModel; import com.muyu.marketing.team.mapper.ActivityTeamProductSkuInfoMapper; @@ -80,4 +81,19 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl findByTeamId(Long teamId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(ActivityTeamProductSkuInfo::getTeamId, teamId); + List activityTeamProductSkuInfos = this.list(queryWrapper); + return activityTeamProductSkuInfos.stream(). + map(ActivityTeamProductSkuInfoListModel::infoListModel) + .toList(); + } }