Compare commits

...

20 Commits

Author SHA1 Message Date
成英杰 7eaf458690 2204A-cyj 2024-12-05 09:43:06 +08:00
成英杰 f91f2c5340 2204A-cyj() 2024-12-02 20:59:33 +08:00
成英杰 ce1b8f30bd 2204A-cyj(入团) 2024-12-01 19:59:52 +08:00
成英杰 341383d398 Merge branch 'master' into 1127/chengyingjie
# Conflicts:
#	muyu-auth/src/main/resources/bootstrap.yml
#	muyu-gateway/src/main/resources/bootstrap.yml
#	muyu-modules/muyu-file/src/main/resources/bootstrap.yml
#	muyu-modules/muyu-gen/src/main/resources/bootstrap.yml
#	muyu-modules/muyu-job/src/main/resources/bootstrap.yml
#	muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java
#	muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamInfoUpdModel.java
#	muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuUpdModel.java
#	muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/ActivityTeamInfoUpdReq.java
#	muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java
#	muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamProductSkuInfoServiceImpl.java
#	muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml
#	muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml
#	muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/bootstrap.yml
#	muyu-modules/muyu-system/src/main/resources/bootstrap.yml
#	muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml
2024-12-01 19:39:43 +08:00
成英杰 517f694ec2 2204A-cyj 2024-12-01 15:22:16 +08:00
成英杰 d1d9109b43 2204A-cyj(回显) 2024-11-30 14:28:33 +08:00
成英杰 c02afc9a93 2204A-cyj(卡片) 2024-11-29 17:05:43 +08:00
成英杰 e4580e8bd1 2204A-cyj(客户端拼团列表) 2024-11-29 00:15:23 +08:00
成英杰 46a7e2e8db 2204A-cyj(11.27修改) 2024-11-27 22:32:07 +08:00
成英杰 0a636c4728 2204A-cyj(11.27分支) 2024-11-27 16:44:33 +08:00
成英杰 f10ee15063 Merge branch 'master' into 1127/chengyingjie
# Conflicts:
#	muyu-auth/src/main/resources/bootstrap.yml
#	muyu-gateway/src/main/resources/bootstrap.yml
#	muyu-modules/muyu-file/src/main/resources/bootstrap.yml
#	muyu-modules/muyu-gen/src/main/resources/bootstrap.yml
#	muyu-modules/muyu-job/src/main/resources/bootstrap.yml
#	muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamInfo.java
#	muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java
#	muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/TeamProductDiscountPriceModel.java
#	muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/req/TeamInfoListReq.java
#	muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java
#	muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java
#	muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java
#	muyu-modules/muyu-marketing/marketing-server/src/main/resources/bootstrap.yml
#	muyu-modules/muyu-product/muyu-product-server/src/main/resources/bootstrap.yml
#	muyu-modules/muyu-shop-cart/muyu-shop-cart-server/src/main/resources/bootstrap.yml
#	muyu-modules/muyu-system/src/main/resources/bootstrap.yml
#	muyu-visual/muyu-monitor/src/main/resources/bootstrap.yml
2024-11-27 16:06:23 +08:00
成英杰 31a678e88e 2204A-cyj(11.27分支) 2024-11-27 15:54:35 +08:00
成英杰 0d177ec339 2204A-cyj(回显) 2024-11-27 14:25:25 +08:00
笨蛋 46a56bd7aa 2204A-cyj(回显) 2024-11-26 22:40:54 +08:00
笨蛋 0b3fc8cd50 2204A-cyj(回显) 2024-11-26 20:49:42 +08:00
笨蛋 0514f04a43 2204A-cyj(回显) 2024-11-26 20:43:29 +08:00
笨蛋 f5d50ce2cf Merge branch 'master' into 1126/chengyingjie 2024-11-26 12:31:50 +08:00
笨蛋 2855601c13 Merge branch 'master' into 1125/chengyingjie 2024-11-26 11:20:20 +08:00
笨蛋 d3a93de52b Merge branch 'master' into 1125/chengyingjie 2024-11-26 10:53:47 +08:00
笨蛋 f9384d3b16 2204A-cyj-启动 2024-11-25 21:51:26 +08:00
113 changed files with 2153 additions and 941 deletions

21
doc/加团.md 100644
View File

@ -0,0 +1,21 @@
# 拼团活动列表(活动页面)
# 拼团详情(展示活动页面)
#优惠券
# 开团/加团(用户拼团页面)
#选择商品(选择拼团的商品页面)
#拼团中 (等待拼团页面)
#品团 成功
# 订单
# 支付 成功/失败
# 拼团
商品详情
拼团活动详情
拼团类型
评论

View File

@ -0,0 +1,40 @@
{
"拼团":{
"活动id": "Long",
"商品ID": "Long",
"商品图片": "String",
"活动名称": "String",
"活动简介": "String",
"商品单位": "String",
"商品的轮播图": [
"String",
"String"
],
"活动状态": "String",
"排序": "Integer",
"详情": "String",
"团购策略": "String",
"团购类型": "String",
"活动时间": "date"
},
"商品规格List": [
{
"策略ID": "Long",
"规格主键": "Long",
"规格SKU": "String",
"拼团价格": "BigDecimal",
"拼团库存": "Long"
},
{
"策略ID": "Long",
"规格主键": "Long",
"规格SKU": "String",
"拼团价格": "BigDecimal",
"拼团库存": "Long"
}
]
}

View File

