From bc9270c02d53a1daf1da1fa9ad87a1457445d650 Mon Sep 17 00:00:00 2001 From: rh <3462644232@qq.com> Date: Thu, 5 Dec 2024 10:43:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E7=BB=88=E4=B8=8A=E4=BC=A012-5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/muyu/gateway/config/CorsConfig.java | 56 ++++++++ .../muyu/active/domain/ActivityTeamInfo.java | 59 -------- .../domain/ActivityTeamProductSkuInfo.java | 42 ------ .../muyu/service/ActivityTeamInfoService.java | 24 ---- .../ActivityTeamProductSkuInfoService.java | 23 --- ...ActivityTeamProductSkuInfoServiceImpl.java | 58 -------- .../marketing-common}/pom.xml | 4 +- .../muyu/active/domain/ActivityTeamInfo.java | 117 +++++++++++++++ .../active/domain/ActivityTeamOpenInfo.java | 0 .../domain/ActivityTeamOpenInfoEnum.java | 0 .../domain/ActivityTeamProductSkuInfo.java | 90 ++++++++++++ .../active/domain/TeamStrategyExemption.java | 0 .../domain/TeamStrategyExemptionHundred.java | 0 .../domain/TeamStrategyExemptionOrdinary.java | 0 .../domain/model/ActivityTeamDetailModel.java | 104 ++++++++++++++ .../model/ActivityTeamDiscountModel.java | 0 .../model/ActivityTeamInfoAddModel.java | 105 ++++++++++++++ .../model/ActivityTeamInfoListModel.java | 0 .../model/ActivityTeamInfoListQueryModel.java | 31 ++++ .../model/ActivityTeamInfoQueryModel.java | 0 .../model/ActivityTeamInfoSaveModel.java | 1 + .../model/ActivityTeamInfoUpdModel.java | 104 ++++++++++++++ .../model/ActivityTeamProductSkuAddModel.java | 58 ++++++++ .../ActivityTeamProductSkuInfoModel.java | 51 +++++++ .../model/ActivityTeamProductSkuModel.java | 49 +++++++ .../model/ActivityTeamProductSkuReqModel.java | 39 +++++ .../model/ActivityTeamProductSkuUpdModel.java | 45 ++++++ .../model/ActivityTeamProductSkuUpdReq.java | 33 +++++ .../muyu/active/domain/model/QueryModel.java | 0 .../model/TeamProductDiscountPriceModel.java | 54 +++++++ .../domain/model/TeamProductStockModel.java | 31 ++++ .../active/domain/model/TeamStockModel.java | 0 .../domain/req/ActivityTeamInfoReq.java | 0 .../domain/req/ActivityTeamInfoSaveReq.java | 14 +- .../domain/req/ActivityTeamInfoUpdReq.java | 82 +++++++++++ .../domain/req/ActivityTeamProductSkuReq.java | 28 ++++ .../req/ActivityTeamProductSkuSettingReq.java | 36 +++++ .../active/domain/req/TeamInfoListReq.java | 40 ++++++ .../domain/req/TeamProjectSkuInfoAddReq.java | 46 ++++++ .../domain/resp/ActivityTeamDetailResp.java | 82 +++++++++++ .../domain/resp/ActivityTeamInfoResp.java | 0 .../resp/ActivityTeamProjectSkuResp.java | 38 +++++ .../domain/resp/ProjectFindSkuInfoResp.java | 46 ++++++ .../domain/resp/TeamInfoFindByIdResp.java | 108 ++++++++++++++ .../active/domain/resp/TeamInfoListResp.java | 93 ++++++++++++ .../marketing-remote}/pom.xml | 6 +- .../marketing-server}/pom.xml | 6 +- .../java/com/muyu/MuYuActivesApplication.java | 0 .../ActivityTeamInfoController.java | 51 +++++-- .../muyu/mapper/ActivityTeamInfoMapper.java | 0 .../mapper/ActivityTeamOpenInfoMapper.java | 0 .../ActivityTeamProductSkuInfoMapper.java | 0 .../TeamStrategyExemptionHundredMapper.java | 0 .../mapper/TeamStrategyExemptionMapper.java | 0 .../TeamStrategyExemptionOrdinaryMapper.java | 0 .../muyu/service/ActivityTeamInfoService.java | 41 ++++++ .../service/ActivityTeamOpenInfoService.java | 0 .../ActivityTeamProductSkuInfoService.java | 64 +++++++++ .../TeamStrategyExemptionHundredService.java | 0 .../TeamStrategyExemptionOrdinaryService.java | 0 .../service/TeamStrategyExemptionService.java | 0 .../impl/ActivityTeamInfoServiceImpl.java | 79 ++++++++++- .../impl/ActivityTeamOpenInfoServiceImpl.java | 0 ...ActivityTeamProductSkuInfoServiceImpl.java | 134 ++++++++++++++++++ ...amStrategyExemptionHundredServiceImpl.java | 0 ...mStrategyExemptionOrdinaryServiceImpl.java | 0 .../TeamStrategyExemptionServiceImpl.java | 0 .../strategy/ActivityTeamStrategy.java | 39 +++++ .../impl/ActivityTeamStrategyImpl.java | 89 ++++++++++++ .../src/main/resources/bootstrap.yml | 2 +- .../{muyu-actives => muyu-marketing}/pom.xml | 8 +- .../muyu/product/domain/AttributeGroup.java | 4 +- .../com/muyu/product/domain/CategoryInfo.java | 2 +- .../model/TemplateAttributeGroupModel.java | 1 - .../domain/req/AttributeGroupEditReq.java | 1 + .../domain/req/AttributeGroupQueryReq.java | 1 + .../controller/CategoryInfoController.java | 13 +- .../controller/CommentInfoController.java | 7 + .../controller/ProjectInfoController.java | 2 +- .../product/service/CategoryInfoService.java | 2 +- .../product/service/CommentInfoService.java | 5 +- .../product/service/ProjectInfoService.java | 2 +- .../impl/AsBrandProjectServiceImpl.java | 5 - .../impl/AttributeGroupServiceImpl.java | 7 +- .../service/impl/CategoryInfoServiceImpl.java | 48 ++++--- .../service/impl/CommentInfoServiceImpl.java | 9 +- .../impl/CommentLikeInfoServiceImpl.java | 1 - .../service/impl/ProjectInfoServiceImpl.java | 59 ++++++-- .../service/impl/RuleAttrInfoServiceImpl.java | 4 - .../service/impl/RuleInfoServiceImpl.java | 8 +- muyu-modules/pom.xml | 2 +- 91 files changed, 2192 insertions(+), 301 deletions(-) create mode 100644 muyu-gateway/src/main/java/com/muyu/gateway/config/CorsConfig.java delete mode 100644 muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamInfo.java delete mode 100644 muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamProductSkuInfo.java delete mode 100644 muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/ActivityTeamInfoService.java delete mode 100644 muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/ActivityTeamProductSkuInfoService.java delete mode 100644 muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamProductSkuInfoServiceImpl.java rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/pom.xml (92%) create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/ActivityTeamInfo.java rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfo.java (100%) rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfoEnum.java (100%) create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/ActivityTeamProductSkuInfo.java rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/src/main/java/com/muyu/active/domain/TeamStrategyExemption.java (100%) rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/src/main/java/com/muyu/active/domain/TeamStrategyExemptionHundred.java (100%) rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/src/main/java/com/muyu/active/domain/TeamStrategyExemptionOrdinary.java (100%) create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamDetailModel.java rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/src/main/java/com/muyu/active/domain/model/ActivityTeamDiscountModel.java (100%) create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoAddModel.java rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoListModel.java (100%) create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoListQueryModel.java rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoQueryModel.java (100%) rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoSaveModel.java (98%) create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoUpdModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuAddModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuInfoModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuReqModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuUpdModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuUpdReq.java rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/src/main/java/com/muyu/active/domain/model/QueryModel.java (100%) create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/TeamProductDiscountPriceModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/TeamProductStockModel.java rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/src/main/java/com/muyu/active/domain/model/TeamStockModel.java (100%) rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoReq.java (100%) rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoSaveReq.java (79%) create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoUpdReq.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamProductSkuReq.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamProductSkuSettingReq.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/TeamInfoListReq.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/TeamProjectSkuInfoAddReq.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/ActivityTeamDetailResp.java rename muyu-modules/{muyu-actives/active-common => muyu-marketing/marketing-common}/src/main/java/com/muyu/active/domain/resp/ActivityTeamInfoResp.java (100%) create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/ActivityTeamProjectSkuResp.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/ProjectFindSkuInfoResp.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/TeamInfoFindByIdResp.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/TeamInfoListResp.java rename muyu-modules/{muyu-actives/active-remote => muyu-marketing/marketing-remote}/pom.xml (83%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/pom.xml (96%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/MuYuActivesApplication.java (100%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/controller/ActivityTeamInfoController.java (69%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/mapper/ActivityTeamInfoMapper.java (100%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/mapper/ActivityTeamOpenInfoMapper.java (100%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/mapper/ActivityTeamProductSkuInfoMapper.java (100%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/mapper/TeamStrategyExemptionHundredMapper.java (100%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/mapper/TeamStrategyExemptionMapper.java (100%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/mapper/TeamStrategyExemptionOrdinaryMapper.java (100%) create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/ActivityTeamInfoService.java rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/service/ActivityTeamOpenInfoService.java (100%) create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/ActivityTeamProductSkuInfoService.java rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/service/TeamStrategyExemptionHundredService.java (100%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/service/TeamStrategyExemptionOrdinaryService.java (100%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/service/TeamStrategyExemptionService.java (100%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/service/impl/ActivityTeamInfoServiceImpl.java (57%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/service/impl/ActivityTeamOpenInfoServiceImpl.java (100%) create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/ActivityTeamProductSkuInfoServiceImpl.java rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/service/impl/TeamStrategyExemptionHundredServiceImpl.java (100%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java (100%) rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/java/com/muyu/service/impl/TeamStrategyExemptionServiceImpl.java (100%) create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/strategy/ActivityTeamStrategy.java create mode 100644 muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/strategy/impl/ActivityTeamStrategyImpl.java rename muyu-modules/{muyu-actives/active-server => muyu-marketing/marketing-server}/src/main/resources/bootstrap.yml (96%) rename muyu-modules/{muyu-actives => muyu-marketing}/pom.xml (77%) diff --git a/muyu-gateway/src/main/java/com/muyu/gateway/config/CorsConfig.java b/muyu-gateway/src/main/java/com/muyu/gateway/config/CorsConfig.java new file mode 100644 index 0000000..3e03e15 --- /dev/null +++ b/muyu-gateway/src/main/java/com/muyu/gateway/config/CorsConfig.java @@ -0,0 +1,56 @@ +package com.muyu.gateway.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.server.reactive.ServerHttpRequest; +import org.springframework.http.server.reactive.ServerHttpResponse; +import org.springframework.web.cors.reactive.CorsUtils; +import org.springframework.web.server.ServerWebExchange; +import org.springframework.web.server.WebFilter; +import org.springframework.web.server.WebFilterChain; +import reactor.core.publisher.Mono; + +/** + * 跨域配置 + */ +@Configuration +public class CorsConfig +{ + /** + * 这里为支持的请求头,如果有自定义的header字段请自己添加 + */ + private static final String ALLOWED_HEADERS = "X-Requested-With, Content-Type, Authorization, credential, X-XSRF-TOKEN, token, Admin-Token, App-Token"; + private static final String ALLOWED_METHODS = "GET,POST,PUT,DELETE,OPTIONS,HEAD"; + private static final String ALLOWED_ORIGIN = "*"; + private static final String ALLOWED_EXPOSE = "*"; + private static final String MAX_AGE = "18000L"; + + @Bean + public WebFilter corsFilter() + { + return (ServerWebExchange ctx, WebFilterChain chain) -> { + ServerHttpRequest request = ctx.getRequest(); + if (CorsUtils.isCorsRequest(request)) + { + ServerHttpResponse response = ctx.getResponse(); + HttpHeaders headers = response.getHeaders(); + headers.add("Access-Control-Allow-Headers", ALLOWED_HEADERS); + headers.add("Access-Control-Allow-Methods", ALLOWED_METHODS); + headers.add("Access-Control-Allow-Origin", ALLOWED_ORIGIN); + headers.add("Access-Control-Expose-Headers", ALLOWED_EXPOSE); + headers.add("Access-Control-Max-Age", MAX_AGE); + headers.add("Access-Control-Allow-Credentials", "true"); + if (request.getMethod() == HttpMethod.OPTIONS) + { + response.setStatusCode(HttpStatus.OK); + return Mono.empty(); + } + } + return chain.filter(ctx); + }; + } +} + diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamInfo.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamInfo.java deleted file mode 100644 index bbdfb16..0000000 --- a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamInfo.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.muyu.active.domain; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.muyu.active.domain.model.ActivityTeamInfoSaveModel; -import com.muyu.common.core.web.domain.BaseEntity; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.util.Date; - -/** - * 拼团信息主表 - */ - -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -@EqualsAndHashCode(callSuper = true) -public class ActivityTeamInfo extends BaseEntity { - - @TableId(value = "id",type = IdType.AUTO) - 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; - - /** - * 构造方法 - */ - public static ActivityTeamInfo saveActivityTeamInfo(ActivityTeamInfoSaveModel activityTeamInfoSaveModel){ - return ActivityTeamInfo.builder() - .name(activityTeamInfoSaveModel.getName()) - .productId(activityTeamInfoSaveModel.getProductId()) - .productImage(activityTeamInfoSaveModel.getProductImage()) - .introduction(activityTeamInfoSaveModel.getIntroduction()) - .unit(activityTeamInfoSaveModel.getUnit()) - .imageList(activityTeamInfoSaveModel.getImageList().toString()) - .endTime(activityTeamInfoSaveModel.getEndTime()) - .sort(activityTeamInfoSaveModel.getSort()) - .content(activityTeamInfoSaveModel.getContent()) - .status(activityTeamInfoSaveModel.getStatus()) - .strategyType(activityTeamInfoSaveModel.getStrategyType()) - .build(); - } -} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamProductSkuInfo.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamProductSkuInfo.java deleted file mode 100644 index f22f71f..0000000 --- a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamProductSkuInfo.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.muyu.active.domain; - -import com.muyu.active.domain.model.TeamSkuInfoModel; -import com.muyu.common.core.web.domain.BaseEntity; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -import java.math.BigDecimal; -import java.util.function.Function; - -/** - * 商品sku主表 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -@EqualsAndHashCode(callSuper = true) -public class ActivityTeamProductSkuInfo extends BaseEntity { - private long id; - private long teamId; - private Long productId; - private String productSku; - private Long teamStock; - private Long remainStock; - private BigDecimal teamPrice; - - /** - * 构造函数的方法 - * 商品sku模型 - */ - public static ActivityTeamProductSkuInfo TeamSkuInfoBuild(TeamSkuInfoModel teamSkuInfoModel, Function function){ - return function.apply(ActivityTeamProductSkuInfo.builder() - .teamPrice(teamSkuInfoModel.getTeamPrice()) - .teamStock(teamSkuInfoModel.getTeamStock()) - .productSku(teamSkuInfoModel.getProductSku()) - .productId(teamSkuInfoModel.getProductId())); - } -} diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/ActivityTeamInfoService.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/ActivityTeamInfoService.java deleted file mode 100644 index e020419..0000000 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/ActivityTeamInfoService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.muyu.service; - - -import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.active.domain.ActivityTeamInfo; -import com.muyu.active.domain.model.ActivityTeamInfoListModel; -import com.muyu.active.domain.model.ActivityTeamInfoQueryModel; -import com.muyu.active.domain.model.ActivityTeamInfoSaveModel; -import com.muyu.common.core.web.page.TableDataInfo; - -/** - * 商品拼团信息Service接口 - */ -public interface ActivityTeamInfoService extends IService { - /** - * 通过查询模型查询团购活动列表 - */ - TableDataInfo list(ActivityTeamInfoQueryModel activityTeamInfoQueryModel); - - /** - * 添加拼团信息 - */ - boolean addTeam(ActivityTeamInfoSaveModel activityTeamInfoSaveModel); -} diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/ActivityTeamProductSkuInfoService.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/ActivityTeamProductSkuInfoService.java deleted file mode 100644 index 046b5a0..0000000 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/ActivityTeamProductSkuInfoService.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.muyu.service; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.IService; -import com.muyu.active.domain.ActivityTeamProductSkuInfo; -import com.muyu.active.domain.model.ActivityTeamDiscountModel; -import com.muyu.active.domain.model.TeamStockModel; - -import java.util.List; - - -/** - * 商品拼团信息Service接口 - */ -public interface ActivityTeamProductSkuInfoService extends IService { - public default List acivitySkuList (Long id){ - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(ActivityTeamProductSkuInfo::getTeamId,id); - return this.list(lambdaQueryWrapper); - } - public ActivityTeamDiscountModel discountPrice(Long id); - public TeamStockModel getStock(Long id); -} diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamProductSkuInfoServiceImpl.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamProductSkuInfoServiceImpl.java deleted file mode 100644 index 353a66e..0000000 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamProductSkuInfoServiceImpl.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.muyu.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.muyu.active.domain.ActivityTeamProductSkuInfo; -import com.muyu.active.domain.model.ActivityTeamDiscountModel; -import com.muyu.active.domain.model.TeamStockModel; -import com.muyu.common.core.exception.ServiceException; -import com.muyu.mapper.ActivityTeamProductSkuInfoMapper; -import com.muyu.product.cache.ProjectSkuCache; -import com.muyu.product.domain.ProjectSkuInfo; -import com.muyu.service.ActivityTeamProductSkuInfoService; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import java.math.BigDecimal; -import java.util.List; -import java.util.Optional; - -/** - * 商品拼团信息Service业务层处理 - */ -@Slf4j -@Service -public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl implements ActivityTeamProductSkuInfoService { - @Autowired - private ProjectSkuCache projectSkuCache; - @Override - public ActivityTeamDiscountModel discountPrice(Long id) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(ActivityTeamProductSkuInfo::getTeamId,id); - List list = this.list(lambdaQueryWrapper); - if (list.size()>0){ - Optional min = list.stream().map(activityTeamProductSkuInfo -> { - ProjectSkuInfo projectSkuInfo = projectSkuCache.getData(activityTeamProductSkuInfo.getProductId(), activityTeamProductSkuInfo.getProductSku()); - return ActivityTeamDiscountModel.of(projectSkuInfo.getPrice(), activityTeamProductSkuInfo.getTeamPrice()); - }).min((o1, o2) -> Double.valueOf(100 * o1.getDiscount() - 100 * o2.getDiscount()).intValue()); - if (min.isEmpty()){ - throw new ServiceException("没有优惠"); - } - return min.get(); - } - return ActivityTeamDiscountModel.builder() - .teamPrice(BigDecimal.valueOf(0)) - .productPrice(BigDecimal.valueOf(0)) - .discount(0.00) - .build(); - - } - - @Override - public TeamStockModel getStock(Long id) { - List activityTeamProductSkuInfoList = this.acivitySkuList(id); - return TeamStockModel.builder() - .teamStock(activityTeamProductSkuInfoList.stream().map(ActivityTeamProductSkuInfo::getTeamStock).reduce(0L,Long::sum)) - .remainStock(activityTeamProductSkuInfoList.stream().map(ActivityTeamProductSkuInfo::getRemainStock).reduce(0L,Long::sum)) - .build(); - } -} diff --git a/muyu-modules/muyu-actives/active-common/pom.xml b/muyu-modules/muyu-marketing/marketing-common/pom.xml similarity index 92% rename from muyu-modules/muyu-actives/active-common/pom.xml rename to muyu-modules/muyu-marketing/marketing-common/pom.xml index 6a1aa46..9553776 100644 --- a/muyu-modules/muyu-actives/active-common/pom.xml +++ b/muyu-modules/muyu-marketing/marketing-common/pom.xml @@ -5,11 +5,11 @@ 4.0.0 com.muyu - muyu-actives + muyu-marketing 3.6.3 - active-common + marketing-common 17 diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/ActivityTeamInfo.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/ActivityTeamInfo.java new file mode 100644 index 0000000..bcd6d4f --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/ActivityTeamInfo.java @@ -0,0 +1,117 @@ +package com.muyu.active.domain; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.muyu.active.domain.model.ActivityTeamInfoAddModel; +import com.muyu.active.domain.model.ActivityTeamInfoSaveModel; +import com.muyu.active.domain.model.ActivityTeamInfoUpdModel; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; + +/** + * 拼团信息主表 + */ + +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +@EqualsAndHashCode(callSuper = true) +public class ActivityTeamInfo extends BaseEntity { + + @TableId(value = "id",type = IdType.AUTO) + 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; + + /** + * 构造方法 + */ + public static ActivityTeamInfo saveActivityTeamInfo(ActivityTeamInfoSaveModel activityTeamInfoSaveModel){ + return ActivityTeamInfo.builder() + .name(activityTeamInfoSaveModel.getName()) + .productId(activityTeamInfoSaveModel.getProductId()) + .productImage(activityTeamInfoSaveModel.getProductImage()) + .introduction(activityTeamInfoSaveModel.getIntroduction()) + .unit(activityTeamInfoSaveModel.getUnit()) + .imageList(activityTeamInfoSaveModel.getImageList().toString()) + .endTime(activityTeamInfoSaveModel.getEndTime()) + .sort(activityTeamInfoSaveModel.getSort()) + .content(activityTeamInfoSaveModel.getContent()) + .status(activityTeamInfoSaveModel.getStatus()) + .strategyType(activityTeamInfoSaveModel.getStrategyType()) + .build(); + } + /** + * 公共添加模型,转换成添加对象 + * @param activityTeamInfoAddModel 添加模型 + * @return 添加对象 + */ + public static ActivityTeamInfo addModelBuild(ActivityTeamInfoAddModel activityTeamInfoAddModel){ + return ActivityTeamInfo.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(); + } + + 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 updTeamInfoBuild(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-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfo.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfo.java similarity index 100% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfo.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfo.java diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfoEnum.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfoEnum.java similarity index 100% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfoEnum.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfoEnum.java diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/ActivityTeamProductSkuInfo.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/ActivityTeamProductSkuInfo.java new file mode 100644 index 0000000..7fcb703 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/ActivityTeamProductSkuInfo.java @@ -0,0 +1,90 @@ +package com.muyu.active.domain; + +import com.muyu.active.domain.model.ActivityTeamProductSkuAddModel; +import com.muyu.active.domain.model.ActivityTeamProductSkuReqModel; +import com.muyu.active.domain.model.ActivityTeamProductSkuUpdModel; +import com.muyu.active.domain.model.TeamSkuInfoModel; +import com.muyu.active.domain.req.TeamProjectSkuInfoAddReq; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; +import java.util.function.Function; + +/** + * 商品sku主表 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +@EqualsAndHashCode(callSuper = true) +public class ActivityTeamProductSkuInfo extends BaseEntity { + private long id; + private long teamId; + private Long productId; + private String productSku; + private Long teamStock; + private Long remainStock; + private BigDecimal teamPrice; + + /** + * 构造函数的方法 + * 商品sku模型 + */ + public static ActivityTeamProductSkuInfo TeamSkuInfoBuild(TeamSkuInfoModel teamSkuInfoModel, Function function){ + return function.apply(ActivityTeamProductSkuInfo.builder() + .teamPrice(teamSkuInfoModel.getTeamPrice()) + .teamStock(teamSkuInfoModel.getTeamStock()) + .productSku(teamSkuInfoModel.getProductSku()) + .productId(teamSkuInfoModel.getProductId())); + } + /** + * 通过模型钢构件对象 + * @param activityTeamProductSkuAddModel 模型 + * @return 对象 + */ + public static ActivityTeamProductSkuInfo modelBuild(ActivityTeamProductSkuAddModel activityTeamProductSkuAddModel) { + return ActivityTeamProductSkuInfo.builder() + .productId(activityTeamProductSkuAddModel.getProductId()) + .teamId(activityTeamProductSkuAddModel.getTeamId()) + .teamStock(activityTeamProductSkuAddModel.getTeamStock()) + .productSku(activityTeamProductSkuAddModel.getSku()) + .remainStock(activityTeamProductSkuAddModel.getTeamStock()) + .teamPrice(activityTeamProductSkuAddModel.getTeamPrice()) + .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(); + } + + public static ActivityTeamProductSkuInfo updModelBuild(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel) { + return ActivityTeamProductSkuInfo.builder() + .id(activityTeamProductSkuUpdModel.getId()) + .teamPrice(activityTeamProductSkuUpdModel.getTeamPrice()) + .teamStock(activityTeamProductSkuUpdModel.getTeamStock()) + .remainStock(activityTeamProductSkuUpdModel.getTeamStock()) + .build(); + } + + public static ActivityTeamProductSkuInfo buildAddSku(TeamProjectSkuInfoAddReq teamProjectSkuInfoAddReq) { + return ActivityTeamProductSkuInfo.builder() + .teamId(teamProjectSkuInfoAddReq.getTeamId()) + .productId(teamProjectSkuInfoAddReq.getProductId()) + .productSku(teamProjectSkuInfoAddReq.getSku()) + .teamPrice(teamProjectSkuInfoAddReq.getTeamPrice()) + .teamStock(teamProjectSkuInfoAddReq.getTeamStock()) + .build(); + } + +} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemption.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/TeamStrategyExemption.java similarity index 100% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemption.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/TeamStrategyExemption.java diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionHundred.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionHundred.java similarity index 100% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionHundred.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionHundred.java diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionOrdinary.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionOrdinary.java similarity index 100% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionOrdinary.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionOrdinary.java diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamDetailModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamDetailModel.java new file mode 100644 index 0000000..93b7162 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamDetailModel.java @@ -0,0 +1,104 @@ +package com.muyu.active.domain.model; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.active.domain.ActivityTeamInfo; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +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; + /** + * 活动结束时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:ss:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") + 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-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamDiscountModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamDiscountModel.java similarity index 100% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamDiscountModel.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamDiscountModel.java diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoAddModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoAddModel.java new file mode 100644 index 0000000..dad6cb6 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoAddModel.java @@ -0,0 +1,105 @@ +package com.muyu.active.domain.model; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.active.domain.req.ActivityTeamInfoSaveReq; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +import java.util.List; + +/** + * 团购活动添加模型 + * + * @author DongZeLiang + * @date 2024-11-26 09:38 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamInfoAddModel { + + /** + * 拼团名称 + */ + private String name; + /** + * 商品ID + */ + private Long productId; + /** + * 商品活动图 + */ + private String productImage; + /** + * 活动简介 + */ + private String introduction; + /** + * 单位 + */ + + private String unit; + /** + * 轮播图 + */ + + private String imageList; + /** + * 活动结束时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:ss:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") + private Date endTime; + /** + * 活动排序 + */ + private Integer sort; + /** + * 商品SkU集合 + */ + private List activityTeamProductSkuAddModelList; + /** + * 活动详情 + */ + private String content; + /** + * 活动状态 + */ + private String status; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private Long strategyId; + + public static ActivityTeamInfoAddModel addReqBuild (ActivityTeamInfoSaveReq activityTeamInfoSaveReq){ + return ActivityTeamInfoAddModel.builder() + .name(activityTeamInfoSaveReq.getName()) + .productId(activityTeamInfoSaveReq.getProductId()) + .productImage(activityTeamInfoSaveReq.getProductImage()) + .introduction(activityTeamInfoSaveReq.getIntroduction()) + .unit(activityTeamInfoSaveReq.getUnit()) + .imageList(activityTeamInfoSaveReq.getImageList()) + .endTime(activityTeamInfoSaveReq.getEndTime()) + .sort(activityTeamInfoSaveReq.getSort()) + .content(activityTeamInfoSaveReq.getContent()) + .status(activityTeamInfoSaveReq.getStatus()) + .strategyType(activityTeamInfoSaveReq.getStrategyType()) + .strategyId(activityTeamInfoSaveReq.getStrategyId()) + .activityTeamProductSkuAddModelList( + activityTeamInfoSaveReq.getTeamProjectSkuInfoAddReqList() + .stream() + .map(addReq -> ActivityTeamProductSkuAddModel.addReqBuild(addReq, activityTeamInfoSaveReq::getProductId)) + .toList() + ).build(); + } +} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoListModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoListModel.java similarity index 100% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoListModel.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoListModel.java diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoListQueryModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoListQueryModel.java new file mode 100644 index 0000000..1c12d20 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoListQueryModel.java @@ -0,0 +1,31 @@ +package com.muyu.active.domain.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * 团购活动雷彪查询模型 + * @author DongZeLiang + * @date 2024-11-20 14:18:10 + */ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ActivityTeamInfoListQueryModel extends QueryModel { + + /** + * 搜索关键词 + */ + private String keyWord; + + /** + * 活动状态 + */ + private String status; + +} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoQueryModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoQueryModel.java similarity index 100% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoQueryModel.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoQueryModel.java diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoSaveModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoSaveModel.java similarity index 98% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoSaveModel.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoSaveModel.java index 3ad4e46..ba6e73a 100644 --- a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoSaveModel.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoSaveModel.java @@ -68,6 +68,7 @@ public class ActivityTeamInfoSaveModel { private BigDecimal teamPrice; private Long teamStock; private String productSku; + private Long strategyId; /** * 商品sku */ diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoUpdModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoUpdModel.java new file mode 100644 index 0000000..1b77be5 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoUpdModel.java @@ -0,0 +1,104 @@ +package com.muyu.active.domain.model; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.active.domain.req.ActivityTeamInfoUpdReq; +import com.muyu.active.domain.req.TeamProjectSkuInfoAddReq; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +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; + + /** 主键商品id */ + private Long productId; + + /** 商品图片 */ + private String productImage; + + /** 活动介绍 */ + private String introduction; + + /** 单位 */ + private String unit; + + /** 轮播图 */ + private String imageList; + + /** 结束时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:ss:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") + private Date endTime; + + /** 排序 */ + private Long sort; + + /** 主键介绍 */ + private String content; + + /** 活动状态 */ + private String status; + + /** 策略类型 */ + private String strategyType; + + /** 策略id */ + private Long strategyId; + + /** + * 拼团商品sku集合 + */ + private List teamProductSkuIds; + + /** + * 修改的活动商品sku集合 + */ + private List activityTeamProductSkuList; + + /** + * 新增的活动商品sku集合 + */ + private List teamProjectSkuInfoAddList; + + 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()) + .teamProductSkuIds(activityTeamInfoUpdReq.getTeamProductSkuIds()) + .activityTeamProductSkuList(activityTeamInfoUpdReq.getActivityTeamProductSkuList()) + .teamProjectSkuInfoAddList(activityTeamInfoUpdReq.getTeamProjectSkuInfoAddList()) + .build(); + } + +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuAddModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuAddModel.java new file mode 100644 index 0000000..94f3906 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuAddModel.java @@ -0,0 +1,58 @@ +package com.muyu.active.domain.model; + + +import com.muyu.active.domain.req.TeamProjectSkuInfoAddReq; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.function.Supplier; + +/** + * 团购spu库存添加模型 + * + * @author DongZeLiang + * @date 2024-11-26 09:36 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamProductSkuAddModel { + + /** + * 团购活动ID + */ + private Long teamId; + + /** + * 商品ID + */ + private Long productId; + + /** + * 规格SKU + */ + private String sku; + + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + + /** + * 拼团库存 + */ + private Long teamStock; + + public static ActivityTeamProductSkuAddModel addReqBuild(TeamProjectSkuInfoAddReq teamProjectSkuInfoAddReq, Supplier productId){ + return ActivityTeamProductSkuAddModel.builder() + .productId(productId.get()) + .sku(teamProjectSkuInfoAddReq.getSku()) + .teamStock(teamProjectSkuInfoAddReq.getTeamStock()) + .teamPrice(teamProjectSkuInfoAddReq.getTeamPrice()) + .build(); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuInfoModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuInfoModel.java new file mode 100644 index 0000000..93f5bbe --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuInfoModel.java @@ -0,0 +1,51 @@ +package com.muyu.active.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/active/domain/model/ActivityTeamProductSkuModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuModel.java new file mode 100644 index 0000000..73a0088 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuModel.java @@ -0,0 +1,49 @@ +package com.muyu.active.domain.model; + +import com.muyu.active.domain.ActivityTeamProductSkuInfo; +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/active/domain/model/ActivityTeamProductSkuReqModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuReqModel.java new file mode 100644 index 0000000..7bf5325 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuReqModel.java @@ -0,0 +1,39 @@ +package com.muyu.active.domain.model; +import com.muyu.active.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/active/domain/model/ActivityTeamProductSkuUpdModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuUpdModel.java new file mode 100644 index 0000000..3f6eb3a --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuUpdModel.java @@ -0,0 +1,45 @@ +package com.muyu.active.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; + + public static ActivityTeamProductSkuUpdModel skuUpdBuild(ActivityTeamProductSkuUpdReq activityTeamProductSkuUpdReq) { + return ActivityTeamProductSkuUpdModel.builder() + .id(activityTeamProductSkuUpdReq.getId()) + .teamPrice(activityTeamProductSkuUpdReq.getTeamPrice()) + .teamStock(activityTeamProductSkuUpdReq.getTeamStock()) + .build(); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuUpdReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuUpdReq.java new file mode 100644 index 0000000..de553fd --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/ActivityTeamProductSkuUpdReq.java @@ -0,0 +1,33 @@ +package com.muyu.active.domain.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * @Author 夜は眠れるかい? + * @Date 2024/11/27 16:49 + * 好好学习,天天向上 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ActivityTeamProductSkuUpdReq { + + /** + * 商品规格ID + */ + private Long id; + + /** + * 团购价格 + */ + private BigDecimal teamPrice; + + /** + * 团购库存 + */ + private Long teamStock; +} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/QueryModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/QueryModel.java similarity index 100% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/QueryModel.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/QueryModel.java diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/TeamProductDiscountPriceModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/TeamProductDiscountPriceModel.java new file mode 100644 index 0000000..5e6d7db --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/TeamProductDiscountPriceModel.java @@ -0,0 +1,54 @@ +package com.muyu.active.domain.model; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.math.RoundingMode; + +/** + * 团购商品优惠力度模型 + * + * @author DongZeLiang + * @date 2024-11-21 11:57 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TeamProductDiscountPriceModel { + + /** + * 商品价格 + */ + private BigDecimal productPrice; + + /** + * 团购优惠价格 + */ + private BigDecimal teamPrice; + + + /** + * 优惠力度 (商品价格 - 团购优惠价格) / 商品价格 + */ + private double discount; + + /** + * 通过 商品价格和团购价格 生成优惠力度 + * @param teamPrice 团购加 + * @return 优惠力度 + */ + public static TeamProductDiscountPriceModel of(BigDecimal price, BigDecimal teamPrice) { + return TeamProductDiscountPriceModel.builder() + .productPrice(price) + .teamPrice(teamPrice) + .discount( + price.subtract(teamPrice).divide(price, 2, RoundingMode.HALF_UP).doubleValue() + ) + .build(); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/TeamProductStockModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/TeamProductStockModel.java new file mode 100644 index 0000000..f03ad23 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/TeamProductStockModel.java @@ -0,0 +1,31 @@ +package com.muyu.active.domain.model; + + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 团购商品库存模型 + * + * @author DongZeLiang + * @date 2024-11-21 14:04 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TeamProductStockModel { + + /** + * 拼团总库存 + */ + private Long teamStock; + + /** + * 拼团剩余库存 + */ + private Long remainStock; + +} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/TeamStockModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/TeamStockModel.java similarity index 100% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/TeamStockModel.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/model/TeamStockModel.java diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoReq.java similarity index 100% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoReq.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoReq.java diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoSaveReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoSaveReq.java similarity index 79% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoSaveReq.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoSaveReq.java index 4b8a1c2..edf27dd 100644 --- a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoSaveReq.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoSaveReq.java @@ -1,6 +1,7 @@ package com.muyu.active.domain.req; import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.active.domain.ActivityTeamProductSkuInfo; import com.muyu.active.domain.model.ActivityTeamInfoSaveModel; import com.muyu.active.domain.model.TeamSkuInfoModel; import lombok.AllArgsConstructor; @@ -69,15 +70,21 @@ public class ActivityTeamInfoSaveReq { private BigDecimal teamPrice; private Long teamStock; private String productSku; + private String productImage; + private Long strategyId; + private String strategyName; /** * 商品sku */ - private List projectSkuInfoList; + private List teamProjectSkuInfoAddReqList; + + private List projectSkuInfoList; /** *构造方法 */ public ActivityTeamInfoSaveModel saveModel(){ + return ActivityTeamInfoSaveModel.builder() .productId(productId) .productImage(image) @@ -93,7 +100,10 @@ public class ActivityTeamInfoSaveReq { .teamPrice(teamPrice) .productSku(productSku) .teamStock(teamStock) - .projectSkuInfoList(projectSkuInfoList) + //转换为LIST 商品sku + .projectSkuInfoList(projectSkuInfoList.stream().map(activityTeamProductSkuInfo -> { + return TeamSkuInfoModel.teamSkuInfoModel(activityTeamProductSkuInfo); + }).toList()) .build(); } } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoUpdReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoUpdReq.java new file mode 100644 index 0000000..1a80129 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoUpdReq.java @@ -0,0 +1,82 @@ +package com.muyu.active.domain.req; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.active.domain.model.ActivityTeamProductSkuUpdReq; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +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; + + /** 主键商品id */ + private Long productId; + + /** 商品图片 */ + private String productImage; + + /** 活动简介 */ + private String introduction; + + /** 单位 */ + private String unit; + + /** 轮播图 */ + private String imageList; + + /** 结束时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:ss:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") + private Date endTime; + + /** 排序 */ + private Long sort; + + /** 详情 */ + private String content; + + /** 活动状态 */ + private String status; + + /** 策略类型 */ + private String strategyType; + + /** 策略id */ + private Long strategyId; + + /** + * 拼团商品sku集合 + */ + private List teamProductSkuIds; + + /** + * 修改的活动商品sku集合 + */ + private List activityTeamProductSkuList; + + /** + * 新增的活动商品sku集合 + */ + private List teamProjectSkuInfoAddList; + +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamProductSkuReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamProductSkuReq.java new file mode 100644 index 0000000..900c75a --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamProductSkuReq.java @@ -0,0 +1,28 @@ +package com.muyu.active.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/active/domain/req/ActivityTeamProductSkuSettingReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamProductSkuSettingReq.java new file mode 100644 index 0000000..92649ea --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/ActivityTeamProductSkuSettingReq.java @@ -0,0 +1,36 @@ +package com.muyu.active.domain.req; + + +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/active/domain/req/TeamInfoListReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/TeamInfoListReq.java new file mode 100644 index 0000000..7655de5 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/TeamInfoListReq.java @@ -0,0 +1,40 @@ +package com.muyu.active.domain.req; + +import com.muyu.active.domain.model.ActivityTeamInfoListQueryModel; +import com.muyu.common.core.web.page.PageDomain; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +//@EqualsAndHashCode(callSuper = true) +public class TeamInfoListReq { + + /** + * 搜索关键词 + */ + private String keyWord; + + /** + * 活动状态 + */ + private String status; + + + /** + * 通过当前对象构建业务查询模型 + * @return 业务查询模型 + */ + public ActivityTeamInfoListQueryModel buildQueryModel() { + return ActivityTeamInfoListQueryModel.builder() + .keyWord(this.keyWord) + .status(this.status) + .build(); +// .domainbuild(this); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/TeamProjectSkuInfoAddReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/TeamProjectSkuInfoAddReq.java new file mode 100644 index 0000000..3d95a79 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/req/TeamProjectSkuInfoAddReq.java @@ -0,0 +1,46 @@ +package com.muyu.active.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; + +/** + * 添加的 + * @author zhuyufeng + */ +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +public class TeamProjectSkuInfoAddReq { + + /** + * 活动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/active/domain/resp/ActivityTeamDetailResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/ActivityTeamDetailResp.java new file mode 100644 index 0000000..8605f54 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/ActivityTeamDetailResp.java @@ -0,0 +1,82 @@ +package com.muyu.active.domain.resp; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.common.core.web.domain.BaseEntity; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; +import org.springframework.format.annotation.DateTimeFormat; + +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; + /** + * 活动结束时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:ss:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") + 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-actives/active-common/src/main/java/com/muyu/active/domain/resp/ActivityTeamInfoResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/ActivityTeamInfoResp.java similarity index 100% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/resp/ActivityTeamInfoResp.java rename to muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/ActivityTeamInfoResp.java diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/ActivityTeamProjectSkuResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/ActivityTeamProjectSkuResp.java new file mode 100644 index 0000000..7a7b885 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/ActivityTeamProjectSkuResp.java @@ -0,0 +1,38 @@ +package com.muyu.active.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-common/src/main/java/com/muyu/active/domain/resp/ProjectFindSkuInfoResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/ProjectFindSkuInfoResp.java new file mode 100644 index 0000000..7d04db7 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/ProjectFindSkuInfoResp.java @@ -0,0 +1,46 @@ +package com.muyu.active.domain.resp; + +import com.muyu.active.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/active/domain/resp/TeamInfoFindByIdResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/TeamInfoFindByIdResp.java new file mode 100644 index 0000000..15ea8bf --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/TeamInfoFindByIdResp.java @@ -0,0 +1,108 @@ +package com.muyu.active.domain.resp; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.active.domain.model.ActivityTeamDetailModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +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; + /** + * 活动结束时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:ss:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") + 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-common/src/main/java/com/muyu/active/domain/resp/TeamInfoListResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/TeamInfoListResp.java new file mode 100644 index 0000000..c0135cf --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/active/domain/resp/TeamInfoListResp.java @@ -0,0 +1,93 @@ +package com.muyu.active.domain.resp; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.active.domain.model.ActivityTeamInfoListModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TeamInfoListResp { + + /** + * 拼团活动ID + */ + private Long id; + /** + * 拼团名称 + */ + private String name; + /** + * 参团人数 + */ + private Long addTeamNumber; + /** + * 拼团人数 + */ + private Long attendNumber; + /** + * 团购结束时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:ss:mm") + @JsonFormat(pattern = "yyyy-MM-dd HH:ss:mm") + private Date endTime; + /** + * 开团人数 + */ + private Long openTeamNumber; + /** + * 拼团商品图片 + */ + private String productImage; + /** + * 商品价格 + */ + private BigDecimal productPrice; + /** + * 剩余库存 + */ + private Long remainStock; + /** + * 团购状态 + */ + private String status; + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + /** + * 团购库存 + */ + private Long teamStock; + + /** + * 列表查询结果,构建为响应对象 + * @param activityTeamInfoListModel 列表数据查询结果 + * @return 响应对象 + */ + public static TeamInfoListResp listModelBuild(ActivityTeamInfoListModel activityTeamInfoListModel) { + return TeamInfoListResp.builder() + .id(activityTeamInfoListModel.getId()) + .name(activityTeamInfoListModel.getName()) + .openTeamNumber(activityTeamInfoListModel.getOpenTeamNumber()) + .addTeamNumber(activityTeamInfoListModel.getAddTeamNumber()) + .addTeamNumber(activityTeamInfoListModel.getAddTeamNumber()) + .attendNumber(activityTeamInfoListModel.getAttendNumber()) + .endTime(activityTeamInfoListModel.getEndTime()) + .teamPrice(activityTeamInfoListModel.getTeamPrice()) + .productImage(activityTeamInfoListModel.getProductImage()) + .productPrice(activityTeamInfoListModel.getProductPrice()) + .remainStock(activityTeamInfoListModel.getRemainStock()) + .status(activityTeamInfoListModel.getStatus()) + .teamStock(activityTeamInfoListModel.getTeamStock()) + .build(); + } +} diff --git a/muyu-modules/muyu-actives/active-remote/pom.xml b/muyu-modules/muyu-marketing/marketing-remote/pom.xml similarity index 83% rename from muyu-modules/muyu-actives/active-remote/pom.xml rename to muyu-modules/muyu-marketing/marketing-remote/pom.xml index 78c3419..935586a 100644 --- a/muyu-modules/muyu-actives/active-remote/pom.xml +++ b/muyu-modules/muyu-marketing/marketing-remote/pom.xml @@ -5,11 +5,11 @@ 4.0.0 com.muyu - muyu-actives + muyu-marketing 3.6.3 - active-remote + marketing-remote 17 @@ -20,7 +20,7 @@ com.muyu - active-common + marketing-common 3.6.3 diff --git a/muyu-modules/muyu-actives/active-server/pom.xml b/muyu-modules/muyu-marketing/marketing-server/pom.xml similarity index 96% rename from muyu-modules/muyu-actives/active-server/pom.xml rename to muyu-modules/muyu-marketing/marketing-server/pom.xml index 07f824c..d364303 100644 --- a/muyu-modules/muyu-actives/active-server/pom.xml +++ b/muyu-modules/muyu-marketing/marketing-server/pom.xml @@ -5,11 +5,11 @@ 4.0.0 com.muyu - muyu-actives + muyu-marketing 3.6.3 - active-server + marketing-server 17 @@ -41,7 +41,7 @@ com.muyu - active-remote + marketing-remote 3.6.3 diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/MuYuActivesApplication.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/MuYuActivesApplication.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/MuYuActivesApplication.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/MuYuActivesApplication.java diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/controller/ActivityTeamInfoController.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/controller/ActivityTeamInfoController.java similarity index 69% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/controller/ActivityTeamInfoController.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/controller/ActivityTeamInfoController.java index 0a24930..cb7e581 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/controller/ActivityTeamInfoController.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/controller/ActivityTeamInfoController.java @@ -1,16 +1,19 @@ package com.muyu.controller; import com.github.pagehelper.Page; +import com.muyu.active.domain.model.ActivityTeamInfoAddModel; import com.muyu.active.domain.model.ActivityTeamInfoListModel; +import com.muyu.active.domain.model.ActivityTeamInfoUpdModel; import com.muyu.active.domain.req.ActivityTeamInfoReq; import com.muyu.active.domain.req.ActivityTeamInfoSaveReq; +import com.muyu.active.domain.req.ActivityTeamInfoUpdReq; import com.muyu.active.domain.resp.ActivityTeamInfoResp; +import com.muyu.active.domain.resp.TeamInfoFindByIdResp; import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.PageUtils; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.service.ActivityTeamInfoService; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; - import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; @@ -20,7 +23,7 @@ import java.util.List; * 商品拼团信息Controller */ @RestController -@RequestMapping("/actives") +@RequestMapping("/marketing") @Slf4j public class ActivityTeamInfoController { @Resource @@ -54,12 +57,12 @@ public class ActivityTeamInfoController { // List activityTeamInfoResp = row.stream().map(activityTeamInfoListModel -> { // return ActivityTeamInfoResp.respBuild(activityTeamInfoListModel); // }).toList(); -// // 创建分页信息对象 -// TableDataInfo activityTeamInfoRespTableDataInfo= new TableDataInfo<>(); -// activityTeamInfoRespTableDataInfo.setRows(activityTeamInfoResps); -// activityTeamInfoRespTableDataInfo.setTotal(PageUtils.startPage(activityTeamInfoReq.getPageNum(),activityTeamInfoReq.getPageSize()).getTotal()); -// // 返回结果 -// return Result.success(activityTeamInfoRespTableDataInfo); +// // 创建分页信息对象 +// TableDataInfo activityTeamInfoRespTableDataInfo= new TableDataInfo<>(); +// activityTeamInfoRespTableDataInfo.setRows(activityTeamInfoResps); +// activityTeamInfoRespTableDataInfo.setTotal(PageUtils.startPage(activityTeamInfoReq.getPageNum(),activityTeamInfoReq.getPageSize()).getTotal()); +// // 返回结果 +// return Result.success(activityTeamInfoRespTableDataInfo); // 开始分页 Page page = PageUtils.startPage(activityTeamInfoReq.getPageNum(), activityTeamInfoReq.getPageSize()); // 获取数据列表 列表数据 @@ -68,8 +71,7 @@ public class ActivityTeamInfoController { List activityTeamInfoResps = rows.stream().map(activityTeamInfoListModel -> { return ActivityTeamInfoResp.respBuild(activityTeamInfoListModel); }).toList(); - - // 创建分页信息对象 + // 创建分页信息对象 TableDataInfo activityTeamInfoRespTableDataInfo = new TableDataInfo<>(); //列表数据 activityTeamInfoRespTableDataInfo.setRows(activityTeamInfoResps); @@ -92,4 +94,33 @@ public class ActivityTeamInfoController { } return Result.error("添加失败"); } + /** + * 添加团购活动 + * @param activityTeamInfoSaveReq 添加请求对象 + * @return 结果集 + */ + @PostMapping + public Result save(@RequestBody ActivityTeamInfoSaveReq activityTeamInfoSaveReq) { + activityTeamInfoService.save(ActivityTeamInfoAddModel.addReqBuild(activityTeamInfoSaveReq)); + return Result.success(); + } + + /** + * 根据Id查询商品详情信息 + * @param id + */ + @GetMapping("/findById/{id}") + public Result findTeamById(@PathVariable Long id){ + return Result.success(TeamInfoFindByIdResp.teamInfoFindByIdBuild(activityTeamInfoService.findDetailById(id))); + } + + /** + * 修改拼团活动信息 + * @param activityTeamInfoUpdReq + */ + @PutMapping("/updateActivityTeamInfo") + public Result updateByTeamId(@RequestBody ActivityTeamInfoUpdReq activityTeamInfoUpdReq){ + activityTeamInfoService.update(ActivityTeamInfoUpdModel.activityTeamInfoUpdReqModelBuild(activityTeamInfoUpdReq)); + return Result.success(); + } } diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamInfoMapper.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/mapper/ActivityTeamInfoMapper.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamInfoMapper.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/mapper/ActivityTeamInfoMapper.java diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamOpenInfoMapper.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/mapper/ActivityTeamOpenInfoMapper.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamOpenInfoMapper.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/mapper/ActivityTeamOpenInfoMapper.java diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamProductSkuInfoMapper.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/mapper/ActivityTeamProductSkuInfoMapper.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamProductSkuInfoMapper.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/mapper/ActivityTeamProductSkuInfoMapper.java diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionHundredMapper.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionHundredMapper.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionHundredMapper.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionHundredMapper.java diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionMapper.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionMapper.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionMapper.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionMapper.java diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionOrdinaryMapper.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionOrdinaryMapper.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionOrdinaryMapper.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionOrdinaryMapper.java diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/ActivityTeamInfoService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/ActivityTeamInfoService.java new file mode 100644 index 0000000..44d95d3 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/ActivityTeamInfoService.java @@ -0,0 +1,41 @@ +package com.muyu.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.active.domain.ActivityTeamInfo; +import com.muyu.active.domain.model.*; +import com.muyu.common.core.web.page.TableDataInfo; + +/** + * 商品拼团信息Service接口 + */ +public interface ActivityTeamInfoService extends IService { + /** + * 通过查询模型查询团购活动列表 + */ + TableDataInfo list(ActivityTeamInfoQueryModel activityTeamInfoQueryModel); + + /** + * 添加拼团信息 + */ + boolean addTeam(ActivityTeamInfoSaveModel activityTeamInfoSaveModel); + /** + * 通过添加模型,去进行商品拼团活动的操作 + * @param activityTeamInfoAddModel 团购添加模型 + */ + public void save(ActivityTeamInfoAddModel activityTeamInfoAddModel); + + /** + * 根据ID查询商品的详情 + * @param id 团购活动ID + * @return 团购详情 + */ + ActivityTeamDetailModel findDetailById(Long id); + + /** + * 修改团购活动信息 + * @param activityTeamInfoUpdModel 团购活动信息 + * @return 是否成功 + */ + public void update(ActivityTeamInfoUpdModel activityTeamInfoUpdModel); +} diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/ActivityTeamOpenInfoService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/ActivityTeamOpenInfoService.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/ActivityTeamOpenInfoService.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/ActivityTeamOpenInfoService.java diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/ActivityTeamProductSkuInfoService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/ActivityTeamProductSkuInfoService.java new file mode 100644 index 0000000..e4832d3 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/ActivityTeamProductSkuInfoService.java @@ -0,0 +1,64 @@ +package com.muyu.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.IService; +import com.muyu.active.domain.ActivityTeamProductSkuInfo; +import com.muyu.active.domain.model.*; + +import java.util.List; + + +/** + * 商品拼团信息Service接口 + */ +public interface ActivityTeamProductSkuInfoService extends IService { + public default List acivitySkuList (Long id){ + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(ActivityTeamProductSkuInfo::getTeamId,id); + return this.list(lambdaQueryWrapper); + } + public ActivityTeamDiscountModel discountPrice(Long id); + public TeamProductStockModel getStock(Long id); + /** + * 通过团购活动ID获取团购中最优惠的价格 + * @param teamId 团购ID + * @return 优惠价格 + */ + public TeamProductDiscountPriceModel getDiscountPrice(Long teamId); + /** + * 通过活动ID获取 剩余库存 + * + * @param teamId 活动ID + * @return 库存 + */ + public TeamStockModel getStocks(Long teamId); + + + /** + * 添加团购商品SKU + * @param activityTeamProductSkuAddModelList 团购商品SKU添加模型集合 + */ + public void batchSave(List activityTeamProductSkuAddModelList); + + /** + * 通过拼团活动ID获取拼团下商品SKU集合 + * @param teamId 活动ID + * @return 拼团商品SKU集合 + */ + public List findListByTeamId(Long teamId); + + /** + * 修改团购商品sku信息 + * + * @param activityTeamProductSkuUpdModel + * @return + */ + public boolean update(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel); + + /** + * 修改团购商品sku信息(批量修改) + * @param activityTeamProductSkuUpdModelList + * @return + */ + public void batchUpdate(List activityTeamProductSkuUpdModelList); +} diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionHundredService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/TeamStrategyExemptionHundredService.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionHundredService.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/TeamStrategyExemptionHundredService.java diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionOrdinaryService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/TeamStrategyExemptionOrdinaryService.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionOrdinaryService.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/TeamStrategyExemptionOrdinaryService.java diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/TeamStrategyExemptionService.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionService.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/TeamStrategyExemptionService.java diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamInfoServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/ActivityTeamInfoServiceImpl.java similarity index 57% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamInfoServiceImpl.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/ActivityTeamInfoServiceImpl.java index cb71531..6877efd 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamInfoServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/ActivityTeamInfoServiceImpl.java @@ -6,6 +6,7 @@ import com.muyu.active.domain.ActivityTeamInfo; import com.muyu.active.domain.ActivityTeamOpenInfo; import com.muyu.active.domain.ActivityTeamProductSkuInfo; import com.muyu.active.domain.model.*; +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.mapper.ActivityTeamInfoMapper; @@ -14,8 +15,13 @@ import com.muyu.service.ActivityTeamOpenInfoService; import com.muyu.service.ActivityTeamProductSkuInfoService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.Assert; + import javax.annotation.Resource; import java.util.List; +import java.util.stream.Collectors; + /** * 商品拼团信息Service业务层处理 */ @@ -30,16 +36,19 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl list(ActivityTeamInfoQueryModel activityTeamInfoQueryModel) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + //判断是否为空查询的条件 名称 queryWrapper.like(StringUtils.isNotEmpty( activityTeamInfoQueryModel.getKeyWord()), ActivityTeamInfo::getName, activityTeamInfoQueryModel.getKeyWord() ); + //判断是否为空查询的条件 状态 queryWrapper.like(StringUtils.isNotEmpty( activityTeamInfoQueryModel.getStatus()), ActivityTeamInfo::getStatus, activityTeamInfoQueryModel.getStatus() ); + //分页 Page pages = this.page(activityTeamInfoQueryModel.bulidPage(),queryWrapper); List records = pages.getRecords(); @@ -48,7 +57,7 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl teamProductSkuAddModelList = activityTeamInfoAddModel.getActivityTeamProductSkuAddModelList(); + teamProductSkuAddModelList.forEach(activityTeamProductSkuAddModel -> activityTeamProductSkuAddModel.setTeamId(activityTeamInfo.getId())); + this.activityTeamProductSkuInfoService.batchSave(teamProductSkuAddModelList); + } + /** + * 根据ID查询商品的详情 + * @param id 团购活动ID + * @return 团购详情 + */ + @Override + public ActivityTeamDetailModel findDetailById(Long id) { + //获取id + ActivityTeamInfo activityTeamInfo = this.getById(id); + //查询teamId集合 + List activityTeamProductSkuModelList = activityTeamProductSkuInfoService.findListByTeamId(id); + return ActivityTeamDetailModel.findSkuSumList(activityTeamInfo, + (teamInfoFindByIdRespModelBuilder) -> teamInfoFindByIdRespModelBuilder.projectSkuInfoAddReqList(activityTeamProductSkuModelList).build() + ); + } + /** + * 修改团购活动信息 + * @param activityTeamInfoUpdModel 团购活动信息 + * @return + */ + @Override + @Transactional + public void update(ActivityTeamInfoUpdModel activityTeamInfoUpdModel) { + + //判断活动状态是否是关闭状态 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ActivityTeamInfo::getId,activityTeamInfoUpdModel.getId()); + ActivityTeamInfo activityTeamInfo = this.getOne(queryWrapper); + if ("已开启".equals(activityTeamInfo.getStatus())){ + throw new ServiceException("活动状态开启,不能修改!!!"); + } +// Assert.isTrue(this.updateById(activityTeamInfoUpdModel), StringUtils.format("修改失败:[{}]", activityTeamInfoUpdModel)); + //修改拼团活动表信息 + this.updateById(ActivityTeamInfo.updTeamInfoBuild(activityTeamInfoUpdModel)); + //根据根据前台传过来的skuIds集合,批量删除团购商品sku集合 + activityTeamProductSkuInfoService.removeBatchByIds(activityTeamInfoUpdModel.getTeamProductSkuIds()); + //批量添加团购商品sku集合 + activityTeamProductSkuInfoService.saveBatch( + //将activityTeamInfoUpdModel类型转成ActivityTeamProductSkuInfo类型集合 + activityTeamInfoUpdModel.getTeamProjectSkuInfoAddList().stream() + .map(ActivityTeamProductSkuInfo::buildAddSku) + .collect(Collectors.toList()) + ); + //根据activityTeamProductSkuList集合,批量修改团购商品sku集合 + List activityTeamProductSkuList = activityTeamInfoUpdModel.getActivityTeamProductSkuList(); + activityTeamProductSkuInfoService.batchUpdate( + activityTeamProductSkuList.stream() + .map(ActivityTeamProductSkuUpdModel::skuUpdBuild) + .collect(Collectors.toList()) + ); + + } } diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamOpenInfoServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/ActivityTeamOpenInfoServiceImpl.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamOpenInfoServiceImpl.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/ActivityTeamOpenInfoServiceImpl.java diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/ActivityTeamProductSkuInfoServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/ActivityTeamProductSkuInfoServiceImpl.java new file mode 100644 index 0000000..dd8486d --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/ActivityTeamProductSkuInfoServiceImpl.java @@ -0,0 +1,134 @@ +package com.muyu.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.active.domain.ActivityTeamProductSkuInfo; +import com.muyu.active.domain.model.*; +import com.muyu.common.core.exception.ServiceException; +import com.muyu.mapper.ActivityTeamProductSkuInfoMapper; +import com.muyu.product.cache.ProjectSkuCache; +import com.muyu.product.domain.ProjectSkuInfo; +import com.muyu.service.ActivityTeamProductSkuInfoService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.math.BigDecimal; +import java.util.List; +import java.util.Optional; + +/** + * 商品拼团信息Service业务层处理 + */ +@Slf4j +@Service +public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl implements ActivityTeamProductSkuInfoService { + @Autowired + private ProjectSkuCache projectSkuCache; + /** + * 通过团购活动ID获取团购中最优惠的价格 + * @param teamId 团购ID + * @return 优惠价格 + */ + @Override + public TeamProductDiscountPriceModel getDiscountPrice(Long teamId) { + // List teamProductSkuInfoList = this.getActivityTeamProductSkuInfoByTeamId(teamId); + List teamProductSkuInfoList = this.acivitySkuList(teamId); + // 优惠模型集合 + Optional discountPriceModelOptional = teamProductSkuInfoList.stream() + .map(activityTeamProductSkuInfo -> { + ProjectSkuInfo projectSkuInfo = projectSkuCache.get(activityTeamProductSkuInfo.getProductId(), activityTeamProductSkuInfo.getProductSku()); + return TeamProductDiscountPriceModel.of(projectSkuInfo.getPrice(), activityTeamProductSkuInfo.getTeamPrice()); + }).min((o1, o2) -> Double.valueOf(o1.getDiscount() * 100 - o2.getDiscount() * 100).intValue()); + + if (discountPriceModelOptional.isEmpty()){ + throw new ServiceException("团购活动下没有商品绑定"); + } + return discountPriceModelOptional.get(); + } + + + @Override + public ActivityTeamDiscountModel discountPrice(Long id) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(ActivityTeamProductSkuInfo::getTeamId,id); + List list = this.list(lambdaQueryWrapper); + if (list.size()>0){ + Optional min = list.stream().map(activityTeamProductSkuInfo -> { + ProjectSkuInfo projectSkuInfo = projectSkuCache.getData(activityTeamProductSkuInfo.getProductId(), activityTeamProductSkuInfo.getProductSku()); + return ActivityTeamDiscountModel.of(projectSkuInfo.getPrice(), activityTeamProductSkuInfo.getTeamPrice()); + }).min((o1, o2) -> Double.valueOf(100 * o1.getDiscount() - 100 * o2.getDiscount()).intValue()); + if (min.isEmpty()){ + throw new ServiceException("没有优惠"); + } + return min.get(); + } + return ActivityTeamDiscountModel.builder() + .teamPrice(BigDecimal.valueOf(0)) + .productPrice(BigDecimal.valueOf(0)) + .discount(0.00) + .build(); + + } + + @Override + public TeamProductStockModel getStock(Long id) { + // List teamProductSkuInfoList = this.getActivityTeamProductSkuInfoByTeamId(teamId); + List teamProductSkuInfoList = this.acivitySkuList(id); + return TeamProductStockModel.builder() + .teamStock(teamProductSkuInfoList.stream().map(ActivityTeamProductSkuInfo::getTeamStock).reduce(0L, Long::sum)) + .remainStock(teamProductSkuInfoList.stream().map(ActivityTeamProductSkuInfo::getRemainStock).reduce(0L, Long::sum)) + .build(); + } + + + + @Override + public TeamStockModel getStocks(Long id) { + List activityTeamProductSkuInfoList = this.acivitySkuList(id); + return TeamStockModel.builder() + .teamStock(activityTeamProductSkuInfoList.stream().map(ActivityTeamProductSkuInfo::getTeamStock).reduce(0L,Long::sum)) + .remainStock(activityTeamProductSkuInfoList.stream().map(ActivityTeamProductSkuInfo::getRemainStock).reduce(0L,Long::sum)) + .build(); + } + + @Override + public void batchSave(List activityTeamProductSkuAddModelList) { + if (activityTeamProductSkuAddModelList == null || activityTeamProductSkuAddModelList.isEmpty()) { + throw new ServiceException("入参添加商品规格模型,不可为空"); + } + this.saveBatch( + activityTeamProductSkuAddModelList.stream().map(ActivityTeamProductSkuInfo::modelBuild).toList() + ); + } + + @Override + 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(); + } + + /** + * 单表修改 + * @param activityTeamProductSkuUpdModel + * @return + */ + @Override + public boolean update(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.set(ActivityTeamProductSkuInfo::getTeamPrice,activityTeamProductSkuUpdModel.getTeamPrice()); + updateWrapper.set(ActivityTeamProductSkuInfo::getTeamStock,activityTeamProductSkuUpdModel.getTeamStock()); + updateWrapper.eq(ActivityTeamProductSkuInfo::getId,activityTeamProductSkuUpdModel.getId()); + return this.update(updateWrapper); + } + + @Override + public void batchUpdate(List activityTeamProductSkuUpdModelList) { + List teamProductSkuInfos = activityTeamProductSkuUpdModelList.stream() + .map(ActivityTeamProductSkuInfo::updModelBuild) + .toList(); + this.updateBatchById(teamProductSkuInfos); + } +} diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionHundredServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionHundredServiceImpl.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionHundredServiceImpl.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionHundredServiceImpl.java diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionServiceImpl.java similarity index 100% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionServiceImpl.java rename to muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionServiceImpl.java diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/strategy/ActivityTeamStrategy.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/strategy/ActivityTeamStrategy.java new file mode 100644 index 0000000..544f81b --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/strategy/ActivityTeamStrategy.java @@ -0,0 +1,39 @@ +package com.muyu.service.strategy; + + +/** + * 团活动策略 + */ +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/service/strategy/impl/ActivityTeamStrategyImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/strategy/impl/ActivityTeamStrategyImpl.java new file mode 100644 index 0000000..e20c3bc --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/service/strategy/impl/ActivityTeamStrategyImpl.java @@ -0,0 +1,89 @@ +package com.muyu.service.strategy.impl; + + +import com.muyu.common.core.exception.ServiceException; +import com.muyu.common.core.utils.SpringUtils; +import com.muyu.service.strategy.ActivityTeamStrategy; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Service; + +/** + * 团购执行器 + */ +@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) { + // 假设这里是通过方法获取的type,teamId.toString() + // "team-strategy-exemption" + // "team-strategy-hundred" + // "team-strategy-ordinary" + String teamType = null; + if (teamId == null) { + throw new ServiceException("teamId is null"); + }else if (teamId == 0) { + teamType = "team-strategy-exemption"; + }else if (teamId == 1) { + teamType= "team-strategy-hundred"; + } + ActivityTeamStrategy activityTeamStrategy = SpringUtils.getBean(teamType); + activityTeamStrategy.applyTeam(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-actives/active-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml similarity index 96% rename from muyu-modules/muyu-actives/active-server/src/main/resources/bootstrap.yml rename to muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml index 41dc781..0daa105 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml @@ -8,7 +8,7 @@ spring: allow-bean-definition-overriding: true application: # 应用名称 - name: muyu-actives + name: muyu-marketing profiles: # 环境配置 active: dev diff --git a/muyu-modules/muyu-actives/pom.xml b/muyu-modules/muyu-marketing/pom.xml similarity index 77% rename from muyu-modules/muyu-actives/pom.xml rename to muyu-modules/muyu-marketing/pom.xml index 51c4f6d..913dacf 100644 --- a/muyu-modules/muyu-actives/pom.xml +++ b/muyu-modules/muyu-marketing/pom.xml @@ -9,13 +9,13 @@ pom - active-common - active-remote - active-server + marketing-common + marketing-remote + marketing-server 4.0.0 - muyu-actives + muyu-marketing muyu-actives营销模块 diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/AttributeGroup.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/AttributeGroup.java index adf43b8..ec414c9 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/AttributeGroup.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/AttributeGroup.java @@ -53,6 +53,7 @@ public class AttributeGroup extends BaseEntity { */ public static AttributeGroup queryBuild( AttributeGroupQueryReq attributeGroupQueryReq){ return AttributeGroup.builder() + .id(attributeGroupQueryReq.getId()) .name(attributeGroupQueryReq.getName()) .states(attributeGroupQueryReq.getStates()) .build(); @@ -63,6 +64,7 @@ public class AttributeGroup extends BaseEntity { */ public static AttributeGroup saveBuild(AttributeGroupSaveReq attributeGroupSaveReq){ return AttributeGroup.builder() + .id(attributeGroupSaveReq.getId()) .name(attributeGroupSaveReq.getName()) .states(attributeGroupSaveReq.getStates()) .build(); @@ -73,7 +75,7 @@ public class AttributeGroup extends BaseEntity { */ public static AttributeGroup editBuild(Long id, AttributeGroupEditReq attributeGroupEditReq){ return AttributeGroup.builder() - .id(id) + .id(id) .name(attributeGroupEditReq.getName()) .states(attributeGroupEditReq.getStates()) .build(); diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/CategoryInfo.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/CategoryInfo.java index 6284fd9..69b2e77 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/CategoryInfo.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/CategoryInfo.java @@ -94,7 +94,7 @@ public class CategoryInfo extends TreeEntity { */ public static CategoryInfo editBuild(Long id, CategoryInfoUpdReq categoryInfoEditReq){ return CategoryInfo.builder() - .id(id) + .id(id) .name(categoryInfoEditReq.getName()) .image(categoryInfoEditReq.getImage()) .start(categoryInfoEditReq.getStart()) diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/TemplateAttributeGroupModel.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/TemplateAttributeGroupModel.java index abd2061..06da89c 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/TemplateAttributeGroupModel.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/model/TemplateAttributeGroupModel.java @@ -43,7 +43,6 @@ public class TemplateAttributeGroupModel extends BaseEntity { } /** - * * @param attributeGroup * @param attributeList * @return diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/AttributeGroupEditReq.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/AttributeGroupEditReq.java index 35a1b47..d1017ca 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/AttributeGroupEditReq.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/AttributeGroupEditReq.java @@ -24,6 +24,7 @@ import com.muyu.common.core.web.domain.BaseEntity; public class AttributeGroupEditReq extends BaseEntity { private static final long serialVersionUID = 1L; + private Long id; /** 组名称 */ @ApiModelProperty(name = "组名称", value = "组名称", required = true) diff --git a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/AttributeGroupQueryReq.java b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/AttributeGroupQueryReq.java index 4a85156..5cc35c3 100644 --- a/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/AttributeGroupQueryReq.java +++ b/muyu-modules/muyu-product/muyu-product-common/src/main/java/com/muyu/product/domain/req/AttributeGroupQueryReq.java @@ -24,6 +24,7 @@ import com.muyu.common.core.web.domain.BaseEntity; public class AttributeGroupQueryReq extends BaseEntity { private static final long serialVersionUID = 1L; + private Long id; /** 组名称 */ @ApiModelProperty(name = "组名称", value = "组名称") diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CategoryInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CategoryInfoController.java index b986574..824c572 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CategoryInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CategoryInfoController.java @@ -2,20 +2,16 @@ package com.muyu.product.controller; import java.util.List; import java.util.Objects; -import java.util.function.Supplier; +import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import com.muyu.common.security.utils.SecurityUtils; -import com.muyu.product.domain.AttributeGroup; -import com.muyu.product.domain.AttributeInfo; -import com.muyu.product.domain.BrandInfo; import com.muyu.product.domain.model.CategoryInfoSaveModel; import com.muyu.product.domain.req.CategoryInfoUpdReq; import com.muyu.product.domain.resp.CategoryCommonElementResp; -import com.muyu.product.domain.resp.CategoryInfoUpdResp; import com.muyu.product.domain.resp.CategoryParentCommonElementResp; +import com.muyu.product.service.CategoryInfoService; import io.swagger.annotations.*; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; @@ -31,10 +27,7 @@ import com.muyu.common.log.annotation.Log; import com.muyu.common.log.enums.BusinessType; import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.product.domain.CategoryInfo; -import com.muyu.product.domain.req.CategoryInfoQueryReq; import com.muyu.product.domain.req.CategoryInfoSaveReq; -import com.muyu.product.domain.req.CategoryInfoEditReq; -import com.muyu.product.service.CategoryInfoService; /** * 品类信息Controller @@ -46,7 +39,7 @@ import com.muyu.product.service.CategoryInfoService; @RestController @RequestMapping("/category") public class CategoryInfoController extends BaseController { - @Autowired + @Resource private CategoryInfoService categoryInfoService; /** diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentInfoController.java index 9500949..ee184a9 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentInfoController.java @@ -108,4 +108,11 @@ public class CommentInfoController extends BaseController { public Result remove(@PathVariable List ids) { return toAjax(commentInfoService.removeBatchByIds(ids)); } + /** + * 查询评论根据Id + */ + @GetMapping("/tocomment/{id}") + public Result> commentInfoById(@PathVariable Long id){ + return Result.success(commentInfoService.comById(id)); + } } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java index 4e0a22b..ba03931 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectInfoController.java @@ -111,7 +111,7 @@ public class ProjectInfoController extends BaseController { @PostMapping @ApiOperation("新增商品信息") public Result add(@RequestBody ProjectInfoSaveReq projectInfoSaveReq) { - return projectInfoService.save(projectInfoSaveReq); + return toAjax(projectInfoService.save(projectInfoSaveReq)); } /** diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java index 57e763a..a032a9b 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CategoryInfoService.java @@ -74,7 +74,7 @@ public interface CategoryInfoService extends IService { public List getCommon (Long categoryId, IService iService, IService bsiService); - boolean updateById(Long id,CategoryInfoUpdReq categoryInfoUpdReq); + Boolean updateById(Long id, CategoryInfoUpdReq categoryInfoUpdReq); Result removeBatchById(Long ids); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CommentInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CommentInfoService.java index 2a77f5a..9942dd3 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CommentInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/CommentInfoService.java @@ -17,5 +17,8 @@ public interface CommentInfoService extends IService { * @return 商品评论集合 */ public List list(CommentInfo commentInfo); - + /** + * 查询评论根据Id + */ + List comById(Long id); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java index 85d907d..ac5ceff 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java @@ -32,7 +32,7 @@ public interface ProjectInfoService extends IService { * @param projectInfoSaveReq 请求对象 * @return */ - Result save (ProjectInfoSaveReq projectInfoSaveReq); + boolean save (ProjectInfoSaveReq projectInfoSaveReq); /** * 通过商品ID获取商品详情 diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsBrandProjectServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsBrandProjectServiceImpl.java index e5c906d..3ee571d 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsBrandProjectServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AsBrandProjectServiceImpl.java @@ -39,11 +39,6 @@ public class AsBrandProjectServiceImpl extends ServiceImpl { asAttributeGroupService.addByGroup(id, attributeIdList); @@ -156,7 +162,6 @@ public class AttributeGroupServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + //根据父级id查询 queryWrapper.eq("parent_id",ids); List listall = categoryInfoMapper.selectList(queryWrapper); if(0==listall.size()){ @@ -328,9 +332,7 @@ public class CategoryInfoServiceImpl extends ServiceImpl AsAttributeQueryWrapper = new LambdaQueryWrapper().eq(AsCategoryAttribute::getCategoryId, id); List asCategoryAttributeList = asCategoryAttributeService.list(AsAttributeQueryWrapper); List longList = asCategoryAttributeList.stream().map(AsCategoryAttribute::getAttributeId).toList(); - //拿到属性集合 + //获取属性集合 List attributeInfoList = attributeInfoService.listByIds(longList); @@ -369,7 +371,7 @@ public class CategoryInfoServiceImpl extends ServiceImpl GroupQueryWrapper = new LambdaQueryWrapper().eq(AsCategoryAttributeGroup::getCategoryId, id); List asCategoryAttributeGroupList = asCategoryAttributeGroupService.list(GroupQueryWrapper); List longList1 = asCategoryAttributeGroupList.stream().map(AsCategoryAttributeGroup::getAttributeGroupId).toList(); - //拿到属性组集合 + //获取属性组集合 List attributeGroups = attributeGroupService.listByIds(longList1); //品牌中间表构造器 @@ -392,16 +394,13 @@ public class CategoryInfoServiceImpl extends ServiceImpl cateGoryIdList = new ArrayList<>(); getParentIdListByCateGoryId(cateGoryIdList, cateGoryId); - // 取出和品类相关联的属性组关系 - 中间表 + // 获取和品类相互关联的属性组关系 (中间表) LambdaQueryWrapper asCategoryAttributeGroupLambdaQueryWrapper = new LambdaQueryWrapper<>(){{ in(AsCategoryAttributeGroup::getCategoryId, cateGoryIdList); }}; @@ -428,17 +427,22 @@ public class CategoryInfoServiceImpl extends ServiceImpl attributeIdSet = new HashSet<>(); - // 获取组内所有的属性Id +// attributeGroupModelList.forEach(attributeGroupModel -> { +// attributeGroupModel.getAttributeList().forEach(attributeModel -> { +// attributeIdSet.add(attributeModel.getId()); +// }); +// }); + // 获取组内所有属性Id,判空 if (!attributeGroupModelList.isEmpty()){ attributeIdSet.addAll( attributeGroupModelList.stream() .flatMap((Function>) templateAttributeGroupModel -> templateAttributeGroupModel.getAttributeList().stream()) .map(TemplateAttributeModel::getId) .toList() - ); - } + ); + } List templateAttributeModelList = new ArrayList<>(); LambdaQueryWrapper categoryAttributeQueryWrapper = new LambdaQueryWrapper<>(); @@ -449,23 +453,29 @@ public class CategoryInfoServiceImpl extends ServiceImpl !attributeIdSet.contains(templateAttributeId)) .toList(); - templateAttributeModelList = attributeInfoService.listByIds(templateAttributeIdList).stream() - .map(AttributeInfo::buildTemplateModel) - .toList(); + if (!templateAttributeIdList.isEmpty()){ + templateAttributeModelList = attributeInfoService.listByIds(templateAttributeIdList).stream() + .map(AttributeInfo::buildTemplateModel) + .toList(); + } + } List attributeModelList = new ArrayList<>(); - + //判断是否为空,不为空继续执行 if (!templateAttributeModelList.isEmpty()){ attributeIdSet.addAll( + //利用Steam 流遍历获取id集合 templateAttributeModelList.stream().map(TemplateAttributeModel::getId).toList() ); } + //商品属性构造 LambdaQueryWrapper attributeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); attributeInfoLambdaQueryWrapper.notIn(!attributeIdSet.isEmpty(), AttributeInfo::getId, attributeIdSet); attributeModelList = attributeInfoService.list(attributeInfoLambdaQueryWrapper).stream().map(AttributeInfo::buildTemplateModel).toList(); + //属性组列表回显(商品信息中) return CategoryCommonElementResp.builder() .templateAttributeGroupList(attributeGroupModelList) .templateAttributeList(templateAttributeModelList) diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CommentInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CommentInfoServiceImpl.java index 365a5c4..d52b226 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CommentInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CommentInfoServiceImpl.java @@ -23,7 +23,6 @@ public class CommentInfoServiceImpl extends ServiceImpl comById(Long id) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(CommentInfo::getProjectId,id); + List list = this.list(queryWrapper); + return list; + } } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CommentLikeInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CommentLikeInfoServiceImpl.java index 1f4f045..74d867f 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CommentLikeInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CommentLikeInfoServiceImpl.java @@ -23,7 +23,6 @@ public class CommentLikeInfoServiceImpl extends ServiceImpl nameList = getStrings(); - //跟新商品名称作比较 判断是否重复 - if (nameList.contains(projectInfoSaveReq.getProjectAddModel().getName())){ - return Result.error("该名称已被占用"); - } - + public boolean save (ProjectInfoSaveReq projectInfoSaveReq) { +// //查询所有商品集合 +// List nameList = getStrings(); +// //跟新商品名称作比较 判断是否重复 +// if (nameList.contains(projectInfoSaveReq.getProjectAddModel().getName())){ +// return Result.error("该名称已被占用"); +// } +// +// ProjectAddModel projectAddModel = projectInfoSaveReq.getProjectAddModel(); +// ProjectInfo projectInfo = ProjectInfo.saveModelBuild(projectAddModel, SecurityUtils::getUsername); +// boolean save = this.save(projectInfo); +// +// if (save){ +// // 属性值 +// List attrValueList = projectInfoSaveReq.getAttrValueList(); +// List asProductAttributeInfoList = attrValueList.stream() +// .map(attrValueModel -> AsProductAttributeInfo.attrValueModelBuild(attrValueModel, projectInfo::getId)) +// .toList(); +// if (!asProductAttributeInfoList.isEmpty()){ +// asProductAttributeInfoService.saveBatch(asProductAttributeInfoList); +// } +// // sku ProductSkuModel -》 ProjectSkuInfo +// List productSkuModelList = projectInfoSaveReq.getProductSkuList(); +// List projectSkuInfoList = productSkuModelList.stream().map( +// productSkuModel -> ProjectSkuInfo.productSkuModelBuild(productSkuModel, projectInfo::getId) +// ).toList(); +// if (!projectSkuInfoList.isEmpty()){ +// projectSkuInfoService.saveBatch(projectSkuInfoList); +// } +// } +// return Result.success("添加成功"); ProjectAddModel projectAddModel = projectInfoSaveReq.getProjectAddModel(); ProjectInfo projectInfo = ProjectInfo.saveModelBuild(projectAddModel, SecurityUtils::getUsername); boolean save = this.save(projectInfo); - if (save){ // 属性值 List attrValueList = projectInfoSaveReq.getAttrValueList(); @@ -183,7 +206,7 @@ public class ProjectInfoServiceImpl extends ServiceImpl projectSkuInfoList = this.projectSkuInfoService.list(new LambdaQueryWrapper<>() {{ eq(ProjectSkuInfo::getProjectId, id); }}); - // 商品和属性集合 + // 获取商品和属性集合 List productAttributeInfoList = this.asProductAttributeInfoService.list(new LambdaQueryWrapper<>() {{ eq(AsProductAttributeInfo::getProductId, id); }}); - // 商品规格 + // 获取商品规格 List ruleAttrModelList = ruleAttrInfoService.list(new LambdaQueryWrapper<>() {{ eq(RuleAttrInfo::getRuleId, projectInfo.getRuleId()); }}).stream() @@ -225,7 +248,7 @@ public class ProjectInfoServiceImpl extends ServiceImpl templateAttributeList = new ArrayList<>(){{ addAll(templateAttribute.getTemplateAttributeList()); }}; - // 属性组和商品属性的ID + // 属性组和商品属性的ID 创建集合 List notInAttributeIdList = new ArrayList<>(); List attributeGroupIdList = templateAttributeGroupList.stream() .flatMap(templateAttributeGroupModel -> templateAttributeGroupModel.getAttributeList().stream()) @@ -277,6 +300,12 @@ public class ProjectInfoServiceImpl extends ServiceImpl nameList = getStrings(); diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleAttrInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleAttrInfoServiceImpl.java index 1c44cc5..c6e45bd 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleAttrInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/RuleAttrInfoServiceImpl.java @@ -44,10 +44,6 @@ public class RuleAttrInfoServiceImpl extends ServiceImpl /** * 添加规格信息 - * * @param ruleInfoAddModel 规格添加模型 - * - * @return 时候成功 */ @Override public boolean save (RuleInfoAddModel ruleInfoAddModel) { @@ -151,6 +148,11 @@ public class RuleInfoServiceImpl extends ServiceImpl .build(); } + /** + * 根据id批量修改规格属性 + * @param id + * @param ruleInfoEditReq + */ @Override public boolean updateById(Long id, RuleInfoEditReq ruleInfoEditReq) { //获取id diff --git a/muyu-modules/pom.xml b/muyu-modules/pom.xml index 0b5532f..fc6acc7 100644 --- a/muyu-modules/pom.xml +++ b/muyu-modules/pom.xml @@ -14,7 +14,7 @@ muyu-job muyu-file muyu-product - muyu-actives + muyu-marketing muyu-shop-cart