diff --git a/doc/策略.md b/doc/策略.md new file mode 100644 index 0000000..e69de29 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 2b858de..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 @@ -7,6 +7,7 @@ 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; @@ -49,6 +50,7 @@ public class ActivityTeamProductSkuInfo extends BaseEntity { * 拼团价格 */ private BigDecimal teamPrice; + /** * 通过模型钢构件对象 * @param activityTeamProductSkuAddModel 模型 @@ -74,12 +76,12 @@ public class ActivityTeamProductSkuInfo extends BaseEntity { .build(); } - public static ActivityTeamProductSkuInfo updModelBuild(ActivityTeamProductSkuModel activityTeamProductSkuModel){ + public static ActivityTeamProductSkuInfo updModelBuild(ActivityTeamProductSkuUpdModel teamProductSkuUpdModel){ return ActivityTeamProductSkuInfo.builder() - .id(activityTeamProductSkuModel.getId()) - .teamPrice(activityTeamProductSkuModel.getTeamPrice()) - .teamStock(activityTeamProductSkuModel.getTeamStock()) - .remainStock(activityTeamProductSkuModel.getTeamStock()) + .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 a6a3c35..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; @@ -49,22 +48,26 @@ public interface ActivityTeamProductSkuInfoService extends IService activityTeamProductSkuReqModelList); /** - * 根据 业务模型 运行团购商品修改 + * 根据 业务模型 进行 团购商品修改 + * @param activityTeamProductSkuUpdModel 修改业务模型 + * @return 修改结果 */ public boolean update(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel); - public boolean batchUpdate(List activityTeamProductSkuModelList); + /** + * 根据 业务模型 进行 团购商品批量修改 + * @param activityTeamProductSkuUpdModelList 修改业务模型 + * @return 修改结果 + */ + public boolean batchUpdate(List activityTeamProductSkuUpdModelList); /** - * 批量删除 + * 一键设置 + * @param activityTeamProductSkuSettingModel 整体修改模型 */ - public boolean delBatch(List ids); - /** - * 批量添加用户 - */ - boolean saveBatch(List activityTeamProductSkuAddListModelList); - /** - * 批量修改用户 - */ - boolean updateBatch(List activityTeamProductSkuUpdListModels); + 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 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()); - this.update(updateWrapper); - return false; + return this.update(updateWrapper); } + /** + * 根据 业务模型 进行 团购商品批量修改 + * + * @param activityTeamProductSkuUpdModelList 修改业务模型 + * @return 修改结果 + */ @Override - public boolean batchUpdate(List activityTeamProductSkuModelList) { + public boolean batchUpdate(List activityTeamProductSkuUpdModelList) { return this.updateBatchById( - activityTeamProductSkuModelList.stream() + activityTeamProductSkuUpdModelList.stream() .map(ActivityTeamProductSkuInfo::updModelBuild) .toList() ); } - - /** - * 批量删除 - * @param ids - * @return - */ - @Override - public boolean delBatch(List ids) { - return this.removeByIds(ids); - } - /** - * 批量添加用户 - */ - @Override - public boolean saveBatch(List activityTeamProductSkuAddListModelList) { - return this.saveBatch(activityTeamProductSkuAddListModelList); - } - /** - * 批量修改用户 - */ - @Override - public boolean updateBatch(List activityTeamProductSkuUpdListModels) { - return this.updateBatch(activityTeamProductSkuUpdListModels); - } - - } 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/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); + } +}