From d9f50a2718426cc331f468181cef859e07f20b22 Mon Sep 17 00:00:00 2001 From: neverAwake <14807348+neverawake@user.noreply.gitee.com> Date: Wed, 27 Nov 2024 10:33:34 +0800 Subject: [PATCH] =?UTF-8?q?fix():=E6=96=B0=E5=A2=9E=E4=BA=86=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E6=B4=BB=E5=8A=A8=E8=AF=A6=E6=83=85=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/团购查询活动详情.java | 24 ++++ muyu-auth/src/main/resources/bootstrap.yml | 4 +- muyu-gateway/src/main/resources/bootstrap.yml | 6 +- .../domain/ActivityTeamProductSkuInfo.java | 3 +- .../model/ActivityTeamInfoDetailModel.java | 112 ++++++++++++++++++ .../model/ActivityTeamProjectSkuModel.java | 27 +++++ .../model/TeamProductDiscountPriceModel.java | 5 +- .../marketing/domain/req/TeamInfoListReq.java | 3 +- .../resp/ActivityTeamInfoDetailResp.java | 108 +++++++++++++++++ .../domain/resp/TeamProjectSkuResp.java | 36 ++++++ .../muyu-marketing/marketing-server/pom.xml | 2 +- .../controller/ActivityTeamController.java | 27 ++++- .../team/service/ActivityTeamInfoService.java | 14 +++ .../ActivityTeamProductSkuInfoService.java | 9 ++ .../impl/ActivityTeamInfoServiceImpl.java | 33 +++++- ...ActivityTeamProductSkuInfoServiceImpl.java | 39 ++++-- .../src/main/resources/bootstrap.yml | 6 +- .../remote/RemoteProjectInfoService.java | 3 + .../src/main/resources/bootstrap.yml | 4 +- .../src/main/resources/bootstrap.yml | 4 +- 20 files changed, 436 insertions(+), 33 deletions(-) create mode 100644 doc/团购查询活动详情.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoDetailModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProjectSkuModel.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoDetailResp.java create mode 100644 muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuResp.java diff --git a/doc/团购查询活动详情.java b/doc/团购查询活动详情.java new file mode 100644 index 0000000..940cf7b --- /dev/null +++ b/doc/团购查询活动详情.java @@ -0,0 +1,24 @@ +{ + "id":"Long", + "name":"String", + "productId":"Long", + "productName":"String", + "productImage":"String", + "introduction":"String", + "unit":"String", + "imageList":[ + "轮播图":"String"], + "endTime":"Date", + "sort":"String", + "content":"String", + "status":"String", + "strategyType":"String", + "strategyId":"Long", + "SkuList":[ + { + "id":"Long" + "sku":"String", + "库存":"Long", + "价格":"BigDecimal" + }] +} diff --git a/muyu-auth/src/main/resources/bootstrap.yml b/muyu-auth/src/main/resources/bootstrap.yml index b309a3d..e59d339 100644 --- a/muyu-auth/src/main/resources/bootstrap.yml +++ b/muyu-auth/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 101.35.234.240:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 101.35.234.240:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-gateway/src/main/resources/bootstrap.yml b/muyu-gateway/src/main/resources/bootstrap.yml index d7367b4..9b99d13 100644 --- a/muyu-gateway/src/main/resources/bootstrap.yml +++ b/muyu-gateway/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 101.35.234.240:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 101.35.234.240:8848 # 配置文件格式 file-extension: yml # 共享配置 @@ -33,7 +33,7 @@ spring: datasource: ds1: nacos: - server-addr: 127.0.0.1:8848 + server-addr: 101.35.234.240:8848 dataId: sentinel-muyu-gateway groupId: DEFAULT_GROUP data-type: json diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java index 43521d0..5500d80 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java @@ -60,6 +60,7 @@ public class ActivityTeamProductSkuInfo extends BaseEntity { .teamStock(activityTeamProductSkuAddModel.getTeamStock()) .remainStock(activityTeamProductSkuAddModel.getTeamStock()) .teamPrice(activityTeamProductSkuAddModel.getTeamPrice()) - .build() + .build(); } + } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoDetailModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoDetailModel.java new file mode 100644 index 0000000..9855003 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoDetailModel.java @@ -0,0 +1,112 @@ +package com.muyu.marketing.domain.model; + +import com.muyu.marketing.domain.ActivityTeamInfo; +import com.muyu.marketing.domain.resp.TeamProjectSkuResp; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + +/** + * @Author 夜は眠れるかい? + * @Date 2024/11/26 14:29 + * 好好学习,天天向上 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ActivityTeamInfoDetailModel { + + /** + * 主键 + */ + private Long teamId; + /** + * 拼团名称 + */ + private String name; + + /** + * 商品ID + */ + private Long productId; + + /** 商品名称 */ + private String productName; + + /** + * 商品活动图 + */ + private String productImage; + + /** + * 活动简介 + */ + private String introduction; + + /** + * 单位 + */ + private String unit; + + /** + * 轮播图 + */ + private String imageList; + + /** 活动结束时间 */ + private Date endTime; + + /** + * 活动排序 + */ + private Long sort; + + /** + * 活动详情 + */ + private String content; + + /** + * 活动状态 + */ + private String status; + + /** + * 策略类型 + */ + private String strategyType; + + /** + * 策略ID + */ + private Long strategyId; + + /** 团购商品sku集合 */ + private List skuList; + + public static ActivityTeamInfoDetailModel getTeamDetailBuild(ActivityTeamInfo activityTeamInfo, String productName, List skus) { + return ActivityTeamInfoDetailModel.builder() + .teamId(activityTeamInfo.getId()) + .name(activityTeamInfo.getName()) + .productId(activityTeamInfo.getProductId()) + .productName(productName) + .productImage(activityTeamInfo.getProductImage()) + .introduction(activityTeamInfo.getIntroduction()) + .unit(activityTeamInfo.getUnit()) + .imageList(activityTeamInfo.getImageList()) + .endTime(activityTeamInfo.getEndTime()) + .sort(activityTeamInfo.getSort()) + .content(activityTeamInfo.getContent()) + .status(activityTeamInfo.getStatus()) + .strategyId(activityTeamInfo.getStrategyId()) + .strategyType(activityTeamInfo.getStrategyType()) + .skuList(skus) + .build(); + + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProjectSkuModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProjectSkuModel.java new file mode 100644 index 0000000..d6d02a1 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProjectSkuModel.java @@ -0,0 +1,27 @@ +package com.muyu.marketing.domain.model; + +import com.muyu.marketing.domain.resp.TeamProjectSkuResp; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.List; + +/** + * @Author 夜は眠れるかい? + * @Date 2024/11/26 16:29 + * 好好学习,天天向上 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ActivityTeamProjectSkuModel { + + private Long id; + private String sku; + private BigDecimal teamPrice; + private Long teamStock; +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamProductDiscountPriceModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamProductDiscountPriceModel.java index 61f9d08..02e01f4 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamProductDiscountPriceModel.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamProductDiscountPriceModel.java @@ -43,8 +43,8 @@ public class TeamProductDiscountPriceModel { * @param teamPrice 团购加 * @return 优惠力度 */ - public static TeamProductDiscountPriceModel of(BigDecimal productPrice, BigDecimal teamPrice) { - TeamProductDiscountPriceModel.builder() + public static TeamProductDiscountPriceModel buildTeamProductDiscountPrice(BigDecimal productPrice, BigDecimal teamPrice) { + return TeamProductDiscountPriceModel.builder() .productPrice(productPrice) .teamPrice(teamPrice) .discount( @@ -52,4 +52,5 @@ public class TeamProductDiscountPriceModel { ) .build(); } + } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamInfoListReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamInfoListReq.java index fcfc308..4dab2b5 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamInfoListReq.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamInfoListReq.java @@ -3,9 +3,10 @@ package com.muyu.marketing.domain.req; import com.muyu.common.core.web.page.PageDomain; import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel; import lombok.*; +import lombok.experimental.SuperBuilder; @Data -@Builder +@SuperBuilder @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoDetailResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoDetailResp.java new file mode 100644 index 0000000..4028642 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoDetailResp.java @@ -0,0 +1,108 @@ +package com.muyu.marketing.domain.resp; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.muyu.marketing.domain.model.ActivityTeamInfoDetailModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + +/** + * @Author 夜は眠れるかい? + * @Date 2024/11/26 15:20 + * 好好学习,天天向上 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ActivityTeamInfoDetailResp { + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Long teamId; + + /** + * 拼团名称 + */ + private String teamName; + + /** + * 商品ID + */ + private Long productId; + + /** 商品名称 */ + private String productName; + + /** + * 商品活动图 + */ + private String productImage; + /** + * 活动简介 + */ + private String introduction; + /** + * 单位 + */ + private String unit; + + /** + * 轮播图 + */ + private String imageList; + /** + * 活动结束时间 + */ + private Date endTime; + /** + * 活动排序 + */ + private Long sort; + /** + * 活动详情 + */ + private String content; + /** + * 活动状态 + */ + private String status; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private Long strategyId; + + /** 团购商品sku集合 */ + private List skuList; + + public static ActivityTeamInfoDetailResp modelBuild(ActivityTeamInfoDetailModel activityTeamInfoDetailModel) { + return ActivityTeamInfoDetailResp.builder() + .teamId(activityTeamInfoDetailModel.getTeamId()) + .teamName(activityTeamInfoDetailModel.getName()) + .productId(activityTeamInfoDetailModel.getProductId()) + .productName(activityTeamInfoDetailModel.getProductName()) + .productImage(activityTeamInfoDetailModel.getProductImage()) + .introduction(activityTeamInfoDetailModel.getIntroduction()) + .unit(activityTeamInfoDetailModel.getUnit()) + .imageList(activityTeamInfoDetailModel.getImageList()) + .endTime(activityTeamInfoDetailModel.getEndTime()) + .sort(activityTeamInfoDetailModel.getSort()) + .content(activityTeamInfoDetailModel.getContent()) + .status(activityTeamInfoDetailModel.getStatus()) + .strategyId(activityTeamInfoDetailModel.getStrategyId()) + .strategyType(activityTeamInfoDetailModel.getStrategyType()) + .skuList(activityTeamInfoDetailModel.getSkuList()) + .build(); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuResp.java new file mode 100644 index 0000000..d6825b6 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuResp.java @@ -0,0 +1,36 @@ +package com.muyu.marketing.domain.resp; + +import com.muyu.marketing.domain.model.ActivityTeamProjectSkuModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import org.apache.poi.hpsf.Decimal; + +import java.math.BigDecimal; + +/** + * @Author 夜は眠れるかい? + * @Date 2024/11/26 16:23 + * 好好学习,天天向上 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class TeamProjectSkuResp { + + private Long id; + private String sku; + private BigDecimal teamPrice; + private Long teamStock; + + public static TeamProjectSkuResp buildModel(ActivityTeamProjectSkuModel sku) { + return TeamProjectSkuResp.builder() + .id(sku.getId()) + .sku(sku.getSku()) + .teamPrice(sku.getTeamPrice()) + .teamStock(sku.getTeamStock()) + .build(); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-server/pom.xml b/muyu-modules/muyu-marketing/marketing-server/pom.xml index c886cbf..cb7bfe0 100644 --- a/muyu-modules/muyu-marketing/marketing-server/pom.xml +++ b/muyu-modules/muyu-marketing/marketing-server/pom.xml @@ -121,4 +121,4 @@ - \ No newline at end of file + diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java index 342b35d..804879c 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java @@ -4,16 +4,16 @@ package com.muyu.marketing.team.controller; import com.muyu.common.core.domain.Result; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; +import com.muyu.marketing.domain.model.ActivityTeamInfoDetailModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq; import com.muyu.marketing.domain.req.TeamInfoListReq; +import com.muyu.marketing.domain.resp.ActivityTeamInfoDetailResp; import com.muyu.marketing.domain.resp.TeamInfoListResp; +import com.muyu.marketing.domain.resp.TeamProjectSkuResp; import com.muyu.marketing.team.service.ActivityTeamInfoService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -28,10 +28,12 @@ import java.util.List; public class ActivityTeamController { @Autowired - private ActivityTeamInfoService activityTeamInfoService;; + private ActivityTeamInfoService activityTeamInfoService; + ; /** * 查询营销团购活动列表 + * * @param teamInfoListReq 活动查询入参 * @return 活动响应结果 */ @@ -40,7 +42,7 @@ public class ActivityTeamController { TableDataInfo tableDataInfo = activityTeamInfoService.query(teamInfoListReq.buildQueryModel()); List respList = tableDataInfo.getRows().stream().map(TeamInfoListResp::listModelBuild).toList(); return Result.success( - new TableDataInfo<>(){{ + new TableDataInfo<>() {{ setRows(respList); setTotal(tableDataInfo.getTotal()); }} @@ -50,6 +52,7 @@ public class ActivityTeamController { /** * 添加团购活动 + * * @param activityTeamInfoSaveReq 添加请求对象 * @return 结果集 */ @@ -58,4 +61,16 @@ public class ActivityTeamController { activityTeamInfoService.save(ActivityTeamInfoAddModel.addReqBuild(activityTeamInfoSaveReq)); return Result.success(); } + + /** + * 根据活动id查询活动详情 + * @param teamId + * @return + */ + @GetMapping("getTeamInfoById/{teamId}") + public Result getTeamInfoById(@PathVariable Long teamId) { + ActivityTeamInfoDetailModel detailModel = activityTeamInfoService.getTeamInfoById(teamId); + ActivityTeamInfoDetailResp detailResp = ActivityTeamInfoDetailResp.modelBuild(detailModel); + return Result.success(detailResp); + } } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java index 21d9f00..9dda8c8 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java @@ -4,16 +4,21 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; +import com.muyu.marketing.domain.model.ActivityTeamInfoDetailModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel; import java.util.List; +/** + * @author zhuyufeng + */ public interface ActivityTeamInfoService extends IService { /** * 通过查询模型查询团购活动列表 + * * @param activityTeamInfoListQueryModel 团购活动查询模型 * @return 团购活动列表 */ @@ -21,7 +26,16 @@ public interface ActivityTeamInfoService extends IService { /** * 通过添加模型,去进行商品拼团活动的操作 + * * @param activityTeamInfoAddModel 团购添加模型 */ public void save(ActivityTeamInfoAddModel activityTeamInfoAddModel); + + /** + * 根据活动id查询活动详情 + * + * @param teamId + * @return + */ + public ActivityTeamInfoDetailModel getTeamInfoById(Long teamId); } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamProductSkuInfoService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamProductSkuInfoService.java index 6a5d6dd..1e15d20 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamProductSkuInfoService.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamProductSkuInfoService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; import com.muyu.marketing.domain.TeamStrategyExemptionHundred; import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; +import com.muyu.marketing.domain.model.ActivityTeamProjectSkuModel; import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; import com.muyu.marketing.domain.model.TeamProductStockModel; @@ -41,4 +42,12 @@ public interface ActivityTeamProductSkuInfoService extends IService activityTeamProductSkuAddModelList); + /** + * 根据团购活动id查询 + * + * @param teamId + * @return + */ + public List getTeamProjectSkuByTeamId(Long teamId); + } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java index c65d649..da69e3f 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java @@ -4,15 +4,23 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.muyu.common.core.domain.Result; import com.muyu.common.core.exception.ServiceException; import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.marketing.domain.ActivityTeamInfo; +import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; import com.muyu.marketing.domain.model.*; +import com.muyu.marketing.domain.resp.TeamInfoListResp; +import com.muyu.marketing.domain.resp.TeamProjectSkuResp; import com.muyu.marketing.team.mapper.ActivityTeamInfoMapper; import com.muyu.marketing.team.service.ActivityTeamInfoService; import com.muyu.marketing.team.service.ActivityTeamOpenInfoService; import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService; +import com.muyu.product.cache.ProjectInfoCache; +import com.muyu.product.domain.ProjectInfo; +import com.muyu.product.domain.resp.ProjectDetailResp; +import com.muyu.product.remote.RemoteProjectInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.Assert; @@ -20,11 +28,12 @@ import org.springframework.util.Assert; import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; +import java.util.stream.Collectors; @Service public class ActivityTeamInfoServiceImpl extends ServiceImpl - implements ActivityTeamInfoService { + implements ActivityTeamInfoService { @Autowired private ActivityTeamOpenInfoService activityTeamOpenInfoService; @@ -32,6 +41,9 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl query(ActivityTeamInfoListQueryModel activityTeamInfoListQueryModel) { @@ -82,4 +94,23 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl activityTeamProductSkuAddModel.setTeamId(activityTeamInfo.getId())); this.activityTeamProductSkuInfoService.batchSave(teamProductSkuAddModelList); } + + /** + * 根据活动id获取活动详情 + * + * @param teamId + * @return + */ + @Override + public ActivityTeamInfoDetailModel getTeamInfoById(Long teamId) { + //先查询活动信息 + ActivityTeamInfo activityTeamInfo = this.getById(teamId); + //再查询绑定的商品名称 +// Result productInfo = remoteProjectInfoService.getInfo(activityTeamInfo.getId()); + String productName = "123456"; + //再查询商品sku信息 + List skus = activityTeamProductSkuInfoService.getTeamProjectSkuByTeamId(teamId); + return ActivityTeamInfoDetailModel.getTeamDetailBuild(activityTeamInfo,productName, + skus.stream().map(TeamProjectSkuResp::buildModel).collect(Collectors.toList())); + } } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamProductSkuInfoServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamProductSkuInfoServiceImpl.java index 6e87518..9a369a8 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamProductSkuInfoServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamProductSkuInfoServiceImpl.java @@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.common.core.exception.ServiceException; import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; +import com.muyu.marketing.domain.model.ActivityTeamProjectSkuModel; import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel; import com.muyu.marketing.domain.model.TeamProductStockModel; +import com.muyu.marketing.domain.resp.TeamProjectSkuResp; import com.muyu.marketing.team.mapper.ActivityTeamProductSkuInfoMapper; import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService; import com.muyu.product.cache.ProjectSkuCache; @@ -14,16 +16,12 @@ import com.muyu.product.domain.ProjectSkuInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import java.util.Optional; +import java.util.*; +import java.util.stream.Collectors; @Service public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl - implements ActivityTeamProductSkuInfoService { + implements ActivityTeamProductSkuInfoService { @Autowired private ProjectSkuCache projectSkuCache; @@ -42,10 +40,10 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl discountPriceModelOptional = teamProductSkuInfoList.stream() .map(activityTeamProductSkuInfo -> { ProjectSkuInfo projectSkuInfo = projectSkuCache.get(activityTeamProductSkuInfo.getProductId(), activityTeamProductSkuInfo.getProductSku()); - return TeamProductDiscountPriceModel.of(projectSkuInfo.getPrice(), activityTeamProductSkuInfo.getTeamPrice()); + return TeamProductDiscountPriceModel.buildTeamProductDiscountPrice(projectSkuInfo.getPrice(), activityTeamProductSkuInfo.getTeamPrice()); }).min((o1, o2) -> Double.valueOf(o1.getDiscount() * 100 - o2.getDiscount() * 100).intValue()); - if (discountPriceModelOptional.isEmpty()){ + if (discountPriceModelOptional.isEmpty()) { throw new ServiceException("团购活动下没有商品绑定"); } return discountPriceModelOptional.get(); @@ -80,4 +78,27 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl getTeamProjectSkuByTeamId(Long teamId) { + //根据活动ID查询团购商品SKU + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ActivityTeamProductSkuInfo::getTeamId, teamId); + List list = this.list(queryWrapper); + // 将团购商品SKU集合转换成团购商品SKU模型集合 + return list.stream() + .map(activityTeamProductSkuInfo -> ActivityTeamProjectSkuModel.builder() + .id(activityTeamProductSkuInfo.getId()) + .sku(activityTeamProductSkuInfo.getProductSku()) + .teamPrice(activityTeamProductSkuInfo.getTeamPrice()) + .teamStock(activityTeamProductSkuInfo.getTeamStock()) + .build()) + .toList(); + } } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml index 78b5a7b..9628618 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml @@ -6,7 +6,7 @@ server: spring: application: # 应用名称 - name: muyu-marketing + name: muyu-team profiles: # 环境配置 active: dev @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 101.35.234.240:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 101.35.234.240:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectInfoService.java b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectInfoService.java index fd88ca8..7a74e31 100644 --- a/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-remote/src/main/java/com/muyu/product/remote/RemoteProjectInfoService.java @@ -22,6 +22,9 @@ import org.springframework.web.bind.annotation.PathVariable; public interface RemoteProjectInfoService { /** * 获取商品信息详细信息 + * + * @param id + * @return */ @GetMapping(value = "/{id}") public Result getInfo(@PathVariable("id") Long id) ; diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml index e8bd02d..1b6a610 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 101.35.234.240:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 101.35.234.240:8848 # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-system/src/main/resources/bootstrap.yml b/muyu-modules/muyu-system/src/main/resources/bootstrap.yml index a66fd4c..8f3036d 100644 --- a/muyu-modules/muyu-system/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-system/src/main/resources/bootstrap.yml @@ -14,10 +14,10 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 101.35.234.240:8848 config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 101.35.234.240:8848 # 配置文件格式 file-extension: yml # 共享配置