@ -19,8 +19,10 @@
"拼团库存": "Long" "拼团库存": "Long"
} }
], ],
"删除商品规格IdList" : ["Long", "Long"], "删除商品规格IdList" : [
"添加商品规格List": [ "Long", "Long"
],
"添加商品规格List": [ //
"商品SKU": "String", "商品SKU": "String",
"商品价格": "BigDecimal", "商品价格": "BigDecimal",
"拼团价格": "BigDecimal", "拼团价格": "BigDecimal",

View File

@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 127.0.0.1:8848 server-addr: 60.204.150.30:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 127.0.0.1:8848 server-addr: 60.204.150.30:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -2,6 +2,7 @@ package com.muyu.common.core.web.page;
import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.utils.StringUtils;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
@ -19,12 +20,12 @@ public class PageDomain {
/** /**
* *
*/ */
private Integer pageNum; private Integer pageNum=1;
/** /**
* *
*/ */
private Integer pageSize; private Integer pageSize=3;
/** /**
* *

View File

@ -0,0 +1,57 @@
package com.muyu.gateway.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.http.server.reactive.ServerHttpResponse;
import org.springframework.web.cors.reactive.CorsUtils;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.WebFilter;
import org.springframework.web.server.WebFilterChain;
import reactor.core.publisher.Mono;
/**
*
*
* @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);
};
}
}

View File

@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 127.0.0.1:8848 server-addr: 60.204.150.30:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 127.0.0.1:8848 server-addr: 60.204.150.30:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置
@ -28,12 +28,12 @@ spring:
eager: true eager: true
transport: transport:
# 控制台地址 # 控制台地址
dashboard: 127.0.0.1:8718 dashboard: 60.204.150.30:8718
# nacos配置持久化 # nacos配置持久化
datasource: datasource:
ds1: ds1:
nacos: nacos:
server-addr: 127.0.0.1:8848 server-addr: 60.204.150.30:8848
dataId: sentinel-muyu-gateway dataId: sentinel-muyu-gateway
groupId: DEFAULT_GROUP groupId: DEFAULT_GROUP
data-type: json data-type: json

View File

@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 127.0.0.1:8848 server-addr: 60.204.150.30:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 127.0.0.1:8848 server-addr: 60.204.150.30:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 127.0.0.1:8848 server-addr: 60.204.150.30:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 127.0.0.1:8848 server-addr: 60.204.150.30:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -14,10 +14,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 127.0.0.1:8848 server-addr: 60.204.150.30:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 127.0.0.1:8848 server-addr: 60.204.150.30:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -19,6 +19,11 @@
<dependencies> <dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>
<!-- 系统公共core --> <!-- 系统公共core -->
<dependency> <dependency>
<groupId>com.muyu</groupId> <groupId>com.muyu</groupId>

View File

@ -5,13 +5,17 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoSaveModel; import lombok.AllArgsConstructor;
import com.muyu.marketing.domain.model.ActivityTeamInfoUpdModel; import lombok.Data;
import lombok.*; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import java.util.Date; import java.util.Date;
/**
*
*/
@Data @Data
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor
@ -32,7 +36,8 @@ public class ActivityTeamInfo extends BaseEntity {
/** /**
* ID * ID
*/ */
private long productId; private Long productId;
/** /**
* *
*/ */
@ -95,38 +100,4 @@ public class ActivityTeamInfo extends BaseEntity {
.strategyId(activityTeamInfoAddModel.getStrategyId()) .strategyId(activityTeamInfoAddModel.getStrategyId())
.build(); .build();
} }
public static ActivityTeamInfo teamSaveBuild(ActivityTeamInfoSaveModel activityTeamInfoSaveModel) {
return ActivityTeamInfo.builder()
.name(activityTeamInfoSaveModel.getName())
.productId(activityTeamInfoSaveModel.getProductId())
.productImage(activityTeamInfoSaveModel.getProductImage())
.introduction(activityTeamInfoSaveModel.getIntroduction())
.unit(activityTeamInfoSaveModel.getUnit())
.imageList(activityTeamInfoSaveModel.getImageList())
.endTime(activityTeamInfoSaveModel.getEndTime())
.sort(activityTeamInfoSaveModel.getSort())
.content(activityTeamInfoSaveModel.getContent())
.status(activityTeamInfoSaveModel.getStatus())
.strategyType(activityTeamInfoSaveModel.getStrategyType())
.strategyId(activityTeamInfoSaveModel.getStrategyId())
.build();
}
public static ActivityTeamInfo TeamUpdateBuild (ActivityTeamInfoUpdModel activityTeamInfoUpdModel){
return ActivityTeamInfo.builder()
.id(activityTeamInfoUpdModel.getId())
.name(activityTeamInfoUpdModel.getName())
.productId(activityTeamInfoUpdModel.getProductId())
.productImage(activityTeamInfoUpdModel.getProductImage())
.introduction(activityTeamInfoUpdModel.getIntroduction())
.unit(activityTeamInfoUpdModel.getUnit())
.imageList(activityTeamInfoUpdModel.getImageList())
.endTime(activityTeamInfoUpdModel.getEndTime())
.sort(activityTeamInfoUpdModel.getSort())
.content(activityTeamInfoUpdModel.getContent())
.status(activityTeamInfoUpdModel.getStatus())
.strategyType(activityTeamInfoUpdModel.getStrategyType())
.strategyId(activityTeamInfoUpdModel.getStrategyId())
.build();
}
} }

View File

@ -4,11 +4,16 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;
import lombok.*; import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import java.util.Date; import java.util.Date;
/**
*
*/
@Data @Data
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor
@ -45,7 +50,7 @@ public class ActivityTeamOpenInfo extends BaseEntity {
/** /**
* ID * ID
*/ */
private String productId; private Long productId;
/** /**
* *
*/ */

View File

@ -5,14 +5,18 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel; import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuModel;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuReqModel;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuUpdModel; import com.muyu.marketing.domain.model.ActivityTeamProductSkuUpdModel;
import lombok.*; import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import java.math.BigDecimal; import java.math.BigDecimal;
/**
*
*/
@Data @Data
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor
@ -51,6 +55,7 @@ public class ActivityTeamProductSkuInfo extends BaseEntity {
*/ */
private BigDecimal teamPrice; private BigDecimal teamPrice;
/** /**
* *
* @param activityTeamProductSkuAddModel * @param activityTeamProductSkuAddModel
@ -61,12 +66,11 @@ public class ActivityTeamProductSkuInfo extends BaseEntity {
.productId(activityTeamProductSkuAddModel.getProductId()) .productId(activityTeamProductSkuAddModel.getProductId())
.teamId(activityTeamProductSkuAddModel.getTeamId()) .teamId(activityTeamProductSkuAddModel.getTeamId())
.teamStock(activityTeamProductSkuAddModel.getTeamStock()) .teamStock(activityTeamProductSkuAddModel.getTeamStock())
.productSku(activityTeamProductSkuAddModel.getSku())
.remainStock(activityTeamProductSkuAddModel.getTeamStock())
.teamPrice(activityTeamProductSkuAddModel.getTeamPrice()) .teamPrice(activityTeamProductSkuAddModel.getTeamPrice())
.build(); .build();
} }
public static ActivityTeamProductSkuInfo updateModelBuild(ActivityTeamProductSkuReqModel activityTeamProductSkuReqModel) {
public static ActivityTeamProductSkuInfo updateModelBuild(ActivityTeamProductSkuUpdModel activityTeamProductSkuReqModel) {
return ActivityTeamProductSkuInfo.builder() return ActivityTeamProductSkuInfo.builder()
.id(activityTeamProductSkuReqModel.getId()) .id(activityTeamProductSkuReqModel.getId())
.productId(activityTeamProductSkuReqModel.getProductId()) .productId(activityTeamProductSkuReqModel.getProductId())
@ -75,14 +79,4 @@ public class ActivityTeamProductSkuInfo extends BaseEntity {
.teamPrice(activityTeamProductSkuReqModel.getTeamPrice()) .teamPrice(activityTeamProductSkuReqModel.getTeamPrice())
.build(); .build();
} }
public static ActivityTeamProductSkuInfo updModelBuild(ActivityTeamProductSkuUpdModel teamProductSkuUpdModel){
return ActivityTeamProductSkuInfo.builder()
.id(teamProductSkuUpdModel.getId())
.teamPrice(teamProductSkuUpdModel.getTeamPrice())
.teamStock(teamProductSkuUpdModel.getTeamStock())
.remainStock(teamProductSkuUpdModel.getTeamStock())
.build();
}
} }

View File

@ -4,9 +4,14 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;
import lombok.*; import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
/**
*
*/
@Data @Data
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor

View File

@ -4,9 +4,16 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;
import lombok.*; import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
/**
*
*/
@Data @Data
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor

View File

@ -4,9 +4,15 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;
import lombok.*; import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
/**
*
*/
@Data @Data
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor

View File

@ -1,102 +0,0 @@
package com.muyu.marketing.domain.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.marketing.domain.ActivityTeamInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
import java.util.function.Function;
/**
* @program: 2204a-cloud-server
* @description:
* @author: AoCi Tian
* @create: 2024-11-26 16:00
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ActivityTeamDetailModel {
/**
* id
*/
private Long id;
/**
*
*/
private String name;
/**
* ID
*/
private Long productId;
/**
*
*/
private String productImage;
/**
*
*/
private String introduction;
/**
*
*/
private String unit;
/**
*
*/
private String imageList;
/**
*
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
private Date endTime;
/**
*
*/
private Long sort;
/**
* SkU
*/
private List<ActivityTeamProductSkuModel> projectSkuInfoAddReqList;
/**
*
*/
private String content;
/**
*
*/
private String status;
/**
*
*/
private String strategyType;
/**
* ID
*/
private Long strategyId;
public static ActivityTeamDetailModel findSkuSumList (ActivityTeamInfo activityTeamInfo,
Function<ActivityTeamDetailModel.ActivityTeamDetailModelBuilder, ActivityTeamDetailModel> function){
return function.apply(ActivityTeamDetailModel.builder()
.id(activityTeamInfo.getId())
.name(activityTeamInfo.getName())
.productId(activityTeamInfo.getProductId())
.productImage(activityTeamInfo.getProductImage())
.introduction(activityTeamInfo.getIntroduction())
.unit(activityTeamInfo.getUnit())
.imageList(activityTeamInfo.getImageList())
.endTime(activityTeamInfo.getEndTime())
.sort(activityTeamInfo.getSort())
.content(activityTeamInfo.getContent())
.status(activityTeamInfo.getStatus())
.strategyType(activityTeamInfo.getStrategyType())
.strategyId(activityTeamInfo.getStrategyId())
);
}
}

View File

@ -10,7 +10,6 @@ import lombok.NoArgsConstructor;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.function.Supplier;
/** /**
* *
@ -101,4 +100,6 @@ public class ActivityTeamInfoAddModel {
.toList() .toList()
).build(); ).build();
} }
} }

View File

@ -1,13 +1,13 @@
package com.muyu.marketing.domain.model; package com.muyu.marketing.domain.model;
import com.muyu.common.core.web.model.QueryModel;
import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.ActivityTeamInfo;
import lombok.*; import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.function.Consumer;
import java.util.function.Function; import java.util.function.Function;
/** /**
@ -49,6 +49,8 @@ public class ActivityTeamInfoListModel {
* *
*/ */
private String productImage; private String productImage;
/** 商品id*/
private Long productId;
/** /**
* *
*/ */
@ -71,21 +73,21 @@ public class ActivityTeamInfoListModel {
private Long teamStock; private Long teamStock;
public static ActivityTeamInfoListModel infoBuild(ActivityTeamInfo activityTeamInfo, Function<ActivityTeamInfoListModel.ActivityTeamInfoListModelBuilder, ActivityTeamInfoListModel> function) { public static ActivityTeamInfoListModel infoBuild(ActivityTeamInfo activityTeamInfo, Function<ActivityTeamInfoListModelBuilder, ActivityTeamInfoListModel> function) {
ActivityTeamInfoListModel activityTeamInfoListModel = ActivityTeamInfoListModel.builder() // ActivityTeamInfoListModel activityTeamInfoListModel = ActivityTeamInfoListModel.builder()
.id(activityTeamInfo.getId()) // .id(activityTeamInfo.getId())
.name(activityTeamInfo.getName()) // .name(activityTeamInfo.getName())
// .openTeamNumber(teamOpenTypeNumber) //// .openTeamNumber(teamOpenTypeNumber)
// .addTeamNumber(teamInTypeNumber) //// .addTeamNumber(teamInTypeNumber)
// .attendNumber(teamOpenTypeNumber + teamInTypeNumber) //// .attendNumber(teamOpenTypeNumber + teamInTypeNumber)
.endTime(activityTeamInfo.getEndTime()) // .endTime(activityTeamInfo.getEndTime())
.productImage(activityTeamInfo.getProductImage()) // .productImage(activityTeamInfo.getProductImage())
// .teamPrice(discountPrice.getTeamPrice()) //// .teamPrice(discountPrice.getTeamPrice())
// .productPrice(discountPrice.getProductPrice()) //// .productPrice(discountPrice.getProductPrice())
// .teamStock(teamProductStockModel.getTeamStock()) //// .teamStock(teamProductStockModel.getTeamStock())
// .remainStock(teamProductStockModel.getRemainStock()) //// .remainStock(teamProductStockModel.getRemainStock())
.status(activityTeamInfo.getStatus()) // .status(activityTeamInfo.getStatus())
.build(); // .build();
return function.apply( return function.apply(
ActivityTeamInfoListModel.builder() ActivityTeamInfoListModel.builder()
.id(activityTeamInfo.getId()) .id(activityTeamInfo.getId())

View File

@ -1,92 +0,0 @@
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 lombok.experimental.SuperBuilder;
import java.util.Date;
import java.util.List;
/**
* @program: 2204a-cloud-server
* @description:
* @author: AoCi Tian
* @create: 2024-11-26 10:59
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ActivityTeamInfoSaveModel {
/**
*
*/
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;
/**
*
*/
private String content;
/**
*
*/
private String status;
/**
*
*/
private String strategyType;
/**
* ID
*/
private Long strategyId;
public static ActivityTeamInfoSaveModel activityTeamInfoSaveModelBuild (ActivityTeamInfoAddModel activityTeamInfoAddModel){
return ActivityTeamInfoSaveModel.builder()
.name(activityTeamInfoAddModel.getName())
.productId(activityTeamInfoAddModel.getProductId())
.productImage(activityTeamInfoAddModel.getProductImage())
.introduction(activityTeamInfoAddModel.getIntroduction())
.unit(activityTeamInfoAddModel.getUnit())
.imageList(activityTeamInfoAddModel.getImageList())
.endTime(activityTeamInfoAddModel.getEndTime())
.sort(activityTeamInfoAddModel.getSort())
.content(activityTeamInfoAddModel.getContent())
.status(activityTeamInfoAddModel.getStatus())
.strategyType(activityTeamInfoAddModel.getStrategyType())
.strategyId(activityTeamInfoAddModel.getStrategyId())
.build();
}
}

View File

@ -0,0 +1,110 @@
package com.muyu.marketing.domain.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.marketing.domain.ActivityTeamInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
import java.util.function.Function;
/**
*
* @author DongZeLiang
* @date 2024-11-26 09:38
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityTeamInfoSelectModel {
/**
* 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<ActivityTeamProductSkuModel> activityTeamProductSkuModels;
/**
*
*/
private String content;
/**
*
*/
private String status;
/**
*
*/
private String strategyType;
/**
* ID
*/
private Long strategyId;
private Long remainStock;
/** 回显 构造 ActivityTeamInfoSelectModel*/
public static ActivityTeamInfoSelectModel getTeamInfoSelectModel(ActivityTeamInfo activityTeamInfo,
Function<ActivityTeamInfoSelectModel.ActivityTeamInfoSelectModelBuilder, ActivityTeamInfoSelectModel> function) {
return function.apply(
ActivityTeamInfoSelectModel.builder()
.teamId(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())
);
}
}

View File

@ -1,65 +1,102 @@
package com.muyu.marketing.domain.model; package com.muyu.marketing.domain.model;
import com.muyu.marketing.domain.req.ActivityTeamInfoUpdReq;
import com.muyu.marketing.domain.req.ActivityTeamProductSkuSettingReq; import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.marketing.domain.req.TeamProjectSkuInfoAddReq; import com.muyu.marketing.domain.req.ActivityTeamProductSkuInfoUpdReq;
import com.muyu.marketing.domain.req.TeamProjectSkuInfoUpdReq;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @program: 2204a-cloud-server *
* @description: *
* @author: AoCi Tian * @author DongZeLiang
* @create: 2024-11-26 19:25 * @date 2024-11-26 09:38
**/ */
@Data @Data
@AllArgsConstructor
@NoArgsConstructor
@Builder @Builder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityTeamInfoUpdModel { 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 ActivityTeamProductSkuSettingModel activityTeamProductSkuSettingModel;
public static ActivityTeamInfoUpdModel activityTeamInfoUpdReqModelBuild (ActivityTeamInfoUpdReq activityTeamInfoUpdReq){ /**
* ID
*/
private Long teamId;
/**
* ID
*/
private Long productId;
/**
*
*/
private String name;
/**
*
*/
private String productImage;
/**
*
*/
private String introduction;
/**
*
*/
private String content;
/**
*
*/
private String unit;
/**
*
*/
private String imageList;
/**
*
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
private Date endTime;
/**
*
*/
private String strategyType;
/**
*
*/
private ActivityTeamProductUpdCheckModel skuList;
/**
*
*/
private String status;
/**
* ID
*/
private Long strategyId;
/** 拼团活动req 构造 model*/
public static ActivityTeamInfoUpdModel reqConvertModel(ActivityTeamProductSkuInfoUpdReq skuInfoUpdReq){
return ActivityTeamInfoUpdModel.builder() return ActivityTeamInfoUpdModel.builder()
.id(activityTeamInfoUpdReq.getId()) .teamId(skuInfoUpdReq.getTeamId())
.name(activityTeamInfoUpdReq.getName()) .productId(skuInfoUpdReq.getProductId())
.productId(activityTeamInfoUpdReq.getProductId()) .name(skuInfoUpdReq.getName())
.productImage(activityTeamInfoUpdReq.getProductImage()) .introduction(skuInfoUpdReq.getIntroduction())
.introduction(activityTeamInfoUpdReq.getIntroduction()) .content(skuInfoUpdReq.getContent())
.unit(activityTeamInfoUpdReq.getUnit()) .unit(skuInfoUpdReq.getUnit())
.imageList(activityTeamInfoUpdReq.getImageList()) .imageList(skuInfoUpdReq.getImageList())
.endTime(activityTeamInfoUpdReq.getEndTime()) .endTime(skuInfoUpdReq.getEndTime())
.sort(activityTeamInfoUpdReq.getSort()) .strategyType(skuInfoUpdReq.getStrategyType())
.content(activityTeamInfoUpdReq.getContent()) .skuList(ActivityTeamProductUpdCheckModel
.status(activityTeamInfoUpdReq.getStatus()) .reqConvertModel(skuInfoUpdReq.getSukList())) //req skuList 构造 model
.strategyType(activityTeamInfoUpdReq.getStrategyType()) .status(skuInfoUpdReq.getStatus())
.strategyId(activityTeamInfoUpdReq.getStrategyId()) .strategyId(skuInfoUpdReq.getStrategyId())
.activityTeamProductSkuSettingModel(
ActivityTeamProductSkuSettingModel.settingReqModel(
activityTeamInfoUpdReq.getActivityTeamProductSkuSettingReq(),
activityTeamInfoUpdReq::getProductId
)
)
.build(); .build();
} }
} }

View File

@ -8,12 +8,10 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.function.Function;
import java.util.function.Supplier; import java.util.function.Supplier;
/** /**
* spu * sku
*
* @author DongZeLiang * @author DongZeLiang
* @date 2024-11-26 09:36 * @date 2024-11-26 09:36
*/ */
@ -52,7 +50,7 @@ public class ActivityTeamProductSkuAddModel {
return ActivityTeamProductSkuAddModel.builder() return ActivityTeamProductSkuAddModel.builder()
.productId(productId.get()) .productId(productId.get())
.sku(teamProjectSkuInfoAddReq.getSku()) .sku(teamProjectSkuInfoAddReq.getSku())
.teamStock(teamProjectSkuInfoAddReq.getTeamStock()) // .teamStock(teamProjectSkuInfoAddReq.getTeamStock())
.teamPrice(teamProjectSkuInfoAddReq.getTeamPrice()) .teamPrice(teamProjectSkuInfoAddReq.getTeamPrice())
.build(); .build();
} }

View File

@ -1,7 +1,6 @@
package com.muyu.marketing.domain.model; package com.muyu.marketing.domain.model;
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
import com.muyu.marketing.domain.resp.ProjectFindSkuInfoResp;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -10,8 +9,7 @@ import lombok.NoArgsConstructor;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* @program: 2204a-cloud-server *sku
* @description: sku
* @author: AoCi Tian * @author: AoCi Tian
* @create: 2024-11-26 16:03 * @create: 2024-11-26 16:03
**/ **/

View File

@ -1,40 +0,0 @@
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 java.math.BigDecimal;
/**
* @program: 2204a-cloud-server
* @description: sku
* @author: AoCi Tian
* @create: 2024-11-26 19:45
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ActivityTeamProductSkuReqModel {
private Long id;
private Long teamId;
private Long productId;
private String productSku;
private Long teamStock;
private Long remainStock;
private BigDecimal teamPrice;
public static ActivityTeamProductSkuReqModel activityTeamProductSkuReqModelBuild(ActivityTeamProductSkuReq activityTeamProductSkuReq){
return ActivityTeamProductSkuReqModel.builder()
.id(activityTeamProductSkuReq.getId())
.productId(activityTeamProductSkuReq.getProductId())
.teamId(activityTeamProductSkuReq.getTeamId())
.productSku(activityTeamProductSkuReq.getProductSku())
.remainStock(activityTeamProductSkuReq.getRemainStock())
.teamStock(activityTeamProductSkuReq.getTeamStock())
.teamPrice(activityTeamProductSkuReq.getTeamPrice())
.build();
}
}

View File

@ -1,14 +1,12 @@
package com.muyu.marketing.domain.model; package com.muyu.marketing.domain.model;
import com.muyu.marketing.domain.req.ActivityTeamProductSkuSettingReq;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.List; import java.util.List;
import java.util.function.Supplier;
/** /**
* *
@ -42,18 +40,4 @@ public class ActivityTeamProductSkuSettingModel {
*/ */
private List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuUpdModelList; private List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuUpdModelList;
public static ActivityTeamProductSkuSettingModel settingReqModel(ActivityTeamProductSkuSettingReq activityTeamProductSkuSettingReq, Supplier<Long> productId) {
return ActivityTeamProductSkuSettingModel.builder()
.removeIds(activityTeamProductSkuSettingReq.getRemoveIds())
.activityTeamProductSkuAddModelList(
activityTeamProductSkuSettingReq.getTeamProjectSkuInfoAddReqList().stream()
.map(teamProjectSkuInfoAddReq -> ActivityTeamProductSkuAddModel.addReqBuild(teamProjectSkuInfoAddReq, productId))
.toList()
)
.activityTeamProductSkuUpdModelList(
activityTeamProductSkuSettingReq.getTeamProjectSkuInfoUpdReqList().stream()
.map(ActivityTeamProductSkuUpdModel::updReqBuild)
.toList()
).build();
}
} }

View File

@ -1,7 +1,7 @@
package com.muyu.marketing.domain.model; package com.muyu.marketing.domain.model;
import com.muyu.marketing.domain.req.TeamProjectSkuInfoUpdReq; import com.muyu.marketing.domain.req.ActivityTeamProductSkuReq;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -10,7 +10,7 @@ import lombok.NoArgsConstructor;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* SKU * SKU
* *
* @author DongZeLiang * @author DongZeLiang
* @date 2024-11-27 14:18 * @date 2024-11-27 14:18
@ -22,25 +22,46 @@ import java.math.BigDecimal;
public class ActivityTeamProductSkuUpdModel { public class ActivityTeamProductSkuUpdModel {
/** /**
* ID * ID
*/ */
private Long id; private Long id;
/**
* id
*/
private Long teamId;
/**
* id
*/
private Long productId;
/**
* SKU
*/
private String productSku;
/** /**
* *
*/ */
private BigDecimal teamPrice; private Long teamStock;
/**
*
*/
private Long remainStock;
/** /**
* *
*/ */
private Long teamStock; private BigDecimal teamPrice;
public static ActivityTeamProductSkuUpdModel updReqBuild(TeamProjectSkuInfoUpdReq teamProjectSkuInfoUpdReq){ /**拼团活动SkuReq 构造 model */
public static ActivityTeamProductSkuUpdModel activityTeamProductSkuReqModelBuild(ActivityTeamProductSkuReq activityTeamProductSkuReq) {
return ActivityTeamProductSkuUpdModel.builder() return ActivityTeamProductSkuUpdModel.builder()
.id(teamProjectSkuInfoUpdReq.getId()) .id(activityTeamProductSkuReq.getId())
.teamStock(teamProjectSkuInfoUpdReq.getTeamStock()) .productId(activityTeamProductSkuReq.getProductId())
.teamPrice(teamProjectSkuInfoUpdReq.getTeamPrice()) .teamId(activityTeamProductSkuReq.getTeamId())
.productSku(activityTeamProductSkuReq.getProductSku())
.remainStock(activityTeamProductSkuReq.getRemainStock())
.teamStock(activityTeamProductSkuReq.getTeamStock())
.teamPrice(activityTeamProductSkuReq.getTeamPrice())
.build(); .build();
} }
} }

View File

@ -0,0 +1,46 @@
package com.muyu.marketing.domain.model;
import com.muyu.marketing.domain.req.ActivityTeamProductUpdCheckReq;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* SKU
* @author DongZeLiang
* @date 2024-11-27 14:18
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityTeamProductUpdCheckModel {
/**
* List
*/
private List<ActivityTeamProductSkuUpdModel> skuUpdateList;
/**
* IdList
*/
private List<Long> skuByIdDeleteList;
/**
* List
*/
private List<ActivityTeamProductSkuAddModel> skuAddList;
/** skuListReq 构造 skuListModel */
public static ActivityTeamProductUpdCheckModel reqConvertModel(ActivityTeamProductUpdCheckReq sukListReq) {
return ActivityTeamProductUpdCheckModel.builder()
.skuUpdateList(sukListReq.getSkuUpdateList())
.skuByIdDeleteList(sukListReq.getSkuByIdDeleteList())
.skuAddList(sukListReq.getSkuAddList())
.build();
}
}

View File

@ -1,8 +1,11 @@
package com.muyu.marketing.domain.req; package com.muyu.marketing.domain.req;
/**
*
*/
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -11,6 +14,10 @@ import lombok.experimental.SuperBuilder;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/**
* ActivityTeamInfoReq
*/
@Data @Data
@SuperBuilder @SuperBuilder
@NoArgsConstructor @NoArgsConstructor

View File

@ -1,36 +0,0 @@
package com.muyu.marketing.domain.req;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* @program: 2204a-cloud-server
* @description:
* @author: AoCi Tian
* @create: 2024-11-26 19:25
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ActivityTeamInfoUpdReq {
private Long id;
private String name;
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 ActivityTeamProductSkuSettingReq activityTeamProductSkuSettingReq;
}

View File

@ -1,26 +1,23 @@
package com.muyu.marketing.domain.resp; package com.muyu.marketing.domain.req;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.marketing.domain.req.TeamProjectSkuInfoAddReq;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
import java.util.Date; import java.util.Date;
import java.util.List;
/**
*
**/
@Data @Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @NoArgsConstructor
public class ActivityTeamDetailResp extends BaseEntity { @SuperBuilder
public class ActivityTeamProductSkuInfoUpdReq {
/** /**
* ID * ID
*/ */
private Long teamId; private Long teamId;
/** /**
@ -61,7 +58,7 @@ public class ActivityTeamDetailResp extends BaseEntity {
/** /**
* SkU * SkU
*/ */
private List<ActivityTeamProjectSkuResp> activityTeamProjectSkuList; private ActivityTeamProductUpdCheckReq sukList;
/** /**
* *
*/ */
@ -78,4 +75,5 @@ public class ActivityTeamDetailResp extends BaseEntity {
* ID * ID
*/ */
private Long strategyId; private Long strategyId;
} }

View File

@ -8,8 +8,7 @@ import lombok.NoArgsConstructor;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* @program: 2204a-cloud-server *sku
* @description: sku
* @author: AoCi Tian * @author: AoCi Tian
* @create: 2024-11-26 19:45 * @create: 2024-11-26 19:45
**/ **/
@ -18,11 +17,22 @@ import java.math.BigDecimal;
@NoArgsConstructor @NoArgsConstructor
@Builder @Builder
public class ActivityTeamProductSkuReq { public class ActivityTeamProductSkuReq {
/** 主键*/
private Long id; private Long id;
/** 活动ID*/
private Long teamId; private Long teamId;
/** 商品ID*/
private Long productId; private Long productId;
/** 商品SKU*/
private String productSku; private String productSku;
/** 拼团库存*/
private Long teamStock; private Long teamStock;
/** 剩余库存*/
private Long remainStock; private Long remainStock;
/** 拼团价格*/
private BigDecimal teamPrice; private BigDecimal teamPrice;
} }

View File

@ -1,7 +1,6 @@
package com.muyu.marketing.domain.req; package com.muyu.marketing.domain.req;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;

View File

@ -0,0 +1,37 @@
package com.muyu.marketing.domain.req;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuUpdModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
*SKU
* @author DongZeLiang
* @date 2024-11-27 14:18
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ActivityTeamProductUpdCheckReq {
/**
* List
*/
private List<ActivityTeamProductSkuUpdModel> skuUpdateList;
/**
* IdList
*/
private List<Long> skuByIdDeleteList;
/**
* List
*/
private List<ActivityTeamProductSkuAddModel> skuAddList;
}

View File

@ -2,7 +2,10 @@ package com.muyu.marketing.domain.req;
import com.muyu.common.core.web.page.PageDomain; import com.muyu.common.core.web.page.PageDomain;
import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListQueryModel;
import lombok.*; import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
@Data @Data
@ -25,6 +28,7 @@ public class TeamInfoListReq extends PageDomain {
/** /**
* *
*
* @return * @return
*/ */
public ActivityTeamInfoListQueryModel buildQueryModel() { public ActivityTeamInfoListQueryModel buildQueryModel() {

View File

@ -8,7 +8,7 @@ import lombok.experimental.SuperBuilder;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* * req
*/ */
@Data @Data
@SuperBuilder @SuperBuilder
@ -16,6 +16,11 @@ import java.math.BigDecimal;
@NoArgsConstructor @NoArgsConstructor
public class TeamProjectSkuInfoAddReq { public class TeamProjectSkuInfoAddReq {
/**
* id
*/
private Long ruleId;
/** /**
* SKU * SKU
*/ */

View File

@ -0,0 +1,138 @@
package com.muyu.marketing.domain.resp;
/**
*
*/
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.marketing.domain.ActivityTeamInfo;
import com.muyu.marketing.domain.model.ActivityTeamInfoSelectModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ActivityTeamInfoResp extends BaseEntity {
/**
* id
*/
private Long teamId;
/**
*
*/
private String name;
/**
* ID
*/
private Long productId;
/**
*
*/
private BigDecimal productPrice;
/**
*
*/
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<ProjectFindSkuInfoResp> projectFindSkuInfoResps;
/**
*
*/
private String content;
/**
*
*/
private String status;
/**
*
*/
private String strategyType;
/**
* ID
*/
private Long strategyId;
/** 构造ActivityTeamInfoResp */
public static ActivityTeamInfoResp teamInfoFindByIdBuild(ActivityTeamInfoSelectModel teamSelectModel) {
return ActivityTeamInfoResp.builder()
.teamId(teamSelectModel.getTeamId())
.name(teamSelectModel.getName())
.productId(teamSelectModel.getProductId())
.productImage(teamSelectModel.getProductImage())
.introduction(teamSelectModel.getIntroduction())
.unit(teamSelectModel.getUnit())
.imageList(teamSelectModel.getImageList())
.endTime(teamSelectModel.getEndTime())
.sort(teamSelectModel.getSort())
.projectFindSkuInfoResps(
teamSelectModel.getActivityTeamProductSkuModels()
.stream().map(ProjectFindSkuInfoResp::projectFindSkuInfoBuild).toList())
.content(teamSelectModel.getContent())
.status(teamSelectModel.getStatus())
.strategyType(teamSelectModel.getStrategyType())
.strategyId(teamSelectModel.getStrategyId())
.build();
}
/** 构造 */
public static ActivityTeamInfoResp client(ActivityTeamInfo activityTeamInfo) {
return ActivityTeamInfoResp.builder()
.teamId(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();
}
}

View File

@ -8,7 +8,7 @@ import lombok.experimental.SuperBuilder;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* * resp
*/ */
@Data @Data
@SuperBuilder @SuperBuilder

View File

@ -1,7 +1,5 @@
package com.muyu.marketing.domain.resp; package com.muyu.marketing.domain.resp;
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuAddModel;
import com.muyu.marketing.domain.model.ActivityTeamProductSkuModel; import com.muyu.marketing.domain.model.ActivityTeamProductSkuModel;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -11,7 +9,7 @@ import lombok.experimental.SuperBuilder;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* resp * Sku resp
*/ */
@Data @Data
@SuperBuilder @SuperBuilder

View File

@ -1,107 +0,0 @@
package com.muyu.marketing.domain.resp;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.marketing.domain.model.ActivityTeamDetailModel;
import com.muyu.marketing.domain.req.ProjectSkuInfoAddReq;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* @program: 2204a-cloud-server
* @description:
* @author: AoCi Tian
* @create: 2024-11-26 15:19
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class TeamInfoFindByIdResp {
/**
* id
*/
private Long id;
/**
*
*/
private String name;
/**
* ID
*/
private Long productId;
/**
*
*/
private String productImage;
/**
*
*/
private String introduction;
/**
*
*/
private String unit;
/**
*
*/
private String imageList;
/**
*
*/
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
private Date endTime;
/**
*
*/
private Long sort;
/**
* SkU
*/
private List<ProjectFindSkuInfoResp> projectSkuInfoAddList;
/**
*
*/
private String content;
/**
*
*/
private String status;
/**
*
*/
private String strategyType;
/**
* ID
*/
private Long strategyId;
public static TeamInfoFindByIdResp teamInfoFindByIdBuild (ActivityTeamDetailModel activityTeamDetailModel){
return TeamInfoFindByIdResp.builder()
.id(activityTeamDetailModel.getId())
.name(activityTeamDetailModel.getName())
.productId(activityTeamDetailModel.getProductId())
.productImage(activityTeamDetailModel.getProductImage())
.introduction(activityTeamDetailModel.getIntroduction())
.unit(activityTeamDetailModel.getUnit())
.imageList(activityTeamDetailModel.getImageList())
.endTime(activityTeamDetailModel.getEndTime())
.sort(activityTeamDetailModel.getSort())
.projectSkuInfoAddList(activityTeamDetailModel.getProjectSkuInfoAddReqList().stream().map(ProjectFindSkuInfoResp::projectFindSkuInfoBuild).toList())
// .projectSkuInfoAddList(
// teamInfoFindByIdRespModel.getProjectSkuInfoAddReqList().stream().map(activityTeamProductSkuModel ->
// ProjectFindSkuInfoResp.projectFindSkuInfoBuild(activityTeamProductSkuModel)).toList()
// )
.content(activityTeamDetailModel.getContent())
.status(activityTeamDetailModel.getStatus())
.strategyType(activityTeamDetailModel.getStrategyType())
.strategyId(activityTeamDetailModel.getStrategyId())
.build();
}
}

View File

@ -1,7 +1,6 @@
package com.muyu.marketing.domain.resp; package com.muyu.marketing.domain.resp;
import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListModel;
import com.muyu.marketing.domain.req.TeamInfoListReq;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -10,6 +9,9 @@ import lombok.NoArgsConstructor;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
/**
* Resp
*/
@Data @Data
@Builder @Builder
@NoArgsConstructor @NoArgsConstructor
@ -87,4 +89,5 @@ public class TeamInfoListResp {
.teamStock(activityTeamInfoListModel.getTeamStock()) .teamStock(activityTeamInfoListModel.getTeamStock())
.build(); .build();
} }
} }

View File

@ -0,0 +1,50 @@
package com.muyu.marketing.domain.resp;
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.math.BigDecimal;
/**
*
*/
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
public class TeamProjectSkuInfoResp {
/**
*id
*/
private Long ruleId;
/**
* SKU
*/
private String sku;
/**
*
*/
private BigDecimal teamPrice;
/**
*
*/
private Long teamStock;
/** 构造 回显拼团活动SKU*/
public static TeamProjectSkuInfoResp getSkuInfoResp(ActivityTeamProductSkuInfo skuInfo) {
return TeamProjectSkuInfoResp.builder()
.ruleId(skuInfo.getId())
.sku(skuInfo.getProductSku())
.teamPrice(skuInfo.getTeamPrice())
.teamStock(skuInfo.getTeamStock())
.build();
}
}

View File

@ -1,15 +1,17 @@
package com.muyu.marketing.team.controller; package com.muyu.marketing.team.controller;
import com.github.pagehelper.PageInfo;
import com.muyu.common.core.domain.Result; 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.common.core.web.page.TableDataInfo;
import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListModel;
import com.muyu.marketing.domain.model.ActivityTeamInfoUpdModel; import com.muyu.marketing.domain.model.ActivityTeamInfoUpdModel;
import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq; import com.muyu.marketing.domain.req.ActivityTeamInfoSaveReq;
import com.muyu.marketing.domain.req.ActivityTeamInfoUpdReq; import com.muyu.marketing.domain.req.ActivityTeamProductSkuInfoUpdReq;
import com.muyu.marketing.domain.req.TeamInfoListReq; import com.muyu.marketing.domain.req.TeamInfoListReq;
import com.muyu.marketing.domain.resp.TeamInfoFindByIdResp; import com.muyu.marketing.domain.resp.ActivityTeamInfoResp;
import com.muyu.marketing.domain.resp.TeamInfoListResp; import com.muyu.marketing.domain.resp.TeamInfoListResp;
import com.muyu.marketing.team.service.ActivityTeamInfoService; import com.muyu.marketing.team.service.ActivityTeamInfoService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -17,6 +19,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
/** /**
* *
* *
@ -30,6 +33,20 @@ public class ActivityTeamController {
@Autowired @Autowired
private ActivityTeamInfoService activityTeamInfoService;; private ActivityTeamInfoService activityTeamInfoService;;
/**
*
*/
@PostMapping("/clientList")
public Result<PageInfo<ActivityTeamInfoResp>> clientList(@RequestBody TeamInfoListReq teamInfoListReq){
PageUtils.startPage(teamInfoListReq.getPageNum(),teamInfoListReq.getPageSize());
List<ActivityTeamInfoResp> activityTeamInfoRespList=activityTeamInfoService.clientList(teamInfoListReq);
PageInfo<ActivityTeamInfoResp> pageInfo = new PageInfo<>(activityTeamInfoRespList);
return Result.success(pageInfo);
}
/** /**
* *
* @param teamInfoListReq * @param teamInfoListReq
@ -53,19 +70,34 @@ public class ActivityTeamController {
* @param activityTeamInfoSaveReq * @param activityTeamInfoSaveReq
* @return * @return
*/ */
@PostMapping @PostMapping("/add")
public Result<String> save(@RequestBody ActivityTeamInfoSaveReq activityTeamInfoSaveReq) { public Result<String> save(@RequestBody ActivityTeamInfoSaveReq activityTeamInfoSaveReq) {
activityTeamInfoService.save(ActivityTeamInfoAddModel.addReqBuild(activityTeamInfoSaveReq)); activityTeamInfoService.save(ActivityTeamInfoAddModel.addReqBuild(activityTeamInfoSaveReq));
return Result.success(); return Result.success();
} }
@PostMapping("/findById/{id}")
public Result<TeamInfoFindByIdResp> findTeamById(@PathVariable Long id){ /**
return Result.success(TeamInfoFindByIdResp.teamInfoFindByIdBuild(activityTeamInfoService.findDetailById(id))); *
* @teamId id
*/
@GetMapping("/getById/{teamId}")
public Result<ActivityTeamInfoResp> getTeamInfo(@PathVariable("teamId") Long teamId){
return Result.success(ActivityTeamInfoResp.teamInfoFindByIdBuild(activityTeamInfoService.findDetailById(teamId)));
} }
@PutMapping("/updateByTeamId")
public Result updateByTeamId(@RequestBody ActivityTeamInfoUpdReq activityTeamInfoUpdReq){
activityTeamInfoService.update(ActivityTeamInfoUpdModel.activityTeamInfoUpdReqModelBuild(activityTeamInfoUpdReq)); /** 修改拼团活动*/
@PutMapping
private Result<String> update(ActivityTeamProductSkuInfoUpdReq activityTeamProductSkuInfoUpdReq){
//转换拼团修改Model
ActivityTeamInfoUpdModel activityTeamInfoUpdModel = ActivityTeamInfoUpdModel.reqConvertModel(activityTeamProductSkuInfoUpdReq);
activityTeamInfoService.updateTeamInfo(activityTeamInfoUpdModel);
return Result.success(); return Result.success();
} }
} }

View File

@ -1,7 +1,6 @@
package com.muyu.marketing.team.mapper; package com.muyu.marketing.team.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.marketing.domain.ActivityTeamOpenInfo;
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;

View File

@ -1,7 +1,6 @@
package com.muyu.marketing.team.mapper; package com.muyu.marketing.team.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
import com.muyu.marketing.domain.TeamStrategyExemption; import com.muyu.marketing.domain.TeamStrategyExemption;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;

View File

@ -4,7 +4,14 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.ActivityTeamInfo;
import com.muyu.marketing.domain.model.*; import com.muyu.marketing.domain.model.*;
import com.muyu.marketing.domain.req.TeamInfoListReq;
import com.muyu.marketing.domain.resp.ActivityTeamInfoResp;
import java.util.List;
/**
*
*/
public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> { public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> {
@ -26,14 +33,17 @@ public interface ActivityTeamInfoService extends IService<ActivityTeamInfo> {
* @param id ID * @param id ID
* @return * @return
*/ */
ActivityTeamDetailModel findDetailById(Long id); ActivityTeamInfoSelectModel findDetailById(Long id);
// public ActivityTeamInfoSelectModel selectTeamInfo(Long teamId);
/** /**
* *
* @param activityTeamInfoUpdModel
* @return
*/ */
boolean update(ActivityTeamInfoUpdModel activityTeamInfoUpdModel); void updateTeamInfo(ActivityTeamInfoUpdModel activityTeamInfoUpdModel);
/** 客户端列表*/
List<ActivityTeamInfoResp> clientList(TeamInfoListReq teamInfoListReq);
} }

View File

@ -3,7 +3,6 @@ package com.muyu.marketing.team.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.core.enums.market.team.TeamOpenTypeEnum; import com.muyu.common.core.enums.market.team.TeamOpenTypeEnum;
import com.muyu.marketing.domain.ActivityTeamOpenInfo; import com.muyu.marketing.domain.ActivityTeamOpenInfo;
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
public interface ActivityTeamOpenInfoService extends IService<ActivityTeamOpenInfo> { public interface ActivityTeamOpenInfoService extends IService<ActivityTeamOpenInfo> {

View File

@ -7,6 +7,7 @@ import com.muyu.marketing.domain.model.*;
import java.util.List; import java.util.List;
/** 规格SKU*/
public interface ActivityTeamProductSkuInfoService extends IService<ActivityTeamProductSkuInfo> { public interface ActivityTeamProductSkuInfoService extends IService<ActivityTeamProductSkuInfo> {
public default List<ActivityTeamProductSkuInfo> getActivityTeamProductSkuInfoByTeamId(Long teamId){ public default List<ActivityTeamProductSkuInfo> getActivityTeamProductSkuInfoByTeamId(Long teamId){
@ -45,7 +46,14 @@ public interface ActivityTeamProductSkuInfoService extends IService<ActivityTeam
*/ */
public List<ActivityTeamProductSkuModel> findListByTeamId(Long teamId); public List<ActivityTeamProductSkuModel> findListByTeamId(Long teamId);
public boolean updateBath(List<ActivityTeamProductSkuReqModel> activityTeamProductSkuReqModelList); /** 修改规格SKU*/
public boolean updateBath(List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuReqModelList);
/**
* list
*/
public boolean deleteById(List<Long> skuByIdDeleteList);
/** /**
* *

View File

@ -7,6 +7,8 @@ import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.ActivityTeamInfo;
import com.muyu.marketing.domain.model.*; import com.muyu.marketing.domain.model.*;
import com.muyu.marketing.domain.req.TeamInfoListReq;
import com.muyu.marketing.domain.resp.ActivityTeamInfoResp;
import com.muyu.marketing.team.mapper.ActivityTeamInfoMapper; import com.muyu.marketing.team.mapper.ActivityTeamInfoMapper;
import com.muyu.marketing.team.service.ActivityTeamInfoService; import com.muyu.marketing.team.service.ActivityTeamInfoService;
import com.muyu.marketing.team.service.ActivityTeamOpenInfoService; import com.muyu.marketing.team.service.ActivityTeamOpenInfoService;
@ -15,9 +17,12 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/**
*
*/
@Service @Service
public class ActivityTeamInfoServiceImpl extends ServiceImpl<ActivityTeamInfoMapper, ActivityTeamInfo> public class ActivityTeamInfoServiceImpl extends ServiceImpl<ActivityTeamInfoMapper, ActivityTeamInfo>
implements ActivityTeamInfoService { implements ActivityTeamInfoService {
@ -31,14 +36,42 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl<ActivityTeamInfoMap
@Override @Override
public TableDataInfo<ActivityTeamInfoListModel> query(ActivityTeamInfoListQueryModel activityTeamInfoListQueryModel) { 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> 以方法返回值为占用
// */
// Page<ActivityTeamInfo> activityTeamInfoPage = this.page(activityTeamInfoListQueryModel.buildPage(), queryWrapper);
// List<ActivityTeamInfo> activityTeamInfoList = activityTeamInfoPage.getRecords();
// List<ActivityTeamInfoListModel> activityTeamInfoListModels = activityTeamInfoList.stream()
// .map(activityTeamInfo -> ActivityTeamInfoListModel.infoBuild(activityTeamInfo,
// (activityTeamInfoListModelBuilder) -> {
// TeamProductDiscountPriceModel discountPrice = activityTeamProductSkuInfoService.getDiscountPrice(activityTeamInfo.getId());
// TeamProductStockModel teamProductStockModel = activityTeamProductSkuInfoService.getStock(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())
// .teamStock(teamProductStockModel.getTeamStock())
// .remainStock(teamProductStockModel.getRemainStock())
// .build();
// })).toList();
// TableDataInfo<ActivityTeamInfoListModel> tableDataInfo = new TableDataInfo<>();
// tableDataInfo.setTotal(activityTeamInfoPage.getTotal());
// tableDataInfo.setRows(activityTeamInfoListModels);
// return tableDataInfo;
LambdaQueryWrapper<ActivityTeamInfo> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ActivityTeamInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(activityTeamInfoListQueryModel.getKeyWord()), ActivityTeamInfo::getName, activityTeamInfoListQueryModel.getKeyWord()); queryWrapper.like(StringUtils.isNotEmpty(activityTeamInfoListQueryModel.getKeyWord()), ActivityTeamInfo::getName, activityTeamInfoListQueryModel.getKeyWord());
queryWrapper.like(StringUtils.isNotEmpty(activityTeamInfoListQueryModel.getStatus()), ActivityTeamInfo::getStatus, activityTeamInfoListQueryModel.getStatus()); queryWrapper.like(StringUtils.isNotEmpty(activityTeamInfoListQueryModel.getStatus()), ActivityTeamInfo::getStatus, activityTeamInfoListQueryModel.getStatus());
/**
* Object<T> ->
* <T> Result<T>
*/
Page<ActivityTeamInfo> activityTeamInfoPage = this.page(activityTeamInfoListQueryModel.buildPage(), queryWrapper); Page<ActivityTeamInfo> activityTeamInfoPage = this.page(activityTeamInfoListQueryModel.buildPage(), queryWrapper);
List<ActivityTeamInfo> activityTeamInfoList = activityTeamInfoPage.getRecords(); List<ActivityTeamInfo> activityTeamInfoList = activityTeamInfoPage.getRecords();
List<ActivityTeamInfoListModel> activityTeamInfoListModels = activityTeamInfoList.stream() List<ActivityTeamInfoListModel> activityTeamInfoListModels = activityTeamInfoList.stream()
@ -57,6 +90,7 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl<ActivityTeamInfoMap
.productPrice(discountPrice.getProductPrice()) .productPrice(discountPrice.getProductPrice())
.teamStock(teamProductStockModel.getTeamStock()) .teamStock(teamProductStockModel.getTeamStock())
.remainStock(teamProductStockModel.getRemainStock()) .remainStock(teamProductStockModel.getRemainStock())
.productId(activityTeamInfo.getProductId())
.build(); .build();
})).toList(); })).toList();
TableDataInfo<ActivityTeamInfoListModel> tableDataInfo = new TableDataInfo<>(); TableDataInfo<ActivityTeamInfoListModel> tableDataInfo = new TableDataInfo<>();
@ -80,29 +114,79 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl<ActivityTeamInfoMap
} }
/** /**
* ID *
* @param id ID * @param teamId
* @return * @return
*/ */
@Override @Override
public ActivityTeamDetailModel findDetailById(Long id) { public ActivityTeamInfoSelectModel findDetailById(Long teamId) {
ActivityTeamInfo activityTeamInfo = this.getById(id); //根据拼团活动id 查询拼团活动
List<ActivityTeamProductSkuModel> activityTeamProductSkuModelList = activityTeamProductSkuInfoService.findListByTeamId(id); ActivityTeamInfo activityTeamInfo = this.getById(teamId);
return ActivityTeamDetailModel.findSkuSumList(activityTeamInfo, //查询活动中的 商品sku集合
(teamInfoFindByIdRespModelBuilder) -> teamInfoFindByIdRespModelBuilder.projectSkuInfoAddReqList(activityTeamProductSkuModelList).build() List<ActivityTeamProductSkuModel> activityTeamProductSkuModelList = activityTeamProductSkuInfoService.findListByTeamId(teamId);
return ActivityTeamInfoSelectModel.getTeamInfoSelectModel(activityTeamInfo,
(teamInfoFindByIdRespModelBuilder) -> teamInfoFindByIdRespModelBuilder.activityTeamProductSkuModels(activityTeamProductSkuModelList).build()
); );
} }
/** /**
* *
* @param activityTeamInfoUpdModel
* @return
*/ */
@Override @Override
public boolean update(ActivityTeamInfoUpdModel activityTeamInfoUpdModel) { public void updateTeamInfo(ActivityTeamInfoUpdModel activityTeamInfoUpdModel) {
boolean update = this.updateById(ActivityTeamInfo.TeamUpdateBuild(activityTeamInfoUpdModel)); //查询当前活动状态
Assert.isTrue(update,"修改失败"); ActivityTeamInfo activityTeamInfo = this.getById(activityTeamInfoUpdModel.getTeamId());
activityTeamProductSkuInfoService.setting(activityTeamInfoUpdModel.getActivityTeamProductSkuSettingModel()); if ("Y".equals(activityTeamInfo.getStatus())){
return update; //当前活动运营中禁止修改
throw new RuntimeException("当前活动运营中禁止修改");
} }
//修改:
List<ActivityTeamProductSkuAddModel> skuAddList = activityTeamInfoUpdModel.getSkuList().getSkuAddList();
//添加列表不为空并且长度大于零
if (null != skuAddList && 0<skuAddList.size()){
//构造 添加
activityTeamProductSkuInfoService.batchSave(skuAddList);
}
List<ActivityTeamProductSkuUpdModel> skuUpdateList = activityTeamInfoUpdModel.getSkuList().getSkuUpdateList();
//修改列表不为空并且长度大于零
if (null != skuUpdateList && 0<skuUpdateList.size()){
//构造 修改
activityTeamProductSkuInfoService.updateBath(skuUpdateList);
}
List<Long> skuByIdDeleteList = activityTeamInfoUpdModel.getSkuList().getSkuByIdDeleteList();
if (null != skuByIdDeleteList && 0<skuByIdDeleteList.size()){
//构造 删除
activityTeamProductSkuInfoService.deleteById(skuByIdDeleteList);
}
}
/** 客户端列表*/
@Override
public List<ActivityTeamInfoResp> clientList(TeamInfoListReq teamInfoListReq) {
LambdaQueryWrapper<ActivityTeamInfo> queryWrapper = new LambdaQueryWrapper<>();
//查询活动状态
if (null != teamInfoListReq.getStatus() && ! "".equals(teamInfoListReq.getStatus())){
queryWrapper.eq(ActivityTeamInfo::getStatus,teamInfoListReq.getStatus());
}
if (null != teamInfoListReq.getKeyWord() && ! "".equals(teamInfoListReq.getKeyWord())){
queryWrapper.eq(ActivityTeamInfo::getStatus,teamInfoListReq.getStatus());
}
//拼团列表
List<ActivityTeamInfo> activityTeamInfos = this.list(queryWrapper);
//构造成Resp
ArrayList<ActivityTeamInfoResp> activityTeamInfoResps = new ArrayList<>();
activityTeamInfos.forEach(activityTeamInfo -> {
ActivityTeamInfoResp client = ActivityTeamInfoResp.client(activityTeamInfo);
activityTeamInfoResps.add(client);
});
return activityTeamInfoResps;
}
} }

View File

@ -1,7 +1,6 @@
package com.muyu.marketing.team.service.impl; package com.muyu.marketing.team.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.exception.ServiceException; import com.muyu.common.core.exception.ServiceException;
import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; import com.muyu.marketing.domain.ActivityTeamProductSkuInfo;
@ -14,10 +13,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
@ -96,43 +91,44 @@ public class ActivityTeamProductSkuInfoServiceImpl extends ServiceImpl<ActivityT
// return list.stream().map(activityTeamProductSkuInfo -> ActivityTeamProductSkuModel.FindBuild(activityTeamProductSkuInfo)).toList(); // return list.stream().map(activityTeamProductSkuInfo -> ActivityTeamProductSkuModel.FindBuild(activityTeamProductSkuInfo)).toList();
} }
/**
* list
* @param activityTeamProductSkuReqModelList
* @return
*/
@Transactional @Transactional
@Override @Override
public boolean updateBath(List<ActivityTeamProductSkuReqModel> activityTeamProductSkuReqModelList) { public boolean updateBath(List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuReqModelList) {
return this.updateBatchById(activityTeamProductSkuReqModelList.stream().map(ActivityTeamProductSkuInfo::updateModelBuild).toList()); return
this.updateBatchById(activityTeamProductSkuReqModelList
.stream()
.map(ActivityTeamProductSkuInfo::updateModelBuild)
.toList());
} }
/** /**
* * list
*
* @param activityTeamProductSkuUpdModel
* @return
*/ */
@Override
public boolean deleteById(List<Long> skuByIdDeleteList) {
boolean b = this.removeBatchByIds(skuByIdDeleteList);
return b;
}
@Override @Override
public boolean update(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel) { public boolean update(ActivityTeamProductSkuUpdModel activityTeamProductSkuUpdModel) {
// update set where
LambdaUpdateWrapper<ActivityTeamProductSkuInfo> updateWrapper = new LambdaUpdateWrapper<>(); return false;
// 字段=值 }
updateWrapper.set(ActivityTeamProductSkuInfo::getTeamStock,activityTeamProductSkuUpdModel.getTeamStock());
updateWrapper.set(ActivityTeamProductSkuInfo::getRemainStock,activityTeamProductSkuUpdModel.getTeamStock()); @Override
updateWrapper.set(ActivityTeamProductSkuInfo::getTeamPrice,activityTeamProductSkuUpdModel.getTeamPrice()); public boolean batchUpdate(List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuUpdModelList) {
// id=
updateWrapper.eq(ActivityTeamProductSkuInfo::getId,activityTeamProductSkuUpdModel.getId()); return false;
return this.update(updateWrapper);
} }
/** /**
*
* *
* @param activityTeamProductSkuUpdModelList
* @return
*/ */
@Override
public boolean batchUpdate(List<ActivityTeamProductSkuUpdModel> activityTeamProductSkuUpdModelList) {
return this.updateBatchById(
activityTeamProductSkuUpdModelList.stream()
.map(ActivityTeamProductSkuInfo::updModelBuild)
.toList()
);
}
} }

