From 3dff9951a63caba4e068c5f39e95fb2b7350979c Mon Sep 17 00:00:00 2001 From: meng <1544233648@qq.com> Date: Tue, 26 Nov 2024 22:04:47 +0800 Subject: [PATCH] first commit --- doc/团购查询单条数据结构.java | 26 +++++ muyu-auth/src/main/resources/bootstrap.yml | 6 +- muyu-gateway/src/main/resources/bootstrap.yml | 9 +- .../src/main/resources/bootstrap.yml | 6 +- .../muyu-gen/src/main/resources/bootstrap.yml | 6 +- .../muyu-job/src/main/resources/bootstrap.yml | 6 +- .../marketing/domain/ActivityTeamInfo.java | 23 ++++ .../domain/ActivityTeamProductSkuInfo.java | 19 +++- .../model/ActivityTeamInfoAddModel.java | 1 + .../model/ActivityTeamInfoEditModel.java | 84 ++++++++++++++ ...ActivityTeamInfoProductSkuDetailModel.java | 101 +++++++++++++++++ .../model/ActivityTeamProductSkuAddModel.java | 11 ++ .../ActivityTeamProductSkuEditModel.java | 62 ++++++++++ .../model/ActivityTeamSkuInfoDetailModel.java | 65 +++++++++++ .../model/ActivityTeamSkuInfoModel.java | 40 +++++++ .../model/TeamProductDiscountPriceModel.java | 5 +- .../domain/req/ActivityTeamInfoEditReq.java | 106 ++++++++++++++++++ .../domain/req/ActivityTeamInfoSaveReq.java | 29 ++++- .../domain/req/ProjectSkuInfoAddReq.java | 3 + .../domain/req/ProjectSkuInfoEditReq.java | 37 ++++++ .../marketing/domain/req/TeamInfoListReq.java | 3 +- .../ActivityTeamInfoProductSkuDetailResp.java | 98 ++++++++++++++++ .../resp/ActivityTeamSkuInfoDetail.java | 61 ++++++++++ .../controller/ActivityTeamController.java | 33 +++++- .../team/service/ActivityTeamInfoService.java | 16 ++- .../ActivityTeamProductSkuInfoService.java | 21 ++-- .../impl/ActivityTeamInfoServiceImpl.java | 51 ++++++--- ...ActivityTeamProductSkuInfoServiceImpl.java | 44 ++++++-- .../src/main/resources/bootstrap.yml | 9 +- .../src/main/resources/bootstrap.yml | 6 +- .../src/main/resources/bootstrap.yml | 6 +- .../src/main/resources/bootstrap.yml | 6 +- .../src/main/resources/bootstrap.yml | 6 +- 33 files changed, 935 insertions(+), 70 deletions(-) create mode 100644 doc/团购查询单条数据结构.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoEditModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoProductSkuDetailModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuEditModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamSkuInfoDetailModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamSkuInfoModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoEditReq.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ProjectSkuInfoEditReq.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoProductSkuDetailResp.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamSkuInfoDetail.java diff --git a/doc/团购查询单条数据结构.java b/doc/团购查询单条数据结构.java new file mode 100644 index 0000000..fc7da67 --- /dev/null +++ b/doc/团购查询单条数据结构.java @@ -0,0 +1,26 @@ +{ + "主键":"id", + "活动名称":"name", + + "商品活动图":"productImage", + "活动简介":"introduction", + "单位":"unit", + "轮播图":"imageList", + "活动详情":"content", + "活动结束时间":"end_time", + "策略类型":"strategyType", + "策略":{ + "持续时间":"duration" + "免单人数":"exemption_number" + "最大购买量":"max_buy" + "单次购买量":"one_buy" + }, + "sku":[ + { + "规格id":"id", + "商品SKU":"product_sku", + "剩余库存":"remain_stock", + "拼团价格":"team_price", + } + ] +} diff --git a/muyu-auth/src/main/resources/bootstrap.yml b/muyu-auth/src/main/resources/bootstrap.yml index b309a3d..6be4fd1 100644 --- a/muyu-auth/src/main/resources/bootstrap.yml +++ b/muyu-auth/src/main/resources/bootstrap.yml @@ -14,10 +14,12 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-gateway/src/main/resources/bootstrap.yml b/muyu-gateway/src/main/resources/bootstrap.yml index d7367b4..d1516d7 100644 --- a/muyu-gateway/src/main/resources/bootstrap.yml +++ b/muyu-gateway/src/main/resources/bootstrap.yml @@ -14,10 +14,12 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall # 配置文件格式 file-extension: yml # 共享配置 @@ -33,7 +35,8 @@ spring: datasource: ds1: nacos: - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall dataId: sentinel-muyu-gateway groupId: DEFAULT_GROUP data-type: json diff --git a/muyu-modules/muyu-file/src/main/resources/bootstrap.yml b/muyu-modules/muyu-file/src/main/resources/bootstrap.yml index 0cb85bd..f54d53c 100644 --- a/muyu-modules/muyu-file/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-file/src/main/resources/bootstrap.yml @@ -14,10 +14,12 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml b/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml index b628931..c3d9ece 100644 --- a/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml @@ -14,10 +14,12 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-job/src/main/resources/bootstrap.yml b/muyu-modules/muyu-job/src/main/resources/bootstrap.yml index 618f3e8..4b14dc2 100644 --- a/muyu-modules/muyu-job/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-job/src/main/resources/bootstrap.yml @@ -14,10 +14,12 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall # 配置文件格式 file-extension: yml # 共享配置 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..2f288fc 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 @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; +import com.muyu.marketing.domain.model.ActivityTeamInfoEditModel; import lombok.*; import lombok.experimental.SuperBuilder; @@ -93,4 +94,26 @@ public class ActivityTeamInfo extends BaseEntity { .strategyId(activityTeamInfoAddModel.getStrategyId()) .build(); } + + /** + * 公共修改模型 转换成修改对象 + * @param activityTeamInfoEditModel + */ + public static ActivityTeamInfo editBuild(ActivityTeamInfoEditModel activityTeamInfoEditModel) { + return ActivityTeamInfo.builder() + .name(activityTeamInfoEditModel.getName()) + .unit(activityTeamInfoEditModel.getUnit()) + .status(activityTeamInfoEditModel.getStatus()) + .productId(activityTeamInfoEditModel.getProductId()) + .strategyType(activityTeamInfoEditModel.getStrategyType()) + .strategyId(activityTeamInfoEditModel.getStrategyId()) + .productImage(activityTeamInfoEditModel.getProductImage()) + .introduction(activityTeamInfoEditModel.getIntroduction()) + .imageList(activityTeamInfoEditModel.getImageList()) + .endTime(activityTeamInfoEditModel.getEndTime()) + .id(activityTeamInfoEditModel.getTeamId()) + .content(activityTeamInfoEditModel.getContent()) + .sort(activityTeamInfoEditModel.getSort()) + .build(); + } } 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..e4a8491 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 @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuEditModel; +import com.muyu.marketing.domain.resp.ActivityTeamSkuInfoDetail; import lombok.*; import lombok.experimental.SuperBuilder; @@ -60,6 +62,21 @@ public class ActivityTeamProductSkuInfo extends BaseEntity { .teamStock(activityTeamProductSkuAddModel.getTeamStock()) .remainStock(activityTeamProductSkuAddModel.getTeamStock()) .teamPrice(activityTeamProductSkuAddModel.getTeamPrice()) - .build() + .productSku(activityTeamProductSkuAddModel.getSku()) + .build(); + } + /** + * 将model模型转换成修改对象 + */ + public static ActivityTeamProductSkuInfo skuInfoBuild(ActivityTeamProductSkuEditModel activityTeamProductSkuEditModel){ + return ActivityTeamProductSkuInfo.builder() + .id(activityTeamProductSkuEditModel.getId()) + .teamId(activityTeamProductSkuEditModel.getTeamId()) + .productSku(activityTeamProductSkuEditModel.getSku()) + .teamPrice(activityTeamProductSkuEditModel.getTeamPrice()) + .teamStock(activityTeamProductSkuEditModel.getTeamStock()) + .productId(activityTeamProductSkuEditModel.getProductId()) + .build(); } } + 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..8528534 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 @@ -78,4 +78,5 @@ public class ActivityTeamInfoAddModel { * 策略ID */ private Long strategyId; + } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoEditModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoEditModel.java new file mode 100644 index 0000000..db65406 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoEditModel.java @@ -0,0 +1,84 @@ +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; + +/** + * 团购活动添加模型 + * + * @author DongZeLiang + * @date 2024-11-26 09:38 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamInfoEditModel { + /** + * id + */ + private Long teamId; + /** + * 拼团名称 + */ + 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 activityTeamProductSkuEditModels; + /** + * 活动详情 + */ + 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/ActivityTeamInfoProductSkuDetailModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoProductSkuDetailModel.java new file mode 100644 index 0000000..4e01056 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoProductSkuDetailModel.java @@ -0,0 +1,101 @@ +package com.muyu.marketing.domain.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.muyu.marketing.domain.ActivityTeamInfo; +import com.muyu.marketing.domain.ActivityTeamOpenInfo; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; +import java.util.List; + +/** + * @program: 2204a-cloud-server + * @description: 团购活动商品信息规格模型 + * @author: MengFanKuo + * @create: 2024-11-26 14:22 + * * + */ +@Data +@AllArgsConstructor +@SuperBuilder +@NoArgsConstructor +public class ActivityTeamInfoProductSkuDetailModel { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + 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 long sort; + /** + * 活动详情 + */ + private String content; + /** + * 活动状态 + */ + private String status; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private long strategyId; + /** + * 规格 + */ + private List projectSkuInfoAddReqList; + public static ActivityTeamInfoProductSkuDetailModel skuInfoDetailBuild(ActivityTeamInfo activityTeamInfo, List infoServiceByListSkuInfo){ + return ActivityTeamInfoProductSkuDetailModel.builder() + .id(activityTeamInfo.getId()) + .name(activityTeamInfo.getName()) + .productId(activityTeamInfo.getProductId()) + .productImage(activityTeamInfo.getProductImage()) + .content(activityTeamInfo.getContent()) + .endTime(activityTeamInfo.getEndTime()) + .imageList(activityTeamInfo.getImageList()) + .introduction(activityTeamInfo.getIntroduction()) + .projectSkuInfoAddReqList(infoServiceByListSkuInfo) + .sort(activityTeamInfo.getSort()) + .status(activityTeamInfo.getStatus()) + .strategyId(activityTeamInfo.getStrategyId()) + .strategyType(activityTeamInfo.getStrategyType()) + .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..27d50d3 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.req.ProjectSkuInfoAddReq; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.math.BigDecimal; +import java.util.function.Function; +import java.util.function.Supplier; /** * 团购spu库存添加模型 @@ -44,4 +47,12 @@ public class ActivityTeamProductSkuAddModel { * 拼团库存 */ private Long teamStock; + public static ActivityTeamProductSkuAddModel teamProductSkuAddBuild(ProjectSkuInfoAddReq projectSkuInfoAddReq,Supplier productId){ + return ActivityTeamProductSkuAddModel.builder() + .sku(projectSkuInfoAddReq.getSku()) + .teamStock(projectSkuInfoAddReq.getTeamStock()) + .teamPrice(projectSkuInfoAddReq.getTeamPrice()) + .productId(productId.get()) + .build(); + } } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuEditModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuEditModel.java new file mode 100644 index 0000000..6ecc1fb --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuEditModel.java @@ -0,0 +1,62 @@ +package com.muyu.marketing.domain.model; + + +import com.muyu.marketing.domain.req.ProjectSkuInfoAddReq; +import com.muyu.marketing.domain.req.ProjectSkuInfoEditReq; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.function.Supplier; + +/** + * 团购spu库存添加模型 + * + * @author DongZeLiang + * @date 2024-11-26 09:36 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamProductSkuEditModel { + /** + * id + */ + private Long id; + /** + * 团购活动ID + */ + private Long teamId; + + /** + * 商品ID + */ + private Long productId; + + /** + * 规格SKU + */ + private String sku; + + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + + /** + * 拼团库存 + */ + private Long teamStock; + public static ActivityTeamProductSkuEditModel teamSkuEditBuild(ProjectSkuInfoEditReq projectSkuInfoEditReq, Supplier productId){ + return ActivityTeamProductSkuEditModel.builder() + .id(projectSkuInfoEditReq.getProductSkuId()) + .sku(projectSkuInfoEditReq.getSku()) + .teamStock(projectSkuInfoEditReq.getTeamStock()) + .teamPrice(projectSkuInfoEditReq.getTeamPrice()) + .productId(productId.get()) + .build(); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamSkuInfoDetailModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamSkuInfoDetailModel.java new file mode 100644 index 0000000..4f5965c --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamSkuInfoDetailModel.java @@ -0,0 +1,65 @@ +package com.muyu.marketing.domain.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.common.core.web.domain.BaseEntity; +import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; +import com.muyu.marketing.domain.resp.ActivityTeamSkuInfoDetail; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +@TableName(value = "activity_team_product_sku_info", autoResultMap = true) +public class ActivityTeamSkuInfoDetailModel extends BaseEntity { + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private long id; + /** + * 活动ID + */ + private long teamId; + /** + * 商品ID + */ + private Long productId; + /** + * 商品SKU + */ + private String productSku; + /** + * 拼团库存 + */ + private Long teamStock; + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + + /** + * 通过拼团商品sku构建模型 + */ + public static ActivityTeamSkuInfoDetailModel productSkuInfoEachBuild(ActivityTeamProductSkuInfo activityTeamProductSkuInfo){ + return ActivityTeamSkuInfoDetailModel.builder() + .id(activityTeamProductSkuInfo.getId()) + .teamId(activityTeamProductSkuInfo.getTeamId()) + .productId(activityTeamProductSkuInfo.getProductId()) + .productSku(activityTeamProductSkuInfo.getProductSku()) + .teamPrice(activityTeamProductSkuInfo.getTeamPrice()) + .teamStock(activityTeamProductSkuInfo.getTeamStock()) + .build(); + } + +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamSkuInfoModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamSkuInfoModel.java new file mode 100644 index 0000000..b9bb481 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamSkuInfoModel.java @@ -0,0 +1,40 @@ +package com.muyu.marketing.domain.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; + +/** + * @program: 2204a-cloud-server + * @description: 拼团商品sku模型 + * @author: MengFanKuo + * @create: 2024-11-26 15:53 + * * + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +public class ActivityTeamSkuInfoModel { + /** + * id + */ + private Long id; + /** + * 规格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/TeamProductDiscountPriceModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamProductDiscountPriceModel.java index 61f9d08..c4977a8 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 @@ -5,6 +5,7 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; import java.math.BigDecimal; import java.math.RoundingMode; @@ -16,7 +17,7 @@ import java.math.RoundingMode; * @date 2024-11-21 11:57 */ @Data -@Builder +@SuperBuilder @NoArgsConstructor @AllArgsConstructor public class TeamProductDiscountPriceModel { @@ -44,7 +45,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/ActivityTeamInfoEditReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoEditReq.java new file mode 100644 index 0000000..9bdea56 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoEditReq.java @@ -0,0 +1,106 @@ +package com.muyu.marketing.domain.req; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.common.core.web.domain.BaseEntity; +import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; +import com.muyu.marketing.domain.model.ActivityTeamInfoEditModel; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuEditModel; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; +import java.util.List; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ActivityTeamInfoEditReq extends BaseEntity { + /** + * 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 projectSkuInfoEditReqList; + /** + * 活动详情 + */ + private String content; + /** + * 活动状态 + */ + private String status; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private Long strategyId; + + /** + * 请求入参转换为修改模型 + * @return + */ + public ActivityTeamInfoEditModel activityTeamInfoEditBuild(){ + return ActivityTeamInfoEditModel.builder() + .activityTeamProductSkuEditModels(this.projectSkuInfoEditReqList.stream().map(projectSkuInfoEditReq -> { + return ActivityTeamProductSkuEditModel.teamSkuEditBuild(projectSkuInfoEditReq,()-> productId); + }).toList()) + .teamId(this.id) + .content(this.content) + .endTime(this.endTime) + .imageList(this.imageList) + .introduction(this.introduction) + .name(this.name) + .productImage(this.productImage) + .status(this.status) + .strategyId(this.strategyId) + .strategyType(this.strategyType) + .unit(this.unit) + .sort(this.sort) + .productId(this.productId) + .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..fd43ca0 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 @@ -3,6 +3,8 @@ package com.muyu.marketing.domain.req; import com.fasterxml.jackson.annotation.JsonFormat; import com.muyu.common.core.web.domain.BaseEntity; +import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; @@ -36,12 +38,10 @@ public class ActivityTeamInfoSaveReq extends BaseEntity { /** * 单位 */ - private String unit; /** * 轮播图 */ - private String imageList; /** * 活动结束时间 @@ -72,4 +72,29 @@ public class ActivityTeamInfoSaveReq extends BaseEntity { * 策略ID */ private Long strategyId; + + /** + * 请求入参转换为添加模型 + * @return + */ + public ActivityTeamInfoAddModel activityTeamInfoReqBuild(){ + return ActivityTeamInfoAddModel.builder() + .unit(this.unit) + .activityTeamProductSkuAddModelList( + this.projectSkuInfoAddReqList.stream().map(projectSkuInfoAddReq -> { + return ActivityTeamProductSkuAddModel.teamProductSkuAddBuild(projectSkuInfoAddReq,()->productId); + }).toList()) + .strategyType(this.strategyType) + .status(this.status) + .name(this.name) + .strategyId(this.strategyId) + .endTime(this.endTime) + .imageList(this.imageList) + .introduction(this.introduction) + .productId(this.productId) + .productImage(this.productImage) + .sort(this.sort) + .content(this.content) + .build(); + } } 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..bc69e24 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 @@ -1,5 +1,6 @@ package com.muyu.marketing.domain.req; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -31,4 +32,6 @@ public class ProjectSkuInfoAddReq { * 拼团库存 */ private Long teamStock; + + } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ProjectSkuInfoEditReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ProjectSkuInfoEditReq.java new file mode 100644 index 0000000..0aac675 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ProjectSkuInfoEditReq.java @@ -0,0 +1,37 @@ +package com.muyu.marketing.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; + +/** + * 添加的 + */ +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +public class ProjectSkuInfoEditReq { + /** + * id + */ + private Long productSkuId; + /** + * 规格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/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/ActivityTeamInfoProductSkuDetailResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoProductSkuDetailResp.java new file mode 100644 index 0000000..6d61069 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoProductSkuDetailResp.java @@ -0,0 +1,98 @@ +package com.muyu.marketing.domain.resp; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.muyu.marketing.domain.model.ActivityTeamInfoProductSkuDetailModel; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; +import java.util.List; + +/** + * @program: 2204a-cloud-server + * @description: 团购活动商品信息规格表 + * @author: MengFanKuo + * @create: 2024-11-26 14:22 + * * + */ +@Data +@AllArgsConstructor +@SuperBuilder +@NoArgsConstructor +public class ActivityTeamInfoProductSkuDetailResp { + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + 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 long sort; + /** + * 活动详情 + */ + private String content; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private long strategyId; + /** + * 规格 + */ + private List projectSkuInfoEachRespList; + public static ActivityTeamInfoProductSkuDetailResp productSkuDetailBuild(ActivityTeamInfoProductSkuDetailModel activityTeamInfoProductSkuDetailModel){ + return ActivityTeamInfoProductSkuDetailResp.builder() + .id(activityTeamInfoProductSkuDetailModel.getId()) + .productImage(activityTeamInfoProductSkuDetailModel.getProductImage()) + .productId(activityTeamInfoProductSkuDetailModel.getProductId()) + .name(activityTeamInfoProductSkuDetailModel.getName()) + .endTime(activityTeamInfoProductSkuDetailModel.getEndTime()) + .content(activityTeamInfoProductSkuDetailModel.getContent()) + .imageList(activityTeamInfoProductSkuDetailModel.getImageList()) + .introduction(activityTeamInfoProductSkuDetailModel.getIntroduction()) + .projectSkuInfoEachRespList(activityTeamInfoProductSkuDetailModel.getProjectSkuInfoAddReqList().stream().map(activityTeamSkuInfoDetailModel -> { + return ActivityTeamSkuInfoDetail.infoDetailBuild(activityTeamSkuInfoDetailModel); + }).toList()) + .sort(activityTeamInfoProductSkuDetailModel.getSort()) + .strategyId(activityTeamInfoProductSkuDetailModel.getStrategyId()) + .strategyType(activityTeamInfoProductSkuDetailModel.getStrategyType()) + .unit(activityTeamInfoProductSkuDetailModel.getUnit()) + .build(); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamSkuInfoDetail.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamSkuInfoDetail.java new file mode 100644 index 0000000..9a45f4e --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamSkuInfoDetail.java @@ -0,0 +1,61 @@ +package com.muyu.marketing.domain.resp; + +import com.muyu.marketing.domain.model.ActivityTeamInfoProductSkuDetailModel; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuEditModel; +import com.muyu.marketing.domain.model.ActivityTeamSkuInfoDetailModel; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; + +/** + * @program: 2204a-cloud-server + * @description: 商品规格回显表 + * @author: MengFanKuo + * @create: 2024-11-26 15:20 + * * + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +public class ActivityTeamSkuInfoDetail { + /** + * id + */ + private Long id; + /** + * 活动ID + */ + private long teamId; + /** + * 商品ID + */ + private Long productId; + /** + * 规格SKU + */ + private String sku; + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + /** + * 拼团库存 + */ + private Long teamStock; + + public static ActivityTeamSkuInfoDetail infoDetailBuild(ActivityTeamSkuInfoDetailModel activityTeamInfoProductSkuDetailModel){ + return ActivityTeamSkuInfoDetail.builder() + .id(activityTeamInfoProductSkuDetailModel.getId()) + .sku(activityTeamInfoProductSkuDetailModel.getProductSku()) + .teamId(activityTeamInfoProductSkuDetailModel.getTeamId()) + .productId(activityTeamInfoProductSkuDetailModel.getProductId()) + .teamPrice(activityTeamInfoProductSkuDetailModel.getTeamPrice()) + .teamStock(activityTeamInfoProductSkuDetailModel.getTeamStock()) + .build(); + } + +} 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..da8befe 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,14 +4,15 @@ 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.ActivityTeamInfoListModel; +import com.muyu.marketing.domain.model.ActivityTeamInfoProductSkuDetailModel; +import com.muyu.marketing.domain.req.ActivityTeamInfoEditReq; +import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq; import com.muyu.marketing.domain.req.TeamInfoListReq; +import com.muyu.marketing.domain.resp.ActivityTeamInfoProductSkuDetailResp; 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; @@ -44,4 +45,28 @@ public class ActivityTeamController { }} ); } + /** + * 添加团购活动 + */ + @PostMapping("/activityTeamInfoAdd") + public void activityTeamInfoAdd(@RequestBody ActivityTeamInfoSaveReq activityTeamInfoSaveReq){ + activityTeamInfoService.save(activityTeamInfoSaveReq.activityTeamInfoReqBuild()); + } + /** + * 根据id查询拼团商品信息 + */ + @PostMapping("/inquireActivityTeam/{id}") + public Result inquireActivityTeam(@PathVariable Long id){ + ActivityTeamInfoProductSkuDetailModel detailModel = activityTeamInfoService.echo(id); + ActivityTeamInfoProductSkuDetailResp productSkuDetailBuild = ActivityTeamInfoProductSkuDetailResp.productSkuDetailBuild(detailModel); + return Result.success(productSkuDetailBuild); + } + /** + *修改团购活动 + */ + @PostMapping("/activityTeamEdit") + public Result activityTeamEdit(@RequestBody ActivityTeamInfoEditReq activityTeamInfoEditReq){ + activityTeamInfoService.edit(activityTeamInfoEditReq.activityTeamInfoEditBuild()); + 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..f17e202 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 @@ -3,9 +3,8 @@ package com.muyu.marketing.team.service; 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.ActivityTeamInfoListModel; -import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel; +import com.muyu.marketing.domain.model.*; +import com.muyu.marketing.domain.req.ActivityTeamInfoEditReq; import java.util.List; @@ -24,4 +23,15 @@ public interface ActivityTeamInfoService extends IService { * @param activityTeamInfoAddModel 团购添加模型 */ public void save(ActivityTeamInfoAddModel activityTeamInfoAddModel); + /** + * 同过活动id回显团购活动信息 + */ + public ActivityTeamInfoProductSkuDetailModel echo(Long id); + + /** + * 通过修改模型 去进行商品拼团活动的操作 + * @param activityTeamInfoEditModel + */ + void edit(ActivityTeamInfoEditModel activityTeamInfoEditModel); + } 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..0dc1e3d 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,10 +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.ActivityTeamProductSkuAddModel; -import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; -import com.muyu.marketing.domain.model.TeamProductStockModel; +import com.muyu.marketing.domain.model.*; import java.util.List; @@ -17,28 +14,32 @@ public interface ActivityTeamProductSkuInfoService extends IService activityTeamProductSkuAddModelList); + /** + * 根据团购id查询商品详细信息 + */ + public List findByListSkuInfo(Long id); + + /** + * 修改 + * @param activityTeamProductSkuEditModelList + */ + void editSku(List activityTeamProductSkuEditModelList); } 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..7914c9a 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 @@ -1,24 +1,22 @@ package com.muyu.marketing.team.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.OrderItem; 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.web.page.TableDataInfo; import com.muyu.marketing.domain.ActivityTeamInfo; +import com.muyu.marketing.domain.ActivityTeamOpenInfo; import com.muyu.marketing.domain.model.*; 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 io.jsonwebtoken.lang.Assert; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; import java.util.List; -import java.util.function.Consumer; @Service @@ -33,11 +31,9 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl query(ActivityTeamInfoListQueryModel activityTeamInfoListQueryModel) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.like(StringUtils.isNotEmpty(activityTeamInfoListQueryModel.getKeyWord()), ActivityTeamInfo::getName, activityTeamInfoListQueryModel.getKeyWord()); queryWrapper.like(StringUtils.isNotEmpty(activityTeamInfoListQueryModel.getStatus()), ActivityTeamInfo::getStatus, activityTeamInfoListQueryModel.getStatus()); - /** * Object -> 创建对象的时候进行的占用 * Result 以方法返回值为占用 @@ -75,14 +71,39 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl productSkuAddModels = activityTeamInfoAddModel.getActivityTeamProductSkuAddModelList(); + productSkuAddModels.forEach(activityTeamProductSkuAddModel -> {activityTeamProductSkuAddModel.setTeamId(activityTeamInfo.getId());}); + activityTeamProductSkuInfoService.batchSave(productSkuAddModels); + } + + /** + * 根据团购活动id查询详情 + * @param id + * @return + */ + @Override + public ActivityTeamInfoProductSkuDetailModel echo(Long id) { + ActivityTeamInfo activityTeamInfo = this.getById(id); + List infoServiceByListSkuInfo = activityTeamProductSkuInfoService.findByListSkuInfo(id); + return ActivityTeamInfoProductSkuDetailModel.skuInfoDetailBuild(activityTeamInfo,infoServiceByListSkuInfo); + } + + /** + * 通过修改模型,去进行商品拼团活动的操作 + * @param activityTeamInfoEditModel 修改模型 + */ + @Override + public void edit(ActivityTeamInfoEditModel activityTeamInfoEditModel) { + //修改拼团活动 + ActivityTeamInfo activityTeamInfo = ActivityTeamInfo.editBuild(activityTeamInfoEditModel); + this.updateById(activityTeamInfo); + List activityTeamProductSkuEditModelList = activityTeamInfoEditModel.getActivityTeamProductSkuEditModels(); + activityTeamProductSkuEditModelList.forEach(activityTeamProductSkuEditModel -> { + activityTeamProductSkuEditModel.setTeamId(activityTeamInfo.getId()); + activityTeamProductSkuEditModel.setProductId(activityTeamInfo.getProductId()); + }); + activityTeamProductSkuInfoService.editSku(activityTeamProductSkuEditModelList); } } 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..88385c6 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 @@ -4,9 +4,8 @@ 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.ActivityTeamProductSkuAddModel; -import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; -import com.muyu.marketing.domain.model.TeamProductStockModel; +import com.muyu.marketing.domain.model.*; +import com.muyu.marketing.domain.resp.ActivityTeamSkuInfoDetail; import com.muyu.marketing.team.mapper.ActivityTeamProductSkuInfoMapper; import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService; import com.muyu.product.cache.ProjectSkuCache; @@ -14,17 +13,14 @@ import com.muyu.product.domain.ProjectSkuInfo; import org.springframework.beans.factory.annotation.Autowired; 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 { - + @Autowired + private ActivityTeamProductSkuInfoService activityTeamProductSkuInfoService; @Autowired private ProjectSkuCache projectSkuCache; @@ -76,8 +72,34 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl teamProductSkuInfoList = activityTeamProductSkuAddModelList.stream().map(ActivityTeamProductSkuInfo::modelBuild).toList(); + this.saveBatch(teamProductSkuInfoList); + } + /** + * 根据团购活动id查找商品sku + * @param id + * @return + */ + @Override + public List findByListSkuInfo(Long id) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ActivityTeamProductSkuInfo::getTeamId,id); + List productSkuInfoList = activityTeamProductSkuInfoService.list(queryWrapper); + List detailModelList = productSkuInfoList.stream().map(activityTeamProductSkuInfo -> { + return ActivityTeamSkuInfoDetailModel.productSkuInfoEachBuild(activityTeamProductSkuInfo); + }).toList(); + return detailModelList; + } + + /** + * 修改团购商品sku表 + * @param activityTeamProductSkuEditModelList + */ + @Override + public void editSku(List activityTeamProductSkuEditModelList) { + List activityTeamProductSkuInfoList = activityTeamProductSkuEditModelList.stream().map(activityTeamProductSkuEditModel -> { + return ActivityTeamProductSkuInfo.skuInfoBuild(activityTeamProductSkuEditModel); + }).toList(); + this.updateBatchById(activityTeamProductSkuInfoList); } } 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..cb4f7a8 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 @@ -10,14 +10,18 @@ spring: profiles: # 环境配置 active: dev + main: + allow-circular-references: true cloud: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall # 配置文件格式 file-extension: yml # 共享配置 @@ -26,3 +30,4 @@ spring: logging: level: com.muyu.marketing.mapper: DEBUG + diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml index e8bd02d..3a4ab78 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml @@ -14,10 +14,12 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/bootstrap.yml index 8e54ec5..04f253f 100644 --- a/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/bootstrap.yml @@ -16,10 +16,12 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-system/src/main/resources/bootstrap.yml b/muyu-modules/muyu-system/src/main/resources/bootstrap.yml index a66fd4c..5d2f112 100644 --- a/muyu-modules/muyu-system/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-system/src/main/resources/bootstrap.yml @@ -14,10 +14,12 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml b/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml index 1276c8e..ae8c80f 100644 --- a/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml +++ b/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml @@ -14,10 +14,12 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 123.249.122.74:8848 + namespace: mall # 配置文件格式 file-extension: yml # 共享配置