diff --git a/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/web/page/PageDomain.java b/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/web/page/PageDomain.java index 13f0d2e..4fc2dbd 100644 --- a/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/web/page/PageDomain.java +++ b/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/web/page/PageDomain.java @@ -87,7 +87,8 @@ public class PageDomain { return reasonable; } -// public void setReasonable (Boolean reasonable) { -// this.reasonable = reasonable; -// } + + public void setReasonable (Boolean reasonable) { + this.reasonable = reasonable; + } } diff --git a/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/web/page/TableDataInfo.java b/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/web/page/TableDataInfo.java index d677cce..6636313 100644 --- a/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/web/page/TableDataInfo.java +++ b/muyu-common/muyu-common-core/src/main/java/com/muyu/common/core/web/page/TableDataInfo.java @@ -11,7 +11,6 @@ import java.util.List; /** * 表格分页数据对象 - * * @author muyu */ diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteFileService.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteFileService.java index 96dd181..35fa1b7 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteFileService.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteFileService.java @@ -4,7 +4,9 @@ import com.muyu.common.core.constant.ServiceNameConstants; import com.muyu.common.core.domain.Result; import com.muyu.common.system.domain.SysFile; import com.muyu.common.system.remote.factory.RemoteFileFallbackFactory; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.context.annotation.Primary; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestPart; @@ -16,6 +18,8 @@ import org.springframework.web.multipart.MultipartFile; * @author muyu */ @FeignClient(contextId = "remoteFileService", value = ServiceNameConstants.FILE_SERVICE, fallbackFactory = RemoteFileFallbackFactory.class) +@Qualifier +@Primary public interface RemoteFileService { /** * 上传文件 diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteLogService.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteLogService.java index 7e767c4..4546605 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteLogService.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteLogService.java @@ -6,7 +6,9 @@ import com.muyu.common.core.domain.Result; import com.muyu.common.system.domain.SysLogininfor; import com.muyu.common.system.domain.SysOperLog; import com.muyu.common.system.remote.factory.RemoteLogFallbackFactory; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.context.annotation.Primary; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestHeader; @@ -17,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestHeader; * @author muyu */ @FeignClient(contextId = "remoteLogService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteLogFallbackFactory.class) +@Qualifier +@Primary public interface RemoteLogService { /** * 保存系统日志 diff --git a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java index cb968e0..e7de100 100644 --- a/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java +++ b/muyu-common/muyu-common-system/src/main/java/com/muyu/common/system/remote/RemoteUserService.java @@ -6,7 +6,9 @@ import com.muyu.common.core.domain.Result; import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.remote.factory.RemoteUserFallbackFactory; import com.muyu.common.system.domain.LoginUser; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.context.annotation.Primary; import org.springframework.web.bind.annotation.*; /** @@ -15,6 +17,8 @@ import org.springframework.web.bind.annotation.*; * @author muyu */ @FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class) +@Qualifier +@Primary public interface RemoteUserService { /** * 通过用户名查询用户信息 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 index 2901bf5..bbdfb16 100644 --- 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 @@ -2,7 +2,7 @@ package com.muyu.active.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.active.domain.model.ActivityTeamInfoSaveModel; import com.muyu.common.core.web.domain.BaseEntity; import lombok.AllArgsConstructor; import lombok.Data; @@ -12,24 +12,48 @@ import lombok.experimental.SuperBuilder; import java.util.Date; +/** + * 拼团信息主表 + */ + @Data @AllArgsConstructor @NoArgsConstructor @SuperBuilder -@EqualsAndHashCode -@TableName(value = "activity_team_info",autoResultMap = true) -public class ActivityTeamInfo extends BaseEntity { - @TableId(value = "id", type = IdType.AUTO) - private Long id; - private String name; - private Integer productId; - private String productImage; - private String introduction; - private String unit; - private String imageList; - private Date endTime; - private Integer sort; - private String status; - private String strategyType; - private Integer strategyId; +@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/ActivityTeamOpenInfo.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfo.java index 6927f1c..6070de2 100644 --- a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfo.java +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfo.java @@ -1,8 +1,5 @@ package com.muyu.active.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.web.domain.BaseEntity; import lombok.AllArgsConstructor; import lombok.Data; @@ -10,25 +7,28 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +import java.util.Date; + +/** + * 商品开团表 + */ @Data @AllArgsConstructor @NoArgsConstructor -@EqualsAndHashCode @SuperBuilder -@TableName(value = "activity_team_open_info",autoResultMap = true) +@EqualsAndHashCode(callSuper = true) public class ActivityTeamOpenInfo extends BaseEntity { - @TableId(value = "id", type = IdType.AUTO) - private Long id; - private Integer teamId; - private String teamType; - private Integer teamStrategyId; - private String executiveType; - private String endTime; - private Integer productId; - private String productName; - private String productSku; - private String key; - private Integer orderId; - private Integer status; - private String createBy; + private long id; + private long teamId; + private String teamType; + private long teamStrategyId; + private String executiveType; + private Date endTime; + private long productId; + private String productName; + private String productSku; + private String key; + private long orderId; + private String status; + } diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfoEnum.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfoEnum.java new file mode 100644 index 0000000..e4a0714 --- /dev/null +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/ActivityTeamOpenInfoEnum.java @@ -0,0 +1,24 @@ +package com.muyu.active.domain; + +/** + *参团类型枚举类 + **/ +public enum ActivityTeamOpenInfoEnum { + OPEN_TEAM("open_team","开团"), + IN_TEAM("in_team","参团"); + private String code; + private String label; + + ActivityTeamOpenInfoEnum(String code, String label) { + this.code = code; + this.label = label; + } + + public String code() { + return code; + } + + public String label() { + return label; + } +} 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 index ceb8cb6..f22f71f 100644 --- 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 @@ -1,8 +1,6 @@ package com.muyu.active.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.active.domain.model.TeamSkuInfoModel; import com.muyu.common.core.web.domain.BaseEntity; import lombok.AllArgsConstructor; import lombok.Data; @@ -10,18 +8,35 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +import java.math.BigDecimal; +import java.util.function.Function; + +/** + * 商品sku主表 + */ @Data @AllArgsConstructor -@EqualsAndHashCode @NoArgsConstructor @SuperBuilder -@TableName(value = "activity_team_product_sku_info",autoResultMap = true) +@EqualsAndHashCode(callSuper = true) public class ActivityTeamProductSkuInfo extends BaseEntity { - @TableId(value = "id", type = IdType.AUTO) - private Long id; - private Integer teamId; - private Integer productId; - private String productSku; - private String teamStock; - private String teamPrice; + 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-common/src/main/java/com/muyu/active/domain/TeamStrategyExemption.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemption.java index 746d5ed..98e32ff 100644 --- a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemption.java +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemption.java @@ -1,8 +1,5 @@ package com.muyu.active.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.web.domain.BaseEntity; import lombok.AllArgsConstructor; import lombok.Data; @@ -10,21 +7,25 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +/** + * 拼团免单策略表 + */ @Data @AllArgsConstructor @NoArgsConstructor -@EqualsAndHashCode @SuperBuilder -@TableName(value = "team_strategy_exemption",autoResultMap = true) +@EqualsAndHashCode(callSuper = true) public class TeamStrategyExemption extends BaseEntity { - @TableId(value = "id", type = IdType.AUTO) - private Long id; - private String duration; - private Integer exemptionNumber; - private Integer maxBuy; - private Integer oneBuy; - private Integer virtualNumber; - private String type; - private String ruleInfo; - private Integer status; + + private long id; + private long duration; + private long exemptionNumber; + private long maxBuy; + private long oneBuy; + private long virtualNumber; + private String type; + private String ruleInfo; + private String status; + + } diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionHundred.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionHundred.java index 24d6c0c..d7077b2 100644 --- a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionHundred.java +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionHundred.java @@ -1,8 +1,5 @@ package com.muyu.active.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.web.domain.BaseEntity; import lombok.AllArgsConstructor; import lombok.Data; @@ -10,19 +7,21 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +/** + * 拼团百人策略表 + */ @Data @AllArgsConstructor @NoArgsConstructor -@EqualsAndHashCode @SuperBuilder -@TableName(value = "team_strategy_exemption_hundred",autoResultMap = true) +@EqualsAndHashCode(callSuper = true) public class TeamStrategyExemptionHundred extends BaseEntity { - @TableId(value = "id", type = IdType.AUTO) - private Long id; - private String duration; - private Integer maxBuy; - private Integer oneBuy; - private Integer virtualNumber; - private Integer status; - private String ruleInfo; + private long id; + private long duration; + private long maxBuy; + private long oneBuy; + private long virtualNumber; + private String status; + private String ruleInfo; + } diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionOrdinary.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionOrdinary.java index e032885..e7c275e 100644 --- a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionOrdinary.java +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/TeamStrategyExemptionOrdinary.java @@ -1,8 +1,5 @@ package com.muyu.active.domain; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.web.domain.BaseEntity; import lombok.AllArgsConstructor; import lombok.Data; @@ -10,20 +7,23 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +/** + * 拼团普通策略表 + */ @Data @AllArgsConstructor @NoArgsConstructor @SuperBuilder -@EqualsAndHashCode -@TableName(value = "team_strategy_exemption_ordinary",autoResultMap = true) +@EqualsAndHashCode(callSuper = true) public class TeamStrategyExemptionOrdinary extends BaseEntity { - @TableId(value = "id", type = IdType.AUTO) - private Long id; - private String duration; - private Integer teamNumber; - private Integer maxBuy; - private Integer oneBuy; - private Integer virtualNumber; - private Integer status; + + private long id; + private long duration; + private long teamNumber; + private long maxBuy; + private long oneBuy; + private long virtualNumber; + private String status; + } diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamDiscountModel.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamDiscountModel.java new file mode 100644 index 0000000..d306128 --- /dev/null +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamDiscountModel.java @@ -0,0 +1,31 @@ +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; + +/** + * 活动优惠力度价格模型 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class ActivityTeamDiscountModel { + private BigDecimal teamPrice; + private BigDecimal productPrice; + private double discount; + + public static ActivityTeamDiscountModel of(BigDecimal price, BigDecimal teamPrice) { + return ActivityTeamDiscountModel.builder() + .productPrice(price) + .teamPrice(teamPrice) + .discount(Double.valueOf(price.subtract(teamPrice).divide(price, 2, RoundingMode.CEILING).intValue())) + .build(); + } + +} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoListModel.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoListModel.java new file mode 100644 index 0000000..5aa63a7 --- /dev/null +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoListModel.java @@ -0,0 +1,44 @@ +package com.muyu.active.domain.model; + +import com.muyu.active.domain.ActivityTeamInfo; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.function.Function; + +/** + * 商品列表模型 + */ +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +public class ActivityTeamInfoListModel { + private Long id; + private String name; + private String productImage; + private BigDecimal productPrice; + private BigDecimal teamPrice; + private Long attendNumber; + private Long openTeamNumber; + private Long addTeamNumber; + private Long teamStock; + private Long remainStock; + private Date endTime; + private String status; + + public static ActivityTeamInfoListModel domainBuild(ActivityTeamInfo activityTeamInfo, Function function){ + return function.apply( + ActivityTeamInfoListModel.builder() + .id(activityTeamInfo.getId()) + .name(activityTeamInfo.getName()) + .endTime(activityTeamInfo.getEndTime()) + .productImage(activityTeamInfo.getProductImage()) + .status(activityTeamInfo.getStatus()) + ); + } +} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoQueryModel.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoQueryModel.java new file mode 100644 index 0000000..9a44764 --- /dev/null +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoQueryModel.java @@ -0,0 +1,21 @@ +package com.muyu.active.domain.model; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +/** + * 商品详情模型 + */ +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ActivityTeamInfoQueryModel 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/ActivityTeamInfoSaveModel.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoSaveModel.java new file mode 100644 index 0000000..3ad4e46 --- /dev/null +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/ActivityTeamInfoSaveModel.java @@ -0,0 +1,76 @@ +package com.muyu.active.domain.model; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 商品添加表 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +public class ActivityTeamInfoSaveModel { + /** + * 商品id + */ + private Long productId; + /** + * 商品图片 + */ + private String productImage; + /** + * 活动名称 + */ + private String name; + /** + * 活动简介 + */ + private String introduction; + /** + * 商品单位 + */ + private String unit; + /** + * 商品轮播图 + */ + private String imageList; + /** + * 活动结束时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date endTime; + /** + * 排序 + */ + private Integer sort; + /** + * 详情 + */ + private String content; + /** + * 状态 + */ + private String status; + /** + * 拼团类型 + */ + private String strategyType; + private BigDecimal teamPrice; + private Long teamStock; + private String productSku; + /** + * 商品sku + */ + private List projectSkuInfoList; + +} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/model/QueryModel.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/QueryModel.java similarity index 77% rename from muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/model/QueryModel.java rename to muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/QueryModel.java index 674f9c5..1c87130 100644 --- a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/model/QueryModel.java +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/QueryModel.java @@ -1,4 +1,4 @@ -package com.muyu.active.model; +package com.muyu.active.domain.model; import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -10,6 +10,10 @@ import lombok.experimental.SuperBuilder; import java.util.List; +/** + * 分页表 + * @param + */ @Data @SuperBuilder @NoArgsConstructor @@ -47,13 +51,13 @@ public class QueryModel { } - /** + /** * 构建查询分页对象 */ - public Page buildPage(){ - Page page= Page.of(this.getPageNum(),this.getPageSize()); - page.setOrders(List.of(this.isAsc ? - OrderItem.asc(this.getOrderByColumn()) : OrderItem.desc(this.getOrderByColumn()))); + public Page bulidPage(){ + Page page = Page.of(this.getPageNum(), this.getPageSize()); + page.setOrders(List.of(this.isAsc()? OrderItem.asc(this.getOrderByColumn()) + :OrderItem.desc(this.getOrderByColumn()))); return page; } } diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/TeamSkuInfoModel.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/TeamSkuInfoModel.java new file mode 100644 index 0000000..9f915ff --- /dev/null +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/TeamSkuInfoModel.java @@ -0,0 +1,22 @@ +package com.muyu.active.domain.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; + +/** + * 商品sku模型 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +public class TeamSkuInfoModel { + private Long productId; + private String productSku; + private Long teamStock; + private BigDecimal teamPrice; +} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/TeamStockModel.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/TeamStockModel.java new file mode 100644 index 0000000..e9a113a --- /dev/null +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/model/TeamStockModel.java @@ -0,0 +1,18 @@ +package com.muyu.active.domain.model; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 商品库存模型 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class TeamStockModel { + private Long teamStock; + private Long remainStock; +} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoReq.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoReq.java new file mode 100644 index 0000000..01e5c05 --- /dev/null +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoReq.java @@ -0,0 +1,32 @@ +package com.muyu.active.domain.req; +import com.muyu.active.domain.model.ActivityTeamInfoQueryModel; +import com.muyu.common.core.web.page.PageDomain; +import lombok.*; + +/** + * 拼团信息请求表(搜索+分页) + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class ActivityTeamInfoReq extends PageDomain { + private String keyWord; + private String status; + private Integer pageNum=1; + private Integer pageSize=3; + + /** + * 通过当前对象查询构建模型 + */ + public ActivityTeamInfoQueryModel buildModel(){ + return ActivityTeamInfoQueryModel.builder() + .keyWord(keyWord) + .status(status) + .pageNum(pageNum) + .pageSize(pageSize) + .build() + .domainbuild(this); + } +} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoSaveReq.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoSaveReq.java new file mode 100644 index 0000000..4b8a1c2 --- /dev/null +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/req/ActivityTeamInfoSaveReq.java @@ -0,0 +1,99 @@ +package com.muyu.active.domain.req; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.active.domain.model.ActivityTeamInfoSaveModel; +import com.muyu.active.domain.model.TeamSkuInfoModel; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * 添加拼团活动(入参)请求表 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +public class ActivityTeamInfoSaveReq { + /** + * 商品id + */ + private Long productId; + /** + * 商品图片 + */ + private String image; + /** + * 活动名称 + */ + private String name; + /** + * 活动简介 + */ + private String introduction; + /** + * 商品单位 + */ + private String unit; + /** + * 商品轮播图 + */ + private String imageList; + /** + * 活动结束时间 + */ + private Date endTime; + /** + * 排序 + */ + private Integer sort; + /** + * 详情 + */ + private String content; + /** + * 状态 + */ + private String status; + /** + * 拼团类型 + */ + private String strategyType; + private BigDecimal teamPrice; + private Long teamStock; + private String productSku; + /** + * 商品sku + */ + private List projectSkuInfoList; + + /** + *构造方法 + */ + public ActivityTeamInfoSaveModel saveModel(){ + return ActivityTeamInfoSaveModel.builder() + .productId(productId) + .productImage(image) + .name(name) + .introduction(introduction) + .unit(unit) + .imageList("0") + .endTime(endTime) + .sort(sort) + .content(content) + .status(status) + .strategyType("0") + .teamPrice(teamPrice) + .productSku(productSku) + .teamStock(teamStock) + .projectSkuInfoList(projectSkuInfoList) + .build(); + } +} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/resp/ActivityTeamInfoResp.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/resp/ActivityTeamInfoResp.java new file mode 100644 index 0000000..4f0664d --- /dev/null +++ b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/domain/resp/ActivityTeamInfoResp.java @@ -0,0 +1,48 @@ +package com.muyu.active.domain.resp; +import com.muyu.active.domain.model.ActivityTeamInfoListModel; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 拼团响应实体类 + */ +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +public class ActivityTeamInfoResp { + private Long id; + private String name; + private String productImage; + private BigDecimal productPrice; + private BigDecimal teamPrice; + private Long AttendNumber; + private Long openTeamNumber; + private Long addTeamNumber; + private Long teamStock; + private Long remainStock; + private Date endTime; + private String status; + + public static ActivityTeamInfoResp respBuild(ActivityTeamInfoListModel activityTeamInfoListModel){ + return ActivityTeamInfoResp.builder() + .id(activityTeamInfoListModel.getId()) + .name(activityTeamInfoListModel.getName()) + .endTime(activityTeamInfoListModel.getEndTime()) + .productImage(activityTeamInfoListModel.getProductImage()) + .status(activityTeamInfoListModel.getStatus()) + .addTeamNumber(activityTeamInfoListModel.getAddTeamNumber()) + .AttendNumber(activityTeamInfoListModel.getAttendNumber()) + .openTeamNumber(activityTeamInfoListModel.getOpenTeamNumber()) + .productPrice(activityTeamInfoListModel.getProductPrice()) + .remainStock(activityTeamInfoListModel.getRemainStock()) + .teamPrice(activityTeamInfoListModel.getTeamPrice()) + .teamStock(activityTeamInfoListModel.getTeamStock()) + .build(); + } +} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/model/ActivityTeamInfoListModel.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/model/ActivityTeamInfoListModel.java deleted file mode 100644 index 456e3d3..0000000 --- a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/model/ActivityTeamInfoListModel.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.muyu.maketing.domain.model; - -import com.muyu.common.core.web.page.QueryModel; -import lombok.*; -import lombok.experimental.SuperBuilder; - -import java.util.Date; - -/** - * 团队活动查询信息 - */ -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class ActivityTeamInfoListModel { - /** - * 拼团活动id - */ - private Long id; - /** - * 拼团名称 - */ - private String name; - /** - *参团人数 - */ - private Long addTeamNumber; - /** - * 拼团人数 - */ - private Long attendNumber; - /** - * 团购结束时间 - */ - private Date endTime; - /** - * 开团人数 - */ - private Long openTeamNumber; - /** - * 拼团商品图片 - */ - private String productImage; - /** - * 商品价格 - */ - private Double productPrice; - /** - * 剩余库存 - */ - private Long remainStock; - /** - * 团购状态 - */ - private String status; - /** - * 拼团价格 - */ - private Double teamprice; - /** - * 团购库存 - */ - private Long teamStock; -} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/model/ActivityTeamInfoListQueryModel.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/model/ActivityTeamInfoListQueryModel.java deleted file mode 100644 index d713241..0000000 --- a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/model/ActivityTeamInfoListQueryModel.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.muyu.maketing.domain.model; - -import com.muyu.common.core.web.page.PageDomain; -import com.muyu.common.core.web.page.QueryModel; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; -import org.apache.poi.ss.formula.functions.T; - -/** - * 团队活动查询信息 - */ -@Data -@SuperBuilder -@AllArgsConstructor -@NoArgsConstructor -@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/req/TeamInfoListReq.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/req/TeamInfoListReq.java deleted file mode 100644 index 1f4981f..0000000 --- a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/req/TeamInfoListReq.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.muyu.active.req; - -import com.muyu.common.core.web.page.PageDomain; -import com.muyu.maketing.domain.model.ActivityTeamInfoListQueryModel; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -public class TeamInfoListReq extends PageDomain { - /** - * 搜索关键字 - */ - private String keyWord; - /** - * 活动状态 - */ - private String status; - - /** - * 通过当前对象构建业务查询模型 - */ - public ActivityTeamInfoListQueryModel buildQueryModel(){ - return ActivityTeamInfoListQueryModel.builder() - .keyWord(this.keyWord) - .status(this.status) - .build() - .domainBuild(this); - } -} diff --git a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/resp/TeamInfoListResp.java b/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/resp/TeamInfoListResp.java deleted file mode 100644 index 332e0c3..0000000 --- a/muyu-modules/muyu-actives/active-common/src/main/java/com/muyu/active/resp/TeamInfoListResp.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.muyu.active.resp; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; - -@Data -@AllArgsConstructor -@NoArgsConstructor -@SuperBuilder -public class TeamInfoListResp { - private Long id; - private String name; - private String productImage; - private String teamPrice; - private String attendNumber; - private String openTeamNumber; - private String addTeamNumber; - private String teamStock; - private String RemainStock; - private String endTime; - private Integer status; - private String productPrice; - -} diff --git a/muyu-modules/muyu-actives/active-server/pom.xml b/muyu-modules/muyu-actives/active-server/pom.xml index 70d189a..07f824c 100644 --- a/muyu-modules/muyu-actives/active-server/pom.xml +++ b/muyu-modules/muyu-actives/active-server/pom.xml @@ -30,6 +30,15 @@ spring-cloud-starter-alibaba-nacos-config + + com.muyu + muyu-product-cache + + + + org.springframework.boot + spring-boot-starter-validation + com.muyu active-remote @@ -72,6 +81,10 @@ muyu-common-datascope + + org.springframework.boot + spring-boot-starter-validation + com.muyu @@ -88,8 +101,22 @@ com.dtflys.forest forest-spring-boot-starter + + com.muyu + muyu-product-common + + + com.muyu + muyu-product-common + + + com.muyu + muyu-product-server + 3.6.3 + compile + - + ${project.artifactId} diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/MuYuActivesApplication.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/MuYuActivesApplication.java index f571c03..da2ca57 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/MuYuActivesApplication.java +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/MuYuActivesApplication.java @@ -4,8 +4,12 @@ import com.muyu.common.security.annotation.EnableCustomConfig; import com.muyu.common.security.annotation.EnableMyFeignClients; import com.muyu.common.swagger.annotation.EnableCustomSwagger2; import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.context.annotation.Primary; /** * 系统模块 @@ -17,6 +21,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @EnableMyFeignClients @SpringBootApplication @MapperScan("com.muyu.mapper") +@EnableFeignClients public class MuYuActivesApplication { public static void main (String[] args) { SpringApplication.run(MuYuActivesApplication.class, args); diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/controller/ActivityTeamController.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/controller/ActivityTeamController.java deleted file mode 100644 index 5e51905..0000000 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/controller/ActivityTeamController.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.muyu.controller; - -import com.muyu.active.req.TeamInfoListReq; -import com.muyu.active.resp.TeamInfoListResp; -import com.muyu.common.core.domain.Result; -import com.muyu.common.core.web.page.TableDataInfo; -import com.muyu.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; - -@RestController -@RequestMapping("/team") -public class ActivityTeamController { - @Autowired - private ActivityTeamInfoService activityTeamInfoService; - @PostMapping("list") - public Result> list(@RequestBody TeamInfoListReq teamInfoListReq){ - activityTeamInfoService.query(teamInfoListReq.buildQueryModel()); - return Result.success(); - } -} diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/controller/ActivityTeamInfoController.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/controller/ActivityTeamInfoController.java new file mode 100644 index 0000000..0a24930 --- /dev/null +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/controller/ActivityTeamInfoController.java @@ -0,0 +1,95 @@ +package com.muyu.controller; +import com.github.pagehelper.Page; +import com.muyu.active.domain.model.ActivityTeamInfoListModel; +import com.muyu.active.domain.req.ActivityTeamInfoReq; +import com.muyu.active.domain.req.ActivityTeamInfoSaveReq; +import com.muyu.active.domain.resp.ActivityTeamInfoResp; +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; + + +/** + * 商品拼团信息Controller + */ +@RestController +@RequestMapping("/actives") +@Slf4j +public class ActivityTeamInfoController { + @Resource + private ActivityTeamInfoService activityTeamInfoService; + + //检查前端404的打印 + public ActivityTeamInfoController() { + log.info("商品拼团控制层{}",getClass().getName()); + } + + /** + * 列表 + */ + @PostMapping("/list") + public Result> list(@RequestBody ActivityTeamInfoReq activityTeamInfoReq) { +// TableDataInfo list = activityTeamInfoService.list(activityTeamInfoReq.buildModel()); +// List rows = list.getRows(); +// List activityTeamInfoResps = rows.stream().map(activityTeamInfoListModel -> { +// ActivityTeamInfoResp build = ActivityTeamInfoResp.respBuild(activityTeamInfoListModel); +// return build; +// }).toList(); +// TableDataInfo activityTeamInfoRespTableDataInfo = new TableDataInfo<>(); +// activityTeamInfoRespTableDataInfo.setRows(activityTeamInfoResps); +// activityTeamInfoRespTableDataInfo.setTotal(list.getTotal()); +// return Result.success(activityTeamInfoRespTableDataInfo); +// //开始分页 +// PageUtils.startPage(activityTeamInfoReq.getPageNum(),activityTeamInfoReq.getPageSize()); +// // 获取数据列表 +// List row = activityTeamInfoService.list(activityTeamInfoReq.buildModel()).getRows(); +// // 将数据模型转换为响应模型 +// 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); + // 开始分页 + Page page = PageUtils.startPage(activityTeamInfoReq.getPageNum(), activityTeamInfoReq.getPageSize()); + // 获取数据列表 列表数据 + List rows = activityTeamInfoService.list(activityTeamInfoReq.buildModel()).getRows(); + // 将数据模型转换为响应模型 利用Steam流吧数据转换为响应列表 起名activityTeamInfoListModel,返回实体类响应调用模型里面的数据,把自定义的实体类放在里面进行相应 + List activityTeamInfoResps = rows.stream().map(activityTeamInfoListModel -> { + return ActivityTeamInfoResp.respBuild(activityTeamInfoListModel); + }).toList(); + + // 创建分页信息对象 + TableDataInfo activityTeamInfoRespTableDataInfo = new TableDataInfo<>(); + //列表数据 + activityTeamInfoRespTableDataInfo.setRows(activityTeamInfoResps); + //条数 + activityTeamInfoRespTableDataInfo.setTotal(page.getTotal()); + // 返回结果 + return Result.success(activityTeamInfoRespTableDataInfo); + } + + /** + * 添加 + */ + @PostMapping("/addTeam") + public Result addTeam(@Valid @RequestBody ActivityTeamInfoSaveReq activityTeamInfoSaveReq){ + //判断是否添加成功所以定义为Boolean类型 + boolean success = activityTeamInfoService.addTeam(activityTeamInfoSaveReq.saveModel()); + //判断添加是否成功 + if (success){ + return Result.success("添加成功"); + } + return Result.error("添加失败"); + } +} diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamInfoMapper.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamInfoMapper.java index fea1632..c2ab4c7 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamInfoMapper.java +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamInfoMapper.java @@ -1,10 +1,12 @@ package com.muyu.mapper; + import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.active.domain.ActivityTeamInfo; -import org.apache.ibatis.annotations.Mapper; -@Mapper +/** + * 商品拼团信息Mapper接口 + */ public interface ActivityTeamInfoMapper extends BaseMapper { } diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamOpenInfoMapper.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamOpenInfoMapper.java index 3368800..71f75c3 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamOpenInfoMapper.java +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamOpenInfoMapper.java @@ -1,9 +1,12 @@ package com.muyu.mapper; + import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.active.domain.ActivityTeamOpenInfo; -import org.apache.ibatis.annotations.Mapper; -@Mapper +/** + * 商品拼团信息Mapper接口 + */ public interface ActivityTeamOpenInfoMapper extends BaseMapper { + } diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamProductSkuInfoMapper.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamProductSkuInfoMapper.java index 01076f9..c2d35d1 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamProductSkuInfoMapper.java +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/ActivityTeamProductSkuInfoMapper.java @@ -1,9 +1,12 @@ package com.muyu.mapper; + import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.active.domain.ActivityTeamProductSkuInfo; -import org.apache.ibatis.annotations.Mapper; -@Mapper +/** + * 商品拼团信息Mapper接口 + */ public interface ActivityTeamProductSkuInfoMapper extends BaseMapper { + } diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionHundredMapper.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionHundredMapper.java index 6002274..d3604be 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionHundredMapper.java +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionHundredMapper.java @@ -2,8 +2,10 @@ package com.muyu.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.active.domain.TeamStrategyExemptionHundred; -import org.apache.ibatis.annotations.Mapper; -@Mapper +/** + * 商品拼团信息Mapper接口 + */ public interface TeamStrategyExemptionHundredMapper extends BaseMapper { + } diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionMapper.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionMapper.java index 9708f8a..87d73ac 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionMapper.java +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionMapper.java @@ -1,9 +1,12 @@ package com.muyu.mapper; + import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.active.domain.TeamStrategyExemption; -import org.apache.ibatis.annotations.Mapper; -@Mapper +/** + * 商品拼团信息Mapper接口 + */ public interface TeamStrategyExemptionMapper extends BaseMapper { + } diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionOrdinaryMapper.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionOrdinaryMapper.java index 7cd3bd0..5e92bda 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionOrdinaryMapper.java +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/mapper/TeamStrategyExemptionOrdinaryMapper.java @@ -1,9 +1,12 @@ package com.muyu.mapper; + import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.muyu.active.domain.TeamStrategyExemptionOrdinary; -import org.apache.ibatis.annotations.Mapper; -@Mapper +/** + * 商品拼团信息Mapper接口 + */ public interface TeamStrategyExemptionOrdinaryMapper extends BaseMapper { + } 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 index 8fff5b3..e020419 100644 --- 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 @@ -1,15 +1,24 @@ package com.muyu.service; + import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.active.domain.ActivityTeamInfo; -import com.muyu.maketing.domain.model.ActivityTeamInfoListQueryModel; -import com.muyu.maketing.domain.model.ActivityTeamInfoListModel; +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 { /** - * 分页+搜索条件通过模型查询团购活动列表 + * 通过查询模型查询团购活动列表 */ - public TableDataInfo query(com.muyu.maketing.domain.model.ActivityTeamInfoListQueryModel activityTeamInfoListQueryModel); + TableDataInfo list(ActivityTeamInfoQueryModel activityTeamInfoQueryModel); + /** + * 添加拼团信息 + */ + boolean addTeam(ActivityTeamInfoSaveModel activityTeamInfoSaveModel); } diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/ActivityTeamOpenInfoService.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/ActivityTeamOpenInfoService.java index 7c13952..de61854 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/ActivityTeamOpenInfoService.java +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/ActivityTeamOpenInfoService.java @@ -2,6 +2,17 @@ package com.muyu.service; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.active.domain.ActivityTeamOpenInfo; +import com.muyu.active.domain.ActivityTeamOpenInfoEnum; +/** + * 商品拼团信息Service接口 + */ public interface ActivityTeamOpenInfoService extends IService { + public Long getActivityTeamOpenInfoNum(Long id, ActivityTeamOpenInfoEnum teamOpenInfo); + public default Long getTeamOpenNum(Long id){ + return this.getActivityTeamOpenInfoNum(id,ActivityTeamOpenInfoEnum.OPEN_TEAM); + } + public default Long getTeamInNum(Long id){ + return this.getActivityTeamOpenInfoNum(id,ActivityTeamOpenInfoEnum.IN_TEAM); + } } 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 index 87fefd0..046b5a0 100644 --- 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 @@ -1,7 +1,23 @@ 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/TeamStrategyExemptionHundredService.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionHundredService.java index 1969097..023dbb3 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionHundredService.java +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionHundredService.java @@ -3,5 +3,9 @@ package com.muyu.service; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.active.domain.TeamStrategyExemptionHundred; + +/** + * 商品拼团信息Service接口 + */ public interface TeamStrategyExemptionHundredService extends IService { } diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionOrdinaryService.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionOrdinaryService.java index 719f27c..2b57c91 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionOrdinaryService.java +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionOrdinaryService.java @@ -1,8 +1,11 @@ package com.muyu.service; + import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.active.domain.TeamStrategyExemptionOrdinary; +/** + * 商品拼团信息Service接口 + */ public interface TeamStrategyExemptionOrdinaryService extends IService { - } diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionService.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionService.java index 5c0cf83..643ff3e 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionService.java +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/TeamStrategyExemptionService.java @@ -3,5 +3,8 @@ package com.muyu.service; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.active.domain.TeamStrategyExemption; +/** + * 商品拼团信息Service接口 + */ public interface TeamStrategyExemptionService extends IService { } diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamInfoServiceImpl.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamInfoServiceImpl.java new file mode 100644 index 0000000..1972ea9 --- /dev/null +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamInfoServiceImpl.java @@ -0,0 +1,99 @@ +package com.muyu.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +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.utils.StringUtils; +import com.muyu.common.core.web.page.TableDataInfo; +import com.muyu.mapper.ActivityTeamInfoMapper; +import com.muyu.service.ActivityTeamInfoService; +import com.muyu.service.ActivityTeamOpenInfoService; +import com.muyu.service.ActivityTeamProductSkuInfoService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +/** + * 商品拼团信息Service业务层处理 + */ +@Slf4j +@Service +public class ActivityTeamInfoServiceImpl extends ServiceImpl implements ActivityTeamInfoService { + @Resource + private ActivityTeamOpenInfoService activityTeamOpenInfoService; + @Resource + private ActivityTeamProductSkuInfoService activityTeamProductSkuInfoService; + + @Override + public TableDataInfo 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(); + + List list = records.stream().map(activityTeamInfo -> ActivityTeamInfoListModel + .domainBuild(activityTeamInfo, (activityTeamInfoListModelBuilder) -> { + Long teamOpenNum = activityTeamOpenInfoService.getTeamOpenNum(activityTeamInfo.getId()); + Long teamInNum = activityTeamOpenInfoService.getTeamInNum(activityTeamInfo.getId()); + ActivityTeamDiscountModel activityTeamDiscountModel = activityTeamProductSkuInfoService.discountPrice(activityTeamInfo.getId()); + TeamStockModel stock = activityTeamProductSkuInfoService.getStock(activityTeamInfo.getId()); + return activityTeamInfoListModelBuilder + .addTeamNumber(teamInNum) + .openTeamNumber(teamOpenNum) + .attendNumber(teamOpenNum + teamInNum) + .teamPrice(activityTeamDiscountModel.getTeamPrice()) + .productPrice(activityTeamDiscountModel.getProductPrice()) + .teamStock(stock.getTeamStock()) + .remainStock(stock.getRemainStock()) + .build(); + })).toList(); + + return TableDataInfo.builder() + .total(pages.getTotal()) + .rows(list) + .build(); + } + + /** + * 添加拼团信息 + */ + @Override + public boolean addTeam(ActivityTeamInfoSaveModel activityTeamInfoSaveModel) { + //调用拼团信息表的构造方法进行添加吧自己定义的添加实体类 + ActivityTeamInfo activityTeamInfo = ActivityTeamInfo.saveActivityTeamInfo(activityTeamInfoSaveModel); + //用this调用save添加方法把返回值放进去 + boolean save = this.save(activityTeamInfo); + //判断添加的时候,添加规格sku列表的数据,调用activityTeamInfoSaveModel的集合 + if (save){ + List projectSkuInfoList = activityTeamInfoSaveModel.getProjectSkuInfoList(); + //利用Steam流遍历,把集合中的数据进行转换,转换成ActivityTeamProductSkuInfo对象,然后进行批量添加 + //批量添加方法 + activityTeamProductSkuInfoService.saveBatch(projectSkuInfoList.stream().map(projectSkuInfo -> ActivityTeamProductSkuInfo.TeamSkuInfoBuild(projectSkuInfo, (activityTeamProductSkuInfoBuilder) -> { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + //获取团队的ID + queryWrapper.eq(ActivityTeamOpenInfo::getTeamId,activityTeamInfo.getId()); + //获取团队中商品的ID + queryWrapper.eq(ActivityTeamOpenInfo::getProductId,projectSkuInfo.getProductId()); + long count = activityTeamOpenInfoService.count(queryWrapper); + return activityTeamProductSkuInfoBuilder + //商品表的ID + .teamId(activityTeamInfo.getId()) + //sku的剩余库存 + .remainStock(projectSkuInfo.getTeamStock() - count) + .build(); + })).toList()); + } + return save; + } +} diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamInfoServiceimpl.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamInfoServiceimpl.java deleted file mode 100644 index a564c45..0000000 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamInfoServiceimpl.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.muyu.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.muyu.active.domain.ActivityTeamInfo; -import com.muyu.common.core.utils.StringUtils; -import com.muyu.common.core.web.page.TableDataInfo; -import com.muyu.maketing.domain.model.ActivityTeamInfoListQueryModel ; -import com.muyu.maketing.domain.model.ActivityTeamInfoListModel; -import com.muyu.mapper.ActivityTeamInfoMapper; -import com.muyu.service.ActivityTeamInfoService; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; - -@Service -public class ActivityTeamInfoServiceimpl extends ServiceImpl implements ActivityTeamInfoService { - - @Override - public TableDataInfo query(ActivityTeamInfoListQueryModel activityTeamInfoListQueryModel) { - - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.like(StringUtils.isNotEmpty(activityTeamInfoListQueryModel.getKeyWord()),ActivityTeamInfo::getName, activityTeamInfoListQueryModel.getKeyWord()); - queryWrapper.eq(StringUtils.isNotEmpty(activityTeamInfoListQueryModel.getStatus()),ActivityTeamInfo::getStatus, activityTeamInfoListQueryModel.getStatus()); - - Page activityTeamInfoPage = this.page(activityTeamInfoListQueryModel.buildPage(), queryWrapper); - List activityTeamInfoList = activityTeamInfoPage.getRecords(); - List activityTeamInfoListModels = new ArrayList<>(); - - for (ActivityTeamInfo activityTeamInfo : activityTeamInfoList) { - ActivityTeamInfoListModel activityTeamInfoListModel = new ActivityTeamInfoListModel(); - //TODO 6、拼团价格和商品价格 选择的是优惠力度最大的商品规格 - // TODO 7、团购库存和剩余库存是总库存的概念,即所有商品规格的库存总和 - activityTeamInfoListModel.setId(activityTeamInfo.getId()); - activityTeamInfoListModel.setName(activityTeamInfo.getName()); - activityTeamInfoListModel.setAddTeamNumber(0L); - activityTeamInfoListModel.setOpenTeamNumber(0L); - activityTeamInfoListModel.setAttendNumber(0L); - activityTeamInfoListModel.setEndTime(activityTeamInfo.getEndTime()); - activityTeamInfoListModel.setProductImage(activityTeamInfo.getProductImage()); - activityTeamInfoListModel.setTeamprice(0.00); - activityTeamInfoListModel.setProductPrice(0.00); - activityTeamInfoListModel.setTeamStock(0L); - activityTeamInfoListModel.setRemainStock(0L); - activityTeamInfoListModel.setStatus(activityTeamInfo.getStatus()); - - activityTeamInfoListModels.add(activityTeamInfoListModel); - } - - TableDataInfo tableDataInfo = new TableDataInfo<>(); - tableDataInfo.setTotal(activityTeamInfoPage.getTotal()); - tableDataInfo.setRows(activityTeamInfoListModels); - return tableDataInfo; - } - - /** - * 根据商品id关联规格 查出最优惠的选择的规格信息 - * teamprice 拼团价格 - * productPrice 商品价格 - */ - public ActivityTeamInfoListModel getOptimalSpec(Long id) { - return null; - } - - /** - * 根据商品id查询此商品下所有规格库存 - */ - public Integer getStock(Long id) { - //根据商品id查询此商品下所有规格库存 - //sum+= 汇总起来 得到所有库存 - return null; - } - -} diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamOpenInfoServiceImpl.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamOpenInfoServiceImpl.java new file mode 100644 index 0000000..ba13f77 --- /dev/null +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamOpenInfoServiceImpl.java @@ -0,0 +1,23 @@ +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.ActivityTeamOpenInfo; +import com.muyu.active.domain.ActivityTeamOpenInfoEnum; +import com.muyu.mapper.ActivityTeamOpenInfoMapper; +import com.muyu.service.ActivityTeamOpenInfoService; +import org.springframework.stereotype.Service; + +/** + * 商品开团表service业务层处理 + */ +@Service +public class ActivityTeamOpenInfoServiceImpl extends ServiceImpl implements ActivityTeamOpenInfoService { + @Override + public Long getActivityTeamOpenInfoNum(Long id, ActivityTeamOpenInfoEnum teamOpenInfo) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(ActivityTeamOpenInfo::getId,id); + lambdaQueryWrapper.eq(ActivityTeamOpenInfo::getTeamType,teamOpenInfo.code()); + return this.count(lambdaQueryWrapper); + } +} diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamOpenInfoServiceimpl.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamOpenInfoServiceimpl.java deleted file mode 100644 index cffe83c..0000000 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamOpenInfoServiceimpl.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.muyu.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.muyu.active.domain.ActivityTeamOpenInfo; -import com.muyu.mapper.ActivityTeamOpenInfoMapper; -import com.muyu.service.ActivityTeamOpenInfoService; -import org.springframework.stereotype.Service; - -@Service -public class ActivityTeamOpenInfoServiceimpl extends ServiceImpl implements ActivityTeamOpenInfoService { -} 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 new file mode 100644 index 0000000..9902f75 --- /dev/null +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamProductSkuInfoServiceImpl.java @@ -0,0 +1,60 @@ +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-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 619b5dd..0000000 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/ActivityTeamProductSkuInfoServiceimpl.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.muyu.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.muyu.active.domain.ActivityTeamProductSkuInfo; -import com.muyu.mapper.ActivityTeamProductSkuInfoMapper; -import com.muyu.service.ActivityTeamProductSkuInfoService; -import org.springframework.stereotype.Service; - -@Service -public class ActivityTeamProductSkuInfoServiceimpl extends ServiceImpl implements ActivityTeamProductSkuInfoService { -} diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionHundredServiceimpl.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionHundredServiceImpl.java similarity index 74% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionHundredServiceimpl.java rename to muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionHundredServiceImpl.java index 794f29c..861c983 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionHundredServiceimpl.java +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionHundredServiceImpl.java @@ -1,11 +1,16 @@ package com.muyu.service.impl; - import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.active.domain.TeamStrategyExemptionHundred; import com.muyu.mapper.TeamStrategyExemptionHundredMapper; import com.muyu.service.TeamStrategyExemptionHundredService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +/** + * 商品拼团信息Service业务层处理 + */ +@Slf4j @Service -public class TeamStrategyExemptionHundredServiceimpl extends ServiceImpl implements TeamStrategyExemptionHundredService { +public class TeamStrategyExemptionHundredServiceImpl extends ServiceImpl implements TeamStrategyExemptionHundredService { + } diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionOrdinaryServiceimpl.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java similarity index 74% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionOrdinaryServiceimpl.java rename to muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java index c05f67d..828ca55 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionOrdinaryServiceimpl.java +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java @@ -1,11 +1,16 @@ package com.muyu.service.impl; - import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.active.domain.TeamStrategyExemptionOrdinary; import com.muyu.mapper.TeamStrategyExemptionOrdinaryMapper; import com.muyu.service.TeamStrategyExemptionOrdinaryService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +/** + * 商品拼团信息Service业务层处理 + */ +@Slf4j @Service -public class TeamStrategyExemptionOrdinaryServiceimpl extends ServiceImpl implements TeamStrategyExemptionOrdinaryService { +public class TeamStrategyExemptionOrdinaryServiceImpl extends ServiceImpl implements TeamStrategyExemptionOrdinaryService { + } diff --git a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionServiceimpl.java b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionServiceImpl.java similarity index 72% rename from muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionServiceimpl.java rename to muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionServiceImpl.java index bb2fa72..528c7d7 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionServiceimpl.java +++ b/muyu-modules/muyu-actives/active-server/src/main/java/com/muyu/service/impl/TeamStrategyExemptionServiceImpl.java @@ -1,11 +1,16 @@ package com.muyu.service.impl; - import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.active.domain.TeamStrategyExemption; import com.muyu.mapper.TeamStrategyExemptionMapper; import com.muyu.service.TeamStrategyExemptionService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +/** + * 商品拼团信息Service业务层处理 + */ +@Slf4j @Service -public class TeamStrategyExemptionServiceimpl extends ServiceImpl implements TeamStrategyExemptionService { +public class TeamStrategyExemptionServiceImpl extends ServiceImpl implements TeamStrategyExemptionService { + } diff --git a/muyu-modules/muyu-actives/active-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-actives/active-server/src/main/resources/bootstrap.yml index 67b8d16..41dc781 100644 --- a/muyu-modules/muyu-actives/active-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-actives/active-server/src/main/resources/bootstrap.yml @@ -4,9 +4,11 @@ server: # Spring spring: + main: + allow-bean-definition-overriding: true application: # 应用名称 - name: muyu-acties + name: muyu-actives profiles: # 环境配置 active: dev diff --git a/muyu-modules/muyu-file/src/main/java/com/muyu/file/controller/SysFileController.java b/muyu-modules/muyu-file/src/main/java/com/muyu/file/controller/SysFileController.java index 5f5ce31..866d42b 100644 --- a/muyu-modules/muyu-file/src/main/java/com/muyu/file/controller/SysFileController.java +++ b/muyu-modules/muyu-file/src/main/java/com/muyu/file/controller/SysFileController.java @@ -41,3 +41,6 @@ public class SysFileController { } } } + + + 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..2c651a2 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 @@ -4,6 +4,7 @@ import com.muyu.common.core.constant.ServiceNameConstants; import com.muyu.common.core.domain.Result; import com.muyu.product.domain.ProjectInfo; import com.muyu.product.remote.factory.RemoteProjectInfoFactory; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; 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 538368d..4e0a22b 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 @@ -136,4 +136,14 @@ public class ProjectInfoController extends BaseController { public Result remove(@PathVariable List ids) { return toAjax(projectInfoService.removeBatchByIds(ids)); } + /** + * 商品信息列表 + */ + @RequiresPermissions("product:info:list") + @Log(title = "商品信息", businessType = BusinessType.DELETE) + @GetMapping("/getList") + @ApiOperation("商品信息列表") + public Result> getList() { + return Result.success(projectInfoService.list()); + } } 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 6733b68..57e763a 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 @@ -23,7 +23,6 @@ import com.muyu.product.domain.resp.CategoryParentCommonElementResp; public interface CategoryInfoService extends IService { /** * 查询品类信息列表 - * * @param categoryInfo 品类信息 * @return 品类信息集合 */ 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 54fbcca..2a77f5a 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 @@ -13,7 +13,6 @@ import com.baomidou.mybatisplus.extension.service.IService; public interface CommentInfoService extends IService { /** * 查询商品评论列表 - * * @param commentInfo 商品评论 * @return 商品评论集合 */ diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectSkuInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectSkuInfoService.java index 98e0611..858c624 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectSkuInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectSkuInfoService.java @@ -1,6 +1,8 @@ package com.muyu.product.service; import java.util.List; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.muyu.product.domain.ProjectSkuInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -33,4 +35,6 @@ public interface ProjectSkuInfoService extends IService { * @return 商品SKU信息 */ List listByProjectId (Long projectId); + + List listPrice(LambdaQueryWrapper queryWrapper); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleAttrInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleAttrInfoService.java index 2623202..76294a9 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleAttrInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/RuleAttrInfoService.java @@ -13,7 +13,6 @@ import com.baomidou.mybatisplus.extension.service.IService; public interface RuleAttrInfoService extends IService { /** * 查询规格详情列表 - * * @param ruleAttrInfo 规格详情 * @return 规格详情集合 */ 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 ae7f281..1f4f045 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 @@ -39,11 +39,6 @@ public class CommentLikeInfoServiceImpl extends ServiceImpl listPrice(LambdaQueryWrapper queryWrapper) { + return null; + } }