View File

@ -4,9 +4,24 @@ server:
# Spring # Spring
spring: spring:
datasource:
dynamic:
primary: master
datasource:
# 主库数据源
master:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://60.204.150.30:3306/activity_team?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: xx-12345
slave:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://60.204.150.30:3306/product?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: xx-12345
application: application:
# 应用名称 # 应用名称
name: muyu-buy name: muyu-marketing
profiles: profiles:
# 环境配置 # 环境配置
active: dev active: dev
@ -14,10 +29,10 @@ spring:
nacos: nacos:
discovery: discovery:
# 服务注册地址 # 服务注册地址
server-addr: 127.0.0.1:8848 server-addr: 60.204.150.30:8848
config: config:
# 配置中心地址 # 配置中心地址
server-addr: 127.0.0.1:8848 server-addr: 60.204.150.30:8848
# 配置文件格式 # 配置文件格式
file-extension: yml file-extension: yml
# 共享配置 # 共享配置

View File

@ -20,4 +20,5 @@
<description> <description>
muyu-marketing营销模块 muyu-marketing营销模块
</description> </description>
</project> </project>

View File

@ -0,0 +1,56 @@
package com.muyu.product.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 lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
@Data
@NoArgsConstructor
@SuperBuilder
@AllArgsConstructor
@TableName("mall_product_category")
public class ProductCategory {
/**
*
*/
@TableId(type = IdType.AUTO)
private Integer id;
/**
*
*/
private String name;
/**
* id
*/
private Integer parentId;
/**
*
*/
private Integer sort;
/**
*
*/
private String level;
/**
*
*/
private String type;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date updateTime;
}

