From e4580e8bd11135be03e0594b93414e5d9c366465 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=88=90=E8=8B=B1=E6=9D=B0?= <3427731738@qq.com> Date: Fri, 29 Nov 2024 00:15:23 +0800 Subject: [PATCH] =?UTF-8?q?2204A-cyj(=E5=AE=A2=E6=88=B7=E7=AB=AF=E6=8B=BC?= =?UTF-8?q?=E5=9B=A2=E5=88=97=E8=A1=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/muyu/gateway/config/CorsConfig.java | 57 +++++++++++++++++++ .../domain/ActivityTeamProductSkuInfo.java | 1 - .../model/ActivityTeamProductSkuUpdModel.java | 2 +- .../domain/resp/ActivityTeamInfoResp.java | 20 +++++++ .../domain/resp/TeamInfoListResp.java | 4 ++ .../domain/resp/TeamProjectSkuInfoResp.java | 2 +- .../controller/ActivityTeamController.java | 18 +++++- .../team/service/ActivityTeamInfoService.java | 7 +++ .../impl/ActivityTeamInfoServiceImpl.java | 28 ++++++++- 9 files changed, 132 insertions(+), 7 deletions(-) create mode 100644 muyu-gateway/src/main/java/com/muyu/gateway/config/CorsConfig.java diff --git a/muyu-gateway/src/main/java/com/muyu/gateway/config/CorsConfig.java b/muyu-gateway/src/main/java/com/muyu/gateway/config/CorsConfig.java new file mode 100644 index 0000000..02f1fd8 --- /dev/null +++ b/muyu-gateway/src/main/java/com/muyu/gateway/config/CorsConfig.java @@ -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); + }; + } +} + diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java index a4d428a..387672e 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/ActivityTeamProductSkuInfo.java @@ -66,7 +66,6 @@ public class ActivityTeamProductSkuInfo extends BaseEntity { .productId(activityTeamProductSkuAddModel.getProductId()) .teamId(activityTeamProductSkuAddModel.getTeamId()) .teamStock(activityTeamProductSkuAddModel.getTeamStock()) -// .remainStock(activityTeamProductSkuAddModel.getTeamStock()) .teamPrice(activityTeamProductSkuAddModel.getTeamPrice()) .build(); } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuUpdModel.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuUpdModel.java index 15afb55..5d1ed25 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuUpdModel.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/model/ActivityTeamProductSkuUpdModel.java @@ -37,7 +37,7 @@ public class ActivityTeamProductSkuUpdModel { /** * 规格SKU */ - private String productSku; + private String productSku; /** * 团购价格 */ diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoResp.java index a04ab7b..c731747 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoResp.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/ActivityTeamInfoResp.java @@ -6,6 +6,7 @@ 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; @@ -26,6 +27,7 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public class ActivityTeamInfoResp extends BaseEntity { + /** * 拼团活动id */ @@ -107,4 +109,22 @@ public class ActivityTeamInfoResp extends BaseEntity { .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(); + } } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamInfoListResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamInfoListResp.java index ac36573..7efd72c 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamInfoListResp.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamInfoListResp.java @@ -9,6 +9,9 @@ import lombok.NoArgsConstructor; import java.math.BigDecimal; import java.util.Date; +/** + * 拼团活动展示Resp + */ @Data @Builder @NoArgsConstructor @@ -86,4 +89,5 @@ public class TeamInfoListResp { .teamStock(activityTeamInfoListModel.getTeamStock()) .build(); } + } diff --git a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuInfoResp.java b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuInfoResp.java index caeeb88..9b55596 100644 --- a/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuInfoResp.java +++ b/muyu-modules/muyu-marketing/marketing-common/src/main/java/com/muyu/marketing/domain/resp/TeamProjectSkuInfoResp.java @@ -43,7 +43,7 @@ public class TeamProjectSkuInfoResp { .ruleId(skuInfo.getId()) .sku(skuInfo.getProductSku()) .teamPrice(skuInfo.getTeamPrice()) -// .teamStock(skuInfo.getTeamStock()) + .teamStock(skuInfo.getTeamStock()) .build(); } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java index 792b56e..567ba54 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/controller/ActivityTeamController.java @@ -1,7 +1,9 @@ package com.muyu.marketing.team.controller; +import com.github.pagehelper.PageInfo; import com.muyu.common.core.domain.Result; +import com.muyu.common.core.utils.PageUtils; import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.marketing.domain.model.ActivityTeamInfoAddModel; import com.muyu.marketing.domain.model.ActivityTeamInfoListModel; @@ -31,6 +33,20 @@ public class ActivityTeamController { @Autowired private ActivityTeamInfoService activityTeamInfoService;; + + /** + * 客户端拼团列表 + */ + @PostMapping("/clientList") + public Result> clientList(@RequestBody TeamInfoListReq teamInfoListReq){ + PageUtils.startPage(teamInfoListReq.getPageNum(),teamInfoListReq.getPageSize()); + List activityTeamInfoRespList=activityTeamInfoService.clientList(teamInfoListReq); + PageInfo pageInfo = new PageInfo<>(activityTeamInfoRespList); + return Result.success(pageInfo); + + } + + /** * 查询营销团购活动列表 * @param teamInfoListReq 活动查询入参 @@ -54,7 +70,7 @@ public class ActivityTeamController { * @param activityTeamInfoSaveReq 添加请求对象 * @return 结果集 */ - @PostMapping + @PostMapping("/add") public Result save(@RequestBody ActivityTeamInfoSaveReq activityTeamInfoSaveReq) { activityTeamInfoService.save(ActivityTeamInfoAddModel.addReqBuild(activityTeamInfoSaveReq)); return Result.success(); diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java index 3ae91ca..00fc69b 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/ActivityTeamInfoService.java @@ -5,6 +5,10 @@ import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.model.*; import com.muyu.marketing.domain.req.ActivityTeamProductSkuInfoUpdReq; +import com.muyu.marketing.domain.req.TeamInfoListReq; +import com.muyu.marketing.domain.resp.ActivityTeamInfoResp; + +import java.util.List; /** * 拼团活动 @@ -35,4 +39,7 @@ public interface ActivityTeamInfoService extends IService { */ void updateTeamInfo(ActivityTeamInfoUpdModel activityTeamInfoUpdModel); + /** 客户端列表*/ + List clientList(TeamInfoListReq teamInfoListReq); + } diff --git a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java index 067d405..edbc177 100644 --- a/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java +++ b/muyu-modules/muyu-marketing/marketing-server/src/main/java/com/muyu/marketing/team/service/impl/ActivityTeamInfoServiceImpl.java @@ -8,16 +8,17 @@ import com.muyu.common.core.web.page.TableDataInfo; import com.muyu.marketing.domain.ActivityTeamInfo; import com.muyu.marketing.domain.ActivityTeamProductSkuInfo; import com.muyu.marketing.domain.model.*; -import com.muyu.marketing.domain.req.ActivityTeamProductSkuInfoUpdReq; +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.service.ActivityTeamInfoService; import com.muyu.marketing.team.service.ActivityTeamOpenInfoService; import com.muyu.marketing.team.service.ActivityTeamProductSkuInfoService; -import org.checkerframework.checker.units.qual.A; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.Assert; +import java.util.ArrayList; import java.util.List; /** @@ -91,6 +92,7 @@ public class ActivityTeamInfoServiceImpl extends ServiceImpl clientList(TeamInfoListReq teamInfoListReq) { + LambdaQueryWrapper 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 activityTeamInfos = this.list(queryWrapper); + //构造成Resp + ArrayList activityTeamInfoResps = new ArrayList<>(); + activityTeamInfos.forEach(activityTeamInfo -> { + ActivityTeamInfoResp client = ActivityTeamInfoResp.client(activityTeamInfo); + activityTeamInfoResps.add(client); + }); - + return activityTeamInfoResps; + } }