From c6b7a3aa6af2545d6de70765dd1eea267ff158d5 Mon Sep 17 00:00:00 2001 From: DongZeLiang <2746733890@qq.com> Date: Wed, 27 Nov 2024 10:27:42 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat()=EF=BC=9A=E5=9B=A2=E8=B4=AD=E6=B4=BB?= =?UTF-8?q?=E5=8A=A8=E6=9F=A5=E8=AF=A2=E8=AF=A6=E6=83=85=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/团购查询单条数据结构.java | 24 ++++++ .../ActivityTeamProductSkuInfoModel.java | 51 ++++++++++++ .../domain/resp/ActivityTeamDetailResp.java | 81 +++++++++++++++++++ .../resp/ActivityTeamProjectSkuResp.java | 38 +++++++++ .../ActivityTeamProductSkuInfoService.java | 7 ++ ...ActivityTeamProductSkuInfoServiceImpl.java | 12 +++ 6 files changed, 213 insertions(+) create mode 100644 doc/团购查询单条数据结构.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuInfoModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamDetailResp.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamProjectSkuResp.java diff --git a/doc/团购查询单条数据结构.java b/doc/团购查询单条数据结构.java new file mode 100644 index 0000000..d52ddda --- /dev/null +++ b/doc/团购查询单条数据结构.java @@ -0,0 +1,24 @@ +$.{ + "活动ID": "Long", + "商品ID": "Long", //activity_team_info.product_id + "商品图片": "String", + "活动名称": "String", + "活动简介": "String", + "商品单位": "String", + "商品的轮播图": [ + "String", "String" + ], + "活动时间": "date", + "策略类型": "String", + "策略ID": "Long", + "商品规格List": [ // activity_team_product_sku_info + { + "活动商品规格ID": "Long", + "规格SKU": "String", // activity_team_product_sku_info.product_sku + "拼团价格": "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/model/ActivityTeamProductSkuInfoModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuInfoModel.java new file mode 100644 index 0000000..fea8782 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuInfoModel.java @@ -0,0 +1,51 @@ +package com.muyu.marketing.domain.model; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * 商品活动SKU信息模型 + * + * @author DongZeLiang + * @date 2024-11-26 15:35 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamProductSkuInfoModel { + /** + * 团购商品SKU的ID + */ + private Long id; + + /** + * 团ID + */ + private Long teamId; + + /** + * 商品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/resp/ActivityTeamDetailResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamDetailResp.java new file mode 100644 index 0000000..40b1712 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamDetailResp.java @@ -0,0 +1,81 @@ +package com.muyu.marketing.domain.resp; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.common.core.web.domain.BaseEntity; +import com.muyu.marketing.domain.req.TeamProjectSkuInfoAddReq; +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 ActivityTeamDetailResp extends BaseEntity { + + /** + * 团购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 activityTeamProjectSkuList; + /** + * 活动详情 + */ + 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/ActivityTeamProjectSkuResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamProjectSkuResp.java new file mode 100644 index 0000000..ccbbf8e --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamProjectSkuResp.java @@ -0,0 +1,38 @@ +package com.muyu.marketing.domain.resp; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; + +/** + * 添加的 + */ +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +public class ActivityTeamProjectSkuResp { + + /** + * 团购商品SKU的ID + */ + private Long productSkuId; + + /** + * 规格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/service/ActivityTeamProductSkuInfoService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamProductSkuInfoService.java index 6a5d6dd..cf52a58 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.ActivityTeamProductSkuInfoModel; import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; import com.muyu.marketing.domain.model.TeamProductStockModel; @@ -41,4 +42,10 @@ public interface ActivityTeamProductSkuInfoService extends IService activityTeamProductSkuAddModelList); + /** + * 通过拼团活动ID获取拼团下商品SKU集合 + * @param teamId 活动ID + * @return 拼团商品SKU集合 + */ + public List findListByTeamId(Long teamId); } 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..d17f97d 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.ActivityTeamProductSkuInfoModel; import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; import com.muyu.marketing.domain.model.TeamProductStockModel; import com.muyu.marketing.team.mapper.ActivityTeamProductSkuInfoMapper; @@ -80,4 +81,15 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl findListByTeamId(Long teamId) { + return null; + } } From 02f640092a7a86937e3ebbe9a93677c814081c65 Mon Sep 17 00:00:00 2001 From: DongZeLiang <2746733890@qq.com> Date: Wed, 27 Nov 2024 14:23:52 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix()=EF=BC=9A=E5=9B=A2=E8=B4=AD=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/团购活动修改.java | 32 ++++++ muyu-auth/src/main/resources/bootstrap.yml | 4 +- muyu-gateway/src/main/resources/bootstrap.yml | 6 +- .../src/main/resources/bootstrap.yml | 4 +- .../muyu-gen/src/main/resources/bootstrap.yml | 4 +- .../muyu-job/src/main/resources/bootstrap.yml | 4 +- .../marketing/domain/ActivityTeamInfo.java | 36 ++++++ .../domain/ActivityTeamProductSkuInfo.java | 14 ++- .../domain/model/ActivityTeamDetailModel.java | 102 +++++++++++++++++ .../model/ActivityTeamInfoSaveModel.java | 92 +++++++++++++++ .../model/ActivityTeamInfoUpdModel.java | 56 +++++++++ .../model/ActivityTeamProductSkuModel.java | 50 ++++++++ .../model/ActivityTeamProductSkuReqModel.java | 40 +++++++ .../model/ActivityTeamProductSkuUpdModel.java | 37 ++++++ .../model/TeamProductDiscountPriceModel.java | 2 +- .../domain/req/ActivityTeamInfoUpdReq.java | 36 ++++++ .../domain/req/ActivityTeamProductSkuReq.java | 28 +++++ .../marketing/domain/req/TeamInfoListReq.java | 3 +- .../domain/resp/ProjectFindSkuInfoResp.java | 48 ++++++++ .../domain/resp/TeamInfoFindByIdResp.java | 107 ++++++++++++++++++ .../controller/ActivityTeamController.java | 18 ++- .../team/service/ActivityTeamInfoService.java | 22 +++- .../ActivityTeamProductSkuInfoService.java | 10 +- .../impl/ActivityTeamInfoServiceImpl.java | 31 ++++- ...ActivityTeamProductSkuInfoServiceImpl.java | 20 +++- .../src/main/resources/bootstrap.yml | 6 +- .../src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- 30 files changed, 779 insertions(+), 49 deletions(-) create mode 100644 doc/团购活动修改.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamDetailModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoSaveModel.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/ActivityTeamProductSkuModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuReqModel.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/req/ActivityTeamProductSkuReq.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ProjectFindSkuInfoResp.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamInfoFindByIdResp.java diff --git a/doc/团购活动修改.java b/doc/团购活动修改.java new file mode 100644 index 0000000..64b1b79 --- /dev/null +++ b/doc/团购活动修改.java @@ -0,0 +1,32 @@ +{ + "活动ID": "Long", + "商品ID": "Long", + "活动名称": "String", + "商品名称": "String", + "商品图片": "String", + "活动简介": "String", + "商品单位": "String", + "商品的轮播图": [ + "String", "String" + ], + "活动时间": "date", + "策略类型": "String", + "商品规格": { + "修改商品规格List": [ // 修改 + { + "团购规格ID": "Long", + "拼团价格": "BigDecimal", + "拼团库存": "Long" + } + ], + "删除商品规格IdList" : ["Long", "Long"], + "添加商品规格List": [ + "商品SKU": "String", + "商品价格": "BigDecimal", + "拼团价格": "BigDecimal", + "拼团库存": "Long" + ] + }, + +"详情": "String" +} diff --git a/muyu-auth/src/main/resources/bootstrap.yml b/muyu-auth/src/main/resources/bootstrap.yml index b309a3d..26bb01c 100644 --- a/muyu-auth/src/main/resources/bootstrap.yml +++ b/muyu-auth/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-gateway/src/main/resources/bootstrap.yml b/muyu-gateway/src/main/resources/bootstrap.yml index d7367b4..b15f786 100644 --- a/muyu-gateway/src/main/resources/bootstrap.yml +++ b/muyu-gateway/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 # 配置文件格式 file-extension: yml # 共享配置 @@ -33,7 +33,7 @@ spring: datasource: ds1: nacos: - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 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..956f52b 100644 --- a/muyu-modules/muyu-file/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-file/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 # 配置文件格式 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..3ec7c15 100644 --- a/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 # 配置文件格式 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..364dc05 100644 --- a/muyu-modules/muyu-job/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-job/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 # 配置文件格式 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..323ad45 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,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.ActivityTeamInfoAddModel; +import com.muyu.marketing.domain.model.ActivityTeamInfoSaveModel; +import com.muyu.marketing.domain.model.ActivityTeamInfoUpdModel; import lombok.*; import lombok.experimental.SuperBuilder; @@ -93,4 +95,38 @@ public class ActivityTeamInfo extends BaseEntity { .strategyId(activityTeamInfoAddModel.getStrategyId()) .build(); } + + public static ActivityTeamInfo teamSaveBuild(ActivityTeamInfoSaveModel activityTeamInfoSaveModel) { + return ActivityTeamInfo.builder() + .name(activityTeamInfoSaveModel.getName()) + .productId(activityTeamInfoSaveModel.getProductId()) + .productImage(activityTeamInfoSaveModel.getProductImage()) + .introduction(activityTeamInfoSaveModel.getIntroduction()) + .unit(activityTeamInfoSaveModel.getUnit()) + .imageList(activityTeamInfoSaveModel.getImageList()) + .endTime(activityTeamInfoSaveModel.getEndTime()) + .sort(activityTeamInfoSaveModel.getSort()) + .content(activityTeamInfoSaveModel.getContent()) + .status(activityTeamInfoSaveModel.getStatus()) + .strategyType(activityTeamInfoSaveModel.getStrategyType()) + .strategyId(activityTeamInfoSaveModel.getStrategyId()) + .build(); + } + public static ActivityTeamInfo TeamUpdateBuild (ActivityTeamInfoUpdModel activityTeamInfoUpdModel){ + return ActivityTeamInfo.builder() + .id(activityTeamInfoUpdModel.getId()) + .name(activityTeamInfoUpdModel.getName()) + .productId(activityTeamInfoUpdModel.getProductId()) + .productImage(activityTeamInfoUpdModel.getProductImage()) + .introduction(activityTeamInfoUpdModel.getIntroduction()) + .unit(activityTeamInfoUpdModel.getUnit()) + .imageList(activityTeamInfoUpdModel.getImageList()) + .endTime(activityTeamInfoUpdModel.getEndTime()) + .sort(activityTeamInfoUpdModel.getSort()) + .content(activityTeamInfoUpdModel.getContent()) + .status(activityTeamInfoUpdModel.getStatus()) + .strategyType(activityTeamInfoUpdModel.getStrategyType()) + .strategyId(activityTeamInfoUpdModel.getStrategyId()) + .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..697b5b4 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,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.ActivityTeamProductSkuAddModel; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuReqModel; import lombok.*; import lombok.experimental.SuperBuilder; @@ -58,8 +59,19 @@ public class ActivityTeamProductSkuInfo extends BaseEntity { .productId(activityTeamProductSkuAddModel.getProductId()) .teamId(activityTeamProductSkuAddModel.getTeamId()) .teamStock(activityTeamProductSkuAddModel.getTeamStock()) + .productSku(activityTeamProductSkuAddModel.getSku()) .remainStock(activityTeamProductSkuAddModel.getTeamStock()) .teamPrice(activityTeamProductSkuAddModel.getTeamPrice()) - .build() + .build(); } + public static ActivityTeamProductSkuInfo updateModelBuild(ActivityTeamProductSkuReqModel activityTeamProductSkuReqModel) { + return ActivityTeamProductSkuInfo.builder() + .id(activityTeamProductSkuReqModel.getId()) + .productId(activityTeamProductSkuReqModel.getProductId()) + .teamStock(activityTeamProductSkuReqModel.getTeamStock()) + .productSku(activityTeamProductSkuReqModel.getProductSku()) + .teamPrice(activityTeamProductSkuReqModel.getTeamPrice()) + .build(); + } + } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamDetailModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamDetailModel.java new file mode 100644 index 0000000..9e9f9f8 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamDetailModel.java @@ -0,0 +1,102 @@ +package com.muyu.marketing.domain.model; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.marketing.domain.ActivityTeamInfo; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; +import java.util.function.Function; + +/** + * @program: 2204a-cloud-server + * @description: 活动回显总模型 + * @author: AoCi Tian + * @create: 2024-11-26 16:00 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ActivityTeamDetailModel { + /** + * 拼团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 Long sort; + /** + * 商品SkU集合 + */ + private List projectSkuInfoAddReqList; + /** + * 活动详情 + */ + private String content; + /** + * 活动状态 + */ + private String status; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private Long strategyId; + public static ActivityTeamDetailModel findSkuSumList (ActivityTeamInfo activityTeamInfo, + Function function){ + return function.apply(ActivityTeamDetailModel.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()) + ); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoSaveModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoSaveModel.java new file mode 100644 index 0000000..beb468f --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoSaveModel.java @@ -0,0 +1,92 @@ +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 lombok.experimental.SuperBuilder; + +import java.util.Date; +import java.util.List; + +/** + * @program: 2204a-cloud-server + * @description: 添加活动模型 + * @author: AoCi Tian + * @create: 2024-11-26 10:59 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ActivityTeamInfoSaveModel { + + /** + * 拼团名称 + */ + 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 Long sort; + /** + * 活动详情 + */ + private String content; + /** + * 活动状态 + */ + private String status; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private Long strategyId; + public static ActivityTeamInfoSaveModel activityTeamInfoSaveModelBuild (ActivityTeamInfoAddModel activityTeamInfoAddModel){ + return ActivityTeamInfoSaveModel.builder() + .name(activityTeamInfoAddModel.getName()) + .productId(activityTeamInfoAddModel.getProductId()) + .productImage(activityTeamInfoAddModel.getProductImage()) + .introduction(activityTeamInfoAddModel.getIntroduction()) + .unit(activityTeamInfoAddModel.getUnit()) + .imageList(activityTeamInfoAddModel.getImageList()) + .endTime(activityTeamInfoAddModel.getEndTime()) + .sort(activityTeamInfoAddModel.getSort()) + .content(activityTeamInfoAddModel.getContent()) + .status(activityTeamInfoAddModel.getStatus()) + .strategyType(activityTeamInfoAddModel.getStrategyType()) + .strategyId(activityTeamInfoAddModel.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..6ebfd78 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoUpdModel.java @@ -0,0 +1,56 @@ +package com.muyu.marketing.domain.model; + +import com.muyu.marketing.domain.req.ActivityTeamInfoUpdReq; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + +/** + * @program: 2204a-cloud-server + * @description: 活动商品规格修改模型 + * @author: AoCi Tian + * @create: 2024-11-26 19:25 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ActivityTeamInfoUpdModel { + private Long id; + private String name; + 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; + private Long strategyId; + private List activityTeamProductSkuModelList; + + public static ActivityTeamInfoUpdModel activityTeamInfoUpdReqModelBuild (ActivityTeamInfoUpdReq activityTeamInfoUpdReq){ + return ActivityTeamInfoUpdModel.builder() + .id(activityTeamInfoUpdReq.getId()) + .name(activityTeamInfoUpdReq.getName()) + .productId(activityTeamInfoUpdReq.getProductId()) + .productImage(activityTeamInfoUpdReq.getProductImage()) + .introduction(activityTeamInfoUpdReq.getIntroduction()) + .unit(activityTeamInfoUpdReq.getUnit()) + .imageList(activityTeamInfoUpdReq.getImageList()) + .endTime(activityTeamInfoUpdReq.getEndTime()) + .sort(activityTeamInfoUpdReq.getSort()) + .content(activityTeamInfoUpdReq.getContent()) + .status(activityTeamInfoUpdReq.getStatus()) + .strategyType(activityTeamInfoUpdReq.getStrategyType()) + .strategyId(activityTeamInfoUpdReq.getStrategyId()) + .activityTeamProductSkuModelList(activityTeamInfoUpdReq.getActivityTeamProductSkuList().stream().map(ActivityTeamProductSkuReqModel::activityTeamProductSkuReqModelBuild).toList()) + .build(); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuModel.java new file mode 100644 index 0000000..3b6fc78 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuModel.java @@ -0,0 +1,50 @@ +package com.muyu.marketing.domain.model; + +import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; +import com.muyu.marketing.domain.resp.ProjectFindSkuInfoResp; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * @program: 2204a-cloud-server + * @description: 回显sku模型 + * @author: AoCi Tian + * @create: 2024-11-26 16:03 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ActivityTeamProductSkuModel { + /** + * 规格id + */ + private Long id; + /** + * 规格SKU + */ + private String sku; + + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + + /** + * 拼团库存 + */ + private Long teamStock; + + public static ActivityTeamProductSkuModel FindBuild(ActivityTeamProductSkuInfo activityTeamProductSkuInfo) { + return ActivityTeamProductSkuModel.builder() + .id(activityTeamProductSkuInfo.getId()) + .sku(activityTeamProductSkuInfo.getProductSku()) + .teamStock(activityTeamProductSkuInfo.getTeamStock()) + .teamPrice(activityTeamProductSkuInfo.getTeamPrice()) + .build(); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuReqModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuReqModel.java new file mode 100644 index 0000000..65e1aa7 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuReqModel.java @@ -0,0 +1,40 @@ +package com.muyu.marketing.domain.model; + +import com.muyu.marketing.domain.req.ActivityTeamProductSkuReq; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * @program: 2204a-cloud-server + * @description: sku修改模型 + * @author: AoCi Tian + * @create: 2024-11-26 19:45 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ActivityTeamProductSkuReqModel { + private Long id; + private Long teamId; + private Long productId; + private String productSku; + private Long teamStock; + private Long remainStock; + private BigDecimal teamPrice; + public static ActivityTeamProductSkuReqModel activityTeamProductSkuReqModelBuild(ActivityTeamProductSkuReq activityTeamProductSkuReq){ + return ActivityTeamProductSkuReqModel.builder() + .id(activityTeamProductSkuReq.getId()) + .productId(activityTeamProductSkuReq.getProductId()) + .teamId(activityTeamProductSkuReq.getTeamId()) + .productSku(activityTeamProductSkuReq.getProductSku()) + .remainStock(activityTeamProductSkuReq.getRemainStock()) + .teamStock(activityTeamProductSkuReq.getTeamStock()) + .teamPrice(activityTeamProductSkuReq.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..5039ce6 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuUpdModel.java @@ -0,0 +1,37 @@ +package com.muyu.marketing.domain.model; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * 拼团活动商品SKU + * + * @author DongZeLiang + * @date 2024-11-27 14:18 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamProductSkuUpdModel { + + /** + * 商品规格ID + */ + private Long id; + + /** + * 团购价格 + */ + 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..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/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..82939fa --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoUpdReq.java @@ -0,0 +1,36 @@ +package com.muyu.marketing.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + +/** + * @program: 2204a-cloud-server + * @description: 活动商品规格修改入参 + * @author: AoCi Tian + * @create: 2024-11-26 19:25 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ActivityTeamInfoUpdReq { + private Long id; + private String name; + 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; + private Long strategyId; + private List activityTeamProductSkuList; +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamProductSkuReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamProductSkuReq.java new file mode 100644 index 0000000..590781a --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamProductSkuReq.java @@ -0,0 +1,28 @@ +package com.muyu.marketing.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * @program: 2204a-cloud-server + * @description: sku修改入参 + * @author: AoCi Tian + * @create: 2024-11-26 19:45 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ActivityTeamProductSkuReq { + private Long id; + private Long teamId; + private Long productId; + private String productSku; + private Long teamStock; + private Long remainStock; + private BigDecimal teamPrice; +} 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/ProjectFindSkuInfoResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ProjectFindSkuInfoResp.java new file mode 100644 index 0000000..cf0af4e --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ProjectFindSkuInfoResp.java @@ -0,0 +1,48 @@ +package com.muyu.marketing.domain.resp; + +import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuModel; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; + +/** + * 回显resp + */ +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +public class ProjectFindSkuInfoResp { + /** + * 规格id + */ + private Long id; + /** + * 规格SKU + */ + private String sku; + + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + + /** + * 拼团库存 + */ + private Long teamStock; + + public static ProjectFindSkuInfoResp projectFindSkuInfoBuild (ActivityTeamProductSkuModel activityTeamProductSkuModel) { + return ProjectFindSkuInfoResp.builder() + .teamStock(activityTeamProductSkuModel.getTeamStock()) + .teamPrice(activityTeamProductSkuModel.getTeamPrice()) + .id(activityTeamProductSkuModel.getId()) + .sku(activityTeamProductSkuModel.getSku()) + .build(); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamInfoFindByIdResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamInfoFindByIdResp.java new file mode 100644 index 0000000..3efe23a --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamInfoFindByIdResp.java @@ -0,0 +1,107 @@ +package com.muyu.marketing.domain.resp; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.marketing.domain.model.ActivityTeamDetailModel; +import com.muyu.marketing.domain.req.ProjectSkuInfoAddReq; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + +/** + * @program: 2204a-cloud-server + * @description: 团购活动回显响应 + * @author: AoCi Tian + * @create: 2024-11-26 15:19 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class TeamInfoFindByIdResp { + /** + * 拼团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 Long sort; + /** + * 商品SkU集合 + */ + private List projectSkuInfoAddList; + /** + * 活动详情 + */ + private String content; + /** + * 活动状态 + */ + private String status; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private Long strategyId; + + public static TeamInfoFindByIdResp teamInfoFindByIdBuild (ActivityTeamDetailModel activityTeamDetailModel){ + return TeamInfoFindByIdResp.builder() + .id(activityTeamDetailModel.getId()) + .name(activityTeamDetailModel.getName()) + .productId(activityTeamDetailModel.getProductId()) + .productImage(activityTeamDetailModel.getProductImage()) + .introduction(activityTeamDetailModel.getIntroduction()) + .unit(activityTeamDetailModel.getUnit()) + .imageList(activityTeamDetailModel.getImageList()) + .endTime(activityTeamDetailModel.getEndTime()) + .sort(activityTeamDetailModel.getSort()) + .projectSkuInfoAddList(activityTeamDetailModel.getProjectSkuInfoAddReqList().stream().map(ProjectFindSkuInfoResp::projectFindSkuInfoBuild).toList()) +// .projectSkuInfoAddList( +// teamInfoFindByIdRespModel.getProjectSkuInfoAddReqList().stream().map(activityTeamProductSkuModel -> +// ProjectFindSkuInfoResp.projectFindSkuInfoBuild(activityTeamProductSkuModel)).toList() +// ) + .content(activityTeamDetailModel.getContent()) + .status(activityTeamDetailModel.getStatus()) + .strategyType(activityTeamDetailModel.getStrategyType()) + .strategyId(activityTeamDetailModel.getStrategyId()) + .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 342b35d..9494be5 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 @@ -5,15 +5,15 @@ 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.model.ActivityTeamInfoUpdModel; 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.TeamInfoFindByIdResp; 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; @@ -58,4 +58,14 @@ public class ActivityTeamController { activityTeamInfoService.save(ActivityTeamInfoAddModel.addReqBuild(activityTeamInfoSaveReq)); return Result.success(); } + + @PostMapping("/findById/{id}") + public Result findTeamById(@PathVariable Long id){ + return Result.success(TeamInfoFindByIdResp.teamInfoFindByIdBuild(activityTeamInfoService.findDetailById(id))); + } + @PutMapping("/updateByTeamId") + public Result updateByTeamId(@RequestBody ActivityTeamInfoUpdReq activityTeamInfoUpdReq){ + activityTeamInfoService.update(ActivityTeamInfoUpdModel.activityTeamInfoUpdReqModelBuild(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..f1409d4 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,11 +3,7 @@ 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 java.util.List; +import com.muyu.marketing.domain.model.*; public interface ActivityTeamInfoService extends IService { @@ -24,4 +20,20 @@ public interface ActivityTeamInfoService extends IService { * @param activityTeamInfoAddModel 团购添加模型 */ public void save(ActivityTeamInfoAddModel activityTeamInfoAddModel); + + /** + * 根据ID查询商品的详情 + * @param id 团购活动ID + * @return 团购详情 + */ + ActivityTeamDetailModel findDetailById(Long id); + + /** + * 修改团购活动信息 + * @param activityTeamInfoUpdModel 团购活动信息 + * @return 是否成功 + */ + boolean update(ActivityTeamInfoUpdModel activityTeamInfoUpdModel); + + } 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 cf52a58..3bf453a 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 @@ -4,10 +4,7 @@ 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.ActivityTeamProductSkuInfoModel; -import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; -import com.muyu.marketing.domain.model.TeamProductStockModel; +import com.muyu.marketing.domain.model.*; import java.util.List; @@ -47,5 +44,8 @@ public interface ActivityTeamProductSkuInfoService extends IService findListByTeamId(Long teamId); + public List findListByTeamId(Long teamId); + + public boolean updateBath(List activityTeamProductSkuReqModelList); + } 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..a75f0e0 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,10 +1,8 @@ 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; @@ -17,9 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.Assert; -import java.util.ArrayList; import java.util.List; -import java.util.function.Consumer; @Service @@ -82,4 +78,31 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl activityTeamProductSkuAddModel.setTeamId(activityTeamInfo.getId())); this.activityTeamProductSkuInfoService.batchSave(teamProductSkuAddModelList); } + + /** + * 根据ID查询商品的详情 + * @param id 团购活动ID + * @return 团购详情 + */ + @Override + public ActivityTeamDetailModel findDetailById(Long id) { + ActivityTeamInfo activityTeamInfo = this.getById(id); + List activityTeamProductSkuModelList = activityTeamProductSkuInfoService.findListByTeamId(id); + return ActivityTeamDetailModel.findSkuSumList(activityTeamInfo, + (teamInfoFindByIdRespModelBuilder) -> teamInfoFindByIdRespModelBuilder.projectSkuInfoAddReqList(activityTeamProductSkuModelList).build() + ); + } + + /** + * 修改团购活动信息 + * @param activityTeamInfoUpdModel 团购活动信息 + * @return 是否成功 + */ + @Override + public boolean update(ActivityTeamInfoUpdModel activityTeamInfoUpdModel) { + boolean update = this.updateById(ActivityTeamInfo.TeamUpdateBuild(activityTeamInfoUpdModel)); + io.jsonwebtoken.lang.Assert.isTrue(update,"修改失败"); + activityTeamProductSkuInfoService.updateBath(activityTeamInfoUpdModel.getActivityTeamProductSkuModelList()); + return update; + } } 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 d17f97d..f1c3369 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,16 +4,14 @@ 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.ActivityTeamProductSkuInfoModel; -import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; -import com.muyu.marketing.domain.model.TeamProductStockModel; +import com.muyu.marketing.domain.model.*; import com.muyu.marketing.team.mapper.ActivityTeamProductSkuInfoMapper; 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.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.math.RoundingMode; @@ -89,7 +87,17 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl findListByTeamId(Long teamId) { - return null; + public List findListByTeamId(Long teamId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ActivityTeamProductSkuInfo::getTeamId,teamId); + List list = this.list(queryWrapper); + return list.stream().map(ActivityTeamProductSkuModel::FindBuild).toList(); +// return list.stream().map(activityTeamProductSkuInfo -> ActivityTeamProductSkuModel.FindBuild(activityTeamProductSkuInfo)).toList(); + } + + @Transactional + @Override + public boolean updateBath(List activityTeamProductSkuReqModelList) { + return this.updateBatchById(activityTeamProductSkuReqModelList.stream().map(ActivityTeamProductSkuInfo::updateModelBuild).toList()); } } 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..699e778 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 @@ -6,7 +6,7 @@ server: spring: application: # 应用名称 - name: muyu-marketing + name: muyu-buy profiles: # 环境配置 active: dev @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 # 配置文件格式 file-extension: yml # 共享配置 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..8ece81d 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,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 # 配置文件格式 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..9467547 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,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 # 配置文件格式 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..ee5ca7f 100644 --- a/muyu-modules/muyu-system/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-system/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 # 配置文件格式 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..c730a55 100644 --- a/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml +++ b/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 120.46.147.226:8848 # 配置文件格式 file-extension: yml # 共享配置 From b6c4a790d78d513b1b9958f376eecf41c2f01b0c Mon Sep 17 00:00:00 2001 From: DongZeLiang <2746733890@qq.com> Date: Fri, 29 Nov 2024 15:46:06 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix()=EF=BC=9A=E5=9B=A2=E8=B4=AD=E7=AD=96?= =?UTF-8?q?=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/策略.md | 0 muyu-auth/src/main/resources/bootstrap.yml | 4 +- muyu-gateway/src/main/resources/bootstrap.yml | 6 +- .../src/main/resources/bootstrap.yml | 4 +- .../muyu-gen/src/main/resources/bootstrap.yml | 4 +- .../muyu-job/src/main/resources/bootstrap.yml | 4 +- .../domain/ActivityTeamProductSkuInfo.java | 11 +++ ...nHundred.java => TeamStrategyHundred.java} | 2 +- ...rdinary.java => TeamStrategyOrdinary.java} | 2 +- .../model/ActivityTeamInfoAddModel.java | 2 +- .../model/ActivityTeamInfoUpdModel.java | 13 ++- .../ActivityTeamProductSkuSettingModel.java | 59 +++++++++++++ .../model/ActivityTeamProductSkuUpdModel.java | 9 ++ .../domain/req/ActivityTeamInfoSaveReq.java | 2 +- .../domain/req/ActivityTeamInfoUpdReq.java | 2 +- .../req/ActivityTeamProductSkuSettingReq.java | 37 ++++++++ .../domain/req/TeamProjectSkuInfoUpdReq.java | 33 +++++++ .../team/mapper/ActivityTeamInfoMapper.java | 2 - .../TeamStrategyExemptionHundredMapper.java | 11 --- .../TeamStrategyExemptionOrdinaryMapper.java | 11 --- .../mapper/TeamStrategyHundredMapper.java | 10 +++ .../mapper/TeamStrategyOrdinaryMapper.java | 10 +++ .../ActivityTeamProductSkuInfoService.java | 24 +++++- .../TeamStrategyExemptionHundredService.java | 8 -- .../TeamStrategyExemptionOrdinaryService.java | 7 -- .../service/TeamStrategyExemptionService.java | 7 +- .../service/TeamStrategyHundredService.java | 11 +++ .../service/TeamStrategyOrdinaryService.java | 11 +++ .../impl/ActivityTeamInfoServiceImpl.java | 4 +- ...ActivityTeamProductSkuInfoServiceImpl.java | 35 ++++++++ ...amStrategyExemptionHundredServiceImpl.java | 16 ---- ...mStrategyExemptionOrdinaryServiceImpl.java | 13 --- .../TeamStrategyExemptionServiceImpl.java | 56 +++++++++++- .../impl/TeamStrategyHundredServiceImpl.java | 66 ++++++++++++++ .../impl/TeamStrategyOrdinaryServiceImpl.java | 66 ++++++++++++++ .../team/strategy/ActivityTeamStrategy.java | 44 ++++++++++ .../impl/ActivityTeamStrategyImpl.java | 85 +++++++++++++++++++ .../src/main/resources/bootstrap.yml | 4 +- .../java/com/muyu/test/TeamStrategyTest.java | 28 ++++++ .../src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- 43 files changed, 636 insertions(+), 103 deletions(-) create mode 100644 doc/策略.md rename muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/{TeamStrategyExemptionHundred.java => TeamStrategyHundred.java} (93%) rename muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/{TeamStrategyExemptionOrdinary.java => TeamStrategyOrdinary.java} (93%) create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuSettingModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamProductSkuSettingReq.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamProjectSkuInfoUpdReq.java delete mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyExemptionHundredMapper.java delete mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyExemptionOrdinaryMapper.java create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyHundredMapper.java create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyOrdinaryMapper.java delete mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyExemptionHundredService.java delete mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyExemptionOrdinaryService.java create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyHundredService.java create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyOrdinaryService.java delete mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionHundredServiceImpl.java delete mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyHundredServiceImpl.java create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyOrdinaryServiceImpl.java create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/strategy/ActivityTeamStrategy.java create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/strategy/impl/ActivityTeamStrategyImpl.java create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/test/java/com/muyu/test/TeamStrategyTest.java diff --git a/doc/策略.md b/doc/策略.md new file mode 100644 index 0000000..e69de29 diff --git a/muyu-auth/src/main/resources/bootstrap.yml b/muyu-auth/src/main/resources/bootstrap.yml index 26bb01c..b309a3d 100644 --- a/muyu-auth/src/main/resources/bootstrap.yml +++ b/muyu-auth/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-gateway/src/main/resources/bootstrap.yml b/muyu-gateway/src/main/resources/bootstrap.yml index b15f786..d7367b4 100644 --- a/muyu-gateway/src/main/resources/bootstrap.yml +++ b/muyu-gateway/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 @@ -33,7 +33,7 @@ spring: datasource: ds1: nacos: - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 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 956f52b..0cb85bd 100644 --- a/muyu-modules/muyu-file/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-file/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 # 配置文件格式 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 3ec7c15..b628931 100644 --- a/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-gen/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 # 配置文件格式 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 364dc05..618f3e8 100644 --- a/muyu-modules/muyu-job/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-job/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 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 697b5b4..3ace354 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,7 +5,9 @@ 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.ActivityTeamProductSkuModel; import com.muyu.marketing.domain.model.ActivityTeamProductSkuReqModel; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuUpdModel; import lombok.*; import lombok.experimental.SuperBuilder; @@ -74,4 +76,13 @@ public class ActivityTeamProductSkuInfo extends BaseEntity { .build(); } + public static ActivityTeamProductSkuInfo updModelBuild(ActivityTeamProductSkuUpdModel teamProductSkuUpdModel){ + return ActivityTeamProductSkuInfo.builder() + .id(teamProductSkuUpdModel.getId()) + .teamPrice(teamProductSkuUpdModel.getTeamPrice()) + .teamStock(teamProductSkuUpdModel.getTeamStock()) + .remainStock(teamProductSkuUpdModel.getTeamStock()) + .build(); + } + } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/TeamStrategyExemptionHundred.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/TeamStrategyHundred.java similarity index 93% rename from muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/TeamStrategyExemptionHundred.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/TeamStrategyHundred.java index 0225603..781dc25 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/TeamStrategyExemptionHundred.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/TeamStrategyHundred.java @@ -13,7 +13,7 @@ import lombok.experimental.SuperBuilder; @AllArgsConstructor @EqualsAndHashCode(callSuper = true) @TableName(value = "team_strategy_exemption_hundred", autoResultMap = true) -public class TeamStrategyExemptionHundred extends BaseEntity { +public class TeamStrategyHundred extends BaseEntity { /** * 主键 diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/TeamStrategyExemptionOrdinary.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/TeamStrategyOrdinary.java similarity index 93% rename from muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/TeamStrategyExemptionOrdinary.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/TeamStrategyOrdinary.java index 796af1c..e015e86 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/TeamStrategyExemptionOrdinary.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/TeamStrategyOrdinary.java @@ -13,7 +13,7 @@ import lombok.experimental.SuperBuilder; @AllArgsConstructor @EqualsAndHashCode(callSuper = true) @TableName(value = "team_strategy_exemption_ordinary", autoResultMap = true) -public class TeamStrategyExemptionOrdinary extends BaseEntity { +public class TeamStrategyOrdinary extends BaseEntity { /** * 主键 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 8dcbfe4..e1215cf 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 @@ -58,7 +58,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/ActivityTeamInfoUpdModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoUpdModel.java index 6ebfd78..a1a059f 100644 --- 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 @@ -1,11 +1,15 @@ package com.muyu.marketing.domain.model; import com.muyu.marketing.domain.req.ActivityTeamInfoUpdReq; +import com.muyu.marketing.domain.req.ActivityTeamProductSkuSettingReq; +import com.muyu.marketing.domain.req.TeamProjectSkuInfoAddReq; +import com.muyu.marketing.domain.req.TeamProjectSkuInfoUpdReq; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -33,7 +37,7 @@ public class ActivityTeamInfoUpdModel { private String status; private String strategyType; private Long strategyId; - private List activityTeamProductSkuModelList; + private ActivityTeamProductSkuSettingModel activityTeamProductSkuSettingModel; public static ActivityTeamInfoUpdModel activityTeamInfoUpdReqModelBuild (ActivityTeamInfoUpdReq activityTeamInfoUpdReq){ return ActivityTeamInfoUpdModel.builder() @@ -50,7 +54,12 @@ public class ActivityTeamInfoUpdModel { .status(activityTeamInfoUpdReq.getStatus()) .strategyType(activityTeamInfoUpdReq.getStrategyType()) .strategyId(activityTeamInfoUpdReq.getStrategyId()) - .activityTeamProductSkuModelList(activityTeamInfoUpdReq.getActivityTeamProductSkuList().stream().map(ActivityTeamProductSkuReqModel::activityTeamProductSkuReqModelBuild).toList()) + .activityTeamProductSkuSettingModel( + ActivityTeamProductSkuSettingModel.settingReqModel( + activityTeamInfoUpdReq.getActivityTeamProductSkuSettingReq(), + activityTeamInfoUpdReq::getProductId + ) + ) .build(); } } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuSettingModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuSettingModel.java new file mode 100644 index 0000000..38da02d --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuSettingModel.java @@ -0,0 +1,59 @@ +package com.muyu.marketing.domain.model; + + +import com.muyu.marketing.domain.req.ActivityTeamProductSkuSettingReq; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; +import java.util.function.Supplier; + +/** + * 团购商品规格一键设置 + * + * @author DongZeLiang + * @date 2024-11-28 11:15 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamProductSkuSettingModel { + + /** + * 活动ID + */ + private Long teamId; + + /** + * 删除的ID集合 + */ + private List removeIds; + + /** + * 添加的规格集合 + */ + private List activityTeamProductSkuAddModelList; + + /** + * 修改的规格集合 + */ + private List activityTeamProductSkuUpdModelList; + + public static ActivityTeamProductSkuSettingModel settingReqModel(ActivityTeamProductSkuSettingReq activityTeamProductSkuSettingReq, Supplier productId) { + return ActivityTeamProductSkuSettingModel.builder() + .removeIds(activityTeamProductSkuSettingReq.getRemoveIds()) + .activityTeamProductSkuAddModelList( + activityTeamProductSkuSettingReq.getTeamProjectSkuInfoAddReqList().stream() + .map(teamProjectSkuInfoAddReq -> ActivityTeamProductSkuAddModel.addReqBuild(teamProjectSkuInfoAddReq, productId)) + .toList() + ) + .activityTeamProductSkuUpdModelList( + activityTeamProductSkuSettingReq.getTeamProjectSkuInfoUpdReqList().stream() + .map(ActivityTeamProductSkuUpdModel::updReqBuild) + .toList() + ).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 index 5039ce6..3e0bdd1 100644 --- 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 @@ -1,6 +1,7 @@ package com.muyu.marketing.domain.model; +import com.muyu.marketing.domain.req.TeamProjectSkuInfoUpdReq; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -34,4 +35,12 @@ public class ActivityTeamProductSkuUpdModel { * 团购库存 */ private Long teamStock; + + public static ActivityTeamProductSkuUpdModel updReqBuild(TeamProjectSkuInfoUpdReq teamProjectSkuInfoUpdReq){ + return ActivityTeamProductSkuUpdModel.builder() + .id(teamProjectSkuInfoUpdReq.getId()) + .teamStock(teamProjectSkuInfoUpdReq.getTeamStock()) + .teamPrice(teamProjectSkuInfoUpdReq.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 89b20e1..ddc62bd 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 @@ -51,7 +51,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/ActivityTeamInfoUpdReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoUpdReq.java index 82939fa..225a746 100644 --- 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 @@ -32,5 +32,5 @@ public class ActivityTeamInfoUpdReq { private String status; private String strategyType; private Long strategyId; - private List activityTeamProductSkuList; + private ActivityTeamProductSkuSettingReq activityTeamProductSkuSettingReq; } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamProductSkuSettingReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamProductSkuSettingReq.java new file mode 100644 index 0000000..aa2f8f0 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamProductSkuSettingReq.java @@ -0,0 +1,37 @@ +package com.muyu.marketing.domain.req; + + +import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 团购商品规格设置 + * + * @author DongZeLiang + * @date 2024-11-28 11:27 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamProductSkuSettingReq { + /** + * 删除的ID集合 + */ + private List removeIds; + + /** + * 添加的规格集合 + */ + private List teamProjectSkuInfoAddReqList; + + /** + * 添加的规格集合 + */ + private List teamProjectSkuInfoUpdReqList; +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamProjectSkuInfoUpdReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamProjectSkuInfoUpdReq.java new file mode 100644 index 0000000..f2d4d8d --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamProjectSkuInfoUpdReq.java @@ -0,0 +1,33 @@ +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 TeamProjectSkuInfoUpdReq { + + /** + * 规格SKU + */ + private Long id; + + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + + /** + * 拼团库存 + */ + private Long teamStock; +} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/ActivityTeamInfoMapper.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/ActivityTeamInfoMapper.java index 0d3baa9..85e3f4d 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/ActivityTeamInfoMapper.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/ActivityTeamInfoMapper.java @@ -2,8 +2,6 @@ package com.muyu.marketing.team.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.marketing.domain.ActivityTeamInfo; -import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; -import com.muyu.marketing.domain.TeamStrategyExemptionHundred; import org.apache.ibatis.annotations.Mapper; @Mapper diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyExemptionHundredMapper.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyExemptionHundredMapper.java deleted file mode 100644 index 10c7b87..0000000 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyExemptionHundredMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.muyu.marketing.team.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.muyu.marketing.domain.TeamStrategyExemption; -import com.muyu.marketing.domain.TeamStrategyExemptionHundred; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface TeamStrategyExemptionHundredMapper extends BaseMapper { - -} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyExemptionOrdinaryMapper.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyExemptionOrdinaryMapper.java deleted file mode 100644 index b66e04b..0000000 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyExemptionOrdinaryMapper.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.muyu.marketing.team.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.muyu.marketing.domain.TeamStrategyExemptionHundred; -import com.muyu.marketing.domain.TeamStrategyExemptionOrdinary; -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface TeamStrategyExemptionOrdinaryMapper extends BaseMapper { - -} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyHundredMapper.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyHundredMapper.java new file mode 100644 index 0000000..e20625b --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyHundredMapper.java @@ -0,0 +1,10 @@ +package com.muyu.marketing.team.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.marketing.domain.TeamStrategyHundred; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface TeamStrategyHundredMapper extends BaseMapper { + +} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyOrdinaryMapper.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyOrdinaryMapper.java new file mode 100644 index 0000000..e166a01 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/mapper/TeamStrategyOrdinaryMapper.java @@ -0,0 +1,10 @@ +package com.muyu.marketing.team.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.muyu.marketing.domain.TeamStrategyOrdinary; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface TeamStrategyOrdinaryMapper extends BaseMapper { + +} 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 3bf453a..c799837 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,6 @@ 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.*; import java.util.List; @@ -48,4 +47,27 @@ public interface ActivityTeamProductSkuInfoService extends IService activityTeamProductSkuReqModelList); + /** + * 根据 业务模型 进行 团购商品修改 + * @param activityTeamProductSkuUpdModel 修改业务模型 + * @return 修改结果 + */ + public boolean update(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel); + + /** + * 根据 业务模型 进行 团购商品批量修改 + * @param activityTeamProductSkuUpdModelList 修改业务模型 + * @return 修改结果 + */ + public boolean batchUpdate(List activityTeamProductSkuUpdModelList); + + /** + * 一键设置 + * @param activityTeamProductSkuSettingModel 整体修改模型 + */ + public default void setting(ActivityTeamProductSkuSettingModel activityTeamProductSkuSettingModel){ + this.batchSave(activityTeamProductSkuSettingModel.getActivityTeamProductSkuAddModelList()); + this.batchUpdate(activityTeamProductSkuSettingModel.getActivityTeamProductSkuUpdModelList()); + this.removeByIds(activityTeamProductSkuSettingModel.getRemoveIds()); + } } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyExemptionHundredService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyExemptionHundredService.java deleted file mode 100644 index e8f4444..0000000 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyExemptionHundredService.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.muyu.marketing.team.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.marketing.domain.TeamStrategyExemptionHundred; -import com.muyu.marketing.domain.TeamStrategyExemptionOrdinary; - -public interface TeamStrategyExemptionHundredService extends IService { -} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyExemptionOrdinaryService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyExemptionOrdinaryService.java deleted file mode 100644 index 307cf36..0000000 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyExemptionOrdinaryService.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.muyu.marketing.team.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.marketing.domain.TeamStrategyExemptionOrdinary; - -public interface TeamStrategyExemptionOrdinaryService extends IService { -} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyExemptionService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyExemptionService.java index 2176bc8..ea9c08e 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyExemptionService.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyExemptionService.java @@ -2,7 +2,10 @@ package com.muyu.marketing.team.service; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.marketing.domain.TeamStrategyExemption; -import com.muyu.marketing.domain.TeamStrategyExemptionHundred; +import com.muyu.marketing.team.strategy.ActivityTeamStrategy; -public interface TeamStrategyExemptionService extends IService { +/** + * 免单 + */ +public interface TeamStrategyExemptionService extends ActivityTeamStrategy, IService { } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyHundredService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyHundredService.java new file mode 100644 index 0000000..05a85d2 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyHundredService.java @@ -0,0 +1,11 @@ +package com.muyu.marketing.team.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.marketing.domain.TeamStrategyHundred; +import com.muyu.marketing.team.strategy.ActivityTeamStrategy; + +/** + * 百人 + */ +public interface TeamStrategyHundredService extends ActivityTeamStrategy, IService { +} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyOrdinaryService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyOrdinaryService.java new file mode 100644 index 0000000..66c1d25 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/TeamStrategyOrdinaryService.java @@ -0,0 +1,11 @@ +package com.muyu.marketing.team.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.marketing.domain.TeamStrategyOrdinary; +import com.muyu.marketing.team.strategy.ActivityTeamStrategy; + +/** + * 普通 + */ +public interface TeamStrategyOrdinaryService extends ActivityTeamStrategy, IService { +} 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 a75f0e0..38a662a 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 @@ -101,8 +101,8 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl activityTeamProductSkuReqModelList) { return this.updateBatchById(activityTeamProductSkuReqModelList.stream().map(ActivityTeamProductSkuInfo::updateModelBuild).toList()); } + + /** + * 根据 业务模型 进行 团购商品修改 + * + * @param activityTeamProductSkuUpdModel 修改业务模型 + * @return 修改结果 + */ + @Override + public boolean update(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel) { + // update set where + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + // 字段=值 + updateWrapper.set(ActivityTeamProductSkuInfo::getTeamStock,activityTeamProductSkuUpdModel.getTeamStock()); + updateWrapper.set(ActivityTeamProductSkuInfo::getRemainStock,activityTeamProductSkuUpdModel.getTeamStock()); + updateWrapper.set(ActivityTeamProductSkuInfo::getTeamPrice,activityTeamProductSkuUpdModel.getTeamPrice()); + // id=? + updateWrapper.eq(ActivityTeamProductSkuInfo::getId,activityTeamProductSkuUpdModel.getId()); + return this.update(updateWrapper); + } + + /** + * 根据 业务模型 进行 团购商品批量修改 + * + * @param activityTeamProductSkuUpdModelList 修改业务模型 + * @return 修改结果 + */ + @Override + public boolean batchUpdate(List activityTeamProductSkuUpdModelList) { + return this.updateBatchById( + activityTeamProductSkuUpdModelList.stream() + .map(ActivityTeamProductSkuInfo::updModelBuild) + .toList() + ); + } } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionHundredServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionHundredServiceImpl.java deleted file mode 100644 index 0091d59..0000000 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionHundredServiceImpl.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.muyu.marketing.team.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.muyu.marketing.domain.TeamStrategyExemption; -import com.muyu.marketing.domain.TeamStrategyExemptionHundred; -import com.muyu.marketing.team.mapper.TeamStrategyExemptionHundredMapper; -import com.muyu.marketing.team.mapper.TeamStrategyExemptionMapper; -import com.muyu.marketing.team.service.TeamStrategyExemptionHundredService; -import com.muyu.marketing.team.service.TeamStrategyExemptionService; -import org.springframework.stereotype.Service; - -@Service -public class TeamStrategyExemptionHundredServiceImpl extends ServiceImpl - implements TeamStrategyExemptionHundredService { - -} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java deleted file mode 100644 index 5125ec4..0000000 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.muyu.marketing.team.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.muyu.marketing.domain.TeamStrategyExemptionOrdinary; -import com.muyu.marketing.team.mapper.TeamStrategyExemptionOrdinaryMapper; -import com.muyu.marketing.team.service.TeamStrategyExemptionOrdinaryService; -import org.springframework.stereotype.Service; - -@Service -public class TeamStrategyExemptionOrdinaryServiceImpl extends ServiceImpl - implements TeamStrategyExemptionOrdinaryService { - -} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionServiceImpl.java index 829f618..01eed14 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionServiceImpl.java @@ -4,10 +4,62 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.marketing.domain.TeamStrategyExemption; import com.muyu.marketing.team.mapper.TeamStrategyExemptionMapper; import com.muyu.marketing.team.service.TeamStrategyExemptionService; +import lombok.extern.log4j.Log4j2; import org.springframework.stereotype.Service; -@Service +@Log4j2 +@Service("team-strategy-exemption") public class TeamStrategyExemptionServiceImpl extends ServiceImpl implements TeamStrategyExemptionService { - + + /** + * 开团 + * + * @param activityTeamId 团购活动ID + */ + @Override + public void openTeam(Long activityTeamId) { + log.info("参加 - 免单团 - [{}]", activityTeamId); + } + + /** + * 申请加团 + * + * @param teamId 团ID + */ + @Override + public void applyTeam(Long teamId) { + + } + + /** + * 参团 + * + * @param teamId 加团ID + * @param orderNumber 订单编号 + */ + @Override + public void addTeam(Long teamId, String orderNumber) { + + } + + /** + * 退团 + * + * @param teamId 团购ID + */ + @Override + public void backTeam(Long teamId) { + + } + + /** + * 结算团 + * + * @param teamId 团购ID + */ + @Override + public void settle(Long teamId) { + + } } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyHundredServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyHundredServiceImpl.java new file mode 100644 index 0000000..737c436 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyHundredServiceImpl.java @@ -0,0 +1,66 @@ +package com.muyu.marketing.team.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.marketing.domain.TeamStrategyHundred; +import com.muyu.marketing.team.mapper.TeamStrategyHundredMapper; +import com.muyu.marketing.team.service.TeamStrategyHundredService; +import lombok.extern.log4j.Log4j2; +import org.springframework.stereotype.Service; + +@Log4j2 +@Service("team-strategy-hundred") +public class TeamStrategyHundredServiceImpl extends ServiceImpl + implements TeamStrategyHundredService { + + /** + * 开团 + * + * @param activityTeamId 团购活动ID + */ + @Override + public void openTeam(Long activityTeamId) { + + log.info("参加 - 百人团 - [{}]", activityTeamId); + } + + /** + * 申请加团 + * + * @param teamId 团ID + */ + @Override + public void applyTeam(Long teamId) { + + } + + /** + * 参团 + * + * @param teamId 加团ID + * @param orderNumber 订单编号 + */ + @Override + public void addTeam(Long teamId, String orderNumber) { + + } + + /** + * 退团 + * + * @param teamId 团购ID + */ + @Override + public void backTeam(Long teamId) { + + } + + /** + * 结算团 + * + * @param teamId 团购ID + */ + @Override + public void settle(Long teamId) { + + } +} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyOrdinaryServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyOrdinaryServiceImpl.java new file mode 100644 index 0000000..e436a54 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyOrdinaryServiceImpl.java @@ -0,0 +1,66 @@ +package com.muyu.marketing.team.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.marketing.domain.TeamStrategyOrdinary; +import com.muyu.marketing.team.mapper.TeamStrategyOrdinaryMapper; +import com.muyu.marketing.team.service.TeamStrategyOrdinaryService; +import lombok.extern.log4j.Log4j2; +import org.springframework.stereotype.Service; + +@Log4j2 +@Service("team-strategy-ordinary") +public class TeamStrategyOrdinaryServiceImpl extends ServiceImpl + implements TeamStrategyOrdinaryService { + + /** + * 开团 + * + * @param activityTeamId 团购活动ID + */ + @Override + public void openTeam(Long activityTeamId) { + + log.info("参加 - 普通团 - [{}]", activityTeamId); + } + + /** + * 申请加团 + * + * @param teamId 团ID + */ + @Override + public void applyTeam(Long teamId) { + + } + + /** + * 参团 + * + * @param teamId 加团ID + * @param orderNumber 订单编号 + */ + @Override + public void addTeam(Long teamId, String orderNumber) { + + } + + /** + * 退团 + * + * @param teamId 团购ID + */ + @Override + public void backTeam(Long teamId) { + + } + + /** + * 结算团 + * + * @param teamId 团购ID + */ + @Override + public void settle(Long teamId) { + + } +} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/strategy/ActivityTeamStrategy.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/strategy/ActivityTeamStrategy.java new file mode 100644 index 0000000..59b0fbd --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/strategy/ActivityTeamStrategy.java @@ -0,0 +1,44 @@ +package com.muyu.marketing.team.strategy; + + +import org.apache.ibatis.annotations.Param; + +/** + * 团活动策略 + * + * @author DongZeLiang + * @date 2024-11-29 15:03 + */ +public interface ActivityTeamStrategy { + + /** + * 开团 + * @param activityTeamId 团购活动ID + */ + public void openTeam(Long activityTeamId); + + /** + * 申请加团 + * @param teamId 团ID + */ + public void applyTeam(Long teamId); + + /** + * 参团 + * @param teamId 加团ID + * @param orderNumber 订单编号 + */ + public void addTeam(Long teamId, String orderNumber); + + /** + * 退团 + * @param teamId 团购ID + */ + public void backTeam(Long teamId); + + /** + * 结算团 + * @param teamId 团购ID + */ + public void settle(Long teamId); +} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/strategy/impl/ActivityTeamStrategyImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/strategy/impl/ActivityTeamStrategyImpl.java new file mode 100644 index 0000000..365da3c --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/strategy/impl/ActivityTeamStrategyImpl.java @@ -0,0 +1,85 @@ +package com.muyu.marketing.team.strategy.impl; + + +import com.muyu.common.core.exception.ServiceException; +import com.muyu.common.core.utils.SpringUtils; +import com.muyu.marketing.team.strategy.ActivityTeamStrategy; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Service; + +/** + * 团购执行器 + * + * @author DongZeLiang + * @date 2024-11-29 15:28 + */ +@Service +@Primary +public class ActivityTeamStrategyImpl implements ActivityTeamStrategy { + /** + * 开团 + * + * @param activityTeamId 团购活动ID + */ + @Override + public void openTeam(Long activityTeamId) { + // 假设这里是通过方法获取的type,activityTeamId.toString() + // "team-strategy-exemption" + // "team-strategy-hundred" + // "team-strategy-ordinary" + + String activityTeamType = null; + if (activityTeamId == null) { + throw new ServiceException("activityTeamId is null"); + }else if (activityTeamId == 0) { + activityTeamType = "team-strategy-exemption"; + }else if (activityTeamId == 1) { + activityTeamType = "team-strategy-hundred"; + }else if (activityTeamId == 2) { + activityTeamType = "team-strategy-ordinary"; + } + ActivityTeamStrategy activityTeamStrategy = SpringUtils.getBean(activityTeamType); + activityTeamStrategy.openTeam(activityTeamId); + } + + /** + * 申请加团 + * + * @param teamId 团ID + */ + @Override + public void applyTeam(Long teamId) { + + } + + /** + * 参团 + * + * @param teamId 加团ID + * @param orderNumber 订单编号 + */ + @Override + public void addTeam(Long teamId, String orderNumber) { + + } + + /** + * 退团 + * + * @param teamId 团购ID + */ + @Override + public void backTeam(Long teamId) { + + } + + /** + * 结算团 + * + * @param teamId 团购ID + */ + @Override + public void settle(Long teamId) { + + } +} 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 699e778..a4e1dd5 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,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-marketing/marketing-server/src/test/java/com/muyu/test/TeamStrategyTest.java b/muyu-modules/muyu-marketing/marketing-server/src/test/java/com/muyu/test/TeamStrategyTest.java new file mode 100644 index 0000000..d684a3f --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/test/java/com/muyu/test/TeamStrategyTest.java @@ -0,0 +1,28 @@ +package com.muyu.test; + + +import com.muyu.marketing.MuYuMarketIngApplication; +import com.muyu.marketing.team.strategy.ActivityTeamStrategy; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; + +/** + * 测试 + * + * @author DongZeLiang + * @date 2024-11-29 15:40 + */ +@SpringBootTest(classes = MuYuMarketIngApplication.class) +public class TeamStrategyTest { + + @Autowired + private ActivityTeamStrategy activityTeamStrategy; + + @Test + public void testStrategy() { + activityTeamStrategy.openTeam(0L); + activityTeamStrategy.openTeam(1L); + activityTeamStrategy.openTeam(2L); + } +} 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 8ece81d..e8bd02d 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,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 # 配置文件格式 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 9467547..8e54ec5 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,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 # 配置文件格式 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 ee5ca7f..a66fd4c 100644 --- a/muyu-modules/muyu-system/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-system/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 # 配置文件格式 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 c730a55..1276c8e 100644 --- a/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml +++ b/muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 config: # 配置中心地址 - server-addr: 120.46.147.226:8848 + server-addr: 127.0.0.1:8848 # 配置文件格式 file-extension: yml # 共享配置