View File

@ -34,6 +34,8 @@ public class TemplateAttributeModel extends BaseEntity {
* *
*/ */
private String code; private String code;
private String value;
public static TemplateAttributeModel attributeInfoBuild(AttributeInfo attributeInfo){ public static TemplateAttributeModel attributeInfoBuild(AttributeInfo attributeInfo){
return TemplateAttributeModel.builder() return TemplateAttributeModel.builder()

View File

@ -1,7 +1,10 @@
package com.muyu.product.domain.req; package com.muyu.product.domain.req;
import java.util.Date; import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.muyu.product.domain.AttributeInfo;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -33,5 +36,9 @@ public class AttributeGroupEditReq extends BaseEntity {
@ApiModelProperty(name = "状态", value = "状态", required = true) @ApiModelProperty(name = "状态", value = "状态", required = true)
private String states; private String states;
/** 属性id 集合 */
@ApiModelProperty(name = "属性集合", value = "属性集合", required = true)
private List<AttributeInfo> attributeList;
private List<Long> attributeIdList;
} }

View File

@ -0,0 +1,24 @@
package com.muyu.product.domain.req;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
*
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class AttributeGroupStateReq {
/** 属性id */
@ApiModelProperty(name = "属性id", value = "属性id", required = true)
private Long id;
/** 状态 */
@ApiModelProperty(name = "状态", value = "状态", required = true)
private String states;
}

View File

@ -8,6 +8,8 @@ import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.TreeEntity; import com.muyu.common.core.web.domain.TreeEntity;
import java.util.List;
/** /**
* category_info * category_info
* *
@ -39,4 +41,21 @@ public class CategoryInfoEditReq extends TreeEntity {
@ApiModelProperty(name = "介绍", value = "介绍") @ApiModelProperty(name = "介绍", value = "介绍")
private String introduction; private String introduction;
/**
* ID
*/
@ApiModelProperty(name = "商品属性组关联ID", value = "商品属性组关联ID")
private List<Long> attributeGroupIdList;
/**
* ID
*/
@ApiModelProperty(name = "商品属性关联ID", value = "商品属性关联ID")
private List<Long> attributeIdList;
/**
* ID
*/
@ApiModelProperty(name = "商品品牌组关联ID", value = "商品品牌组关联ID")
private List<Long> brandIdList;
} }

