diff --git a/doc/three b/doc/three new file mode 100644 index 0000000..3cdaf67 --- /dev/null +++ b/doc/three @@ -0,0 +1,18 @@ + "商品ID": "Long", + "商品图片": "String", + "活动名称": "String", + "活动简介": "String", + "商品单位": "String", + "商品的轮播图": [ + "String", "String" + ], + "活动时间": "date", + "策略类型": "String", + [{ + "id" : "Long" , + "团购活动Id" : "Long" , + "规格SKU": "String" , + “拼团价格" :"BigDecimal", + ”拼团库存“:"Long" + }] + diff --git a/doc/two b/doc/two new file mode 100644 index 0000000..e514275 --- /dev/null +++ b/doc/two @@ -0,0 +1,33 @@ + +{ "{ + "code": 200, + "msg": null, + "data": { + "id": 1, + "teamId": null, + "name": "手机拼团领折扣", + "productId": 19, + "productImage": "http://127.0.0.1:9300/statics/2024/11/18/sdfx_20241118145144A006.jpg\thttp://127.0.0.1:9300/statics/2024/11/18/mfx_20241118145150A007.jpg", + "introduction": "好吃", + "unit": "盒", + "imageList": "http://127.0.0.1:9300/statics/2024/11/18/sdfx_20241118145144A006.jpg\thttp://127.0.0.1:9300/statics/2024/11/18/mfx_20241118145150A007.jpg", + "endTime": "2024-11-19", + "sort": 1, + "projectSkuInfoModelList": [ + { + "productSkuId": 2, + "productSku": "骁龙888-8G-128G", + "teamPrice": 1, + "teamStock": 18 + } + ], + "content": "", + "status": "1", + "strategyType": "拼团", + "strategyId": 1 + } + } + + + +} \ No newline at end of file diff --git a/doc/策略 b/doc/策略 new file mode 100644 index 0000000..8a03c65 --- /dev/null +++ b/doc/策略 @@ -0,0 +1,26 @@ + 商城活动页 -> 商品列表 + -> 商品列表可排序筛选 商品图展示几人团 + ->点击图片 + -> 展示商品详情页面 可查看拼团剩余人数,还剩下几人,剩余多少时间拼团成功 + -> 点击参与拼团 + -> 展示商品属性 选择商品属性 绑定商品信息 + + + + +商品详情页面 + 显示 商品信息 商品sku + + +支付方式 + + + + + + + + + + + diff --git a/muyu-auth/src/main/java/com/muyu/auth/MuYuAuthApplication.java b/muyu-auth/src/main/java/com/muyu/auth/MuYuAuthApplication.java index 7283b5a..4689f8e 100644 --- a/muyu-auth/src/main/java/com/muyu/auth/MuYuAuthApplication.java +++ b/muyu-auth/src/main/java/com/muyu/auth/MuYuAuthApplication.java @@ -15,5 +15,6 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; public class MuYuAuthApplication { public static void main (String[] args) { SpringApplication.run(MuYuAuthApplication.class, args); + System.out.println("auth end "); } } diff --git a/muyu-auth/src/main/resources/bootstrap.yml b/muyu-auth/src/main/resources/bootstrap.yml index b309a3d..2fd04c5 100644 --- a/muyu-auth/src/main/resources/bootstrap.yml +++ b/muyu-auth/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 9200 + port: 8089 # Spring spring: @@ -14,10 +14,12 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 1.94.98.9:8848 + namespace: asdasd config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 1.94.98.9:8848 + namespace: asdasd # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-gateway/src/main/java/com/muyu/gateway/MuYuGatewayApplication.java b/muyu-gateway/src/main/java/com/muyu/gateway/MuYuGatewayApplication.java index a3e851e..2476e49 100644 --- a/muyu-gateway/src/main/java/com/muyu/gateway/MuYuGatewayApplication.java +++ b/muyu-gateway/src/main/java/com/muyu/gateway/MuYuGatewayApplication.java @@ -13,5 +13,6 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; public class MuYuGatewayApplication { public static void main (String[] args) { SpringApplication.run(MuYuGatewayApplication.class, args); + System.out.println("end gateway"); } } diff --git a/muyu-gateway/src/main/java/com/muyu/gateway/config/properties/CorsConfig.java b/muyu-gateway/src/main/java/com/muyu/gateway/config/properties/CorsConfig.java new file mode 100644 index 0000000..94c50c6 --- /dev/null +++ b/muyu-gateway/src/main/java/com/muyu/gateway/config/properties/CorsConfig.java @@ -0,0 +1,58 @@ +package com.muyu.gateway.config.properties; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.server.reactive.ServerHttpRequest; +import org.springframework.http.server.reactive.ServerHttpResponse; +import org.springframework.web.cors.reactive.CorsUtils; +import org.springframework.web.server.ServerWebExchange; +import org.springframework.web.server.WebFilter; +import org.springframework.web.server.WebFilterChain; +import reactor.core.publisher.Mono; + +/** + * 跨域配置 + * + * @author ruoyi + */ +@Configuration +public class CorsConfig +{ + /** + * 这里为支持的请求头,如果有自定义的header字段请自己添加 + */ + private static final String ALLOWED_HEADERS = "X-Requested-With, Content-Type, Authorization, credential, X-XSRF-TOKEN, token, Admin-Token, App-Token"; + private static final String ALLOWED_METHODS = "GET,POST,PUT,DELETE,OPTIONS,HEAD"; + private static final String ALLOWED_ORIGIN = "*"; + private static final String ALLOWED_EXPOSE = "*"; + private static final String MAX_AGE = "18000L"; + + @Bean + public WebFilter corsFilter() + { + return (ServerWebExchange ctx, WebFilterChain chain) -> { + ServerHttpRequest request = ctx.getRequest(); + if (CorsUtils.isCorsRequest(request)) + { + ServerHttpResponse response = ctx.getResponse(); + HttpHeaders headers = response.getHeaders(); + headers.add("Access-Control-Allow-Headers", ALLOWED_HEADERS); + headers.add("Access-Control-Allow-Methods", ALLOWED_METHODS); + headers.add("Access-Control-Allow-Origin", ALLOWED_ORIGIN); + headers.add("Access-Control-Expose-Headers", ALLOWED_EXPOSE); + headers.add("Access-Control-Max-Age", MAX_AGE); + headers.add("Access-Control-Allow-Credentials", "true"); + if (request.getMethod() == HttpMethod.OPTIONS) + { + response.setStatusCode(HttpStatus.OK); + return Mono.empty(); + } + } + return chain.filter(ctx); + }; + } +} + diff --git a/muyu-gateway/src/main/resources/bootstrap.yml b/muyu-gateway/src/main/resources/bootstrap.yml index d7367b4..3e78d3b 100644 --- a/muyu-gateway/src/main/resources/bootstrap.yml +++ b/muyu-gateway/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 8080 + port: 8081 # Spring spring: @@ -14,10 +14,12 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 1.94.98.9:8848 + namespace: asdasd config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 1.94.98.9:8848 + namespace: asdasd # 配置文件格式 file-extension: yml # 共享配置 @@ -28,12 +30,12 @@ spring: eager: true transport: # 控制台地址 - dashboard: 127.0.0.1:8718 + dashboard: 1.94.98.9:8718 # nacos配置持久化 datasource: ds1: nacos: - server-addr: 127.0.0.1:8848 + server-addr: 1.94.98.9:8848 dataId: sentinel-muyu-gateway groupId: DEFAULT_GROUP data-type: json diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java index e907e91..e61756c 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java @@ -5,10 +5,13 @@ 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.ActivityTeamProductSkuModel; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuReqModel; import com.muyu.marketing.domain.model.ActivityTeamUpdModel; import lombok.*; import lombok.experimental.SuperBuilder; +import java.math.BigDecimal; import java.util.Date; /** * 商品拼团信息 @@ -100,8 +103,7 @@ public class ActivityTeamInfo extends BaseEntity { public static ActivityTeamInfo updModelBuild(ActivityTeamUpdModel activityTeamUpdModel) { return ActivityTeamInfo.builder() - .id(activityTeamUpdModel.getTeamId()) - .name(activityTeamUpdModel.getName()) + .id(activityTeamUpdModel.getId()) .productId(activityTeamUpdModel.getProductId()) .productImage(activityTeamUpdModel.getProductImage()) .introduction(activityTeamUpdModel.getIntroduction()) @@ -115,5 +117,4 @@ public class ActivityTeamInfo extends BaseEntity { .strategyId(activityTeamUpdModel.getStrategyId()) .build(); } - } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamOpenInfo.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamOpenInfo.java index 6f4bda0..d081ade 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamOpenInfo.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamOpenInfo.java @@ -3,6 +3,7 @@ package com.muyu.marketing.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; import com.muyu.common.core.web.domain.BaseEntity; import lombok.*; import lombok.experimental.SuperBuilder; @@ -43,11 +44,12 @@ public class ActivityTeamOpenInfo extends BaseEntity { /** * 结束团购时间 */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd") private Date endTime; /** * 商品ID */ - private String productId; + private Long productId; /** * 商品名称 */ @@ -68,4 +70,6 @@ public class ActivityTeamOpenInfo extends BaseEntity { * 开团状态 */ private String status; +// @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd") +// private Date updateTime; } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java index aa70b32..75615a7 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java @@ -4,7 +4,7 @@ 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.model.ActivityTeamProductSkuAddModel; +import com.muyu.marketing.domain.model.*; import lombok.*; import lombok.experimental.SuperBuilder; @@ -52,6 +52,7 @@ public class ActivityTeamProductSkuInfo extends BaseEntity { /** * 通过模型钢构件对象 + * * @param activityTeamProductSkuAddModel 模型 * @return 对象 */ @@ -65,6 +66,25 @@ public class ActivityTeamProductSkuInfo extends BaseEntity { .build(); } + public static ActivityTeamProductSkuInfo updModelBUild(ActivityTeamProductSkuInfoUpdModel activityTeamProductSkuModel) { + return ActivityTeamProductSkuInfo.builder() + .id(activityTeamProductSkuModel.getId()) + .teamStock(activityTeamProductSkuModel.getTeamStock()) + .teamPrice(activityTeamProductSkuModel.getTeamPrice()) + + .build(); + } + public static ActivityTeamProductSkuInfo addProductBuildModel(ActivityTeamProductSkuAddModel activityTeamProductSkuAddModel) { + return ActivityTeamProductSkuInfo.builder() + .productId(activityTeamProductSkuAddModel.getProductId()) + .teamId(activityTeamProductSkuAddModel.getTeamId()) + .productSku(activityTeamProductSkuAddModel.getProductSku()) + .teamStock(activityTeamProductSkuAddModel.getTeamStock()) + .remainStock(activityTeamProductSkuAddModel.getTeamStock()) + .teamPrice(activityTeamProductSkuAddModel.getTeamPrice()) + .build(); + } -} + +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/dto/Deledto.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/dto/Deledto.java new file mode 100644 index 0000000..c975f4e --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/dto/Deledto.java @@ -0,0 +1,23 @@ +package com.muyu.marketing.domain.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.List; + +/** + * @program: daiseven-dong + * @description: d + * @author: CuiFu Bo + * @create: 2024-11-27 20:48 + **/ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class Deledto { + + private List ids; +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityInfoSKuModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityInfoSKuModel.java new file mode 100644 index 0000000..6ac3e83 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityInfoSKuModel.java @@ -0,0 +1,51 @@ +package com.muyu.marketing.domain.model; + +import com.muyu.marketing.domain.req.ActivityTeamProductSkuReq; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; +import java.util.List; + +/** + * @program: daiseven-dong + * @description: l + * @author: CuiFu Bo + * @create: 2024-11-27 18:59 + **/ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityInfoSKuModel { + + + 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; + private List ids; + + private List activityTeamProductSkuList; + //修改 + private List activityTeamUpdModelList; + //添加 + private List activityTeamProductSkuAddModelList; + + +// public static ActivityInfoSKuModel delSKuModel (){ +// +// }; +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoDetailModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoDetailModel.java new file mode 100644 index 0000000..d20ed41 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoDetailModel.java @@ -0,0 +1,88 @@ +package com.muyu.marketing.domain.model; + +import com.muyu.marketing.domain.ActivityTeamInfo; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +/** + * 拼团活动详情模型 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamInfoDetailModel { + 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; + + //查询 + public static ActivityTeamInfoDetailModel activityTeamInfoDetailModel(ActivityTeamInfo activityTeamInfo){ + return ActivityTeamInfoDetailModel.builder() + .id(activityTeamInfo.getId()) + .name(activityTeamInfo.getName()) + .productId(activityTeamInfo.getProductId()) + .productImage(activityTeamInfo.getProductImage()) + .introduction(activityTeamInfo.getIntroduction()) + .unit(activityTeamInfo.getUnit()) + .imageList(activityTeamInfo.getImageList()) + .endTime(activityTeamInfo.getEndTime()) + .sort(activityTeamInfo.getSort()) + .content(activityTeamInfo.getContent()) + .status(activityTeamInfo.getStatus()) + .strategyType(activityTeamInfo.getStrategyType()) + .strategyId(activityTeamInfo.getStrategyId()) + .build(); + } + +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoUpdModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoUpdModel.java new file mode 100644 index 0000000..799a1c3 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoUpdModel.java @@ -0,0 +1,59 @@ +package com.muyu.marketing.domain.model; + +import com.muyu.marketing.domain.req.ActivityTeamInfoUpdReq; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; +import java.util.List; + +/** + * @program: daiseven-dong + * @description: 活动商品规格修改模型 + * @author: CuiFu Bo + * @create: 2024-11-27 16:31 + **/ + +@Data +@NoArgsConstructor +@AllArgsConstructor +@SuperBuilder +public class ActivityTeamInfoUpdModel { + 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; + private List activityTeamProductSkuModelList; + private ActivityTeamInfoUpdModel activityTeamUpdSkuModel; + public static ActivityTeamInfoUpdModel activityTeamInfoUpdReqModelBuild (ActivityTeamInfoUpdReq activityTeamInfoUpdReq){ + return ActivityTeamInfoUpdModel.builder() + .id(activityTeamInfoUpdReq.getId()) + .name(activityTeamInfoUpdReq.getName()) + .productId(activityTeamInfoUpdReq.getProductId()) + .productImage(activityTeamInfoUpdReq.getProductImage()) + .introduction(activityTeamInfoUpdReq.getIntroduction()) + .unit(activityTeamInfoUpdReq.getUnit()) + .imageList(activityTeamInfoUpdReq.getImageList()) + .endTime(activityTeamInfoUpdReq.getEndTime()) + .sort(activityTeamInfoUpdReq.getSort()) + .content(activityTeamInfoUpdReq.getContent()) + .status(activityTeamInfoUpdReq.getStatus()) + .strategyType(activityTeamInfoUpdReq.getStrategyType()) + .strategyId(activityTeamInfoUpdReq.getStrategyId()) + .activityTeamProductSkuModelList(activityTeamInfoUpdReq.getActivityTeamProductSkuList().stream().map(ActivityTeamProductSkuReqModel::activityTeamProductSkuReqModelBuild).toList()) + .build(); + } + + +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java index 4dc8c05..8999b32 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuAddModel.java @@ -35,7 +35,8 @@ public class ActivityTeamProductSkuAddModel { /** * 规格SKU */ - private String sku; + private String productSku; + /** * 拼团价格 @@ -50,7 +51,7 @@ public class ActivityTeamProductSkuAddModel { public static ActivityTeamProductSkuAddModel dbuild (ProjectSkuInfoAddReq projectSkuInfoAddReq, Supplier productId){ return ActivityTeamProductSkuAddModel.builder() .productId(productId.get()) - .sku(projectSkuInfoAddReq.getSku()) + .productSku(projectSkuInfoAddReq.getSku()) .teamStock(projectSkuInfoAddReq.getTeamStock()) .teamPrice(projectSkuInfoAddReq.getTeamPrice()) .build(); diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuInfoListModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuInfoListModel.java new file mode 100644 index 0000000..89443cc --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuInfoListModel.java @@ -0,0 +1,58 @@ +package com.muyu.marketing.domain.model; + +import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * 商品活动规格集合模型 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamProductSkuInfoListModel { + /** + * 主键 + */ + private long id; + /** + * 活动ID + */ + private long teamId; + /** + * 商品ID + */ + private Long productId; + /** + * 商品SKU + */ + private String productSku; + /** + * 拼团库存 + */ + private Long teamStock; + /** + * 剩余库存 + */ + private Long remainStock; + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + + public static ActivityTeamProductSkuInfoListModel infoListModel(ActivityTeamProductSkuInfo activityTeamProductSkuInfo){ + return ActivityTeamProductSkuInfoListModel.builder() + .id(activityTeamProductSkuInfo.getId()) + .teamId(activityTeamProductSkuInfo.getTeamId()) + .productId(activityTeamProductSkuInfo.getProductId()) + .teamStock(activityTeamProductSkuInfo.getTeamStock()) + .productSku(activityTeamProductSkuInfo.getProductSku()) + .teamPrice(activityTeamProductSkuInfo.getTeamPrice()) + .build(); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuInfoUpdModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuInfoUpdModel.java new file mode 100644 index 0000000..a144435 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuInfoUpdModel.java @@ -0,0 +1,29 @@ +package com.muyu.marketing.domain.model; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamProductSkuInfoUpdModel { + /** + * 商品规格id + */ + private Long id; + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + /** + * 拼团库存 + */ + private Long teamStock; + + +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuModel.java new file mode 100644 index 0000000..9acd6ec --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuModel.java @@ -0,0 +1,35 @@ +package com.muyu.marketing.domain.model; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; +import java.util.List; + +/** + * @program: daiseven-dong + * @description: l + * @author: CuiFu Bo + * @create: 2024-11-26 21:18 + **/ +@Data +@NoArgsConstructor +@AllArgsConstructor + +public class ActivityTeamProductSkuModel { + /** + * 活动规格sku修改模型 + */ + private List activityTeamProductSkuModelList; + /** + * 活动规格id + */ + private List skuIdList; + /** + * 活动规格sku添加模型 + */ + private List activityTeamProductSkuAddModelList; + +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuReqModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuReqModel.java new file mode 100644 index 0000000..5df480e --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuReqModel.java @@ -0,0 +1,40 @@ +package com.muyu.marketing.domain.model; + +import com.muyu.marketing.domain.req.ActivityTeamProductSkuReq; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; + +/** + * @program: daiseven-dong + * @description: sku修改模型 + * @author: CuiFu Bo + * @create: 2024-11-27 16:32 + **/ +@Data +@NoArgsConstructor +@AllArgsConstructor +@SuperBuilder +public class ActivityTeamProductSkuReqModel { + private Long id; + private Long teamId; + private Long productId; + private String productSku; + private Long teamStock; + private Long remainStock; + private BigDecimal teamPrice; + public static ActivityTeamProductSkuReqModel activityTeamProductSkuReqModelBuild(ActivityTeamProductSkuReq activityTeamProductSkuReq){ + return ActivityTeamProductSkuReqModel.builder() + .id(activityTeamProductSkuReq.getId()) + .productId(activityTeamProductSkuReq.getProductId()) + .teamId(activityTeamProductSkuReq.getTeamId()) + .productSku(activityTeamProductSkuReq.getProductSku()) + .remainStock(activityTeamProductSkuReq.getRemainStock()) + .teamStock(activityTeamProductSkuReq.getTeamStock()) + .teamPrice(activityTeamProductSkuReq.getTeamPrice()) + .build(); + } +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamSkuupdateModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamSkuupdateModel.java new file mode 100644 index 0000000..7e9b53e --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamSkuupdateModel.java @@ -0,0 +1,61 @@ +package com.muyu.marketing.domain.model; + +import com.muyu.marketing.domain.req.ProductSkuInfoUpdReq; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.function.Supplier; + +/** + * @program: daiseven-dong + * @description: l + * @author: CuiFu Bo + * @create: 2024-11-27 00:43 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamSkuupdateModel { + /** + * id + */ + private Long id; + /** + * 团购活动ID + */ + private Long teamId; + + /** + * 商品ID + */ + private Long productId; + + /** + * 规格SKU + */ + private String sku; + + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + + /** + * 拼团库存 + */ + private Long teamStock; + private Long remainStock; + public static ActivityTeamSkuupdateModel teamSkuEditBuild(ProductSkuInfoUpdReq productSkuInfoUpdReq, Supplier productId){ + return ActivityTeamSkuupdateModel.builder() + .id(productSkuInfoUpdReq.getProductSkuId()) + .sku(productSkuInfoUpdReq.getSku()) + .teamStock(productSkuInfoUpdReq.getTeamStock()) + .teamPrice(productSkuInfoUpdReq.getTeamPrice()) + .productId(productId.get()) + .build(); + } +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamUpdModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamUpdModel.java new file mode 100644 index 0000000..c54575e --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamUpdModel.java @@ -0,0 +1,119 @@ +package com.muyu.marketing.domain.model; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.marketing.domain.req.ActivityTeamInfoUpdReq; +import com.muyu.marketing.domain.req.ActivityTeamUpdReq; +import com.muyu.marketing.domain.req.ProjectSkuInfoAddReq; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * @program: daiseven-dong + * @description: l + * @author: CuiFu Bo + * @create: 2024-11-27 00:20 + **/ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamUpdModel { + 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 ActivityTeamProductSkuModel activityTeamProductSkuModel; + + + + + + public static ActivityTeamUpdModel activityTeamUpdReq(ActivityTeamUpdReq activityTeamInfoUpdReq){ + return ActivityTeamUpdModel.builder() + .id(activityTeamInfoUpdReq.getId()) + .name(activityTeamInfoUpdReq.getName()) + .productId(activityTeamInfoUpdReq.getProductId()) + .introduction(activityTeamInfoUpdReq.getIntroduction()) + .unit(activityTeamInfoUpdReq.getUnit()) + .endTime(activityTeamInfoUpdReq.getEndTime()) + .imageList(activityTeamInfoUpdReq.getImageList()) + .productImage(activityTeamInfoUpdReq.getProductImage()) + .activityTeamProductSkuModel(activityTeamInfoUpdReq.getActivityTeamUpdSkuModel()) + .sort(activityTeamInfoUpdReq.getSort()) + .content(activityTeamInfoUpdReq.getContent()) + .status(activityTeamInfoUpdReq.getStatus()) + .strategyType(activityTeamInfoUpdReq.getStrategyType()) + .strategyId(activityTeamInfoUpdReq.getStrategyId()) + .strategyType(activityTeamInfoUpdReq.getStrategyType()) + .build(); + } + + + + + + + + + + + + + + + + + + +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamfindidModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamfindidModel.java new file mode 100644 index 0000000..5e2fd55 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamfindidModel.java @@ -0,0 +1,92 @@ +package com.muyu.marketing.domain.model; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * @program: daiseven-dong + * @description: l + * @author: CuiFu Bo + * @create: 2024-11-26 21:39 + **/ +@Data +@NoArgsConstructor +@AllArgsConstructor +@SuperBuilder +public class ActivityTeamfindidModel { + + 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 activityTeamProductSkuAddModelList; + /** + * 活动详情 + */ + private String content; + /** + * 活动状态 + */ + private String status; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private Long strategyId; + private String sku; + private BigDecimal teamPrice; + private Long teamStock; + + public static ActivityTeamfindidModel folist(ActivityTeamProductSkuInfo activityTeamProductSkuInfo){ + return ActivityTeamfindidModel.builder() + .productId(activityTeamProductSkuInfo.getProductId()) + .sku(activityTeamProductSkuInfo.getProductSku()) + .teamPrice(activityTeamProductSkuInfo.getTeamPrice()) + .build(); + + } +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoUpdReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoUpdReq.java new file mode 100644 index 0000000..1957536 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoUpdReq.java @@ -0,0 +1,40 @@ +package com.muyu.marketing.domain.req; + +import com.muyu.marketing.domain.model.ActivityTeamProductSkuModel; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; +import java.util.List; + +/** + * @program: daiseven-dong + * @description: 活动商品规格修改入参 + * @author: CuiFu Bo + * @create: 2024-11-27 16:26 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +public class ActivityTeamInfoUpdReq { + 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; + private List activityTeamProductSkuList; + + + private ActivityTeamProductSkuModel activityTeamProductSkuModel; +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamProductSkuReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamProductSkuReq.java new file mode 100644 index 0000000..7c90a1c --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamProductSkuReq.java @@ -0,0 +1,28 @@ +package com.muyu.marketing.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; + +/** + * @program: daiseven-dong + * @description: sku修改入参 + * @author: CuiFu Bo + * @create: 2024-11-27 16:27 + **/ +@Data +@AllArgsConstructor +@NoArgsConstructor +@SuperBuilder +public class ActivityTeamProductSkuReq { + private Long id; + private Long teamId; + private Long productId; + private String productSku; + private Long teamStock; + private Long remainStock; + private BigDecimal teamPrice; +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamUpdReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamUpdReq.java new file mode 100644 index 0000000..91dd87e --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamUpdReq.java @@ -0,0 +1,83 @@ +package com.muyu.marketing.domain.req; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.marketing.domain.model.ActivityTeamProductSkuModel; +import com.muyu.marketing.domain.model.ActivityTeamUpdModel; + +import com.muyu.marketing.domain.resp.ActivityTeamProjectSkuResp; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.util.Date; +import java.util.List; + +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamUpdReq { + + /** + * 活动ID + */ + private Long id; + + /** + * 拼团名称 + */ + private String name; + /** + * 商品ID + */ + private Long productId; + /** + * 商品活动图 + */ + private String productImage; + /** + * 活动简介 + */ + private String introduction; + /** + * 单位 + */ + + private String unit; + /** + * 轮播图 + */ + + private String imageList; + /** + * 活动结束时间 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd") + private Date endTime; + /** + * 活动排序 + */ + private Integer sort; + /** + * 商品SkU + */ + private ActivityTeamProductSkuModel activityTeamUpdSkuModel; + /** + * 活动详情 + */ + private String content; + /** + * 活动状态 + */ + private String status; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private Long strategyId; + +} diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ProductSkuInfoUpdReq.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ProductSkuInfoUpdReq.java new file mode 100644 index 0000000..b5a42f1 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ProductSkuInfoUpdReq.java @@ -0,0 +1,38 @@ +package com.muyu.marketing.domain.req; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; + +/** + * @program: daiseven-dong + * @description: l + * @author: CuiFu Bo + * @create: 2024-11-27 00:45 + **/ +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +public class ProductSkuInfoUpdReq { + + private Long productSkuId; + + /** + * 规格SKU + */ + private String sku; + + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + + /** + * 拼团库存 + */ + private Long teamStock; +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamDetailResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamDetailResp.java new file mode 100644 index 0000000..75355bb --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamDetailResp.java @@ -0,0 +1,106 @@ +package com.muyu.marketing.domain.resp; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.muyu.marketing.domain.model.ActivityTeamInfoDetailModel; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.experimental.SuperBuilder; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; +import java.util.function.Function; + +/** + * @program: daiseven-dong + * @description: + * @author: CuiFu Bo + * @create: 2024-11-26 15:20 + **/ +@Data +@SuperBuilder +@NoArgsConstructor +@AllArgsConstructor + +public class ActivityTeamDetailResp { + private Long 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 Long sort; + /** + * 商品SkU集合 + */ + private List projectSkuInfoModelList; + /** + * 活动详情 + */ + private String content; + /** + * 活动状态 + */ + private String status; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private Long strategyId; + + + + public static ActivityTeamDetailResp setUpDatailResp(ActivityTeamInfoDetailModel activityTeamInfoDetailModel, Function> teamProjectSkuInfoResp){ + return ActivityTeamDetailResp.builder() + .id(activityTeamInfoDetailModel.getId()) + .name(activityTeamInfoDetailModel.getName()) + .productId(activityTeamInfoDetailModel.getProductId()) + .productImage(activityTeamInfoDetailModel.getProductImage()) + .introduction(activityTeamInfoDetailModel.getIntroduction()) + .unit(activityTeamInfoDetailModel.getUnit()) + .imageList(activityTeamInfoDetailModel.getImageList()) + .endTime(activityTeamInfoDetailModel.getEndTime()) + .sort(activityTeamInfoDetailModel.getSort()) + .content(activityTeamInfoDetailModel.getContent()) + .status(activityTeamInfoDetailModel.getStatus()) + .strategyType(activityTeamInfoDetailModel.getStrategyType()) + .strategyId(activityTeamInfoDetailModel.getStrategyId()) + .projectSkuInfoModelList(teamProjectSkuInfoResp.apply(activityTeamInfoDetailModel.getId())) + .build(); + } + +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoResp.java new file mode 100644 index 0000000..6d2a3ed --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoResp.java @@ -0,0 +1,11 @@ +package com.muyu.marketing.domain.resp; + +/** + * @program: daiseven-dong + * @description: l + * @author: CuiFu Bo + * @create: 2024-11-28 17:38 + **/ + +public class ActivityTeamInfoResp { +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamProjectSkuResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamProjectSkuResp.java new file mode 100644 index 0000000..34de463 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamProjectSkuResp.java @@ -0,0 +1,83 @@ +package com.muyu.marketing.domain.resp; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +/** + * @program: daiseven-dong + * @description: 商品规格list + * @author: CuiFu Bo + * @create: 2024-11-26 15:22 + **/ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ActivityTeamProjectSkuResp { + + 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 projectSkuInfoModelList; + /** + * 活动详情 + */ + private String content; + /** + * 活动状态 + */ + private String status; + /** + * 策略类型 + */ + private String strategyType; + /** + * 策略ID + */ + private Long strategyId; + + + +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuInfoResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuInfoResp.java new file mode 100644 index 0000000..52274c3 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuInfoResp.java @@ -0,0 +1,47 @@ +package com.muyu.marketing.domain.resp; + +import com.muyu.marketing.domain.model.ActivityTeamProductSkuInfoListModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class TeamProjectSkuInfoResp { + /** + * 规格Id + */ + private Long productSkuId; + /** + * 规格SKU + */ + private String productSku; + + /** + * 拼团价格 + */ + private BigDecimal teamPrice; + + /** + * 拼团库存 + */ + private Long teamStock; + + public static List teamProjectSkuInfoResp(List activityTeamProductSkuInfoListModel){ + return activityTeamProductSkuInfoListModel.stream().map(teamProductSkuInfoListModel ->{ + TeamProjectSkuInfoResp skuInfoResp = TeamProjectSkuInfoResp.builder() + .productSkuId(teamProductSkuInfoListModel.getProductId()) + .productSku(teamProductSkuInfoListModel.getProductSku()) + .teamPrice(teamProductSkuInfoListModel.getTeamPrice()) + .teamStock(teamProductSkuInfoListModel.getTeamStock()) + .build(); + return skuInfoResp; + }).toList(); + } +} diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/MuYuMarketIngApplication.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/MuYuMarketIngApplication.java index de0a3db..574bcca 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/MuYuMarketIngApplication.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/MuYuMarketIngApplication.java @@ -17,6 +17,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MuYuMarketIngApplication { public static void main (String[] args) { + SpringApplication.run(MuYuMarketIngApplication.class, args); + System.out.println("end------------"); } } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java index 61d12f9..842da7c 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java @@ -1,22 +1,28 @@ package com.muyu.marketing.team.controller; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; 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.marketing.domain.ActivityTeamInfo; +import com.muyu.marketing.domain.ActivityTeamOpenInfo; import com.muyu.marketing.domain.model.*; import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq; -import com.muyu.marketing.domain.req.ProjectSkuInfoAddReq; +import com.muyu.marketing.domain.req.ActivityTeamInfoUpdReq; +import com.muyu.marketing.domain.req.ActivityTeamUpdReq; import com.muyu.marketing.domain.req.TeamInfoListReq; import com.muyu.marketing.domain.resp.ActivityTeamDetailResp; +import com.muyu.marketing.domain.resp.ActivityTeamInfoResp; import com.muyu.marketing.domain.resp.TeamInfoListResp; import com.muyu.marketing.domain.resp.TeamProjectSkuInfoResp; import com.muyu.marketing.team.service.ActivityTeamInfoService; import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import javax.websocket.server.PathParam; import java.util.List; /** @@ -30,13 +36,14 @@ import java.util.List; public class ActivityTeamController { @Autowired - private ActivityTeamInfoService activityTeamInfoService;; + private ActivityTeamInfoService activityTeamInfoService; + ; @Autowired private ActivityTeamProductSkuInfoService activityTeamProductSkuInfoService; - /** * 查询营销团购活动列表 + * * @param teamInfoListReq 活动查询入参 * @return 活动响应结果 */ @@ -53,24 +60,58 @@ public class ActivityTeamController { } @PostMapping("/add") - public Result add (@RequestBody ActivityTeamInfoSaveReq projectSkuInfoAddReq){ - activityTeamInfoService.save(ActivityTeamInfoAddModel.dobuild(projectSkuInfoAddReq)); - + public Result add(@RequestBody ActivityTeamInfoSaveReq projectSkuInfoAddReq) { + activityTeamInfoService.save(ActivityTeamInfoAddModel.dobuild(projectSkuInfoAddReq)); return Result.success("ok"); } - @GetMapping("/id") - public Result findById(@RequestParam("id")Long id){ + /**id查找商品拼团活动详情 + * @param id + * @return + */ + @GetMapping("/id/{id}") + public Result findById(@PathVariable("id") Long id) { ActivityTeamInfoDetailModel teamInfo = activityTeamInfoService.findById(id); ActivityTeamDetailResp teamInfoDetailResp = ActivityTeamDetailResp.setUpDatailResp( teamInfo, teamId -> TeamProjectSkuInfoResp.teamProjectSkuInfoResp(activityTeamProductSkuInfoService.findByTeamId(teamId)) ); - return Result.success(teamInfoDetailResp); } -} + + /**修改商品拼团活动详情 + * @param activityTeamUpdReq + * @return + */ + @PutMapping + public Result upd(@RequestBody ActivityTeamUpdReq activityTeamUpdReq){ + activityTeamInfoService.update(ActivityTeamUpdModel.activityTeamUpdReq(activityTeamUpdReq)); + return Result.success(); + } + + + + @GetMapping("/slist") + public List select(){ + List llist = activityTeamInfoService.llist(); + return llist; + } + + /** + *客户端列表 + */ + @GetMapping("customerList") + public Result> customerList(TeamInfoListReq teamInfoListReq){ + PageHelper.startPage(teamInfoListReq.getPageNum(), teamInfoListReq.getPageSize()); + PageInfo pageInfo = new PageInfo<>(activityTeamInfoService.list()); + TableDataInfo tableDataInfo = new TableDataInfo<>(); + tableDataInfo.setRows(pageInfo.getList()); + tableDataInfo.setTotal(pageInfo.getTotal()); + return Result.success(tableDataInfo); + } + +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java index 86cc606..1acee6c 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java @@ -5,7 +5,9 @@ import com.muyu.common.core.domain.Result; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.model.*; +import com.muyu.marketing.domain.req.TeamInfoListReq; import com.muyu.marketing.domain.resp.ActivityTeamDetailResp; +import com.muyu.marketing.domain.resp.ActivityTeamInfoResp; import com.muyu.marketing.domain.resp.ActivityTeamProjectSkuResp; import java.util.List; @@ -25,5 +27,9 @@ public interface ActivityTeamInfoService extends IService { ActivityTeamInfoDetailModel findById(Long id); - public void upd(ActivityTeamUpdModel activityTeamUpdModelList); + public void update(ActivityTeamUpdModel activityTeamUpdModelList); + + + List llist(); + } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamOpenInfoService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamOpenInfoService.java index dcd70eb..e3fb5d4 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamOpenInfoService.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamOpenInfoService.java @@ -5,8 +5,12 @@ import com.muyu.common.core.enums.market.team.TeamOpenTypeEnum; import com.muyu.marketing.domain.ActivityTeamOpenInfo; import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; +import java.util.List; + public interface ActivityTeamOpenInfoService extends IService { + List selectlist( ); + /** * 通过活动ID和开团类型查询开团数量 * @param teamId 活动ID @@ -32,4 +36,8 @@ public interface ActivityTeamOpenInfoService extends IService activityTeamProductSkuAddModelList); - public List findByTeamId(Long teamId); - public void updsku(List activityTeamSKuModelList); + /** 根据业务模型进行团购批量修改 + * @param activityTeamProductSkuModelList + * @return + */ + public boolean updateBath(List activityTeamProductSkuModelList ); + + public boolean insertinto(ActivityTeamProductSkuAddModel activityTeamProductSkuAddModel); + + public boolean delBatch(List ids); } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java index 7dfc974..cc86082 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java @@ -1,6 +1,7 @@ package com.muyu.marketing.team.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.core.toolkit.Assert; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -13,7 +14,9 @@ import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; import com.muyu.marketing.domain.model.*; import com.muyu.marketing.domain.req.ProjectSkuInfoAddReq; +import com.muyu.marketing.domain.req.TeamInfoListReq; import com.muyu.marketing.domain.resp.ActivityTeamDetailResp; +import com.muyu.marketing.domain.resp.ActivityTeamInfoResp; import com.muyu.marketing.domain.resp.ActivityTeamProjectSkuResp; import com.muyu.marketing.team.mapper.ActivityTeamInfoMapper; import com.muyu.marketing.team.service.ActivityTeamInfoService; @@ -22,6 +25,7 @@ import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService; import com.muyu.product.domain.AsCategoryAttribute; import com.muyu.product.domain.CategoryInfo; import com.muyu.product.domain.req.CategoryInfoEditReq; +import org.checkerframework.checker.units.qual.A; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -48,7 +52,6 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.like(StringUtils.isNotEmpty(activityTeamInfoListQueryModel.getKeyWord()), ActivityTeamInfo::getName, activityTeamInfoListQueryModel.getKeyWord()); queryWrapper.like(StringUtils.isNotEmpty(activityTeamInfoListQueryModel.getStatus()), ActivityTeamInfo::getStatus, activityTeamInfoListQueryModel.getStatus()); - /** * Object -> 创建对象的时候进行的占用 * Result 以方法返回值为占用 @@ -58,17 +61,17 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl activityTeamInfoListModels = activityTeamInfoList.stream() .map(activityTeamInfo -> ActivityTeamInfoListModel.infoBuild(activityTeamInfo, (activityTeamInfoListModelBuilder) -> { - TeamProductDiscountPriceModel discountPrice = activityTeamProductSkuInfoService.getDiscountPrice(activityTeamInfo.getId()); +// TeamProductDiscountPriceModel discountPrice = activityTeamProductSkuInfoService.getDiscountPrice(activityTeamInfo.getId()); TeamProductStockModel teamProductStockModel = activityTeamProductSkuInfoService.getStock(activityTeamInfo.getId()); - Long teamOpenTypeNumber = activityTeamOpenInfoService.getTeamOpenTypeNumberByTeamId(activityTeamInfo.getId()); - Long teamInTypeNumber = activityTeamOpenInfoService.getTeamInTypeNumberByTeamId(activityTeamInfo.getId()); +// Long teamOpenTypeNumber = activityTeamOpenInfoService.getTeamOpenTypeNumberByTeamId(activityTeamInfo.getId()); +// Long teamInTypeNumber = activityTeamOpenInfoService.getTeamInTypeNumberByTeamId(activityTeamInfo.getId()); return activityTeamInfoListModelBuilder - .openTeamNumber(teamOpenTypeNumber) - .addTeamNumber(teamInTypeNumber) - .attendNumber(teamOpenTypeNumber + teamInTypeNumber) - .teamPrice(discountPrice.getTeamPrice()) - .productPrice(discountPrice.getProductPrice()) +// .openTeamNumber(teamOpenTypeNumber) +// .addTeamNumber(teamInTypeNumber) +// .attendNumber(teamOpenTypeNumber + teamInTypeNumber) +// .teamPrice(discountPrice.getTeamPrice()) +// .productPrice(discountPrice.getProductPrice()) .teamStock(teamProductStockModel.getTeamStock()) .remainStock(teamProductStockModel.getRemainStock()) .build(); @@ -86,7 +89,8 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl projectSkuInfoModelList = activityTeamDetailResp.getProjectSkuInfoModelList(); -// -// LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); -// queryWrapper.eq(ActivityTeamProductSkuInfo::getTeamId,id); -// -// -// activityTeamProductSkuInfoService.updateBatchById(activityTeamDetailResp,) -// -// return null; -// } @Override public ActivityTeamInfoDetailModel findById(Long id) { return ActivityTeamInfoDetailModel.activityTeamInfoDetailModel(this.getById(id)); } - @Override - public void upd(ActivityTeamUpdModel activityTeamUpdModelList) { - ActivityTeamInfo activityTeamInfo = ActivityTeamInfo.updModelBuild(activityTeamUpdModelList); - boolean update = this.updateById(activityTeamInfo); - List projectSkuInfoAddReqList = activityTeamUpdModelList.getProjectSkuInfoAddReqList(); +// @Override +// public boolean update(ActivityTeamUpdModel activityTeamUpdModelList) { +// LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); +// updateWrapper.set(ActivityTeamProductSkuInfo::getTeamPrice,activityTeamUpdModelList.getTeamPrice()); +// updateWrapper.set(ActivityTeamProductSkuInfo::getTeamStock,activityTeamUpdModelList.getTeamStock()); +// updateWrapper.set(ActivityTeamProductSkuInfo::getRemainStock,activityTeamUpdModelList.getRemainStock()); +// updateWrapper.eq( ActivityTeamProductSkuInfo::getId ,activityTeamUpdModelList.getId()); +// +// return this.update(activityTeamUpdModelList); +// } - projectSkuInfoAddReqList.forEach(model->{ - model.setProductId(activityTeamInfo.getProductId()); - model.setTeamId(activityTeamInfo.getId()); - }); + + @Override + public void update(ActivityTeamUpdModel activityTeamUpdModel) { + + ActivityTeamInfo activityTeamInfo = ActivityTeamInfo.updModelBuild(activityTeamUpdModel); + //修改拼团活动表 + this.updateById(activityTeamInfo); + //批量修改商品sku列表 + activityTeamProductSkuInfoService.updateBath(activityTeamUpdModel.getActivityTeamProductSkuModel().getActivityTeamProductSkuModelList()); + //根据活动规格批量删除 + activityTeamProductSkuInfoService.removeBatchByIds(activityTeamUpdModel.getActivityTeamProductSkuModel().getSkuIdList()); + + List teamProductSkuAddModelList = activityTeamUpdModel.getActivityTeamProductSkuModel().getActivityTeamProductSkuAddModelList(); + //批量添加商品规格 + activityTeamProductSkuInfoService.saveBatch(teamProductSkuAddModelList.stream().map(ActivityTeamProductSkuInfo::addProductBuildModel).toList()); } + @Override + public List llist() { + + return this.list(); + } + + } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamOpenInfoServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamOpenInfoServiceImpl.java index e685dd0..289fa58 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamOpenInfoServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamOpenInfoServiceImpl.java @@ -8,10 +8,17 @@ import com.muyu.marketing.team.mapper.ActivityTeamOpenInfoMapper; import com.muyu.marketing.team.service.ActivityTeamOpenInfoService; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class ActivityTeamOpenInfoServiceImpl extends ServiceImpl implements ActivityTeamOpenInfoService { + @Override + public List selectlist( ) { + + return this.list(); + } /** * 通过活动ID和开团类型查询开团数量 * @@ -26,5 +33,4 @@ public class ActivityTeamOpenInfoServiceImpl extends ServiceImpl activityTeamSKuModelList) { - + public boolean updateBath(List activityTeamProductSkuModelList) { + return this.updateBatchById(activityTeamProductSkuModelList.stream().map(ActivityTeamProductSkuInfo::updModelBUild).toList()); } + @Override + public boolean delBatch(List ids) { + this.removeBatchByIds(ids); + return true; + } + @Override + public boolean insertinto(ActivityTeamProductSkuAddModel activityTeamProductSkuAddModel) { + return false; + } + } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionHundredServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionHundredServiceImpl.java index 0091d59..e13b4ae 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionHundredServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionHundredServiceImpl.java @@ -8,7 +8,10 @@ import com.muyu.marketing.team.mapper.TeamStrategyExemptionMapper; import com.muyu.marketing.team.service.TeamStrategyExemptionHundredService; import com.muyu.marketing.team.service.TeamStrategyExemptionService; import org.springframework.stereotype.Service; - +/** + * 百人 + * + */ @Service public class TeamStrategyExemptionHundredServiceImpl extends ServiceImpl implements TeamStrategyExemptionHundredService { diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java index 5125ec4..3ba56d6 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionOrdinaryServiceImpl.java @@ -5,7 +5,10 @@ import com.muyu.marketing.domain.TeamStrategyExemptionOrdinary; import com.muyu.marketing.team.mapper.TeamStrategyExemptionOrdinaryMapper; import com.muyu.marketing.team.service.TeamStrategyExemptionOrdinaryService; import org.springframework.stereotype.Service; - +/** + * 普通 + * + */ @Service public class TeamStrategyExemptionOrdinaryServiceImpl extends ServiceImpl implements TeamStrategyExemptionOrdinaryService { diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionServiceImpl.java index 829f618..e6feac0 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/TeamStrategyExemptionServiceImpl.java @@ -5,7 +5,10 @@ import com.muyu.marketing.domain.TeamStrategyExemption; import com.muyu.marketing.team.mapper.TeamStrategyExemptionMapper; import com.muyu.marketing.team.service.TeamStrategyExemptionService; import org.springframework.stereotype.Service; - +/** + * 免单 + * + */ @Service public class TeamStrategyExemptionServiceImpl extends ServiceImpl implements TeamStrategyExemptionService { diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/sragety/AcitivtyTeamStrategy.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/sragety/AcitivtyTeamStrategy.java new file mode 100644 index 0000000..cedced3 --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/sragety/AcitivtyTeamStrategy.java @@ -0,0 +1,39 @@ +package com.muyu.marketing.team.sragety; + +/** + * @program: daiseven-dong + * @description: 团活动策略 + * @author: CuiFu Bo + * @create: 2024-11-29 20:03 + **/ + +public interface AcitivtyTeamStrategy { + + + /**开团 + * @param activityTeamId + */ + public void openTeam(Long activityTeamId); + + /**申请加团 + * @param teamId + */ + public void applyTeam(Long teamId); + + /**参团 + * @param teamId + * @param TeamNumber + */ + public void addTeam(Long teamId, String TeamNumber); + + + /**退团 + * @param teamId + */ + public void backTeam(Long teamId); + + /**结算团 + * @param teamId + */ + public void settle(Long teamId); +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/sragety/impl/ActivityTeamStrategyImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/sragety/impl/ActivityTeamStrategyImpl.java new file mode 100644 index 0000000..c68aabf --- /dev/null +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/sragety/impl/ActivityTeamStrategyImpl.java @@ -0,0 +1,55 @@ +package com.muyu.marketing.team.sragety.impl; + +import com.muyu.common.core.exception.ServiceException; +import com.muyu.common.core.utils.SpringUtils; +import com.muyu.marketing.team.sragety.AcitivtyTeamStrategy; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Service; + +/** + * @program: daiseven-dong + * @description: 团购执行器 + * @author: CuiFu Bo + * @create: 2024-11-29 20:34 + **/ +@Service +@Primary +public class ActivityTeamStrategyImpl implements AcitivtyTeamStrategy { + + + @Override + public void openTeam(Long activityTeamId) { + String activityTeamType = null; + if (activityTeamId == null) { + throw new ServiceException("activityTeamId is null"); + }else if (activityTeamId == 0) { + activityTeamType = "team-strategy-exemption"; + }else if (activityTeamId == 1) { + activityTeamType = "team-strategy-hundred"; + }else if (activityTeamId == 2) { + activityTeamType = "team-strategy-ordinary"; + } + AcitivtyTeamStrategy activityTeamStrategy = SpringUtils.getBean(activityTeamType); + activityTeamStrategy.openTeam(activityTeamId); + } + + @Override + public void applyTeam(Long teamId) { + + } + + @Override + public void addTeam(Long teamId, String TeamNumber) { + + } + + @Override + public void backTeam(Long teamId) { + + } + + @Override + public void settle(Long teamId) { + + } +} \ No newline at end of file diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml index e5bb132..ac33119 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 9286 + port: 9256 # Spring spring: @@ -16,6 +16,7 @@ spring: # 服务注册地址 server-addr: 1.94.98.9:8848 namespace: asdasd + group: DEFAULT_GROUP config: # 配置中心地址 server-addr: 1.94.98.9:8848 @@ -25,6 +26,7 @@ spring: # 共享配置 shared-configs: - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} + group: DEFAULT_GROUP logging: level: com.muyu.marketing.mapper: DEBUG diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeGroupController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeGroupController.java index 71e0b2b..4981d51 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeGroupController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/AttributeGroupController.java @@ -68,16 +68,16 @@ public class AttributeGroupController extends BaseController { util.exportExcel(response, list, "属性组数据"); } - /** - * 获取属性组详细信息 - */ - @ApiOperation("获取属性组详细信息") - @RequiresPermissions("product:attributeGroup:query") - @GetMapping(value = "/{id}") - @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) - public Result getInfo(@PathVariable("id") Long id) { - return Result.success(attributeGroupService.getUpdById(id)); - } +// /** +// * 获取属性组详细信息 +// */ +// @ApiOperation("获取属性组详细信息") +// @RequiresPermissions("product:attributeGroup:query") +// @GetMapping(value = "/{id}") +// @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) +// public Result getInfo(@PathVariable("id") Long id) { +// return Result.success(attributeGroupService.getUpdById(id)); +// } /** * 新增属性组 @@ -92,17 +92,33 @@ public class AttributeGroupController extends BaseController { ); } +// /** +// * 修改属性组 +// */ +// @RequiresPermissions("product:attributeGroup:edit") +// @Log(title = "属性组", businessType = BusinessType.UPDATE) +// @PutMapping("/{id}") +// @ApiOperation("修改属性组") +// public Result edit(@PathVariable Long id, @RequestBody AttributeGroupEditReq attributeGroupEditReq) { +// +// return toAjax(attributeGroupService.updateById(AttributeGroup.editBuild(id,attributeGroupEditReq))); +//// return attributeGroupService.updatebyidTwo(id,attributeGroupEditReq); +// } + /** * 修改属性组 */ @RequiresPermissions("product:attributeGroup:edit") @Log(title = "属性组", businessType = BusinessType.UPDATE) - @PutMapping("/{id}") + @PutMapping("") @ApiOperation("修改属性组") - public Result edit(@PathVariable Long id, @RequestBody AttributeGroupEditReq attributeGroupEditReq) { - return toAjax(attributeGroupService.updateById(AttributeGroup.editBuild(id,attributeGroupEditReq))); + public Result edit(@PathVariable Integer[] attrbuIdList, @RequestBody AttributeGroup attributeGroup) { + return attributeGroupService.upd(attrbuIdList, attributeGroup); } + + + /** * 删除属性组 */ @@ -114,4 +130,18 @@ public class AttributeGroupController extends BaseController { public Result remove(@PathVariable List ids) { return toAjax(attributeGroupService.removeBatchByIds(ids)); } + + + @PutMapping("changeStatus") + public Result editStatus(@RequestBody AttributeGroup attributeGroup){ + + return toAjax(attributeGroupService.changeStatus(attributeGroup)); + } + + + @GetMapping(value = "/{id}") + public Result findById(@PathVariable Long id){ + return attributeGroupService.findById(id); + } + } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentInfoController.java index 9500949..1394e85 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/CommentInfoController.java @@ -3,6 +3,7 @@ package com.muyu.product.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import io.swagger.annotations.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -108,4 +109,13 @@ public class CommentInfoController extends BaseController { public Result remove(@PathVariable List ids) { return toAjax(commentInfoService.removeBatchByIds(ids)); } + + //根据商品id查找评论 + @GetMapping("/find/{proudctId}") + public List find(@PathVariable Integer proudctId){ + + List findddd = commentInfoService.findddd(proudctId); + return findddd; + } + } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectSkuInfoController.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectSkuInfoController.java index 6ad77df..3c3c92a 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectSkuInfoController.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/controller/ProjectSkuInfoController.java @@ -130,4 +130,7 @@ public class ProjectSkuInfoController extends BaseController { public Result remove(@PathVariable List ids) { return toAjax(projectSkuInfoService.removeBatchByIds(ids)); } + + + } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeGroupMapper.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeGroupMapper.java index 9f1acd3..192e839 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeGroupMapper.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/mapper/AttributeGroupMapper.java @@ -12,4 +12,5 @@ import com.muyu.product.domain.AttributeGroup; */ public interface AttributeGroupMapper extends BaseMapper { + } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeGroupService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeGroupService.java index 5e50f89..a7161d9 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeGroupService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/AttributeGroupService.java @@ -2,11 +2,13 @@ package com.muyu.product.service; import java.util.List; +import com.muyu.common.core.domain.Result; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.product.domain.AttributeGroup; import com.baomidou.mybatisplus.extension.service.IService; import com.muyu.product.domain.AttributeInfo; import com.muyu.product.domain.model.AttributeGroupSaveModel; +import com.muyu.product.domain.req.AttributeGroupEditReq; import com.muyu.product.domain.resp.AttributeGroupPageResp; import com.muyu.product.domain.resp.AttributeGroupUpdResp; @@ -46,4 +48,17 @@ public interface AttributeGroupService extends IService { * @return */ AttributeGroupUpdResp getUpdById(Long id); + + + /**修改属性组状态 + * @param attributeGroup + * @return + */ + int changeStatus(AttributeGroup attributeGroup); + + Result updatebyidTwo(Long id, AttributeGroupEditReq attributeGroupEditReq); + + Result upd(Integer[] ids, AttributeGroup attributeGroup); + + Result findById(Long id); } 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..165be37 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 @@ -3,6 +3,7 @@ package com.muyu.product.service; import java.util.List; import com.muyu.product.domain.CommentInfo; import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.web.bind.annotation.RequestBody; /** * 商品评论Service接口 @@ -18,5 +19,5 @@ public interface CommentInfoService extends IService { * @return 商品评论集合 */ public List list(CommentInfo commentInfo); - + List findddd( Integer proudctId); } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java index 0924c9e..91deec7 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/ProjectInfoService.java @@ -12,7 +12,7 @@ import com.muyu.product.domain.resp.ProjectDetailResp; * @author DongZeLiang * @date 2024-02-27 */ -public interface ProjectInfoService extends IService { +public interface ProjectInfoService extends IService { /** * 查询商品信息列表 * diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeGroupServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeGroupServiceImpl.java index cbb3a6a..01e1836 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeGroupServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/AttributeGroupServiceImpl.java @@ -3,14 +3,17 @@ package com.muyu.product.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.pagehelper.PageInfo; +import com.muyu.common.core.domain.Result; import com.muyu.common.core.utils.ObjUtils; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.product.domain.AsAttributeGroup; import com.muyu.product.domain.AttributeGroup; import com.muyu.product.domain.AttributeInfo; import com.muyu.product.domain.model.AttributeGroupSaveModel; +import com.muyu.product.domain.req.AttributeGroupEditReq; import com.muyu.product.domain.resp.AttributeGroupPageResp; import com.muyu.product.domain.resp.AttributeGroupUpdResp; +import com.muyu.product.mapper.AsAttributeGroupMapper; import com.muyu.product.mapper.AttributeGroupMapper; import com.muyu.product.service.AsAttributeGroupService; import com.muyu.product.service.AttributeGroupService; @@ -38,6 +41,10 @@ public class AttributeGroupServiceImpl extends ServiceImpl updatebyidTwo(Long id, AttributeGroupEditReq attributeGroupEditReq) { + return null; + } + + @Override + public Result upd(Integer[] ids, AttributeGroup attributeGroup) { + //修改属性组 + attributeGroupMapper.updateById(attributeGroup); + //删除属性与组中间表 as_attribute_group + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AsAttributeGroup::getGroupId,attributeGroup.getId()); + asAttributeGroupMapper.delete(queryWrapper); + //添加属性与组中间表 as_attribute_group +// for (Integer id : ids) { +// attributeGroupMapper.saveAsAttributeGroup(attributeGroup.getId(),id); +// } + return Result.success("修改成功"); + } + + @Override + public Result findById(Long id) { + return null; + } + +// @Override +// public Result findById(Long id) { +// attributeGroupMapper.find +// return null; +// } } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CommentInfoServiceImpl.java b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CommentInfoServiceImpl.java index 365a5c4..e54b785 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CommentInfoServiceImpl.java +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/java/com/muyu/product/service/impl/CommentInfoServiceImpl.java @@ -54,4 +54,12 @@ public class CommentInfoServiceImpl extends ServiceImpl findddd(Integer proudctId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CommentInfo::getProjectId,proudctId); + List list = this.list(wrapper); + return list; + } } diff --git a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml index e8bd02d..fd018b5 100644 --- a/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 9302 + port: 9333 # Spring spring: @@ -14,10 +14,12 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 1.94.98.9:8848 + namespace: asdasd config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 1.94.98.9:8848 + namespace: asdasd # 配置文件格式 file-extension: yml # 共享配置 diff --git a/muyu-modules/muyu-system/src/main/resources/bootstrap.yml b/muyu-modules/muyu-system/src/main/resources/bootstrap.yml index a66fd4c..00ef664 100644 --- a/muyu-modules/muyu-system/src/main/resources/bootstrap.yml +++ b/muyu-modules/muyu-system/src/main/resources/bootstrap.yml @@ -1,6 +1,6 @@ # Tomcat server: - port: 9201 + port: 9296 # Spring spring: @@ -14,10 +14,13 @@ spring: nacos: discovery: # 服务注册地址 - server-addr: 127.0.0.1:8848 + server-addr: 1.94.98.9:8848 + namespace: asdasd config: # 配置中心地址 - server-addr: 127.0.0.1:8848 + server-addr: 1.94.98.9:8848 + namespace: asdasd + # 配置文件格式 file-extension: yml # 共享配置