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 7e1b7ab..4636f5a 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; +import com.muyu.marketing.domain.model.ActivityTeamUpdModel; import lombok.*; import lombok.experimental.SuperBuilder; @@ -93,4 +94,22 @@ public class ActivityTeamInfo extends BaseEntity { .strategyId(activityTeamInfoAddModel.getStrategyId()) .build(); } + + public static ActivityTeamInfo updModelBuild(ActivityTeamUpdModel activityTeamUpdModel){ + return ActivityTeamInfo.builder() + .id(activityTeamUpdModel.getId()) + .name(activityTeamUpdModel.getName()) + .productId(activityTeamUpdModel.getProductId()) + .productImage(activityTeamUpdModel.getProductImage()) + .introduction(activityTeamUpdModel.getIntroduction()) + .unit(activityTeamUpdModel.getUnit()) + .imageList(activityTeamUpdModel.getImageList()) + .endTime(activityTeamUpdModel.getEndTime()) + .sort(activityTeamUpdModel.getSort()) + .content(activityTeamUpdModel.getContent()) + .status(activityTeamUpdModel.getStatus()) + .strategyType(activityTeamUpdModel.getStrategyType()) + .strategyId(activityTeamUpdModel.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 b663274..c0add74 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.ActivityTeamProductSkuUpdModel; import lombok.*; import lombok.experimental.SuperBuilder; @@ -62,4 +63,12 @@ public class ActivityTeamProductSkuInfo extends BaseEntity { .teamPrice(activityTeamProductSkuAddModel.getTeamPrice()) .build(); } + + public static ActivityTeamProductSkuInfo updBuild(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel){ + return ActivityTeamProductSkuInfo.builder() + .id(activityTeamProductSkuUpdModel.getId()) + .remainStock(activityTeamProductSkuUpdModel.getTeamStock()) + .teamPrice(activityTeamProductSkuUpdModel.getTeamPrice()) + .build(); + } } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java index 7d3ca35..356ed2b 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java @@ -36,7 +36,8 @@ public class ActivityTeamProductSkuAddModel { /** * 规格SKU */ - private String sku; + private String productSku; + /** * 拼团价格 @@ -51,7 +52,7 @@ public class ActivityTeamProductSkuAddModel { public static ActivityTeamProductSkuAddModel addReqBuild(TeamProjectSkuInfoAddReq teamProjectSkuInfoAddReq, Supplier productId){ return ActivityTeamProductSkuAddModel.builder() .productId(productId.get()) - .sku(teamProjectSkuInfoAddReq.getSku()) + .productSku(teamProjectSkuInfoAddReq.getProductSku()) .teamStock(teamProjectSkuInfoAddReq.getTeamStock()) .teamPrice(teamProjectSkuInfoAddReq.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..2968a0f --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuUpdModel.java @@ -0,0 +1,40 @@ +package com.muyu.marketing.domain.model; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + + +/** + * 团购spu库存修改模型 + * + * @author DongZeLiang + * @date 2024-11-26 09:36 + */ +@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/ActivityTeamUpdModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamUpdModel.java index 7339232..995c3a1 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamUpdModel.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamUpdModel.java @@ -1,6 +1,8 @@ package com.muyu.marketing.domain.model; import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.marketing.domain.ActivityTeamInfo; +import com.muyu.marketing.domain.req.ActivityTeamUpdReq; import com.muyu.marketing.domain.resp.ActivityTeamProjectSkuResp; import lombok.AllArgsConstructor; import lombok.Builder; @@ -56,9 +58,9 @@ public class ActivityTeamUpdModel { */ private Integer sort; /** - * 商品SkU集合 + * 商品SkU */ - private List activityTeamProjectSkuResp; + private ActivityTeamUpdSkuModel activityTeamUpdSkuModel; /** * 活动详情 */ @@ -75,4 +77,24 @@ public class ActivityTeamUpdModel { * 策略ID */ private Long strategyId; + + public static ActivityTeamUpdModel activityTeamUpdReq(ActivityTeamUpdReq activityTeamInfo){ + return ActivityTeamUpdModel.builder() + .id(activityTeamInfo.getId()) + .name(activityTeamInfo.getName()) + .productId(activityTeamInfo.getProductId()) + .introduction(activityTeamInfo.getIntroduction()) + .unit(activityTeamInfo.getUnit()) + .endTime(activityTeamInfo.getEndTime()) + .imageList(activityTeamInfo.getImageList()) + .productImage(activityTeamInfo.getProductImage()) + .activityTeamUpdSkuModel(activityTeamInfo.getActivityTeamUpdSkuModel()) + .sort(activityTeamInfo.getSort()) + .content(activityTeamInfo.getContent()) + .status(activityTeamInfo.getStatus()) + .strategyType(activityTeamInfo.getStrategyType()) + .strategyId(activityTeamInfo.getStrategyId()) + .strategyType(activityTeamInfo.getStrategyType()) + .build(); + } } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamUpdSkuModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamUpdSkuModel.java index 16cef1e..54913c0 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamUpdSkuModel.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamUpdSkuModel.java @@ -1,4 +1,29 @@ package com.muyu.marketing.domain.model; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; +@Data +@AllArgsConstructor +@NoArgsConstructor public class ActivityTeamUpdSkuModel { + + /** + * 团购spu库存添加模型 + */ + private List activityTeamProductSkuAddModelList; + + /** + * 根据商品规格Id删除 + */ + private List ids; + + /** + * 团购spu库存修改模型 + */ + private List activityTeamProductSkuUpdModels; + + } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamUpdReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamUpdReq.java index 8736229..0cdf2b8 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamUpdReq.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamUpdReq.java @@ -1,4 +1,82 @@ package com.muyu.marketing.domain.req; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.marketing.domain.model.ActivityTeamUpdModel; +import com.muyu.marketing.domain.model.ActivityTeamUpdSkuModel; +import com.muyu.marketing.domain.resp.ActivityTeamProjectSkuResp; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; +import java.util.List; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor public class ActivityTeamUpdReq { + + /** + * 活动ID + */ + private Long id; + + /** + * 拼团名称 + */ + private String name; + /** + * 商品ID + */ + private Long productId; + /** + * 商品活动图 + */ + private String productImage; + /** + * 活动简介 + */ + private String introduction; + /** + * 单位 + */ + + private String unit; + /** + * 轮播图 + */ + + private String imageList; + /** + * 活动结束时间 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd") + private Date endTime; + /** + * 活动排序 + */ + private Integer sort; + /** + * 商品SkU + */ + private ActivityTeamUpdSkuModel activityTeamUpdSkuModel; + /** + * 活动详情 + */ + 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/req/TeamProjectSkuInfoAddReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamProjectSkuInfoAddReq.java index 4db94d7..cc4f392 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamProjectSkuInfoAddReq.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamProjectSkuInfoAddReq.java @@ -20,7 +20,7 @@ public class TeamProjectSkuInfoAddReq { /** * 规格SKU */ - private String sku; + private String productSku; /** * 拼团价格 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 427c107..81149f6 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java @@ -3,11 +3,9 @@ package com.muyu.marketing.team.controller; import com.muyu.common.core.domain.Result; import com.muyu.common.core.web.page.TableDataInfo; -import com.muyu.marketing.domain.model.ActivityTeamDetailRespModel; -import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; -import com.muyu.marketing.domain.model.ActivityTeamInfoDetailModel; -import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; +import com.muyu.marketing.domain.model.*; import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq; +import com.muyu.marketing.domain.req.ActivityTeamUpdReq; import com.muyu.marketing.domain.req.TeamInfoListReq; import com.muyu.marketing.domain.resp.ActivityTeamDetailResp; import com.muyu.marketing.domain.resp.ActivityTeamProjectSkuResp; @@ -74,4 +72,10 @@ public class ActivityTeamController { ); return activityTeamDetailResp; } + + @PutMapping + public Result upd(@RequestBody ActivityTeamUpdReq activityTeamUpdReq){ + activityTeamInfoService.upd(ActivityTeamUpdModel.activityTeamUpdReq(activityTeamUpdReq)); + 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 8f0f430..9f393a3 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,10 +3,8 @@ package com.muyu.marketing.team.service; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.marketing.domain.ActivityTeamInfo; -import com.muyu.marketing.domain.model.ActivityTeamDetailRespModel; -import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; -import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; -import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel; +import com.muyu.marketing.domain.model.*; +import com.muyu.marketing.domain.req.ActivityTeamUpdReq; import com.muyu.marketing.domain.resp.ActivityTeamDetailResp; public interface ActivityTeamInfoService extends IService { @@ -26,7 +24,12 @@ public interface ActivityTeamInfoService extends IService { public void save(ActivityTeamInfoAddModel activityTeamInfoAddModel); /** - * + * 查看拼团活动详情 + * @param id + * @return */ public ActivityTeamDetailRespModel findById(Long id); + + public boolean upd(ActivityTeamUpdModel activityTeamUpdModel); + } 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 06665d4..a55cde2 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.ActivityTeamInfoDetailModel; -import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; -import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; -import com.muyu.marketing.domain.model.TeamProductStockModel; +import com.muyu.marketing.domain.model.*; import org.springframework.stereotype.Service; import java.util.List; @@ -47,4 +44,27 @@ public interface ActivityTeamProductSkuInfoService extends IService selectByTeamId(Long teamId); + + /** + * 根据商品规格ID修改商品规格 + * @param activityTeamProductSkuUpdModels + * @return + */ + public boolean batchUpd(List activityTeamProductSkuUpdModels); + + /** + * 添加商品规格 + * @param activityTeamProductSkuAddModelList + * @return + */ + public boolean batchAdd(List activityTeamProductSkuAddModelList); + + /** + * 根据商品规格Id删除 + * @param ids + * @return + */ + public boolean batchDel(List ids); + + } 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 c29ecad..f3aed72 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,6 +1,7 @@ package com.muyu.marketing.team.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.common.core.utils.StringUtils; @@ -8,6 +9,7 @@ import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; import com.muyu.marketing.domain.model.*; +import com.muyu.marketing.domain.req.ActivityTeamUpdReq; import com.muyu.marketing.domain.resp.ActivityTeamDetailResp; import com.muyu.marketing.team.mapper.ActivityTeamInfoMapper; import com.muyu.marketing.team.service.ActivityTeamInfoService; @@ -15,6 +17,7 @@ import com.muyu.marketing.team.service.ActivityTeamOpenInfoService; import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import java.util.List; @@ -81,8 +84,25 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ActivityTeamProductSkuInfo::getTeamId,teamId); List activityTeamProductSkuInfos = this.list(queryWrapper); - - List activityTeamInfoDetailModels = activityTeamProductSkuInfos .stream().map(ActivityTeamInfoDetailModel::activityTeamInfoDetailModel).toList(); return activityTeamInfoDetailModels; } + + /** + * 根据商品规格ID修改商品规格 + * @param activityTeamProductSkuUpdModels + * @return + */ + @Override + public boolean batchUpd(List activityTeamProductSkuUpdModels) { + List productSkuInfos = activityTeamProductSkuUpdModels.stream() + .map(ActivityTeamProductSkuInfo::updBuild).toList(); + return this.updateBatchById(productSkuInfos); + + } + + /** + * 添加商品规格 + * @param activityTeamProductSkuAddModelList + * @return + */ + @Override + public boolean batchAdd(List activityTeamProductSkuAddModelList) { + List productSkuInfos = activityTeamProductSkuAddModelList.stream() + .map(ActivityTeamProductSkuInfo::modelBuild).toList(); + return this.saveBatch(productSkuInfos); + } + + /** + * 根据商品规格Id删除 + * @param ids + * @return + */ + @Override + public boolean batchDel(List ids) { + return this.removeBatchByIds(ids); + } }