View File

@ -48,7 +48,6 @@ public class CategoryInfoSaveReq extends TreeEntity {
private String start; private String start;
/** 介绍 */ /** 介绍 */
@ApiModelProperty(name = "介绍", value = "介绍") @ApiModelProperty(name = "介绍", value = "介绍")
private String introduction; private String introduction;
@ -56,6 +55,7 @@ public class CategoryInfoSaveReq extends TreeEntity {
* ID * ID
*/ */
private List<Long> attributeGroupIdList; private List<Long> attributeGroupIdList;
/** /**
* ID * ID
*/ */

View File

@ -1,12 +1,13 @@
package com.muyu.product.domain.req; package com.muyu.product.domain.req;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.experimental.SuperBuilder;
import io.swagger.annotations.*;
import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.product.domain.ProjectInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/** /**
* project_info * project_info
@ -63,4 +64,18 @@ public class ProjectInfoEditReq extends BaseEntity {
@ApiModelProperty(name = "品牌", value = "品牌") @ApiModelProperty(name = "品牌", value = "品牌")
private Long brandId; private Long brandId;
public static ProjectInfoEditReq convertToReq(ProjectInfoUpdReq projectInfoUpdReq){
ProjectInfo projectInfo = projectInfoUpdReq.getProjectInfo();
return ProjectInfoEditReq.builder()
.name(projectInfo.getName())
.introduction(projectInfo.getIntroduction())
.mianType(projectInfo.getMianType())
.parentType(projectInfo.getParentType())
.type(projectInfo.getType())
.image(projectInfo.getImage())
.build();
}
} }

View File

@ -0,0 +1,37 @@
package com.muyu.product.domain.req;
import com.muyu.product.domain.ProjectInfo;
import com.muyu.product.domain.ProjectSkuInfo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class ProjectInfoUpdReq {
/**
*
*/
private List<Long> attrValueList;
/**
*
*/
private ProjectSkuInfo productSkuList;
/**
*
*/
private ProjectInfo projectInfo;
}

View File

@ -0,0 +1,15 @@
package com.muyu.product.domain.req;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class WyzRuleInfoSaveReq {
public Long id;
public String status;
}

View File

@ -0,0 +1,31 @@
package com.muyu.product.domain.resp;
import com.muyu.product.domain.AttributeInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AttributeGroupUpd {
/** 属性组编号 */
private Long id;
/** 组名称 */
private String name;
/** 状态 */
private String states;
/**
* id
*/
private List<AttributeInfo> attributeList;
}

View File

@ -0,0 +1,63 @@
package com.muyu.product.domain.resp;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.muyu.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@AllArgsConstructor
@Builder
@NoArgsConstructor
@Data
/** 品类信息*/
public class CategoryInfoUpdResp {
/** 主键 */
@TableId(value = "id",type = IdType.AUTO)
@ApiModelProperty(name = "主键", value = "主键")
private Long id;
/** 品类名称 */
@Excel(name = "品类名称")
@ApiModelProperty(name = "品类名称", value = "品类名称", required = true)
private String name;
/** 图片 */
@Excel(name = "图片")
@ApiModelProperty(name = "图片", value = "图片", required = true)
private String image;
/** 是否启用 */
@Excel(name = "是否启用")
@ApiModelProperty(name = "是否启用", value = "是否启用", required = true)
private String start;
/** 介绍 */
@Excel(name = "介绍")
@ApiModelProperty(name = "介绍", value = "介绍")
private String introduction;
/**
* ID
* AttributeGroup
*/
/**
*
*/
private List<Long> attributeInfoList;
/**
*
*/
private List<Long> attributeGroupList;
/**
*
*/
private List<Long> brandInfoList;
}

View File

@ -0,0 +1,35 @@
package com.muyu.product.domain.resp;
import com.muyu.product.domain.ProductCategory;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.List;
/**
*
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class ProductCategoryResp extends ProductCategory {
/**
*
*/
private List<ProductCategoryResp> childrenList;
public static ProductCategoryResp convertToResp(ProductCategory productCategory){
return ProductCategoryResp.builder()
.id(productCategory.getId())
.name(productCategory.getName())
.level(productCategory.getLevel())
.parentId(productCategory.getParentId())
.sort(productCategory.getSort())
.createTime(productCategory.getCreateTime())
.updateTime(productCategory.getUpdateTime())
.build();
}
}

View File

@ -0,0 +1,129 @@
package com.muyu.product.domain.resp;
import com.muyu.common.core.web.domain.BaseEntity;
import com.muyu.product.domain.model.ProjectAddModel;
import com.muyu.product.domain.req.ProjectInfoEditReq;
import com.muyu.product.domain.req.ProjectInfoQueryReq;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
import java.util.function.Supplier;
/**
* project_info
*
* @author DongZeLiang
* @date 2024-02-27
*/
@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class ProjectInfoListResp extends BaseEntity {
/** 主键 */
private Long id;
/** 商品名称 */
private String name;
/** 商品描述 */
private String introduction;
/** 主类型 */
private Long mianType;
/**
*
*/
public String mianTypeName;
/** 父类型 */
private Long parentType;
private String parentTypeName;
/** 商品类型 */
private Long type;
private String typeName;
/** 商品图片 */
private String image;
/** 商品轮播图 */
private String carouselImages;
/** 商品状态 */
private String status;
/** 规格 */
private Long ruleId;
private String ruleName;
/** 品牌 */
private Long brandId;
private String brandName;
/**
*
*/
public static ProjectInfoListResp queryBuild(ProjectInfoQueryReq projectInfoQueryReq){
return ProjectInfoListResp.builder()
.name(projectInfoQueryReq.getName())
.introduction(projectInfoQueryReq.getIntroduction())
.mianType(projectInfoQueryReq.getMianType())
.parentType(projectInfoQueryReq.getParentType())
.type(projectInfoQueryReq.getType())
.image(projectInfoQueryReq.getImage())
.carouselImages(projectInfoQueryReq.getCarouselImages())
.status(projectInfoQueryReq.getStatus())
.ruleId(projectInfoQueryReq.getRuleId())
.brandId(projectInfoQueryReq.getBrandId())
.build();
}
/**
*
*/
public static ProjectInfoListResp saveModelBuild(ProjectAddModel projectAddModel, Supplier<String> createBy){
return ProjectInfoListResp.builder()
.name(projectAddModel.getName())
.introduction(projectAddModel.getIntroduction())
.mianType(projectAddModel.getMianType())
.parentType(projectAddModel.getParentType())
.type(projectAddModel.getType())
.image(projectAddModel.getImage())
.carouselImages(projectAddModel.getCarouselImages())
.status(projectAddModel.getStatus())
.ruleId(projectAddModel.getRuleId())
.brandId(projectAddModel.getBrandId())
.createBy(createBy.get())
.createTime(new Date())
.build();
}
/**
*
*/
public static ProjectInfoListResp editBuild(Long id, ProjectInfoEditReq projectInfoEditReq){
return ProjectInfoListResp.builder()
.id(id)
.name(projectInfoEditReq.getName())
.introduction(projectInfoEditReq.getIntroduction())
.mianType(projectInfoEditReq.getMianType())
.parentType(projectInfoEditReq.getParentType())
.type(projectInfoEditReq.getType())
.image(projectInfoEditReq.getImage())
.carouselImages(projectInfoEditReq.getCarouselImages())
.status(projectInfoEditReq.getStatus())
.ruleId(projectInfoEditReq.getRuleId())
.brandId(projectInfoEditReq.getBrandId())
.build();
}
}

View File

@ -1,33 +1,29 @@
package com.muyu.product.controller; package com.muyu.product.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.muyu.product.domain.model.AttributeGroupSaveModel;
import com.muyu.product.domain.resp.AttributeGroupPageResp;
import com.muyu.product.domain.resp.AttributeGroupUpdResp;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log; import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType; import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.product.domain.AttributeGroup; import com.muyu.product.domain.AttributeGroup;
import com.muyu.product.domain.model.AttributeGroupSaveModel;
import com.muyu.product.domain.req.AttributeGroupEditReq;
import com.muyu.product.domain.req.AttributeGroupQueryReq; import com.muyu.product.domain.req.AttributeGroupQueryReq;
import com.muyu.product.domain.req.AttributeGroupSaveReq; import com.muyu.product.domain.req.AttributeGroupSaveReq;
import com.muyu.product.domain.req.AttributeGroupEditReq; import com.muyu.product.domain.req.AttributeGroupStateReq;
import com.muyu.product.domain.resp.AttributeGroupPageResp;
import com.muyu.product.domain.resp.AttributeGroupUpdResp;
import com.muyu.product.service.AttributeGroupService; import com.muyu.product.service.AttributeGroupService;
import com.muyu.common.core.web.page.TableDataInfo; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/** /**
* Controller * Controller
@ -103,6 +99,18 @@ public class AttributeGroupController extends BaseController {
return toAjax(attributeGroupService.updateById(AttributeGroup.editBuild(id,attributeGroupEditReq))); return toAjax(attributeGroupService.updateById(AttributeGroup.editBuild(id,attributeGroupEditReq)));
} }
/***
*
*/
@RequiresPermissions("product:attributeGroup:edit")
@Log(title = "属性状态", businessType = BusinessType.UPDATE)
@PutMapping("/updateState")
@ApiOperation("修改属性状态")
public Result<String> updateState(@RequestBody AttributeGroupStateReq attributeGroupStateReq) {
attributeGroupService.updateState(attributeGroupStateReq);
return Result.success("修改成功");
}
/** /**
* *
*/ */

