first commit
parent
b75c102e2c
commit
3dff9951a6
|
@ -0,0 +1,26 @@
|
|||
{
|
||||
"主键":"id",
|
||||
"活动名称":"name",
|
||||
|
||||
"商品活动图":"productImage",
|
||||
"活动简介":"introduction",
|
||||
"单位":"unit",
|
||||
"轮播图":"imageList",
|
||||
"活动详情":"content",
|
||||
"活动结束时间":"end_time",
|
||||
"策略类型":"strategyType",
|
||||
"策略":{
|
||||
"持续时间":"duration"
|
||||
"免单人数":"exemption_number"
|
||||
"最大购买量":"max_buy"
|
||||
"单次购买量":"one_buy"
|
||||
},
|
||||
"sku":[
|
||||
{
|
||||
"规格id":"id",
|
||||
"商品SKU":"product_sku",
|
||||
"剩余库存":"remain_stock",
|
||||
"拼团价格":"team_price",
|
||||
}
|
||||
]
|
||||
}
|
|
@ -14,10 +14,12 @@ spring:
|
|||
nacos:
|
||||
discovery:
|
||||
# 服务注册地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
config:
|
||||
# 配置中心地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
# 配置文件格式
|
||||
file-extension: yml
|
||||
# 共享配置
|
||||
|
|
|
@ -14,10 +14,12 @@ spring:
|
|||
nacos:
|
||||
discovery:
|
||||
# 服务注册地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
config:
|
||||
# 配置中心地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
# 配置文件格式
|
||||
file-extension: yml
|
||||
# 共享配置
|
||||
|
@ -33,7 +35,8 @@ spring:
|
|||
datasource:
|
||||
ds1:
|
||||
nacos:
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
dataId: sentinel-muyu-gateway
|
||||
groupId: DEFAULT_GROUP
|
||||
data-type: json
|
||||
|
|
|
@ -14,10 +14,12 @@ spring:
|
|||
nacos:
|
||||
discovery:
|
||||
# 服务注册地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
config:
|
||||
# 配置中心地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
# 配置文件格式
|
||||
file-extension: yml
|
||||
# 共享配置
|
||||
|
|
|
@ -14,10 +14,12 @@ spring:
|
|||
nacos:
|
||||
discovery:
|
||||
# 服务注册地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
config:
|
||||
# 配置中心地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
# 配置文件格式
|
||||
file-extension: yml
|
||||
# 共享配置
|
||||
|
|
|
@ -14,10 +14,12 @@ spring:
|
|||
nacos:
|
||||
discovery:
|
||||
# 服务注册地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
config:
|
||||
# 配置中心地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
# 配置文件格式
|
||||
file-extension: yml
|
||||
# 共享配置
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
|||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.muyu.common.core.web.domain.BaseEntity;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoEditModel;
|
||||
import lombok.*;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
|
@ -93,4 +94,26 @@ public class ActivityTeamInfo extends BaseEntity {
|
|||
.strategyId(activityTeamInfoAddModel.getStrategyId())
|
||||
.build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 公共修改模型 转换成修改对象
|
||||
* @param activityTeamInfoEditModel
|
||||
*/
|
||||
public static ActivityTeamInfo editBuild(ActivityTeamInfoEditModel activityTeamInfoEditModel) {
|
||||
return ActivityTeamInfo.builder()
|
||||
.name(activityTeamInfoEditModel.getName())
|
||||
.unit(activityTeamInfoEditModel.getUnit())
|
||||
.status(activityTeamInfoEditModel.getStatus())
|
||||
.productId(activityTeamInfoEditModel.getProductId())
|
||||
.strategyType(activityTeamInfoEditModel.getStrategyType())
|
||||
.strategyId(activityTeamInfoEditModel.getStrategyId())
|
||||
.productImage(activityTeamInfoEditModel.getProductImage())
|
||||
.introduction(activityTeamInfoEditModel.getIntroduction())
|
||||
.imageList(activityTeamInfoEditModel.getImageList())
|
||||
.endTime(activityTeamInfoEditModel.getEndTime())
|
||||
.id(activityTeamInfoEditModel.getTeamId())
|
||||
.content(activityTeamInfoEditModel.getContent())
|
||||
.sort(activityTeamInfoEditModel.getSort())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
|||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.muyu.common.core.web.domain.BaseEntity;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamProductSkuEditModel;
|
||||
import com.muyu.marketing.domain.resp.ActivityTeamSkuInfoDetail;
|
||||
import lombok.*;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
|
@ -60,6 +62,21 @@ public class ActivityTeamProductSkuInfo extends BaseEntity {
|
|||
.teamStock(activityTeamProductSkuAddModel.getTeamStock())
|
||||
.remainStock(activityTeamProductSkuAddModel.getTeamStock())
|
||||
.teamPrice(activityTeamProductSkuAddModel.getTeamPrice())
|
||||
.build()
|
||||
.productSku(activityTeamProductSkuAddModel.getSku())
|
||||
.build();
|
||||
}
|
||||
/**
|
||||
* 将model模型转换成修改对象
|
||||
*/
|
||||
public static ActivityTeamProductSkuInfo skuInfoBuild(ActivityTeamProductSkuEditModel activityTeamProductSkuEditModel){
|
||||
return ActivityTeamProductSkuInfo.builder()
|
||||
.id(activityTeamProductSkuEditModel.getId())
|
||||
.teamId(activityTeamProductSkuEditModel.getTeamId())
|
||||
.productSku(activityTeamProductSkuEditModel.getSku())
|
||||
.teamPrice(activityTeamProductSkuEditModel.getTeamPrice())
|
||||
.teamStock(activityTeamProductSkuEditModel.getTeamStock())
|
||||
.productId(activityTeamProductSkuEditModel.getProductId())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -78,4 +78,5 @@ public class ActivityTeamInfoAddModel {
|
|||
* 策略ID
|
||||
*/
|
||||
private Long strategyId;
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
package com.muyu.marketing.domain.model;
|
||||
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 团购活动添加模型
|
||||
*
|
||||
* @author DongZeLiang
|
||||
* @date 2024-11-26 09:38
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ActivityTeamInfoEditModel {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long teamId;
|
||||
/**
|
||||
* 拼团名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 商品ID
|
||||
*/
|
||||
private Long productId;
|
||||
/**
|
||||
* 商品活动图
|
||||
*/
|
||||
private String productImage;
|
||||
/**
|
||||
* 活动简介
|
||||
*/
|
||||
private String introduction;
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
|
||||
private String unit;
|
||||
/**
|
||||
* 轮播图
|
||||
*/
|
||||
|
||||
private String imageList;
|
||||
/**
|
||||
* 活动结束时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
|
||||
private Date endTime;
|
||||
/**
|
||||
* 活动排序
|
||||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* 商品SkU集合
|
||||
*/
|
||||
private List<ActivityTeamProductSkuEditModel> activityTeamProductSkuEditModels;
|
||||
/**
|
||||
* 活动详情
|
||||
*/
|
||||
private String content;
|
||||
/**
|
||||
* 活动状态
|
||||
*/
|
||||
private String status;
|
||||
/**
|
||||
* 策略类型
|
||||
*/
|
||||
private String strategyType;
|
||||
/**
|
||||
* 策略ID
|
||||
*/
|
||||
private Long strategyId;
|
||||
|
||||
}
|
|
@ -0,0 +1,101 @@
|
|||
package com.muyu.marketing.domain.model;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.muyu.marketing.domain.ActivityTeamInfo;
|
||||
import com.muyu.marketing.domain.ActivityTeamOpenInfo;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @program: 2204a-cloud-server
|
||||
* @description: 团购活动商品信息规格模型
|
||||
* @author: MengFanKuo
|
||||
* @create: 2024-11-26 14:22
|
||||
* *
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
public class ActivityTeamInfoProductSkuDetailModel {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private long id;
|
||||
/**
|
||||
* 拼团名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 商品ID
|
||||
*/
|
||||
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;
|
||||
/**
|
||||
* 策略ID
|
||||
*/
|
||||
private long strategyId;
|
||||
/**
|
||||
* 规格
|
||||
*/
|
||||
private List<ActivityTeamSkuInfoDetailModel> projectSkuInfoAddReqList;
|
||||
public static ActivityTeamInfoProductSkuDetailModel skuInfoDetailBuild(ActivityTeamInfo activityTeamInfo, List<ActivityTeamSkuInfoDetailModel> infoServiceByListSkuInfo){
|
||||
return ActivityTeamInfoProductSkuDetailModel.builder()
|
||||
.id(activityTeamInfo.getId())
|
||||
.name(activityTeamInfo.getName())
|
||||
.productId(activityTeamInfo.getProductId())
|
||||
.productImage(activityTeamInfo.getProductImage())
|
||||
.content(activityTeamInfo.getContent())
|
||||
.endTime(activityTeamInfo.getEndTime())
|
||||
.imageList(activityTeamInfo.getImageList())
|
||||
.introduction(activityTeamInfo.getIntroduction())
|
||||
.projectSkuInfoAddReqList(infoServiceByListSkuInfo)
|
||||
.sort(activityTeamInfo.getSort())
|
||||
.status(activityTeamInfo.getStatus())
|
||||
.strategyId(activityTeamInfo.getStrategyId())
|
||||
.strategyType(activityTeamInfo.getStrategyType())
|
||||
.build();
|
||||
}
|
||||
}
|
|
@ -1,12 +1,15 @@
|
|||
package com.muyu.marketing.domain.model;
|
||||
|
||||
|
||||
import com.muyu.marketing.domain.req.ProjectSkuInfoAddReq;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
/**
|
||||
* 团购spu库存添加模型
|
||||
|
@ -44,4 +47,12 @@ public class ActivityTeamProductSkuAddModel {
|
|||
* 拼团库存
|
||||
*/
|
||||
private Long teamStock;
|
||||
public static ActivityTeamProductSkuAddModel teamProductSkuAddBuild(ProjectSkuInfoAddReq projectSkuInfoAddReq,Supplier<Long> productId){
|
||||
return ActivityTeamProductSkuAddModel.builder()
|
||||
.sku(projectSkuInfoAddReq.getSku())
|
||||
.teamStock(projectSkuInfoAddReq.getTeamStock())
|
||||
.teamPrice(projectSkuInfoAddReq.getTeamPrice())
|
||||
.productId(productId.get())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
package com.muyu.marketing.domain.model;
|
||||
|
||||
|
||||
import com.muyu.marketing.domain.req.ProjectSkuInfoAddReq;
|
||||
import com.muyu.marketing.domain.req.ProjectSkuInfoEditReq;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
/**
|
||||
* 团购spu库存添加模型
|
||||
*
|
||||
* @author DongZeLiang
|
||||
* @date 2024-11-26 09:36
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class ActivityTeamProductSkuEditModel {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 团购活动ID
|
||||
*/
|
||||
private Long teamId;
|
||||
|
||||
/**
|
||||
* 商品ID
|
||||
*/
|
||||
private Long productId;
|
||||
|
||||
/**
|
||||
* 规格SKU
|
||||
*/
|
||||
private String sku;
|
||||
|
||||
/**
|
||||
* 拼团价格
|
||||
*/
|
||||
private BigDecimal teamPrice;
|
||||
|
||||
/**
|
||||
* 拼团库存
|
||||
*/
|
||||
private Long teamStock;
|
||||
public static ActivityTeamProductSkuEditModel teamSkuEditBuild(ProjectSkuInfoEditReq projectSkuInfoEditReq, Supplier<Long> productId){
|
||||
return ActivityTeamProductSkuEditModel.builder()
|
||||
.id(projectSkuInfoEditReq.getProductSkuId())
|
||||
.sku(projectSkuInfoEditReq.getSku())
|
||||
.teamStock(projectSkuInfoEditReq.getTeamStock())
|
||||
.teamPrice(projectSkuInfoEditReq.getTeamPrice())
|
||||
.productId(productId.get())
|
||||
.build();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
package com.muyu.marketing.domain.model;
|
||||
|
||||
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 com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
|
||||
import com.muyu.marketing.domain.resp.ActivityTeamSkuInfoDetail;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName(value = "activity_team_product_sku_info", autoResultMap = true)
|
||||
public class ActivityTeamSkuInfoDetailModel extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private long id;
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
private long teamId;
|
||||
/**
|
||||
* 商品ID
|
||||
*/
|
||||
private Long productId;
|
||||
/**
|
||||
* 商品SKU
|
||||
*/
|
||||
private String productSku;
|
||||
/**
|
||||
* 拼团库存
|
||||
*/
|
||||
private Long teamStock;
|
||||
/**
|
||||
* 拼团价格
|
||||
*/
|
||||
private BigDecimal teamPrice;
|
||||
|
||||
/**
|
||||
* 通过拼团商品sku构建模型
|
||||
*/
|
||||
public static ActivityTeamSkuInfoDetailModel productSkuInfoEachBuild(ActivityTeamProductSkuInfo activityTeamProductSkuInfo){
|
||||
return ActivityTeamSkuInfoDetailModel.builder()
|
||||
.id(activityTeamProductSkuInfo.getId())
|
||||
.teamId(activityTeamProductSkuInfo.getTeamId())
|
||||
.productId(activityTeamProductSkuInfo.getProductId())
|
||||
.productSku(activityTeamProductSkuInfo.getProductSku())
|
||||
.teamPrice(activityTeamProductSkuInfo.getTeamPrice())
|
||||
.teamStock(activityTeamProductSkuInfo.getTeamStock())
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
package com.muyu.marketing.domain.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @program: 2204a-cloud-server
|
||||
* @description: 拼团商品sku模型
|
||||
* @author: MengFanKuo
|
||||
* @create: 2024-11-26 15:53
|
||||
* *
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@SuperBuilder
|
||||
public class ActivityTeamSkuInfoModel {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 规格SKU
|
||||
*/
|
||||
private String sku;
|
||||
|
||||
/**
|
||||
* 拼团价格
|
||||
*/
|
||||
private BigDecimal teamPrice;
|
||||
|
||||
/**
|
||||
* 拼团库存
|
||||
*/
|
||||
private Long teamStock;
|
||||
}
|
|
@ -5,6 +5,7 @@ import lombok.AllArgsConstructor;
|
|||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
|
@ -16,7 +17,7 @@ import java.math.RoundingMode;
|
|||
* @date 2024-11-21 11:57
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TeamProductDiscountPriceModel {
|
||||
|
@ -44,7 +45,7 @@ public class TeamProductDiscountPriceModel {
|
|||
* @return 优惠力度
|
||||
*/
|
||||
public static TeamProductDiscountPriceModel of(BigDecimal productPrice, BigDecimal teamPrice) {
|
||||
TeamProductDiscountPriceModel.builder()
|
||||
return TeamProductDiscountPriceModel.builder()
|
||||
.productPrice(productPrice)
|
||||
.teamPrice(teamPrice)
|
||||
.discount(
|
||||
|
|
|
@ -0,0 +1,106 @@
|
|||
package com.muyu.marketing.domain.req;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.muyu.common.core.web.domain.BaseEntity;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoEditModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamProductSkuEditModel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ActivityTeamInfoEditReq extends BaseEntity {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 拼团名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 商品ID
|
||||
*/
|
||||
private Long productId;
|
||||
/**
|
||||
* 商品活动图
|
||||
*/
|
||||
private String productImage;
|
||||
/**
|
||||
* 活动简介
|
||||
*/
|
||||
private String introduction;
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
private String unit;
|
||||
/**
|
||||
* 轮播图
|
||||
*/
|
||||
private String imageList;
|
||||
/**
|
||||
* 活动结束时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
|
||||
private Date endTime;
|
||||
/**
|
||||
* 活动排序
|
||||
*/
|
||||
private Integer sort;
|
||||
/**
|
||||
* 商品SkU集合
|
||||
*/
|
||||
private List<ProjectSkuInfoEditReq> projectSkuInfoEditReqList;
|
||||
/**
|
||||
* 活动详情
|
||||
*/
|
||||
private String content;
|
||||
/**
|
||||
* 活动状态
|
||||
*/
|
||||
private String status;
|
||||
/**
|
||||
* 策略类型
|
||||
*/
|
||||
private String strategyType;
|
||||
/**
|
||||
* 策略ID
|
||||
*/
|
||||
private Long strategyId;
|
||||
|
||||
/**
|
||||
* 请求入参转换为修改模型
|
||||
* @return
|
||||
*/
|
||||
public ActivityTeamInfoEditModel activityTeamInfoEditBuild(){
|
||||
return ActivityTeamInfoEditModel.builder()
|
||||
.activityTeamProductSkuEditModels(this.projectSkuInfoEditReqList.stream().map(projectSkuInfoEditReq -> {
|
||||
return ActivityTeamProductSkuEditModel.teamSkuEditBuild(projectSkuInfoEditReq,()-> productId);
|
||||
}).toList())
|
||||
.teamId(this.id)
|
||||
.content(this.content)
|
||||
.endTime(this.endTime)
|
||||
.imageList(this.imageList)
|
||||
.introduction(this.introduction)
|
||||
.name(this.name)
|
||||
.productImage(this.productImage)
|
||||
.status(this.status)
|
||||
.strategyId(this.strategyId)
|
||||
.strategyType(this.strategyType)
|
||||
.unit(this.unit)
|
||||
.sort(this.sort)
|
||||
.productId(this.productId)
|
||||
.build();
|
||||
}
|
||||
}
|
|
@ -3,6 +3,8 @@ package com.muyu.marketing.domain.req;
|
|||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.muyu.common.core.web.domain.BaseEntity;
|
||||
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
@ -36,12 +38,10 @@ public class ActivityTeamInfoSaveReq extends BaseEntity {
|
|||
/**
|
||||
* 单位
|
||||
*/
|
||||
|
||||
private String unit;
|
||||
/**
|
||||
* 轮播图
|
||||
*/
|
||||
|
||||
private String imageList;
|
||||
/**
|
||||
* 活动结束时间
|
||||
|
@ -72,4 +72,29 @@ public class ActivityTeamInfoSaveReq extends BaseEntity {
|
|||
* 策略ID
|
||||
*/
|
||||
private Long strategyId;
|
||||
|
||||
/**
|
||||
* 请求入参转换为添加模型
|
||||
* @return
|
||||
*/
|
||||
public ActivityTeamInfoAddModel activityTeamInfoReqBuild(){
|
||||
return ActivityTeamInfoAddModel.builder()
|
||||
.unit(this.unit)
|
||||
.activityTeamProductSkuAddModelList(
|
||||
this.projectSkuInfoAddReqList.stream().map(projectSkuInfoAddReq -> {
|
||||
return ActivityTeamProductSkuAddModel.teamProductSkuAddBuild(projectSkuInfoAddReq,()->productId);
|
||||
}).toList())
|
||||
.strategyType(this.strategyType)
|
||||
.status(this.status)
|
||||
.name(this.name)
|
||||
.strategyId(this.strategyId)
|
||||
.endTime(this.endTime)
|
||||
.imageList(this.imageList)
|
||||
.introduction(this.introduction)
|
||||
.productId(this.productId)
|
||||
.productImage(this.productImage)
|
||||
.sort(this.sort)
|
||||
.content(this.content)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.muyu.marketing.domain.req;
|
||||
|
||||
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
@ -31,4 +32,6 @@ public class ProjectSkuInfoAddReq {
|
|||
* 拼团库存
|
||||
*/
|
||||
private Long teamStock;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
package com.muyu.marketing.domain.req;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 添加的
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class ProjectSkuInfoEditReq {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long productSkuId;
|
||||
/**
|
||||
* 规格SKU
|
||||
*/
|
||||
private String sku;
|
||||
/**
|
||||
* 拼团价格
|
||||
*/
|
||||
private BigDecimal teamPrice;
|
||||
|
||||
/**
|
||||
* 拼团库存
|
||||
*/
|
||||
private Long teamStock;
|
||||
|
||||
|
||||
}
|
|
@ -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)
|
||||
|
|
|
@ -0,0 +1,98 @@
|
|||
package com.muyu.marketing.domain.resp;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoProductSkuDetailModel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @program: 2204a-cloud-server
|
||||
* @description: 团购活动商品信息规格表
|
||||
* @author: MengFanKuo
|
||||
* @create: 2024-11-26 14:22
|
||||
* *
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
public class ActivityTeamInfoProductSkuDetailResp {
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.AUTO)
|
||||
private long id;
|
||||
/**
|
||||
* 拼团名称
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 商品ID
|
||||
*/
|
||||
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 strategyType;
|
||||
/**
|
||||
* 策略ID
|
||||
*/
|
||||
private long strategyId;
|
||||
/**
|
||||
* 规格
|
||||
*/
|
||||
private List<ActivityTeamSkuInfoDetail> projectSkuInfoEachRespList;
|
||||
public static ActivityTeamInfoProductSkuDetailResp productSkuDetailBuild(ActivityTeamInfoProductSkuDetailModel activityTeamInfoProductSkuDetailModel){
|
||||
return ActivityTeamInfoProductSkuDetailResp.builder()
|
||||
.id(activityTeamInfoProductSkuDetailModel.getId())
|
||||
.productImage(activityTeamInfoProductSkuDetailModel.getProductImage())
|
||||
.productId(activityTeamInfoProductSkuDetailModel.getProductId())
|
||||
.name(activityTeamInfoProductSkuDetailModel.getName())
|
||||
.endTime(activityTeamInfoProductSkuDetailModel.getEndTime())
|
||||
.content(activityTeamInfoProductSkuDetailModel.getContent())
|
||||
.imageList(activityTeamInfoProductSkuDetailModel.getImageList())
|
||||
.introduction(activityTeamInfoProductSkuDetailModel.getIntroduction())
|
||||
.projectSkuInfoEachRespList(activityTeamInfoProductSkuDetailModel.getProjectSkuInfoAddReqList().stream().map(activityTeamSkuInfoDetailModel -> {
|
||||
return ActivityTeamSkuInfoDetail.infoDetailBuild(activityTeamSkuInfoDetailModel);
|
||||
}).toList())
|
||||
.sort(activityTeamInfoProductSkuDetailModel.getSort())
|
||||
.strategyId(activityTeamInfoProductSkuDetailModel.getStrategyId())
|
||||
.strategyType(activityTeamInfoProductSkuDetailModel.getStrategyType())
|
||||
.unit(activityTeamInfoProductSkuDetailModel.getUnit())
|
||||
.build();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,61 @@
|
|||
package com.muyu.marketing.domain.resp;
|
||||
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoProductSkuDetailModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamProductSkuEditModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamSkuInfoDetailModel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @program: 2204a-cloud-server
|
||||
* @description: 商品规格回显表
|
||||
* @author: MengFanKuo
|
||||
* @create: 2024-11-26 15:20
|
||||
* *
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@SuperBuilder
|
||||
public class ActivityTeamSkuInfoDetail {
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
private long teamId;
|
||||
/**
|
||||
* 商品ID
|
||||
*/
|
||||
private Long productId;
|
||||
/**
|
||||
* 规格SKU
|
||||
*/
|
||||
private String sku;
|
||||
/**
|
||||
* 拼团价格
|
||||
*/
|
||||
private BigDecimal teamPrice;
|
||||
/**
|
||||
* 拼团库存
|
||||
*/
|
||||
private Long teamStock;
|
||||
|
||||
public static ActivityTeamSkuInfoDetail infoDetailBuild(ActivityTeamSkuInfoDetailModel activityTeamInfoProductSkuDetailModel){
|
||||
return ActivityTeamSkuInfoDetail.builder()
|
||||
.id(activityTeamInfoProductSkuDetailModel.getId())
|
||||
.sku(activityTeamInfoProductSkuDetailModel.getProductSku())
|
||||
.teamId(activityTeamInfoProductSkuDetailModel.getTeamId())
|
||||
.productId(activityTeamInfoProductSkuDetailModel.getProductId())
|
||||
.teamPrice(activityTeamInfoProductSkuDetailModel.getTeamPrice())
|
||||
.teamStock(activityTeamInfoProductSkuDetailModel.getTeamStock())
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
|
@ -4,14 +4,15 @@ 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.ActivityTeamInfoListModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoProductSkuDetailModel;
|
||||
import com.muyu.marketing.domain.req.ActivityTeamInfoEditReq;
|
||||
import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq;
|
||||
import com.muyu.marketing.domain.req.TeamInfoListReq;
|
||||
import com.muyu.marketing.domain.resp.ActivityTeamInfoProductSkuDetailResp;
|
||||
import com.muyu.marketing.domain.resp.TeamInfoListResp;
|
||||
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;
|
||||
|
||||
|
@ -44,4 +45,28 @@ public class ActivityTeamController {
|
|||
}}
|
||||
);
|
||||
}
|
||||
/**
|
||||
* 添加团购活动
|
||||
*/
|
||||
@PostMapping("/activityTeamInfoAdd")
|
||||
public void activityTeamInfoAdd(@RequestBody ActivityTeamInfoSaveReq activityTeamInfoSaveReq){
|
||||
activityTeamInfoService.save(activityTeamInfoSaveReq.activityTeamInfoReqBuild());
|
||||
}
|
||||
/**
|
||||
* 根据id查询拼团商品信息
|
||||
*/
|
||||
@PostMapping("/inquireActivityTeam/{id}")
|
||||
public Result<ActivityTeamInfoProductSkuDetailResp> inquireActivityTeam(@PathVariable Long id){
|
||||
ActivityTeamInfoProductSkuDetailModel detailModel = activityTeamInfoService.echo(id);
|
||||
ActivityTeamInfoProductSkuDetailResp productSkuDetailBuild = ActivityTeamInfoProductSkuDetailResp.productSkuDetailBuild(detailModel);
|
||||
return Result.success(productSkuDetailBuild);
|
||||
}
|
||||
/**
|
||||
*修改团购活动
|
||||
*/
|
||||
@PostMapping("/activityTeamEdit")
|
||||
public Result<String> activityTeamEdit(@RequestBody ActivityTeamInfoEditReq activityTeamInfoEditReq){
|
||||
activityTeamInfoService.edit(activityTeamInfoEditReq.activityTeamInfoEditBuild());
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,9 +3,8 @@ package com.muyu.marketing.team.service;
|
|||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.muyu.common.core.web.page.TableDataInfo;
|
||||
import com.muyu.marketing.domain.ActivityTeamInfo;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoListModel;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel;
|
||||
import com.muyu.marketing.domain.model.*;
|
||||
import com.muyu.marketing.domain.req.ActivityTeamInfoEditReq;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -24,4 +23,15 @@ public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> {
|
|||
* @param activityTeamInfoAddModel 团购添加模型
|
||||
*/
|
||||
public void save(ActivityTeamInfoAddModel activityTeamInfoAddModel);
|
||||
/**
|
||||
* 同过活动id回显团购活动信息
|
||||
*/
|
||||
public ActivityTeamInfoProductSkuDetailModel echo(Long id);
|
||||
|
||||
/**
|
||||
* 通过修改模型 去进行商品拼团活动的操作
|
||||
* @param activityTeamInfoEditModel
|
||||
*/
|
||||
void edit(ActivityTeamInfoEditModel activityTeamInfoEditModel);
|
||||
|
||||
}
|
||||
|
|
|
@ -3,10 +3,7 @@ package com.muyu.marketing.team.service;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
|
||||
import com.muyu.marketing.domain.TeamStrategyExemptionHundred;
|
||||
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
|
||||
import com.muyu.marketing.domain.model.TeamProductDiscountPriceModel;
|
||||
import com.muyu.marketing.domain.model.TeamProductStockModel;
|
||||
import com.muyu.marketing.domain.model.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -17,28 +14,32 @@ public interface ActivityTeamProductSkuInfoService extends IService<ActivityTeam
|
|||
lambdaQueryWrapper.eq(ActivityTeamProductSkuInfo::getTeamId, teamId);
|
||||
return this.list(lambdaQueryWrapper);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过团购活动ID获取团购中最优惠的价格
|
||||
* @param teamId 团购ID
|
||||
* @return 优惠价格
|
||||
*/
|
||||
public TeamProductDiscountPriceModel getDiscountPrice(Long teamId);
|
||||
|
||||
|
||||
/**
|
||||
* 通过活动ID获取 剩余库存
|
||||
* @param teamId 活动ID
|
||||
* @return 库存
|
||||
*/
|
||||
public TeamProductStockModel getStock(Long teamId);
|
||||
|
||||
|
||||
/**
|
||||
* 添加团购商品SKU
|
||||
* @param activityTeamProductSkuAddModelList 团购商品SKU添加模型集合
|
||||
*/
|
||||
public void batchSave(List<ActivityTeamProductSkuAddModel> activityTeamProductSkuAddModelList);
|
||||
/**
|
||||
* 根据团购id查询商品详细信息
|
||||
*/
|
||||
public List<ActivityTeamSkuInfoDetailModel> findByListSkuInfo(Long id);
|
||||
|
||||
/**
|
||||
* 修改
|
||||
* @param activityTeamProductSkuEditModelList
|
||||
*/
|
||||
void editSku(List<ActivityTeamProductSkuEditModel> activityTeamProductSkuEditModelList);
|
||||
|
||||
}
|
||||
|
|
|
@ -1,24 +1,22 @@
|
|||
package com.muyu.marketing.team.service.impl;
|
||||
|
||||
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.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.ActivityTeamOpenInfo;
|
||||
import com.muyu.marketing.domain.model.*;
|
||||
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 io.jsonwebtoken.lang.Assert;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
|
||||
@Service
|
||||
|
@ -33,11 +31,9 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl<ActivityTeamInfoMap
|
|||
|
||||
@Override
|
||||
public TableDataInfo<ActivityTeamInfoListModel> query(ActivityTeamInfoListQueryModel activityTeamInfoListQueryModel) {
|
||||
|
||||
LambdaQueryWrapper<ActivityTeamInfo> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.like(StringUtils.isNotEmpty(activityTeamInfoListQueryModel.getKeyWord()), ActivityTeamInfo::getName, activityTeamInfoListQueryModel.getKeyWord());
|
||||
queryWrapper.like(StringUtils.isNotEmpty(activityTeamInfoListQueryModel.getStatus()), ActivityTeamInfo::getStatus, activityTeamInfoListQueryModel.getStatus());
|
||||
|
||||
/**
|
||||
* Object<T> -> 创建对象的时候进行的占用
|
||||
* <T> Result<T> 以方法返回值为占用
|
||||
|
@ -75,14 +71,39 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl<ActivityTeamInfoMap
|
|||
*/
|
||||
@Override
|
||||
public void save(ActivityTeamInfoAddModel activityTeamInfoAddModel) {
|
||||
boolean save = this.save(ActivityTeamInfo.addModelBuild(activityTeamInfoAddModel));
|
||||
if (!save) {
|
||||
throw new ServiceException(
|
||||
StringUtils.format("团购活动添加失败:[{}]", activityTeamInfoAddModel)
|
||||
);
|
||||
}
|
||||
this.activityTeamProductSkuInfoService.batchSave(
|
||||
activityTeamInfoAddModel.getActivityTeamProductSkuAddModelList()
|
||||
);
|
||||
ActivityTeamInfo activityTeamInfo = ActivityTeamInfo.addModelBuild(activityTeamInfoAddModel);
|
||||
Assert.isTrue(this.save(activityTeamInfo),StringUtils.format("团购活动添加失败:[{}]", activityTeamInfoAddModel));
|
||||
List<ActivityTeamProductSkuAddModel> productSkuAddModels = activityTeamInfoAddModel.getActivityTeamProductSkuAddModelList();
|
||||
productSkuAddModels.forEach(activityTeamProductSkuAddModel -> {activityTeamProductSkuAddModel.setTeamId(activityTeamInfo.getId());});
|
||||
activityTeamProductSkuInfoService.batchSave(productSkuAddModels);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据团购活动id查询详情
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ActivityTeamInfoProductSkuDetailModel echo(Long id) {
|
||||
ActivityTeamInfo activityTeamInfo = this.getById(id);
|
||||
List<ActivityTeamSkuInfoDetailModel> infoServiceByListSkuInfo = activityTeamProductSkuInfoService.findByListSkuInfo(id);
|
||||
return ActivityTeamInfoProductSkuDetailModel.skuInfoDetailBuild(activityTeamInfo,infoServiceByListSkuInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过修改模型,去进行商品拼团活动的操作
|
||||
* @param activityTeamInfoEditModel 修改模型
|
||||
*/
|
||||
@Override
|
||||
public void edit(ActivityTeamInfoEditModel activityTeamInfoEditModel) {
|
||||
//修改拼团活动
|
||||
ActivityTeamInfo activityTeamInfo = ActivityTeamInfo.editBuild(activityTeamInfoEditModel);
|
||||
this.updateById(activityTeamInfo);
|
||||
List<ActivityTeamProductSkuEditModel> activityTeamProductSkuEditModelList = activityTeamInfoEditModel.getActivityTeamProductSkuEditModels();
|
||||
activityTeamProductSkuEditModelList.forEach(activityTeamProductSkuEditModel -> {
|
||||
activityTeamProductSkuEditModel.setTeamId(activityTeamInfo.getId());
|
||||
activityTeamProductSkuEditModel.setProductId(activityTeamInfo.getProductId());
|
||||
});
|
||||
activityTeamProductSkuInfoService.editSku(activityTeamProductSkuEditModelList);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,9 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||
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.TeamProductDiscountPriceModel;
|
||||
import com.muyu.marketing.domain.model.TeamProductStockModel;
|
||||
import com.muyu.marketing.domain.model.*;
|
||||
import com.muyu.marketing.domain.resp.ActivityTeamSkuInfoDetail;
|
||||
import com.muyu.marketing.team.mapper.ActivityTeamProductSkuInfoMapper;
|
||||
import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService;
|
||||
import com.muyu.product.cache.ProjectSkuCache;
|
||||
|
@ -14,17 +13,14 @@ 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;
|
||||
|
||||
@Service
|
||||
public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl<ActivityTeamProductSkuInfoMapper, ActivityTeamProductSkuInfo>
|
||||
implements ActivityTeamProductSkuInfoService {
|
||||
|
||||
@Autowired
|
||||
private ActivityTeamProductSkuInfoService activityTeamProductSkuInfoService;
|
||||
@Autowired
|
||||
private ProjectSkuCache projectSkuCache;
|
||||
|
||||
|
@ -76,8 +72,34 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl<ActivityT
|
|||
if (activityTeamProductSkuAddModelList == null || activityTeamProductSkuAddModelList.isEmpty()) {
|
||||
throw new ServiceException("入参添加商品规格模型,不可为空");
|
||||
}
|
||||
this.saveBatch(
|
||||
activityTeamProductSkuAddModelList.stream().map(ActivityTeamProductSkuInfo::modelBuild).toList()
|
||||
);
|
||||
List<ActivityTeamProductSkuInfo> teamProductSkuInfoList = activityTeamProductSkuAddModelList.stream().map(ActivityTeamProductSkuInfo::modelBuild).toList();
|
||||
this.saveBatch(teamProductSkuInfoList);
|
||||
}
|
||||
/**
|
||||
* 根据团购活动id查找商品sku
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<ActivityTeamSkuInfoDetailModel> findByListSkuInfo(Long id) {
|
||||
LambdaQueryWrapper<ActivityTeamProductSkuInfo> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ActivityTeamProductSkuInfo::getTeamId,id);
|
||||
List<ActivityTeamProductSkuInfo> productSkuInfoList = activityTeamProductSkuInfoService.list(queryWrapper);
|
||||
List<ActivityTeamSkuInfoDetailModel> detailModelList = productSkuInfoList.stream().map(activityTeamProductSkuInfo -> {
|
||||
return ActivityTeamSkuInfoDetailModel.productSkuInfoEachBuild(activityTeamProductSkuInfo);
|
||||
}).toList();
|
||||
return detailModelList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改团购商品sku表
|
||||
* @param activityTeamProductSkuEditModelList
|
||||
*/
|
||||
@Override
|
||||
public void editSku(List<ActivityTeamProductSkuEditModel> activityTeamProductSkuEditModelList) {
|
||||
List<ActivityTeamProductSkuInfo> activityTeamProductSkuInfoList = activityTeamProductSkuEditModelList.stream().map(activityTeamProductSkuEditModel -> {
|
||||
return ActivityTeamProductSkuInfo.skuInfoBuild(activityTeamProductSkuEditModel);
|
||||
}).toList();
|
||||
this.updateBatchById(activityTeamProductSkuInfoList);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,14 +10,18 @@ spring:
|
|||
profiles:
|
||||
# 环境配置
|
||||
active: dev
|
||||
main:
|
||||
allow-circular-references: true
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
# 服务注册地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
config:
|
||||
# 配置中心地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
# 配置文件格式
|
||||
file-extension: yml
|
||||
# 共享配置
|
||||
|
@ -26,3 +30,4 @@ spring:
|
|||
logging:
|
||||
level:
|
||||
com.muyu.marketing.mapper: DEBUG
|
||||
|
||||
|
|
|
@ -14,10 +14,12 @@ spring:
|
|||
nacos:
|
||||
discovery:
|
||||
# 服务注册地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
config:
|
||||
# 配置中心地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
# 配置文件格式
|
||||
file-extension: yml
|
||||
# 共享配置
|
||||
|
|
|
@ -16,10 +16,12 @@ spring:
|
|||
nacos:
|
||||
discovery:
|
||||
# 服务注册地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
config:
|
||||
# 配置中心地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
# 配置文件格式
|
||||
file-extension: yml
|
||||
# 共享配置
|
||||
|
|
|
@ -14,10 +14,12 @@ spring:
|
|||
nacos:
|
||||
discovery:
|
||||
# 服务注册地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
config:
|
||||
# 配置中心地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
# 配置文件格式
|
||||
file-extension: yml
|
||||
# 共享配置
|
||||
|
|
|
@ -14,10 +14,12 @@ spring:
|
|||
nacos:
|
||||
discovery:
|
||||
# 服务注册地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
config:
|
||||
# 配置中心地址
|
||||
server-addr: 127.0.0.1:8848
|
||||
server-addr: 123.249.122.74:8848
|
||||
namespace: mall
|
||||
# 配置文件格式
|
||||
file-extension: yml
|
||||
# 共享配置
|
||||
|
|
Loading…
Reference in New Issue