View File

@ -1,30 +1,25 @@
package com.muyu.product.controller; package com.muyu.product.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log; import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType; import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.product.domain.AttributeInfo; import com.muyu.product.domain.AttributeInfo;
import com.muyu.product.domain.req.AttributeInfoEditReq;
import com.muyu.product.domain.req.AttributeInfoQueryReq; import com.muyu.product.domain.req.AttributeInfoQueryReq;
import com.muyu.product.domain.req.AttributeInfoSaveReq; import com.muyu.product.domain.req.AttributeInfoSaveReq;
import com.muyu.product.domain.req.AttributeInfoEditReq;
import com.muyu.product.service.AttributeInfoService; import com.muyu.product.service.AttributeInfoService;
import com.muyu.common.core.web.page.TableDataInfo; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/** /**
* Controller * Controller

View File

@ -1,31 +1,25 @@
package com.muyu.product.controller; package com.muyu.product.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.muyu.common.core.text.Convert;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.text.Convert;
import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.log.annotation.Log; import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType; import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.product.domain.BrandInfo; import com.muyu.product.domain.BrandInfo;
import com.muyu.product.domain.req.BrandInfoEditReq;
import com.muyu.product.domain.req.BrandInfoQueryReq; import com.muyu.product.domain.req.BrandInfoQueryReq;
import com.muyu.product.domain.req.BrandInfoSaveReq; import com.muyu.product.domain.req.BrandInfoSaveReq;
import com.muyu.product.domain.req.BrandInfoEditReq;
import com.muyu.product.service.BrandInfoService; import com.muyu.product.service.BrandInfoService;
import com.muyu.common.core.web.page.TableDataInfo; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/** /**
* Controller * Controller

View File

@ -1,37 +1,27 @@
package com.muyu.product.controller; package com.muyu.product.controller;
import java.util.List;
import java.util.function.Supplier;
import javax.servlet.http.HttpServletResponse;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.product.domain.AttributeGroup;
import com.muyu.product.domain.AttributeInfo;
import com.muyu.product.domain.BrandInfo;
import com.muyu.product.domain.model.CategoryInfoSaveModel;
import com.muyu.product.domain.resp.CategoryCommonElementResp;
import com.muyu.product.domain.resp.CategoryParentCommonElementResp;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.log.annotation.Log; import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType; import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.product.domain.CategoryInfo; import com.muyu.product.domain.CategoryInfo;
import com.muyu.product.domain.req.CategoryInfoQueryReq; import com.muyu.product.domain.model.CategoryInfoSaveModel;
import com.muyu.product.domain.req.CategoryInfoSaveReq;
import com.muyu.product.domain.req.CategoryInfoEditReq; import com.muyu.product.domain.req.CategoryInfoEditReq;
import com.muyu.product.domain.req.CategoryInfoSaveReq;
import com.muyu.product.domain.resp.CategoryCommonElementResp;
import com.muyu.product.domain.resp.CategoryParentCommonElementResp;
import com.muyu.product.service.CategoryInfoService; import com.muyu.product.service.CategoryInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/** /**
* Controller * Controller
@ -136,9 +126,7 @@ public class CategoryInfoController extends BaseController {
@GetMapping("/parentCommonElement/{categoryId}") @GetMapping("/parentCommonElement/{categoryId}")
@ApiOperation("通过品类ID获取父级以上的属性集合") @ApiOperation("通过品类ID获取父级以上的属性集合")
@ApiImplicitParam(name = "categoryId", value = "categoryId", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class, example = "1") @ApiImplicitParam(name = "categoryId", value = "categoryId", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class, example = "1")
public Result<CategoryParentCommonElementResp> parentCommonElement( public Result<CategoryParentCommonElementResp> parentCommonElement(@PathVariable(value = "categoryId") Long categoryId) {
@PathVariable(value = "categoryId") Long categoryId
) {
return Result.success(categoryInfoService.parentCommonElement(categoryId)); return Result.success(categoryInfoService.parentCommonElement(categoryId));
} }
} }

View File

@ -1,30 +1,25 @@
package com.muyu.product.controller; package com.muyu.product.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log; import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType; import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.product.domain.CommentInfo; import com.muyu.product.domain.CommentInfo;
import com.muyu.product.domain.req.CommentInfoEditReq;
import com.muyu.product.domain.req.CommentInfoQueryReq; import com.muyu.product.domain.req.CommentInfoQueryReq;
import com.muyu.product.domain.req.CommentInfoSaveReq; import com.muyu.product.domain.req.CommentInfoSaveReq;
import com.muyu.product.domain.req.CommentInfoEditReq;
import com.muyu.product.service.CommentInfoService; import com.muyu.product.service.CommentInfoService;
import com.muyu.common.core.web.page.TableDataInfo; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/** /**
* Controller * Controller
@ -43,7 +38,7 @@ public class CommentInfoController extends BaseController {
* *
*/ */
@ApiOperation("获取商品评论列表") @ApiOperation("获取商品评论列表")
@RequiresPermissions("product:comment:list") // @RequiresPermissions("product:comment:list")
@GetMapping("/list") @GetMapping("/list")
public Result<TableDataInfo<CommentInfo>> list(CommentInfoQueryReq commentInfoQueryReq) { public Result<TableDataInfo<CommentInfo>> list(CommentInfoQueryReq commentInfoQueryReq) {
startPage(); startPage();
@ -68,7 +63,7 @@ public class CommentInfoController extends BaseController {
* *
*/ */
@ApiOperation("获取商品评论详细信息") @ApiOperation("获取商品评论详细信息")
@RequiresPermissions("product:comment:query") // @RequiresPermissions("product:comment:query")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
public Result<CommentInfo> getInfo(@PathVariable("id") Long id) { public Result<CommentInfo> getInfo(@PathVariable("id") Long id) {

View File

@ -1,30 +1,25 @@
package com.muyu.product.controller; package com.muyu.product.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log; import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType; import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.product.domain.CommentLikeInfo; import com.muyu.product.domain.CommentLikeInfo;
import com.muyu.product.domain.req.CommentLikeInfoEditReq;
import com.muyu.product.domain.req.CommentLikeInfoQueryReq; import com.muyu.product.domain.req.CommentLikeInfoQueryReq;
import com.muyu.product.domain.req.CommentLikeInfoSaveReq; import com.muyu.product.domain.req.CommentLikeInfoSaveReq;
import com.muyu.product.domain.req.CommentLikeInfoEditReq;
import com.muyu.product.service.CommentLikeInfoService; import com.muyu.product.service.CommentLikeInfoService;
import com.muyu.common.core.web.page.TableDataInfo; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/** /**
* Controller * Controller

View File

@ -1,32 +1,29 @@
package com.muyu.product.controller; package com.muyu.product.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.muyu.product.cache.ProjectInfoCache;
import com.muyu.product.domain.resp.ProjectDetailResp;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log; import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType; import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.product.cache.ProjectInfoCache;
import com.muyu.product.domain.ProjectInfo; import com.muyu.product.domain.ProjectInfo;
import com.muyu.product.domain.req.ProjectInfoEditReq;
import com.muyu.product.domain.req.ProjectInfoQueryReq; import com.muyu.product.domain.req.ProjectInfoQueryReq;
import com.muyu.product.domain.req.ProjectInfoSaveReq; import com.muyu.product.domain.req.ProjectInfoSaveReq;
import com.muyu.product.domain.req.ProjectInfoEditReq; import com.muyu.product.domain.req.ProjectInfoUpdReq;
import com.muyu.product.domain.resp.ProjectDetailResp;
import com.muyu.product.domain.resp.ProjectInfoListResp;
import com.muyu.product.service.ProjectInfoService; import com.muyu.product.service.ProjectInfoService;
import com.muyu.common.core.web.page.TableDataInfo; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/** /**
* Controller * Controller
@ -50,10 +47,10 @@ public class ProjectInfoController extends BaseController {
@ApiOperation("获取商品信息列表") @ApiOperation("获取商品信息列表")
@RequiresPermissions("product:info:list") @RequiresPermissions("product:info:list")
@GetMapping("/list") @GetMapping("/list")
public Result<TableDataInfo<ProjectInfo>> list(ProjectInfoQueryReq projectInfoQueryReq) { public Result<TableDataInfo<ProjectInfoListResp>> list(ProjectInfoQueryReq projectInfoQueryReq) {
startPage(); startPage();
List<ProjectInfo> list = projectInfoService.list(ProjectInfo.queryBuild(projectInfoQueryReq)); List<ProjectInfoListResp> projectInfoListResps = projectInfoService.ProjectInfo(ProjectInfo.queryBuild(projectInfoQueryReq));
return getDataTable(list); return getDataTable(projectInfoListResps);
} }
/** /**
@ -73,9 +70,8 @@ public class ProjectInfoController extends BaseController {
* *
*/ */
@ApiOperation("获取商品信息详细信息") @ApiOperation("获取商品信息详细信息")
@RequiresPermissions("product:info:query") // @RequiresPermissions("product:info:query")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
public Result<ProjectInfo> getInfo(@PathVariable("id") Long id) { public Result<ProjectInfo> getInfo(@PathVariable("id") Long id) {
return Result.success(projectInfoCache.get(id)); return Result.success(projectInfoCache.get(id));
} }
@ -84,7 +80,7 @@ public class ProjectInfoController extends BaseController {
* *
*/ */
@ApiOperation("获取商品信息详细信息") @ApiOperation("获取商品信息详细信息")
@RequiresPermissions("product:info:query") // @RequiresPermissions("product:info:query")
@GetMapping(value = "/cache/{id}") @GetMapping(value = "/cache/{id}")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
public Result<ProjectInfo> getCacheInfo(@PathVariable("id") Long id) { public Result<ProjectInfo> getCacheInfo(@PathVariable("id") Long id) {
@ -95,7 +91,7 @@ public class ProjectInfoController extends BaseController {
* *
*/ */
@ApiOperation("获取商品信息详细信息") @ApiOperation("获取商品信息详细信息")
@RequiresPermissions("product:info:query") // @RequiresPermissions("product:info:query")
@GetMapping(value = "/detail/{id}") @GetMapping(value = "/detail/{id}")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
public Result<ProjectDetailResp> getDetailInfo(@PathVariable("id") Long id) { public Result<ProjectDetailResp> getDetailInfo(@PathVariable("id") Long id) {
@ -120,7 +116,8 @@ public class ProjectInfoController extends BaseController {
@Log(title = "商品信息", businessType = BusinessType.UPDATE) @Log(title = "商品信息", businessType = BusinessType.UPDATE)
@PutMapping("/{id}") @PutMapping("/{id}")
@ApiOperation("修改商品信息") @ApiOperation("修改商品信息")
public Result<String> edit(@PathVariable Long id, @RequestBody ProjectInfoEditReq projectInfoEditReq) { public Result<String> edit(@PathVariable Long id, @RequestBody ProjectInfoUpdReq projectInfoUpdReq) {
ProjectInfoEditReq projectInfoEditReq = ProjectInfoEditReq.convertToReq(projectInfoUpdReq);
return toAjax(projectInfoService.updateById(ProjectInfo.editBuild(id,projectInfoEditReq))); return toAjax(projectInfoService.updateById(ProjectInfo.editBuild(id,projectInfoEditReq)));
} }

View File

@ -1,30 +1,25 @@
package com.muyu.product.controller; package com.muyu.product.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log; import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType; import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.domain.ProjectSkuInfo;
import com.muyu.product.domain.req.ProjectSkuInfoEditReq;
import com.muyu.product.domain.req.ProjectSkuInfoQueryReq; import com.muyu.product.domain.req.ProjectSkuInfoQueryReq;
import com.muyu.product.domain.req.ProjectSkuInfoSaveReq; import com.muyu.product.domain.req.ProjectSkuInfoSaveReq;
import com.muyu.product.domain.req.ProjectSkuInfoEditReq;
import com.muyu.product.service.ProjectSkuInfoService; import com.muyu.product.service.ProjectSkuInfoService;
import com.muyu.common.core.web.page.TableDataInfo; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/** /**
* SKUController * SKUController
@ -43,7 +38,7 @@ public class ProjectSkuInfoController extends BaseController {
* SKU * SKU
*/ */
@ApiOperation("获取商品SKU列表") @ApiOperation("获取商品SKU列表")
@RequiresPermissions("product:sku:list") // @RequiresPermissions("product:sku:list")
@GetMapping("/list") @GetMapping("/list")
public Result<TableDataInfo<ProjectSkuInfo>> list(ProjectSkuInfoQueryReq projectSkuInfoQueryReq) { public Result<TableDataInfo<ProjectSkuInfo>> list(ProjectSkuInfoQueryReq projectSkuInfoQueryReq) {
startPage(); startPage();
@ -65,7 +60,7 @@ public class ProjectSkuInfoController extends BaseController {
* SKU * SKU
*/ */
@ApiOperation("导出商品SKU列表") @ApiOperation("导出商品SKU列表")
@RequiresPermissions("product:sku:export") // @RequiresPermissions("product:sku:export")
@Log(title = "商品SKU", businessType = BusinessType.EXPORT) @Log(title = "商品SKU", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, ProjectSkuInfo projectSkuInfo) { public void export(HttpServletResponse response, ProjectSkuInfo projectSkuInfo) {
@ -78,7 +73,7 @@ public class ProjectSkuInfoController extends BaseController {
* SKU * SKU
*/ */
@ApiOperation("获取商品SKU详细信息") @ApiOperation("获取商品SKU详细信息")
@RequiresPermissions("product:sku:query") // @RequiresPermissions("product:sku:query")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
public Result<ProjectSkuInfo> getInfo(@PathVariable("id") Long id) { public Result<ProjectSkuInfo> getInfo(@PathVariable("id") Long id) {

View File

@ -1,30 +1,25 @@
package com.muyu.product.controller; package com.muyu.product.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log; import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType; import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.product.domain.RuleAttrInfo; import com.muyu.product.domain.RuleAttrInfo;
import com.muyu.product.domain.req.RuleAttrInfoEditReq;
import com.muyu.product.domain.req.RuleAttrInfoQueryReq; import com.muyu.product.domain.req.RuleAttrInfoQueryReq;
import com.muyu.product.domain.req.RuleAttrInfoSaveReq; import com.muyu.product.domain.req.RuleAttrInfoSaveReq;
import com.muyu.product.domain.req.RuleAttrInfoEditReq;
import com.muyu.product.service.RuleAttrInfoService; import com.muyu.product.service.RuleAttrInfoService;
import com.muyu.common.core.web.page.TableDataInfo; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/** /**
* Controller * Controller
@ -43,7 +38,7 @@ public class RuleAttrInfoController extends BaseController {
* *
*/ */
@ApiOperation("获取规格详情列表") @ApiOperation("获取规格详情列表")
@RequiresPermissions("product:ruleAttr:list") // @RequiresPermissions("product:ruleAttr:list")
@GetMapping("/list") @GetMapping("/list")
public Result<TableDataInfo<RuleAttrInfo>> list(RuleAttrInfoQueryReq ruleAttrInfoQueryReq) { public Result<TableDataInfo<RuleAttrInfo>> list(RuleAttrInfoQueryReq ruleAttrInfoQueryReq) {
startPage(); startPage();
@ -68,7 +63,7 @@ public class RuleAttrInfoController extends BaseController {
* *
*/ */
@ApiOperation("获取规格详情详细信息") @ApiOperation("获取规格详情详细信息")
@RequiresPermissions("product:ruleAttr:query") // @RequiresPermissions("product:ruleAttr:query")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
public Result<RuleAttrInfo> getInfo(@PathVariable("id") Long id) { public Result<RuleAttrInfo> getInfo(@PathVariable("id") Long id) {

View File

@ -1,34 +1,29 @@
package com.muyu.product.controller; package com.muyu.product.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.muyu.common.core.text.Convert;
import com.muyu.product.domain.model.RuleInfoAddModel;
import com.muyu.product.domain.resp.RuleInfoResp;
import com.muyu.product.domain.resp.RuleInfoUpdResp;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.text.Convert;
import com.muyu.common.core.utils.poi.ExcelUtil; import com.muyu.common.core.utils.poi.ExcelUtil;
import com.muyu.common.core.web.controller.BaseController; import com.muyu.common.core.web.controller.BaseController;
import com.muyu.common.core.web.page.TableDataInfo;
import com.muyu.common.log.annotation.Log; import com.muyu.common.log.annotation.Log;
import com.muyu.common.log.enums.BusinessType; import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.product.domain.RuleInfo; import com.muyu.product.domain.RuleInfo;
import com.muyu.product.domain.model.RuleInfoAddModel;
import com.muyu.product.domain.req.RuleInfoEditReq;
import com.muyu.product.domain.req.RuleInfoQueryReq; import com.muyu.product.domain.req.RuleInfoQueryReq;
import com.muyu.product.domain.req.RuleInfoSaveReq; import com.muyu.product.domain.req.RuleInfoSaveReq;
import com.muyu.product.domain.req.RuleInfoEditReq; import com.muyu.product.domain.resp.RuleInfoResp;
import com.muyu.product.domain.resp.RuleInfoUpdResp;
import com.muyu.product.service.RuleInfoService; import com.muyu.product.service.RuleInfoService;
import com.muyu.common.core.web.page.TableDataInfo; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/** /**
* Controller * Controller
@ -47,7 +42,7 @@ public class RuleInfoController extends BaseController {
* *
*/ */
@ApiOperation("获取商品规格列表") @ApiOperation("获取商品规格列表")
@RequiresPermissions("product:rule:list") // @RequiresPermissions("product:rule:list")
@GetMapping("/list") @GetMapping("/list")
public Result list(RuleInfoQueryReq ruleInfoQueryReq) { public Result list(RuleInfoQueryReq ruleInfoQueryReq) {
boolean isPage = ruleInfoQueryReq.getParams().get("isPage") == null || Convert.toBool(ruleInfoQueryReq.getParams().get("isPage"), true); boolean isPage = ruleInfoQueryReq.getParams().get("isPage") == null || Convert.toBool(ruleInfoQueryReq.getParams().get("isPage"), true);
@ -62,7 +57,7 @@ public class RuleInfoController extends BaseController {
* *
*/ */
@ApiOperation("导出商品规格列表") @ApiOperation("导出商品规格列表")
@RequiresPermissions("product:rule:export") // @RequiresPermissions("product:rule:export")
@Log(title = "商品规格", businessType = BusinessType.EXPORT) @Log(title = "商品规格", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, RuleInfo ruleInfo) { public void export(HttpServletResponse response, RuleInfo ruleInfo) {
@ -75,7 +70,7 @@ public class RuleInfoController extends BaseController {
* *
*/ */
@ApiOperation("获取商品规格详细信息") @ApiOperation("获取商品规格详细信息")
@RequiresPermissions("product:rule:query") // @RequiresPermissions("product:rule:query")
@GetMapping(value = "/{id}") @GetMapping(value = "/{id}")
@ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class) @ApiImplicitParam(name = "id", value = "id", required = true, dataType = "Long", paramType = "path", dataTypeClass = Long.class)
public Result<RuleInfoUpdResp> getInfo(@PathVariable("id") Long id) { public Result<RuleInfoUpdResp> getInfo(@PathVariable("id") Long id) {

View File

@ -1,8 +1,9 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.AsAttributeGroup; import com.muyu.product.domain.AsAttributeGroup;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/** /**
* Mapper * Mapper
@ -10,6 +11,11 @@ import com.muyu.product.domain.AsAttributeGroup;
* @author DongZeLiang * @author DongZeLiang
* @date 2024-02-27 * @date 2024-02-27
*/ */
@Mapper
public interface AsAttributeGroupMapper extends BaseMapper<AsAttributeGroup> { public interface AsAttributeGroupMapper extends BaseMapper<AsAttributeGroup> {
void delete(Long id);
//添加 属性组
void add(@Param("groupId") Long groupId, @Param("id") Long id);
} }

View File

@ -1,6 +1,5 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.AsBrandProject; import com.muyu.product.domain.AsBrandProject;

View File

@ -1,8 +1,11 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.AsCategoryAttributeGroup; import com.muyu.product.domain.AsCategoryAttributeGroup;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* Mapper * Mapper
@ -10,6 +13,20 @@ import com.muyu.product.domain.AsCategoryAttributeGroup;
* @author DongZeLiang * @author DongZeLiang
* @date 2024-02-27 * @date 2024-02-27
*/ */
@Mapper
public interface AsCategoryAttributeGroupMapper extends BaseMapper<AsCategoryAttributeGroup> { public interface AsCategoryAttributeGroupMapper extends BaseMapper<AsCategoryAttributeGroup> {
void deleteAsCategoryAttributeGroup(Long id);
/**
*
* categoryId:id
* attributeGroupId:id
*/
void addAsCategoryAttributeGroup(@Param("categoryId") Long categoryId, @Param("attributeGroupId") Long attributeGroupId);
/**
*
*/
List<Long> selectAsCategoryAttributeGroupList(@Param("id") Long id);
} }

View File

@ -1,8 +1,11 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.AsCategoryAttribute; import com.muyu.product.domain.AsCategoryAttribute;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* Mapper * Mapper
@ -10,6 +13,23 @@ import com.muyu.product.domain.AsCategoryAttribute;
* @author DongZeLiang * @author DongZeLiang
* @date 2024-02-27 * @date 2024-02-27
*/ */
@Mapper
public interface AsCategoryAttributeMapper extends BaseMapper<AsCategoryAttribute> { public interface AsCategoryAttributeMapper extends BaseMapper<AsCategoryAttribute> {
/**删除 品类 属性 中间表 */
void deleteAsCategoryAttribute(Long id);
/**
*
* categoryId:id
* attributeId:id
*/
void addAsCategoryAttribute(@Param("categoryId") Long categoryId, @Param("attributeId") Long attributeId);
/**
*
*/
List<Long> selectAsCategoryAttributeList(@Param("id") Long id);
} }

View File

@ -1,8 +1,11 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.AsCategoryBrand; import com.muyu.product.domain.AsCategoryBrand;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* Mapper * Mapper
@ -10,6 +13,21 @@ import com.muyu.product.domain.AsCategoryBrand;
* @author DongZeLiang * @author DongZeLiang
* @date 2024-02-27 * @date 2024-02-27
*/ */
@Mapper
public interface AsCategoryBrandMapper extends BaseMapper<AsCategoryBrand> { public interface AsCategoryBrandMapper extends BaseMapper<AsCategoryBrand> {
/**删除 品类 品牌 中间表 */
void deleteAsCategoryBrandMapper(Long id);
/**
*
* categoryId:id
* brandId:id
*/
void addAsCategoryBrandMapper(@Param("categoryId") Long categoryId, @Param("brandId") Long brandId);
/**
*
*/
List<Long> selectAsCategoryBrandList(@Param("id") Long id);
} }

View File

@ -1,6 +1,5 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.AsProductAttributeInfo; import com.muyu.product.domain.AsProductAttributeInfo;

View File

@ -1,8 +1,8 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.AttributeGroup; import com.muyu.product.domain.AttributeGroup;
import org.apache.ibatis.annotations.Mapper;
/** /**
* Mapper * Mapper
@ -10,6 +10,7 @@ import com.muyu.product.domain.AttributeGroup;
* @author DongZeLiang * @author DongZeLiang
* @date 2024-02-27 * @date 2024-02-27
*/ */
@Mapper
public interface AttributeGroupMapper extends BaseMapper<AttributeGroup> { public interface AttributeGroupMapper extends BaseMapper<AttributeGroup> {
} }

View File

@ -1,6 +1,5 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.AttributeInfo; import com.muyu.product.domain.AttributeInfo;

View File

@ -1,6 +1,5 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.BrandInfo; import com.muyu.product.domain.BrandInfo;

View File

@ -1,9 +1,10 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.CategoryInfo; import com.muyu.product.domain.CategoryInfo;
import java.util.List;
/** /**
* Mapper * Mapper
* *
@ -12,4 +13,11 @@ import com.muyu.product.domain.CategoryInfo;
*/ */
public interface CategoryInfoMapper extends BaseMapper<CategoryInfo> { public interface CategoryInfoMapper extends BaseMapper<CategoryInfo> {
//修改 品类
boolean updateCategoryInfo( CategoryInfo categoryInfo );
CategoryInfo findByOne(Long ids);
List<CategoryInfo> findParentId(Long parentId);
} }

View File

@ -1,6 +1,5 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.CommentInfo; import com.muyu.product.domain.CommentInfo;

View File

@ -1,6 +1,5 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.CommentLikeInfo; import com.muyu.product.domain.CommentLikeInfo;

View File

@ -1,8 +1,8 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.ProjectInfo; import com.muyu.product.domain.ProjectInfo;
import org.apache.ibatis.annotations.Mapper;
/** /**
* Mapper * Mapper
@ -10,6 +10,7 @@ import com.muyu.product.domain.ProjectInfo;
* @author DongZeLiang * @author DongZeLiang
* @date 2024-02-27 * @date 2024-02-27
*/ */
@Mapper
public interface ProjectInfoMapper extends BaseMapper<ProjectInfo> { public interface ProjectInfoMapper extends BaseMapper<ProjectInfo> {
} }

View File

@ -1,6 +1,5 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.ProjectSkuInfo; import com.muyu.product.domain.ProjectSkuInfo;

View File

@ -1,6 +1,5 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.RuleAttrInfo; import com.muyu.product.domain.RuleAttrInfo;

View File

@ -1,8 +1,8 @@
package com.muyu.product.mapper; package com.muyu.product.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.product.domain.RuleInfo; import com.muyu.product.domain.RuleInfo;
import org.apache.ibatis.annotations.Mapper;
/** /**
* Mapper * Mapper
@ -10,6 +10,7 @@ import com.muyu.product.domain.RuleInfo;
* @author DongZeLiang * @author DongZeLiang
* @date 2024-02-27 * @date 2024-02-27
*/ */
@Mapper
public interface RuleInfoMapper extends BaseMapper<RuleInfo> { public interface RuleInfoMapper extends BaseMapper<RuleInfo> {
} }

View File

@ -7,7 +7,10 @@ import com.muyu.product.domain.AttributeGroup;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.product.domain.AttributeInfo; import com.muyu.product.domain.AttributeInfo;
import com.muyu.product.domain.model.AttributeGroupSaveModel; import com.muyu.product.domain.model.AttributeGroupSaveModel;
import com.muyu.product.domain.req.AttributeGroupEditReq;
import com.muyu.product.domain.req.AttributeGroupStateReq;
import com.muyu.product.domain.resp.AttributeGroupPageResp; import com.muyu.product.domain.resp.AttributeGroupPageResp;
import com.muyu.product.domain.resp.AttributeGroupUpd;
import com.muyu.product.domain.resp.AttributeGroupUpdResp; import com.muyu.product.domain.resp.AttributeGroupUpdResp;
/** /**
@ -46,4 +49,21 @@ public interface AttributeGroupService extends IService<AttributeGroup> {
* @return * @return
*/ */
AttributeGroupUpdResp getUpdById(Long id); AttributeGroupUpdResp getUpdById(Long id);
/**
*
*/
void updateAttribute(Long id, AttributeGroupEditReq attributeGroupEditReq);
/**
*
* @param id
* @return
*/
AttributeGroupUpd getByIdUpd(Long id);
/**
* wyz
* @param attributeGroupStateReq
*/
void updateState(AttributeGroupStateReq attributeGroupStateReq);
} }

View File

@ -8,7 +8,9 @@ import com.muyu.product.domain.BrandInfo;
import com.muyu.product.domain.CategoryInfo; import com.muyu.product.domain.CategoryInfo;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.product.domain.model.CategoryInfoSaveModel; import com.muyu.product.domain.model.CategoryInfoSaveModel;
import com.muyu.product.domain.req.CategoryInfoEditReq;
import com.muyu.product.domain.resp.CategoryCommonElementResp; import com.muyu.product.domain.resp.CategoryCommonElementResp;
import com.muyu.product.domain.resp.CategoryInfoUpdResp;
import com.muyu.product.domain.resp.CategoryParentCommonElementResp; import com.muyu.product.domain.resp.CategoryParentCommonElementResp;
/** /**
@ -69,4 +71,17 @@ public interface CategoryInfoService extends IService<CategoryInfo> {
CategoryCommonElementResp getTemplateAttributeByCateGoryId (Long cateGoryId); CategoryCommonElementResp getTemplateAttributeByCateGoryId (Long cateGoryId);
public <T, AS> List<T> getCommon (Long categoryId, IService<AS> iService, IService<T> bsiService); public <T, AS> List<T> getCommon (Long categoryId, IService<AS> iService, IService<T> bsiService);
/**
*
* @param id
* @param categoryInfoEditReq
* @return
*/
boolean updateUpdById(Long id, CategoryInfoEditReq categoryInfoEditReq);
/** 获取品类信息详细信息 wyz*/
CategoryInfoUpdResp getByIdUpd(Long id);
} }

View File

@ -1,10 +1,14 @@
package com.muyu.product.service; package com.muyu.product.service;
import java.util.List; import java.util.List;
import com.muyu.common.core.domain.Result;
import com.muyu.product.domain.ProjectInfo; import com.muyu.product.domain.ProjectInfo;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.product.domain.req.ProjectInfoEditReq;
import com.muyu.product.domain.req.ProjectInfoSaveReq; import com.muyu.product.domain.req.ProjectInfoSaveReq;
import com.muyu.product.domain.resp.ProjectDetailResp; import com.muyu.product.domain.resp.ProjectDetailResp;
import com.muyu.product.domain.resp.ProjectInfoListResp;
/** /**
* Service * Service
@ -20,7 +24,7 @@ public interface ProjectInfoService extends IService<ProjectInfo> {
* @return * @return
*/ */
public List<ProjectInfo> list(ProjectInfo projectInfo); public List<ProjectInfo> list(ProjectInfo projectInfo);
public List<ProjectInfoListResp> ProjectInfo(ProjectInfo projectInfo);
/** /**
* *
* @param projectInfoSaveReq * @param projectInfoSaveReq
@ -34,4 +38,12 @@ public interface ProjectInfoService extends IService<ProjectInfo> {
* @return * @return
*/ */
ProjectDetailResp getDetailInfo (Long id); ProjectDetailResp getDetailInfo (Long id);
/**
*
* @param id
* @param projectInfoEditReq
* @return
*/
Result<String> wyzUpdateProjectInfo(Long id, ProjectInfoEditReq projectInfoEditReq);
} }

View File

@ -3,6 +3,7 @@ package com.muyu.product.service;
import java.util.List; import java.util.List;
import com.muyu.product.domain.RuleAttrInfo; import com.muyu.product.domain.RuleAttrInfo;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.product.domain.req.WyzRuleInfoSaveReq;
/** /**
* Service * Service
@ -25,4 +26,8 @@ public interface RuleAttrInfoService extends IService<RuleAttrInfo> {
* @return * @return
*/ */
List<RuleAttrInfo> getInfoByRuleId (Long ruleId); List<RuleAttrInfo> getInfoByRuleId (Long ruleId);
/**
*
*/
void updateSaveById(WyzRuleInfoSaveReq wyzRuleInfoSaveReq);
} }

View File

@ -49,4 +49,6 @@ public interface RuleInfoService extends IService<RuleInfo> {
* @return * @return
*/ */
boolean updateById(Long id, RuleInfoEditReq ruleInfoEditReq); boolean updateById(Long id, RuleInfoEditReq ruleInfoEditReq);
} }

View File

@ -9,8 +9,12 @@ import com.muyu.product.domain.AsAttributeGroup;
import com.muyu.product.domain.AttributeGroup; import com.muyu.product.domain.AttributeGroup;
import com.muyu.product.domain.AttributeInfo; import com.muyu.product.domain.AttributeInfo;
import com.muyu.product.domain.model.AttributeGroupSaveModel; import com.muyu.product.domain.model.AttributeGroupSaveModel;
import com.muyu.product.domain.req.AttributeGroupEditReq;
import com.muyu.product.domain.req.AttributeGroupStateReq;
import com.muyu.product.domain.resp.AttributeGroupPageResp; import com.muyu.product.domain.resp.AttributeGroupPageResp;
import com.muyu.product.domain.resp.AttributeGroupUpd;
import com.muyu.product.domain.resp.AttributeGroupUpdResp; import com.muyu.product.domain.resp.AttributeGroupUpdResp;
import com.muyu.product.mapper.AsAttributeGroupMapper;
import com.muyu.product.mapper.AttributeGroupMapper; import com.muyu.product.mapper.AttributeGroupMapper;
import com.muyu.product.service.AsAttributeGroupService; import com.muyu.product.service.AsAttributeGroupService;
import com.muyu.product.service.AttributeGroupService; import com.muyu.product.service.AttributeGroupService;
@ -38,6 +42,9 @@ public class AttributeGroupServiceImpl extends ServiceImpl<AttributeGroupMapper,
@Autowired @Autowired
private AttributeInfoService attributeInfoService; private AttributeInfoService attributeInfoService;
@Autowired
private AsAttributeGroupMapper attributeGroupMapper;
/** /**
* *
* *
@ -126,4 +133,87 @@ public class AttributeGroupServiceImpl extends ServiceImpl<AttributeGroupMapper,
.attributeList(attributeInfoList) .attributeList(attributeInfoList)
.build(); .build();
} }
/**
*
*/
@Override
public void updateAttribute(Long id, AttributeGroupEditReq attributeGroupEditReq) {
//删除原 属性组
attributeGroupMapper.delete(id);
if (null == attributeGroupEditReq.getAttributeList() || 0==attributeGroupEditReq.getAttributeList().size()){
List<Long> list = attributeGroupEditReq.getAttributeIdList();
//添加
for (Long info : list) {
attributeGroupMapper.add(id,info);
}
}else {
List<AttributeInfo> list = attributeGroupEditReq.getAttributeList();
//添加
for (AttributeInfo info : list) {
attributeGroupMapper.add(id,info.getId());
}
}
//获取新数据组
}
@Autowired
private AttributeGroupMapper mapper;
/**
*
* @param attributeGroupStateReq
*/
@Override
public void updateState(AttributeGroupStateReq attributeGroupStateReq) {
LambdaQueryWrapper<AttributeGroup> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AttributeGroup ::getId ,attributeGroupStateReq.getId());
AttributeGroup attributeGroup = new AttributeGroup();
attributeGroup.setStates(attributeGroupStateReq.getStates());
mapper.update(attributeGroup,queryWrapper);
}
//属性与组中间列表
@Autowired
private AsAttributeGroupService attributeGroupService;
/**
*
* @param id
* @return
*/
@Override
public AttributeGroupUpd getByIdUpd(Long id) {
//获取当前id的 组
AttributeGroup byId = this.getById(id);
//查询 该 组 的 属性 集合
LambdaQueryWrapper<AsAttributeGroup> wrapper = new LambdaQueryWrapper<>();
//返回
wrapper.eq(AsAttributeGroup::getGroupId,id);
List<AsAttributeGroup> asAttributeGroups=attributeGroupService.list(wrapper);
//判断当前会显得 属性及 是否为空
if (asAttributeGroups.size() != 0){
List<Long> longList = asAttributeGroups.stream()
.map(AsAttributeGroup::getAttributeId)//属性
.toList();
List<AttributeInfo> attributeInfos = attributeInfoService.listByIds(longList);
return AttributeGroupUpd.builder()
.id(byId.getId())
.name(byId.getName())
.attributeList(//属性
attributeInfos
).build();//修改回显时信息
}
return AttributeGroupUpd.builder()
.id(byId.getId())
.name(byId.getName())
.build();//修改回显时信息
}
} }

View File

@ -10,8 +10,13 @@ import com.muyu.product.domain.base.CategoryBase;
import com.muyu.product.domain.model.CategoryInfoSaveModel; import com.muyu.product.domain.model.CategoryInfoSaveModel;
import com.muyu.product.domain.model.TemplateAttributeGroupModel; import com.muyu.product.domain.model.TemplateAttributeGroupModel;
import com.muyu.product.domain.model.TemplateAttributeModel; import com.muyu.product.domain.model.TemplateAttributeModel;
import com.muyu.product.domain.req.CategoryInfoEditReq;
import com.muyu.product.domain.resp.CategoryCommonElementResp; import com.muyu.product.domain.resp.CategoryCommonElementResp;
import com.muyu.product.domain.resp.CategoryInfoUpdResp;
import com.muyu.product.domain.resp.CategoryParentCommonElementResp; import com.muyu.product.domain.resp.CategoryParentCommonElementResp;
import com.muyu.product.mapper.AsCategoryAttributeGroupMapper;
import com.muyu.product.mapper.AsCategoryAttributeMapper;
import com.muyu.product.mapper.AsCategoryBrandMapper;
import com.muyu.product.mapper.CategoryInfoMapper; import com.muyu.product.mapper.CategoryInfoMapper;
import com.muyu.product.service.*; import com.muyu.product.service.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -58,6 +63,18 @@ public class CategoryInfoServiceImpl extends ServiceImpl<CategoryInfoMapper, Cat
@Autowired @Autowired
private AttributeGroupService attributeGroupService; private AttributeGroupService attributeGroupService;
@Autowired
private AsCategoryAttributeGroupMapper attributeGroupMapper;
@Autowired
private AsCategoryAttributeMapper asCategoryAttributeMapper;
@Autowired
private AsCategoryBrandMapper asCategoryBrandMapper;
@Autowired
private AsProductAttributeInfoService asProductAttributeInfoService;
/** /**
* *
* *
@ -270,6 +287,88 @@ public class CategoryInfoServiceImpl extends ServiceImpl<CategoryInfoMapper, Cat
return list; return list;
} }
@Override
public boolean updateUpdById(Long id, CategoryInfoEditReq categoryInfoEditReq) {
LambdaQueryWrapper<CategoryInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CategoryInfo::getId,id);
//修改 品类信息
CategoryInfo info = CategoryInfo.editBuild(id, categoryInfoEditReq);
if (info != null){
//修改 品类中 的 商品属性 attributeIdList
updateAttributeIdList(id, categoryInfoEditReq);
//修改 品类中 的 商品属性组 (attributeGroupIdList)
updateAttributeGroupIdList(id, categoryInfoEditReq);
//修改 品类中 的 商品品牌组 brandIdList
updateAsCategoryBrandMapper(id, categoryInfoEditReq);
return true;
}
return false;
}
/** 获取品类信息详细信息 wyz*/
@Override
public CategoryInfoUpdResp getByIdUpd(Long id) {
LambdaQueryWrapper<CategoryInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CategoryInfo::getId,id);
CategoryInfo byId = this.getById(id);
//查询 品类信息
return CategoryInfoUpdResp.builder()
.id(byId.getId())
.name(byId.getName())
.image(byId.getImage())
.start(byId.getStart())
.introduction(byId.getIntroduction())
.attributeInfoList(attributeGroupMapper.selectAsCategoryAttributeGroupList(id))
.attributeGroupList(attributeGroupMapper.selectAsCategoryAttributeGroupList(id))
.brandInfoList(asCategoryBrandMapper.selectAsCategoryBrandList(id))
.build();
}
/**修改 品类中 的 商品品牌组 brandIdList**/
private void updateAsCategoryBrandMapper(Long id, CategoryInfoEditReq categoryInfoEditReq) {
//修改 品类中 的 商品属性 attributeIdList
/** 删除商品品牌组*/
asCategoryBrandMapper.deleteAsCategoryBrandMapper(id);
//获取 入参中的 商品品牌组 id 集合
List<Long> list = categoryInfoEditReq.getBrandIdList();
for (Long aLong : list) {
//添加 品类 商品品牌组 中间 表
asCategoryBrandMapper.addAsCategoryBrandMapper(id,aLong);
}
}
/**修改 品类中 的 商品属性 attributeIdList**/
private void updateAttributeIdList(Long id, CategoryInfoEditReq categoryInfoEditReq) {
//修改 品类中 的 商品属性 attributeIdList
/** 删除属性*/
asCategoryAttributeMapper.deleteAsCategoryAttribute(id);
//获取 入参中的 属性 id 集合
List<Long> list = categoryInfoEditReq.getAttributeIdList();
for (Long aLong : list) {
//添加 品类 属性 中间 表
asCategoryAttributeMapper.addAsCategoryAttribute(id,aLong);
}
}
/**修改 品类中 的 商品属性组 updateAttributeGroupIdList**/
private void updateAttributeGroupIdList(Long id, CategoryInfoEditReq categoryInfoEditReq) {
/** 删除 属性组*/
attributeGroupMapper.deleteAsCategoryAttributeGroup(id);
/** 添加 属性组*/
List<Long> list = categoryInfoEditReq.getAttributeGroupIdList();
for (Long aLong : list) {
attributeGroupMapper.addAsCategoryAttributeGroup(id,aLong);
}
}
/** /**
* ID * ID
* *

View File

@ -2,15 +2,20 @@ package com.muyu.product.service.impl;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.LinkedList;
import java.util.List; import java.util.List;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.ObjUtils; import com.muyu.common.core.utils.ObjUtils;
import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.product.domain.*; import com.muyu.product.domain.*;
import com.muyu.product.domain.model.*; import com.muyu.product.domain.model.*;
import com.muyu.product.domain.req.ProjectInfoEditReq;
import com.muyu.product.domain.req.ProjectInfoSaveReq; import com.muyu.product.domain.req.ProjectInfoSaveReq;
import com.muyu.product.domain.resp.CategoryCommonElementResp; import com.muyu.product.domain.resp.CategoryCommonElementResp;
import com.muyu.product.domain.resp.ProjectDetailResp; import com.muyu.product.domain.resp.ProjectDetailResp;
import com.muyu.product.domain.resp.ProjectInfoListResp;
import com.muyu.product.mapper.RuleInfoMapper;
import com.muyu.product.service.*; import com.muyu.product.service.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -101,8 +106,6 @@ public class ProjectInfoServiceImpl extends ServiceImpl<ProjectInfoMapper, Proje
return list(queryWrapper); return list(queryWrapper);
} }
@ -229,4 +232,82 @@ public class ProjectInfoServiceImpl extends ServiceImpl<ProjectInfoMapper, Proje
.attributeGroupList(templateAttributeGroupList) .attributeGroupList(templateAttributeGroupList)
.build(); .build();
} }
@Autowired
private ProjectInfoMapper projectInfoMapper;
/***
* wyz
* @param id
* @param projectInfoEditReq
* @return
*/
@Override
public Result<String> wyzUpdateProjectInfo(Long id, ProjectInfoEditReq projectInfoEditReq) {
LambdaQueryWrapper<ProjectInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProjectInfo::getId,id);
ProjectInfo projectInfo = ProjectInfo.builder()
.id(id)
.name(projectInfoEditReq.getName())
.introduction(projectInfoEditReq.getIntroduction())
.mianType(projectInfoEditReq.getMianType())
.parentType(projectInfoEditReq.getParentType())
.type(projectInfoEditReq.getType())
.image(projectInfoEditReq.getImage())
.carouselImages(projectInfoEditReq.getCarouselImages())
.status(projectInfoEditReq.getStatus())
.ruleId(projectInfoEditReq.getRuleId()).build();
projectInfoMapper.update(projectInfo,wrapper);
return Result.success("修改成功");
}
@Autowired
private RuleInfoMapper ruleInfoMapper;
@Override
public List<ProjectInfoListResp> ProjectInfo(ProjectInfo projectInfo) {
List<ProjectInfo> list = list(projectInfo);
List<ProjectInfoListResp> projectInfoListResps = new LinkedList<>();
list.forEach(p -> {
// 获取类别信息
CategoryInfo mianTypeName = categoryInfoService.getById(p.getMianType());
CategoryInfo parentTypeName = categoryInfoService.getById(p.getParentType());
CategoryInfo typeName = p.getType() != null ? categoryInfoService.getById(p.getType()) : null;
// 获取规则信息
RuleInfo ruleName = ruleInfoMapper.selectById(p.getRuleId());
// 获取品牌信息
BrandInfo brandName = brandInfoService.getById(p.getBrandId());
// 构建响应对象
ProjectInfoListResp resp = ProjectInfoListResp.builder()
.id(p.getId())
.name(p.getName())
.introduction(p.getIntroduction())
.mianType(p.getMianType())
.parentType(p.getParentType())
.type(p.getType())
.image(p.getImage())
.carouselImages(p.getCarouselImages())
.status(p.getStatus())
.mianTypeName(mianTypeName != null ? mianTypeName.getName() : "")
.parentTypeName(parentTypeName != null ? parentTypeName.getName() : "")
.typeName(typeName != null ? typeName.getName() : "")
.ruleName(ruleName != null ? ruleName.getName() : "")
.brandName(brandName != null ? brandName.getNam() : "")
.build();
// 添加到结果列表
projectInfoListResps.add(resp);
});
return projectInfoListResps;
}
} }

Some files were not shown because too many files have changed in this diff Show More