From f44e4d609e7efaed9eac545137970b1e334f8106 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期六, 21 九月 2024 09:01:36 +0800 Subject: [PATCH] 修改bug --- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java | 16 + ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java | 9 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java | 3 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/AuctionClient.java | 18 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeckillService.java | 11 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java | 12 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Order.java | 3 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java | 152 ++++++++++++ ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSeckillController.java | 25 + ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionSalesroomController.java | 16 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/OrderDTO.java | 4 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsGroupPurchaseController.java | 13 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/AuctionFallbackFactory.java | 14 + ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java | 4 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/OrderVO.java | 24 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java | 10 ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionGoodsController.java | 12 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java | 14 + ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 178 ++++++++++++-- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberOrderListVO.java | 17 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/HomeGoodsSkuInfoVO.java | 5 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java | 25 + ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java | 4 ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java | 13 + ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSkuDTO.java | 1 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java | 49 ++-- ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java | 13 + 27 files changed, 588 insertions(+), 77 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Order.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Order.java index d44a34b..c5c6998 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Order.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Order.java @@ -164,4 +164,7 @@ @ApiModelProperty("团购编号") private String groupNo; + @ApiModelProperty("普通商品id") + private Long goodsId; + } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/OrderDTO.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/OrderDTO.java index 4c7499b..8ce3a09 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/OrderDTO.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/OrderDTO.java @@ -73,5 +73,7 @@ @ApiModelProperty("失效时间") private LocalDateTime orderTimeSx; - + + @ApiModelProperty("普通商品id") + private Long goodsId; } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/HomeGoodsSkuInfoVO.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/HomeGoodsSkuInfoVO.java index 0d25865..1dc0070 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/HomeGoodsSkuInfoVO.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/HomeGoodsSkuInfoVO.java @@ -4,9 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - import java.math.BigDecimal; +import lombok.Data; @Data public class HomeGoodsSkuInfoVO { @@ -98,7 +97,7 @@ private Integer isGoodsGroupPurchase; @ApiModelProperty(value = "是团购 1没有团购商品,2有团购商品") - private Integer GroupPurchaseGoods; + private Integer groupPurchaseGoods; } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberOrderListVO.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberOrderListVO.java index 59d3f43..e8267c3 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberOrderListVO.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/MemberOrderListVO.java @@ -2,14 +2,14 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonInclude; +import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; import com.ruoyi.common.core.enums.OrderFromEnum; import com.ruoyi.common.core.enums.OrderStatusEnum; import com.ruoyi.common.core.enums.ReturnRequestStatusEnum; import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - import java.math.BigDecimal; import java.time.LocalDateTime; +import lombok.Data; @Data public class MemberOrderListVO { @@ -116,5 +116,18 @@ @JsonInclude(JsonInclude.Include.ALWAYS) private LocalDateTime receiveTime; + @ApiModelProperty(value = "单位") + private String unit; + @ApiModelProperty(value = "拍卖订单类型 1=普通拍品 2=拍卖会拍品") + private AuctionOrderTypeEnum auctionOrderType; + + @ApiModelProperty(value = "规格") + private String spec; + + @ApiModelProperty(value = "规格单位") + private String specUnit; + + @ApiModelProperty("普通商品id") + private Long goodsId; } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/OrderVO.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/OrderVO.java index abf57bf..7bbd847 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/OrderVO.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/vo/OrderVO.java @@ -1,15 +1,17 @@ package com.ruoyi.system.api.domain.vo; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonInclude; -import com.ruoyi.common.core.enums.*; +import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; +import com.ruoyi.common.core.enums.OrderFromEnum; +import com.ruoyi.common.core.enums.OrderStatusEnum; +import com.ruoyi.common.core.enums.PaymentMethodEnum; +import com.ruoyi.common.core.enums.ReturnRequestStatusEnum; import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import org.springframework.core.annotation.Order; - import java.math.BigDecimal; import java.time.LocalDateTime; +import lombok.Data; @Data public class OrderVO { @ApiModelProperty(value = "订单id") @@ -189,4 +191,16 @@ @ApiModelProperty(value = "优惠券id") private Long couponId; + @ApiModelProperty(value = "单位") + private String unit; + + @ApiModelProperty(value = "规格") + private String spec; + + @ApiModelProperty(value = "规格单位") + private String specUnit; + + @ApiModelProperty("普通商品id") + private Long goodsId; + } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/AuctionFallbackFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/AuctionFallbackFactory.java index bb11821..f6c1479 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/AuctionFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/AuctionFallbackFactory.java @@ -6,6 +6,7 @@ import com.ruoyi.system.api.domain.AuctionGoods; import com.ruoyi.system.api.domain.AuctionSalesroom; import com.ruoyi.system.api.domain.AuctionSalesroomGoods; +import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.OrderAuctionBond; import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; import com.ruoyi.system.api.domain.dto.BondDTO; @@ -13,6 +14,7 @@ import com.ruoyi.system.api.feignClient.AuctionClient; import java.util.Collection; import java.util.List; +import java.util.Set; import org.springframework.cloud.openfeign.FallbackFactory; /** @@ -96,6 +98,18 @@ public R<?> saveOrUpdateAuctionBondJl(AuctionBondJl auctionBondJl, String source) { return R.fail("保存拍卖参与记录失败" + cause.getMessage()); } + + @Override + public R<List<GoodsSku>> getGoodsSkuByAuctionGoodsIdSet(Set<Long> auctionGoodsIdSet, + String source) { + return R.fail("获取商品信息失败" + cause.getMessage()); + } + + @Override + public R<List<GoodsSku>> getGoodsSkuByAuctionSalesroomGoodsSet( + Set<Long> auctionSalesroomGoodsSet, String source) { + return R.fail("获取商品信息失败" + cause.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java index 77dde40..6853356 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/GoodsSkuFactory.java @@ -15,6 +15,7 @@ import com.ruoyi.system.api.feignClient.GoodsSkuClient; import java.util.Collection; import java.util.List; +import java.util.Set; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; @@ -180,6 +181,18 @@ public R<?> returnStockByOrder(Order order, String source) { return R.fail("订单退回商品库存失败" + cause.getMessage()); } + + @Override + public R<List<GoodsSku>> getGoodsSkuBySeckillIdSet(Set<Long> seckillIdSet, + String source) { + return R.fail("获取商品信息失败" + cause.getMessage()); + } + + @Override + public R<List<GoodsSku>> getGoodsSkuByGroupPurchaseIdSet(Set<Long> groupPurchaseIdSet, + String source) { + return R.fail("获取商品信息失败" + cause.getMessage()); + } }; } } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/AuctionClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/AuctionClient.java index bbf9dcb..7d25a03 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/AuctionClient.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/AuctionClient.java @@ -8,6 +8,7 @@ import com.ruoyi.system.api.domain.AuctionGoods; import com.ruoyi.system.api.domain.AuctionSalesroom; import com.ruoyi.system.api.domain.AuctionSalesroomGoods; +import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.OrderAuctionBond; import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; import com.ruoyi.system.api.domain.dto.BondDTO; @@ -15,6 +16,7 @@ import com.ruoyi.system.api.factory.AuctionFallbackFactory; import java.util.Collection; import java.util.List; +import java.util.Set; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -90,4 +92,20 @@ @PostMapping("/auction-bond-jl/saveOrUpdateAuctionBondJl") R<?> saveOrUpdateAuctionBondJl(@RequestBody AuctionBondJl auctionBondJl, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 根据拍卖商品id获取商品sku信息 + * + * @param auctionGoodsIdSet + * @param source + * @return + */ + @PostMapping("/auction-goods/getGoodsSkuByAuctionGoodsIdSet") + R<List<GoodsSku>> getGoodsSkuByAuctionGoodsIdSet(@RequestBody Set<Long> auctionGoodsIdSet, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + @PostMapping("/auction-salesroom/getGoodsSkuByAuctionSalesroomGoodsSet") + R<List<GoodsSku>> getGoodsSkuByAuctionSalesroomGoodsSet( + @RequestBody Set<Long> auctionSalesroomGoodsSet, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java index 6d8d5ae..3806b5c 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/feignClient/GoodsSkuClient.java @@ -17,6 +17,7 @@ import com.ruoyi.system.api.factory.GoodsSkuFactory; import java.util.Collection; import java.util.List; +import java.util.Set; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -160,4 +161,19 @@ @PostMapping("/goods-sku/returnStockByOrder") R<?> returnStockByOrder(@RequestBody Order order, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 通过秒杀商品id列表查询商品信息 + * + * @param seckillIdSet + * @param source + * @return + */ + @PostMapping("/goods-seckill/getGoodsSkuBySeckillIdSet") + R<List<GoodsSku>> getGoodsSkuBySeckillIdSet(@RequestBody Set<Long> seckillIdSet, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + @PostMapping("/goods-group-purchase/getGoodsSkuByGroupPurchaseIdSet") + R<List<GoodsSku>> getGoodsSkuByGroupPurchaseIdSet(@RequestBody Set<Long> groupPurchaseIdSet, + @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionGoodsController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionGoodsController.java index 6e9bf86..38de71b 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionGoodsController.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionGoodsController.java @@ -6,8 +6,10 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.system.api.domain.AuctionGoods; +import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomBondDTO; import java.util.List; +import java.util.Set; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -88,4 +90,14 @@ return R.ok(auctionGoodsService.getById(goodsSkuId)); } + /** + * 根据拍卖商品id获取商品sku信息 + * + * @param auctionGoodsIdSet + * @return + */ + @PostMapping("/getGoodsSkuByAuctionGoodsIdSet") + R<List<GoodsSku>> getGoodsSkuByAuctionGoodsIdSet(@RequestBody Set<Long> auctionGoodsIdSet) { + return R.ok(auctionGoodsService.getGoodsSkuByAuctionGoodsIdSet(auctionGoodsIdSet)); + } } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionSalesroomController.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionSalesroomController.java index 7756ad3..e8fc1e3 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionSalesroomController.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/controller/inner/AuctionSalesroomController.java @@ -7,9 +7,11 @@ import com.ruoyi.system.api.domain.AuctionBondJl; import com.ruoyi.system.api.domain.AuctionSalesroom; import com.ruoyi.system.api.domain.AuctionSalesroomGoods; +import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.dto.MemberAuctionSalesroomBondDTO; import java.util.Collection; import java.util.List; +import java.util.Set; import javax.annotation.Resource; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -87,4 +89,18 @@ return R.ok(iAuctionSalesroomService.getAuctionBondJLBySalesroomId(targetId, memberId, bondType)); } + + /** + * 根据拍卖场商品id获取商品信息 + * + * @param auctionSalesroomGoodsSet + * @return + */ + @InnerAuth + @PostMapping("/getGoodsSkuByAuctionSalesroomGoodsSet") + R<List<GoodsSku>> getGoodsSkuByAuctionSalesroomGoodsSet( + @RequestBody Set<Long> auctionSalesroomGoodsSet) { + return R.ok(iAuctionSalesroomService.getGoodsSkuByAuctionSalesroomGoodsSet( + auctionSalesroomGoodsSet)); + } } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java index d2a1de6..850c498 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionGoodsService.java @@ -7,11 +7,13 @@ import com.ruoyi.auction.controller.management.vo.MgtAuctionGoodsVO; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.system.api.domain.AuctionGoods; +import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.dto.AuctionGoodsListDTO; import com.ruoyi.system.api.domain.dto.ListStatusDTO; import com.ruoyi.system.api.domain.vo.AuctionGoodsListVO; import com.ruoyi.system.api.domain.vo.AuctionGoodsinfoVO; import java.util.List; +import java.util.Set; import org.springframework.web.bind.annotation.RequestBody; /** @@ -77,4 +79,6 @@ * @return */ List<AuctionGoods> getAuctionGoodsBySkuId(Long id); + + List<GoodsSku> getGoodsSkuByAuctionGoodsIdSet(Set<Long> auctionGoodsIdSet); } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java index eb71dc1..c2e72a8 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/IAuctionSalesroomService.java @@ -19,6 +19,7 @@ import com.ruoyi.system.api.domain.AuctionBondJl; import com.ruoyi.system.api.domain.AuctionSalesroom; import com.ruoyi.system.api.domain.AuctionSalesroomGoods; +import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.dto.AppMiniLoginDTO; import com.ruoyi.system.api.domain.dto.AuctionSalesroomDTO; import com.ruoyi.system.api.domain.dto.BidDTO; @@ -33,6 +34,7 @@ import java.io.IOException; import java.util.Collection; import java.util.List; +import java.util.Set; import org.springframework.web.bind.annotation.RequestBody; /** @@ -211,4 +213,6 @@ AuctionBondJl getAuctionBondJLBySalesroomId(Long targetId, Long memberId, Integer bondType); + + List<GoodsSku> getGoodsSkuByAuctionSalesroomGoodsSet(Set<Long> auctionSalesroomGoodsSet); } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java index 0482f2c..080abca 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionGoodsServiceImpl.java @@ -396,6 +396,7 @@ orderDTO.setSkuName(goodsSku.getSkuName()); } orderDTO.setOrderTimeSx(auctionGoods.getEndTime()); + orderDTO.setGoodsId(auctionGoods.getGoodsSkuId()); orderClient.saveOrderOne(orderDTO, SecurityConstants.INNER); } } else { @@ -830,6 +831,7 @@ orderDTO.setSkuName(goodsSku.getSkuName()); } orderDTO.setOrderTimeSx(auctionGoods.getEndTime()); + orderDTO.setGoodsId(auctionGoods.getGoodsSkuId()); orderClient.saveOrderOne(orderDTO, SecurityConstants.INNER); } } else { @@ -961,4 +963,11 @@ System.out.println(msg); } + @Override + public List<GoodsSku> getGoodsSkuByAuctionGoodsIdSet(Set<Long> auctionGoodsIdSet) { + List<AuctionGoods> auctionGoodsList = this.listByIds(auctionGoodsIdSet); + List<Long> goodsSkuIdList = auctionGoodsList.stream().map(AuctionGoods::getGoodsSkuId) + .collect(Collectors.toList()); + return goodsSkuClient.getGoodsListByIds(goodsSkuIdList, SecurityConstants.INNER).getData(); + } } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java index ccafbeb..c1ba194 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomGoodsServiceImpl.java @@ -162,6 +162,8 @@ forepartAuctionSalesroomGoodsVO.setUnit(goodsSku.getUnit()); forepartAuctionSalesroomGoodsVO.setSpec(goodsSku.getSpec()); forepartAuctionSalesroomGoodsVO.setSpecUnit(goodsSku.getSpecUnit()); + forepartAuctionSalesroomGoodsVO.setMinimumMarkupAmount( + auctionSalesroomGoods.getMinimumMarkupAmount()); if (auctionSalesroomGoods.getStatus().getCode()==0 || auctionSalesroomGoods.getStatus().getCode()==2){ LambdaQueryWrapper<AuctionSalesroomGoods> wrapper1=Wrappers.lambdaQuery(); wrapper1.eq(AuctionSalesroomGoods::getDelFlag,0); @@ -794,6 +796,7 @@ order.setSkuName(goodsSku.getSkuName()); order.setCoverPic(goodsSku.getCoverPic()); order.setPrice(lastBidAmount); + order.setGoodsId(auctionSalesroomGoods.getGoodsSkuId()); orderClient.saveOrderOne(order,SecurityConstants.INNER); } diff --git a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java index db91821..f1b24c6 100644 --- a/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java +++ b/ruoyi-modules/ruoyi-auction/src/main/java/com/ruoyi/auction/service/impl/AuctionSalesroomServiceImpl.java @@ -1592,6 +1592,7 @@ order.setSkuName(goodsSku.getSkuName()); order.setCoverPic(goodsSku.getCoverPic()); order.setPrice(lastBidAmount); + order.setGoodsId(auctionSalesroomGoods.getGoodsSkuId()); orderClient.saveOrderOne(order, SecurityConstants.INNER); } /** @@ -1798,4 +1799,15 @@ .eq(AuctionBondJl::getBondType, bondType) .last("limit 1")); } + + @Override + public List<GoodsSku> getGoodsSkuByAuctionSalesroomGoodsSet( + Set<Long> auctionSalesroomGoodsSet) { + List<AuctionSalesroomGoods> auctionSalesroomGoodsList = auctionSalesroomGoodsMapper.selectBatchIds( + auctionSalesroomGoodsSet); + Set<Long> goodsSkuIdSet = auctionSalesroomGoodsList.stream() + .map(AuctionSalesroomGoods::getGoodsSkuId).collect( + Collectors.toSet()); + return goodsSkuClient.getGoodsListByIds(goodsSkuIdSet, SecurityConstants.INNER).getData(); + } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsGroupPurchaseController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsGroupPurchaseController.java index 8133873..17a42f9 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsGroupPurchaseController.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/forepart/ForepartGoodsGroupPurchaseController.java @@ -3,15 +3,18 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.page.PageDTO; -import com.ruoyi.system.api.domain.vo.GoodsGroupPurchaseInfoVO; import com.ruoyi.goods.service.IGoodsGroupPurchaseService; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; +import com.ruoyi.system.api.domain.vo.GoodsGroupPurchaseInfoVO; import com.ruoyi.system.api.domain.vo.WdGoodsGroupPurchaseVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** * <p> @@ -36,6 +39,12 @@ return R.ok(goodsGroupPurchaseService.getGoodsGroupPurchaseInfo(homeGoodsSkuDTO)); } + @PostMapping("/getFormedGoodsGroupPurchaseInfo") + @ApiOperation(value = "用户端-已成团团购商品详情") + public R<GoodsGroupPurchaseInfoVO> getFormedGoodsGroupPurchaseInfo( + @RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO) { + return R.ok(goodsGroupPurchaseService.getFormedGoodsGroupPurchaseInfo(homeGoodsSkuDTO)); + } @PostMapping("/QxGoodsGroupPurchase") @ApiOperation(value = "用户端-取消团购商品") public R QxGoodsGroupPurchase(@RequestBody HomeGoodsSkuDTO homeGoodsSkuDTO) { diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java index 9acf417..2fdfad9 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsGroupPurchaseController.java @@ -14,6 +14,8 @@ import com.ruoyi.system.api.domain.GoodsGroupPurchaseInfo; import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.feignClient.OrderClient; +import java.util.List; +import java.util.Set; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; @@ -87,16 +89,17 @@ if (one1.getIsPurchase()==0){ if (i==0){ GoodsGroupPurchase byId = goodsGroupPurchaseService.getById(one1.getGroupPurchaseId()); - int i1 = byId.getLimitNumber() * goodsGroupPurchaseInfo.getGroupSize(); + // int i1 = byId.getLimitNumber() * goodsGroupPurchaseInfo.getGroupSize(); + int i1 = one1.getPurchaseNum(); GoodsSku goodsSku = goodsSkuMapper.selectById(byId.getGoodsSkuId()); int i2 = i1 + goodsSku.getStock(); goodsSku.setStock(i2); goodsSkuMapper.updateById(goodsSku); /* goodsGroupPurchaseInfoServiceImpl.removeById(one1);*/ - }else{ - one1.setCurrentNumber(i); - goodsGroupPurchaseInfoServiceImpl.updateById(one1); } + one1.setCurrentNumber(i); + one1.setPurchaseNum(0); + goodsGroupPurchaseInfoServiceImpl.updateById(one1); }else{ if (i==0){ GoodsGroupPurchase byId = goodsGroupPurchaseService.getById(one1.getGroupPurchaseId()); @@ -124,7 +127,7 @@ goodsSkuMapper.updateById(goodsSku); /* goodsGroupPurchaseInfoServiceImpl.removeById(one1);*/ - goodsGroupPurchaseInfoServiceImpl.updateById(one1); + // goodsGroupPurchaseInfoServiceImpl.updateById(one1); } } @@ -253,4 +256,16 @@ } return R.ok(); } + + /** + * 根据团购商品id集合查询商品sku信息 + * + * @param groupPurchaseIdSet + * @return + */ + @InnerAuth + @PostMapping("/getGoodsSkuByGroupPurchaseIdSet") + R<List<GoodsSku>> getGoodsSkuByGroupPurchaseIdSet(@RequestBody Set<Long> groupPurchaseIdSet) { + return R.ok(goodsGroupPurchaseService.getGoodsSkuByGroupPurchaseIdSet(groupPurchaseIdSet)); + } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSeckillController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSeckillController.java index d0498eb..25c49e8 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSeckillController.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/inner/GoodsSeckillController.java @@ -2,18 +2,24 @@ import com.fasterxml.jackson.core.JsonProcessingException; -import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.goods.service.IGoodsSeckillService; import com.ruoyi.system.api.domain.GoodsSeckill; import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.dto.GoodsStockUpdDTO; +import java.util.List; +import java.util.Set; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.*; - -import java.util.List; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; /** * <p> @@ -92,4 +98,15 @@ return R.ok(); } + /** + * 根据秒杀id集合查询商品sku信息 + * + * @param seckillIdSet + * @return + */ + @InnerAuth + @PostMapping("/getGoodsSkuBySeckillIdSet") + R<List<GoodsSku>> getGoodsSkuBySeckillIdSet(@RequestBody Set<Long> seckillIdSet) { + return R.ok(goodsSeckillService.getGoodsSkuBySeckillIdSet(seckillIdSet)); + } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSkuDTO.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSkuDTO.java index 65ba9c1..60b6560 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSkuDTO.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/management/dto/GoodsSkuDTO.java @@ -99,6 +99,5 @@ private Integer sortNum; @ApiModelProperty(value = "商品封面图(大屏)") - @NotBlank(message = "商品封面图(大屏)") private String screenCoverPic; } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java index 814df1e..4c1b6b1 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsGroupPurchaseService.java @@ -7,10 +7,13 @@ import com.ruoyi.goods.controller.management.dto.GoodsGroupPurchaseQuery; import com.ruoyi.goods.controller.management.vo.GoodsGroupPurchaseVO; import com.ruoyi.system.api.domain.GoodsGroupPurchase; +import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import com.ruoyi.system.api.domain.dto.ListStatusDTO; import com.ruoyi.system.api.domain.vo.GoodsGroupPurchaseInfoVO; import com.ruoyi.system.api.domain.vo.WdGoodsGroupPurchaseVO; +import java.util.List; +import java.util.Set; /** * <p> @@ -78,4 +81,14 @@ void QxGoodsGroupPurchase(HomeGoodsSkuDTO homeGoodsSkuDTO); PageDTO<WdGoodsGroupPurchaseVO> CtjlGoodsGroupPurchase(HomeGoodsSkuDTO homeGoodsSkuDTO); + + /** + * 根据团购商品id集合查询商品sku信息 + * + * @param groupPurchaseIdSet + * @return + */ + List<GoodsSku> getGoodsSkuByGroupPurchaseIdSet(Set<Long> groupPurchaseIdSet); + + GoodsGroupPurchaseInfoVO getFormedGoodsGroupPurchaseInfo(HomeGoodsSkuDTO homeGoodsSkuDTO); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeckillService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeckillService.java index 5e9bc6e..18d65b2 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeckillService.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/IGoodsSeckillService.java @@ -8,10 +8,13 @@ import com.ruoyi.goods.controller.management.dto.GoodsSeckillUpd; import com.ruoyi.goods.controller.management.vo.GoodsSeckillVO; import com.ruoyi.system.api.domain.GoodsSeckill; +import com.ruoyi.system.api.domain.GoodsSku; import com.ruoyi.system.api.domain.dto.HomeGoodsSkuDTO; import com.ruoyi.system.api.domain.dto.ListStatusDTO; import com.ruoyi.system.api.domain.vo.HomeGoodsSeckillInfoVO; import com.ruoyi.system.api.domain.vo.HomeGoodsSeckillVO; +import java.util.List; +import java.util.Set; import org.springframework.web.bind.annotation.RequestBody; /** @@ -83,4 +86,12 @@ * 结束异常的秒杀 */ void updSeckillStatus(); + + /** + * 根据秒杀id集合查询商品sku信息 + * + * @param seckillIdSet + * @return + */ + List<GoodsSku> getGoodsSkuBySeckillIdSet(Set<Long> seckillIdSet); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java index 30a41cb..84eed16 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsGroupPurchaseServiceImpl.java @@ -54,6 +54,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; @@ -641,4 +642,155 @@ return GoodsGroupPurchaseVOPageDTO; } + + /** + * 根据团购商品id集合查询商品sku信息 + * + * @param groupPurchaseIdSet + * @return + */ + @Override + public List<GoodsSku> getGoodsSkuByGroupPurchaseIdSet(Set<Long> groupPurchaseIdSet) { + List<GoodsGroupPurchase> goodsGroupPurchaseList = this.listByIds(groupPurchaseIdSet); + List<Long> goodsSkuIdList = goodsGroupPurchaseList.stream() + .map(GoodsGroupPurchase::getGoodsSkuId) + .collect(Collectors.toList()); + return goodsSkuService.listByIds(goodsSkuIdList); + } + + @Override + public GoodsGroupPurchaseInfoVO getFormedGoodsGroupPurchaseInfo( + HomeGoodsSkuDTO homeGoodsSkuDTO) { + GoodsSku byId = goodsSkuService.getById(homeGoodsSkuDTO.getGoodsSkuId()); + LambdaQueryWrapper<GoodsGroupPurchase> wrapper3 = Wrappers.lambdaQuery(); + wrapper3.eq(GoodsGroupPurchase::getDelFlag, 0); + wrapper3.eq(GoodsGroupPurchase::getId, homeGoodsSkuDTO.getId()); + wrapper3.eq(GoodsGroupPurchase::getListingStatus, 0); + List arr = new ArrayList<>(); + arr.add(0); + arr.add(1); + wrapper3.in(GoodsGroupPurchase::getStartStatus, arr); + GoodsGroupPurchase one = this.getOne(wrapper3); + GoodsGroupPurchaseInfoVO goodsGroupPurchaseInfoVO = new GoodsGroupPurchaseInfoVO(); + if (Objects.nonNull(one)) { + goodsGroupPurchaseInfoVO.setGoodsSkuId(one.getId()); + goodsGroupPurchaseInfoVO.setGoodsSkuName(byId.getSkuName()); + goodsGroupPurchaseInfoVO.setYears(String.valueOf(byId.getYears().getYear())); + goodsGroupPurchaseInfoVO.setCoverPic(byId.getCoverPic()); + goodsGroupPurchaseInfoVO.setPrice(byId.getPrice()); + if (StringUtils.isNotBlank(one.getShareTitle())) { + goodsGroupPurchaseInfoVO.setShareTitle(one.getShareTitle()); + } else { + goodsGroupPurchaseInfoVO.setShareTitle(byId.getSkuName()); + } + if (StringUtils.isNotBlank(one.getSharePic())) { + goodsGroupPurchaseInfoVO.setSharePic(one.getSharePic()); + } else { + goodsGroupPurchaseInfoVO.setSharePic(byId.getCoverPic()); + } + goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus()); + goodsGroupPurchaseInfoVO.setStartStatus(one.getStartStatus()); + goodsGroupPurchaseInfoVO.setStartTime(one.getStartTime()); + goodsGroupPurchaseInfoVO.setEndTime(one.getEndTime()); + goodsGroupPurchaseInfoVO.setGroupPurchasePrice(one.getGroupPurchasePrice()); + goodsGroupPurchaseInfoVO.setGroupSize(one.getGroupSize()); + goodsGroupPurchaseInfoVO.setLimitNumber(one.getLimitNumber()); + if (one.getGroupStatus().getCode() == 0) { + LambdaQueryWrapper<GoodsGroupPurchaseInfo> wrapper6 = Wrappers.lambdaQuery(); + wrapper6.eq(GoodsGroupPurchaseInfo::getDelFlag, 0); + wrapper6.eq(GoodsGroupPurchaseInfo::getGroupStatus, 0); + wrapper6.eq(GoodsGroupPurchaseInfo::getGroupPurchaseId, one.getId()); + GoodsGroupPurchaseInfo one1 = goodsGroupPurchaseInfoService.getOne(wrapper6); + if (one1 != null) { + goodsGroupPurchaseInfoVO.setCurrentNumber(one1.getCurrentNumber()); + if (one1.getGroupStatus() == 0) { + goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.TO_FORM_A_GROUP); + } + if (one1.getGroupStatus() == 1) { + goodsGroupPurchaseInfoVO.setGroupStatus( + GroupStatusEnum.FORMED_INTO_A_GROUP); + } + if (one1.getGroupStatus() == 2) { + goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.GROUP_FAILURE); + } + + } else { + goodsGroupPurchaseInfoVO.setCurrentNumber(one.getCurrentNumber()); + goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus()); + } + } else { + goodsGroupPurchaseInfoVO.setCurrentNumber(one.getCurrentNumber()); + goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus()); + } + + goodsGroupPurchaseInfoVO.setStartTime(one.getStartTime()); + goodsGroupPurchaseInfoVO.setEndTime(one.getEndTime()); + goodsGroupPurchaseInfoVO.setDescription(one.getDescription()); + goodsGroupPurchaseInfoVO.setDetail(byId.getDescription()); + + goodsGroupPurchaseInfoVO.setListingStatus(one.getListingStatus()); + + LambdaQueryWrapper<MemberGoodsCollection> wrapper4 = Wrappers.lambdaQuery(); + wrapper4.eq(MemberGoodsCollection::getDelFlag, 0); + wrapper4.eq(MemberGoodsCollection::getMemberId, homeGoodsSkuDTO.getMemberId()); + wrapper4.eq(MemberGoodsCollection::getTargetId, one.getId()); + wrapper4.eq(MemberGoodsCollection::getType, 1); + List<MemberGoodsCollection> list = iMemberGoodsCollectionService.list(wrapper4); + if (list.size() > 0) { + goodsGroupPurchaseInfoVO.setIsCollection(2); + } else { + goodsGroupPurchaseInfoVO.setIsCollection(1); + } + HomeGoodsSkuDTO homeGoodsSkuDTO1 = new HomeGoodsSkuDTO(); + homeGoodsSkuDTO1.setGoodsSkuId(one.getId()); + homeGoodsSkuDTO1.setMemberId(homeGoodsSkuDTO.getMemberId()); + Order data = orderClient.getOrderByGroupPurchaseMemberId1(homeGoodsSkuDTO1, + SecurityConstants.INNER).getData(); + if (data != null) { + goodsGroupPurchaseInfoVO.setIsGoodsGroupPurchase(2); + goodsGroupPurchaseInfoVO.setOrder(data); + goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.YCT_FAILURE); + + LambdaQueryWrapper<GoodsGroupPurchaseInfo> wrapper7 = Wrappers.lambdaQuery(); + wrapper7.eq(GoodsGroupPurchaseInfo::getMubre, data.getGroupNo()); + GoodsGroupPurchaseInfo one7 = goodsGroupPurchaseInfoService.getOne(wrapper7); + if (one7 != null) { + goodsGroupPurchaseInfoVO.setCurrentNumber(one7.getCurrentNumber()); + if (one7.getGroupStatus() == 0) { + if (one7.getGroupSize() - one7.getCurrentNumber() < 5) { + goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.MS_FAILURE); + } else { + goodsGroupPurchaseInfoVO.setGroupStatus( + GroupStatusEnum.TO_FORM_A_GROUP); + } + } + if (one7.getGroupStatus() == 1) { + goodsGroupPurchaseInfoVO.setGroupStatus( + GroupStatusEnum.FORMED_INTO_A_GROUP); + } + if (one7.getGroupStatus() == 2) { + goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.GROUP_FAILURE); + } + + } + } else { + if (one.getGroupStatus().getCode() == 0) { + if (one.getGroupSize() > 5) { + if (one.getGroupSize() - one.getCurrentNumber() < 5) { + goodsGroupPurchaseInfoVO.setGroupStatus(GroupStatusEnum.MS_FAILURE); + } else { + goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus()); + } + } else { + goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus()); + } + + } else { + goodsGroupPurchaseInfoVO.setGroupStatus(one.getGroupStatus()); + } + goodsGroupPurchaseInfoVO.setIsGoodsGroupPurchase(1); + } + } + return goodsGroupPurchaseInfoVO; + } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java index 9d59c84..0e526c9 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSeckillServiceImpl.java @@ -530,4 +530,18 @@ public void updSeckillStatus() { baseMapper.updSeckillStatus(); } + + /** + * 根据秒杀id集合查询商品sku信息 + * + * @param seckillIdSet + * @return + */ + @Override + public List<GoodsSku> getGoodsSkuBySeckillIdSet(Set<Long> seckillIdSet) { + List<GoodsSeckill> goodsSeckills = this.listByIds(seckillIdSet); + List<Long> goodsSkuIdList = goodsSeckills.stream().map(GoodsSeckill::getGoodsSkuId) + .collect(Collectors.toList()); + return goodsSkuService.listByIds(goodsSkuIdList); + } } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java index a8b5ff9..efdd4b7 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/GoodsSkuServiceImpl.java @@ -25,6 +25,7 @@ import com.ruoyi.goods.domain.GoodsBrowseRecord; import com.ruoyi.goods.domain.GoodsInfoTitleValue; import com.ruoyi.goods.domain.MemberGoodsCollection; +import com.ruoyi.goods.mapper.GoodsGroupPurchaseInfoMapper; import com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper; import com.ruoyi.goods.mapper.GoodsSeckillMapper; import com.ruoyi.goods.mapper.GoodsSkuMapper; @@ -90,6 +91,7 @@ private final GoodsGroupPurchaseMapper goodsGroupPurchaseMapper; private final RedissonClient redissonClient; private final AuctionClient auctionClient; + private final GoodsGroupPurchaseInfoMapper goodsGroupPurchaseInfoMapper; @Resource private IGoodsBrowseRecordService iGoodsBrowseRecordService; @@ -432,7 +434,7 @@ .ge(GoodsSku::getYears, DateUtil.format(parseTime15, "yyyy")); } if (homeGoodsSkuDTO.getSort()==1){ - wrapper3.last(" ORDER BY IF(isnull(sort_num),1,0), sort_num DESC,create_time DESC"); + wrapper3.last(" ORDER BY IF(isnull(sort_num),1,0), sort_num ASC,create_time DESC"); }else{ wrapper3.last(",IF(isnull(sort_num),1,0), sort_num DESC,create_time DESC" ); } @@ -524,13 +526,11 @@ }else{ homeGoodsSkuInfoVO.setIsCollection(1); } - List list1=new ArrayList<>(); - list1.add(0); - list1.add(1); LambdaQueryWrapper<GoodsGroupPurchase> queryWrapper2 =new LambdaQueryWrapper<>(); queryWrapper2.eq(GoodsGroupPurchase::getListingStatus, ListingStatusEnum.ON_SHELVES) - .eq(GoodsGroupPurchase::getGoodsSkuId, byId.getId()).in(GoodsGroupPurchase::getStartStatus, list1); + .eq(GoodsGroupPurchase::getGoodsSkuId, byId.getId()) + .eq(GoodsGroupPurchase::getStartStatus, StartStatusEnum.STARTED); GoodsGroupPurchase goodsGroupPurchase2 = goodsGroupPurchaseMapper.selectOne(queryWrapper2); if (goodsGroupPurchase2!=null){ homeGoodsSkuInfoVO.setGroupPurchaseGoods(2); diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java index 32e551d..8ca2c35 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberServiceImpl.java @@ -455,32 +455,33 @@ mobile=openapiResult1.get("mobile"); } }else{ - String responseAccessToken = null; - try { - responseAccessToken = getAccessTokenByWX(); - } catch (Exception e) { - throw new RuntimeException(e); - } + if (StringUtils.isNotBlank(mobileDTO.getCode())) { + String responseAccessToken = null; + try { + responseAccessToken = getAccessTokenByWX(); + } catch (Exception e) { + throw new RuntimeException(e); + } - JSONObject jsonAccessToken = JSONObject.parseObject(responseAccessToken); - String accessToken = jsonAccessToken.getString("access_token"); - String errmsg = jsonAccessToken.getString("errmsg"); - Long expiresIn = jsonAccessToken.getLong("expires_in"); - if (StringUtils.isBlank(accessToken)) { - throw new ServiceException(errmsg); + JSONObject jsonAccessToken = JSONObject.parseObject(responseAccessToken); + String accessToken = jsonAccessToken.getString("access_token"); + String errmsg = jsonAccessToken.getString("errmsg"); + Long expiresIn = jsonAccessToken.getLong("expires_in"); + if (StringUtils.isBlank(accessToken)) { + throw new ServiceException(errmsg); + } + String responseUserPhoneNumber = null; + try { + responseUserPhoneNumber = getMobileByWX(accessToken, mobileDTO.getCode()); + log.info("微信获取手机号返回值:{}", JSON.toJSONString(responseUserPhoneNumber)); + } catch (Exception e) { + throw new RuntimeException(e); + } + JSONObject jsonUserPhoneNumber = JSONObject.parseObject(responseUserPhoneNumber); + String phoneInfo = jsonUserPhoneNumber.getString("phone_info"); + JSONObject jsonUserPhoneInfo = JSONObject.parseObject(phoneInfo); + mobile = jsonUserPhoneInfo.getString("purePhoneNumber"); } - String responseUserPhoneNumber = null; - try { - responseUserPhoneNumber = getMobileByWX(accessToken, mobileDTO.getCode()); - log.info("微信获取手机号返回值:{}", JSON.toJSONString(responseUserPhoneNumber)); - } catch (Exception e) { - throw new RuntimeException(e); - } - JSONObject jsonUserPhoneNumber = JSONObject.parseObject(responseUserPhoneNumber); - String phoneInfo = jsonUserPhoneNumber.getString("phone_info"); - JSONObject jsonUserPhoneInfo = JSONObject.parseObject(phoneInfo); - mobile= jsonUserPhoneInfo.getString("purePhoneNumber"); - } return mobile; } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index a6b600b..042c48e 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; +import com.google.common.collect.Sets; import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.enums.AuctionOrderTypeEnum; @@ -96,6 +97,7 @@ import lombok.Synchronized; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.map.HashedMap; +import org.jetbrains.annotations.NotNull; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.stereotype.Service; @@ -198,6 +200,7 @@ order.setPrice(OrderDTO.getPrice()); order.setCoverPic(OrderDTO.getCoverPic()); order.setOrderTimeSx(OrderDTO.getOrderTimeSx()); + order.setGoodsId(OrderDTO.getGoodsId()); this.save(order); @@ -337,6 +340,7 @@ order.setSkuName(goodsSku.getSkuName()); order.setPrice(goodsSku.getPrice()); order.setCoverPic(goodsSku.getCoverPic()); + order.setGoodsId(goodsSku.getId()); } memberOrderVO.setGoodsSkuId(memberOrderDTO.getGoodsSkuId()); memberOrderVO.setPrice(goodsSku.getPrice()); @@ -407,6 +411,7 @@ order.setPrice(data.getSeckillPrice()); order.setCoverPic(goodsSku.getCoverPic()); order.setSjPrice(goodsSku.getPrice()); + order.setGoodsId(goodsSku.getId()); redisService.setCacheObject(CacheConstants.SECKILL_GOODS + data.getId(), surpNum - memberOrderDTO.getGoodsQuantity()); } if (memberOrderDTO.getOrderFrom()==3){ @@ -454,6 +459,7 @@ order.setPrice(data.getGroupPurchasePrice()); order.setCoverPic(goodsSku.getCoverPic()); order.setSjPrice(goodsSku.getPrice()); + order.setGoodsId(goodsSku.getId()); } order.setOrderRemark(memberOrderDTO.getOrderRemark()); order.setMemberId(memberOrderDTO.getMemberId()); @@ -815,6 +821,7 @@ PageDTO<MemberOrderListVO> memberOrderListVOPageDTO = PageDTO.of(page1, MemberOrderListVO.class); List<MemberOrderListVO> list = memberOrderListVOPageDTO.getList(); + Map<Long, GoodsSku> goodsUnitMap = getGoodsUnitMap(list); for (MemberOrderListVO MemberOrderList:list){ if (MemberOrderList.getOrderStatus().getCode()==1){ if (MemberOrderList.getOrderFrom().getCode()==1||MemberOrderList.getOrderFrom().getCode()==2||MemberOrderList.getOrderFrom().getCode()==3){ @@ -895,46 +902,122 @@ MemberOrderList.setOrderShuoMin(memberPointsPoints.getConfigValue()); CustomConfig ReturnCycle = sysUserClient.getconfig("RETURN_CYCLE").getData(); MemberOrderList.setOrderZq(Integer.valueOf(ReturnCycle.getConfigValue())); + + GoodsSku goodsSku = + Objects.nonNull(goodsUnitMap.get(MemberOrderList.getGoodsId())) + ? goodsUnitMap.get(MemberOrderList.getGoodsId()) + : goodsUnitMap.get(MemberOrderList.getGoodsSkuId()); + if (Objects.nonNull(goodsSku)) { + MemberOrderList.setUnit(goodsSku.getUnit()); + MemberOrderList.setSpec(goodsSku.getSpec()); + MemberOrderList.setSpecUnit(goodsSku.getSpecUnit()); + } } return memberOrderListVOPageDTO; } + @NotNull + private Map<Long, GoodsSku> getGoodsUnitMap(List<MemberOrderListVO> list) { + Map<Long, GoodsSku> goodsSkuMap = new HashedMap(); + Set<Long> goodsSkuIdSet = list.stream() + .filter(vo -> vo.getOrderFrom().equals(OrderFromEnum.COMMODITY_ORDER)) + .map(MemberOrderListVO::getGoodsSkuId) + .collect(Collectors.toSet()); + if (CollUtils.isNotEmpty(goodsSkuIdSet)) { + goodsSkuMap = goodsSkuClient.getGoodsListByIds(goodsSkuIdSet, + SecurityConstants.INNER).getData().stream() + .collect(Collectors.toMap(GoodsSku::getId, Function.identity())); + } + Set<Long> seckillIdSet = list.stream() + .filter(vo -> vo.getOrderFrom().equals(OrderFromEnum.SNAP_ORDERS)) + .map(MemberOrderListVO::getGoodsSkuId) + .collect(Collectors.toSet()); + + if (CollUtils.isNotEmpty(seckillIdSet)) { + Map<Long, GoodsSku> goodsSkuMap2 = goodsSkuClient.getGoodsSkuBySeckillIdSet( + seckillIdSet, + SecurityConstants.INNER).getData().stream() + .collect(Collectors.toMap(GoodsSku::getId, Function.identity())); + // 将goodsSkuMap2合并到goodsSkuMap中 + goodsSkuMap.putAll(goodsSkuMap2); + } + Set<Long> groupPurchaseIdSet = list.stream() + .filter(vo -> vo.getOrderFrom().equals(OrderFromEnum.GROUP_PURCHASE_ORDERS)) + .map(MemberOrderListVO::getGoodsSkuId) + .collect(Collectors.toSet()); + if (CollUtils.isNotEmpty(groupPurchaseIdSet)) { + Map<Long, GoodsSku> goodsSkuMap3 = goodsSkuClient.getGoodsSkuByGroupPurchaseIdSet( + groupPurchaseIdSet, + SecurityConstants.INNER).getData().stream() + .collect(Collectors.toMap(GoodsSku::getId, Function.identity())); + goodsSkuMap.putAll(goodsSkuMap3); + } + Set<Long> auctionGoodsIdSet = list.stream() + .filter(vo -> vo.getOrderFrom().equals(OrderFromEnum.AUCTION_ORDERS) + && vo.getAuctionOrderType().equals(AuctionOrderTypeEnum.REGULAR_ITEMS)) + .map(MemberOrderListVO::getGoodsSkuId) + .collect(Collectors.toSet()); + if (CollUtils.isNotEmpty(auctionGoodsIdSet)) { + Map<Long, GoodsSku> goodsSkuMap4 = auctionClient.getGoodsSkuByAuctionGoodsIdSet( + auctionGoodsIdSet, + SecurityConstants.INNER).getData().stream() + .collect(Collectors.toMap(GoodsSku::getId, Function.identity())); + goodsSkuMap.putAll(goodsSkuMap4); + } + Set<Long> auctionSalesroomGoodsSet = list.stream() + .filter(vo -> vo.getOrderFrom().equals(OrderFromEnum.AUCTION_ORDERS) + && vo.getAuctionOrderType().equals(AuctionOrderTypeEnum.AUCTION_ITEMS)) + .map(MemberOrderListVO::getGoodsSkuId) + .collect(Collectors.toSet()); + if (CollUtils.isNotEmpty(auctionSalesroomGoodsSet)) { + Map<Long, GoodsSku> goodsSkuMap5 = auctionClient.getGoodsSkuByAuctionSalesroomGoodsSet( + auctionSalesroomGoodsSet, + SecurityConstants.INNER).getData().stream() + .collect(Collectors.toMap(GoodsSku::getId, Function.identity())); + goodsSkuMap.putAll(goodsSkuMap5); + } + return goodsSkuMap; + } + @Override public OrderVO MemberOrderOne(MemberOrderListDTO memberOrderListDTO) { Order order = baseMapper.selectById(memberOrderListDTO.getId()); OrderVO orderVO=new OrderVO(); - try { - orderVO = BeanUtils.copyBean(order, OrderVO.class); - orderVO.setAuctionType(order.getAuctionOrderType()); - orderVO.setCouponId(order.getCouponId()); - orderVO.setBound(order.getBound()); - orderVO.setIsRequest(order.getIsRequest()); - if (orderVO.getOrderFrom().getCode()==3){ - GoodsGroupPurchase data = GoodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne(order.getGoodsSkuId(), SecurityConstants.INNER).getData(); - orderVO.setGroupTime(data.getGroupTime()); - orderVO.setSkuId(data.getGoodsSkuId()); - } + orderVO = BeanUtils.copyBean(order, OrderVO.class); + orderVO.setAuctionType(order.getAuctionOrderType()); + orderVO.setCouponId(order.getCouponId()); + orderVO.setBound(order.getBound()); + orderVO.setIsRequest(order.getIsRequest()); + if (orderVO.getOrderFrom().getCode() == 3) { + GoodsGroupPurchase data = GoodsSkuClient.getGoodsSeckiGoodsGroupPurchaseOne( + order.getGoodsSkuId(), SecurityConstants.INNER).getData(); + orderVO.setGroupTime(data.getGroupTime()); + orderVO.setSkuId(data.getGoodsSkuId()); + } - LambdaQueryWrapper<OrderAuctionBond> wrapper3= Wrappers.lambdaQuery(); - wrapper3.eq(OrderAuctionBond::getOrderId,order.getId()); - OrderAuctionBond orderAuctionBond = orderAuctionBondMapper.selectOne(wrapper3); - if (orderAuctionBond!=null){ - if (orderAuctionBond.getBoundStatus().getCode()==1||orderAuctionBond.getBoundStatus().getCode()==2){ - orderVO.setIsAuctionBond(1); - }else{ - orderVO.setIsAuctionBond(2); - } - }else { + LambdaQueryWrapper<OrderAuctionBond> wrapper3 = Wrappers.lambdaQuery(); + wrapper3.eq(OrderAuctionBond::getOrderId, order.getId()); + OrderAuctionBond orderAuctionBond = orderAuctionBondMapper.selectOne(wrapper3); + if (orderAuctionBond != null) { + if (orderAuctionBond.getBoundStatus().getCode() == 1 + || orderAuctionBond.getBoundStatus().getCode() == 2) { orderVO.setIsAuctionBond(1); + } else { + orderVO.setIsAuctionBond(2); } - - } catch (Exception e) { - throw new RuntimeException(e); + } else { + orderVO.setIsAuctionBond(1); } if (order.getTotalAmount()==null){ order.setTotalAmount(new BigDecimal(0)); + } + GoodsSku goodsSku = getGoodsSku(orderVO); + if (Objects.nonNull(goodsSku)) { + orderVO.setUnit(goodsSku.getUnit()); + orderVO.setSpec(goodsSku.getSpec()); + orderVO.setSpecUnit(goodsSku.getSpecUnit()); } CustomConfig memberPointsPoints = sysUserClient.getconfig("MALL_ORDER_DESCRIPTION").getData(); orderVO.setOrderShuoMin(memberPointsPoints.getConfigValue()); @@ -948,6 +1031,51 @@ orderVO.setStatus(orderReturnRequest.getStatus()); } return orderVO; + } + + private GoodsSku getGoodsSku(OrderVO orderVO) { + GoodsSku goodsSku = null; + switch (orderVO.getOrderFrom()) { + case COMMODITY_ORDER: + goodsSku = goodsSkuClient.getGoodsSkuOne(orderVO.getGoodsSkuId(), + SecurityConstants.INNER).getData(); + break; + case SNAP_ORDERS: + List<GoodsSku> skuList = goodsSkuClient.getGoodsSkuBySeckillIdSet( + Sets.newHashSet(orderVO.getGoodsSkuId()), + SecurityConstants.INNER).getData(); + if (CollUtils.isNotEmpty(skuList)) { + goodsSku = skuList.get(0); + } + break; + case GROUP_PURCHASE_ORDERS: + List<GoodsSku> data = goodsSkuClient.getGoodsSkuByGroupPurchaseIdSet( + Sets.newHashSet(orderVO.getGoodsSkuId()), + SecurityConstants.INNER).getData(); + if (CollUtils.isNotEmpty(data)) { + goodsSku = data.get(0); + } + break; + case AUCTION_ORDERS: + List<GoodsSku> goodsSkuList; + if (orderVO.getAuctionType().equals(AuctionOrderTypeEnum.REGULAR_ITEMS)) { + goodsSkuList = auctionClient.getGoodsSkuByAuctionGoodsIdSet( + Sets.newHashSet(orderVO.getGoodsSkuId()), + SecurityConstants.INNER).getData(); + if (CollUtils.isNotEmpty(goodsSkuList)) { + goodsSku = goodsSkuList.get(0); + } + } else { + goodsSkuList = auctionClient.getGoodsSkuByAuctionSalesroomGoodsSet( + Sets.newHashSet(orderVO.getGoodsSkuId()), + SecurityConstants.INNER).getData(); + } + if (CollUtils.isNotEmpty(goodsSkuList)) { + goodsSku = goodsSkuList.get(0); + } + break; + } + return goodsSku; } @Override @@ -1122,7 +1250,7 @@ Order byId = this.getById(memberOrderListDTO.getId()); - if(byId.getOrderNo().contains("TG")){ + if (byId.getOrderNo().contains("TG") && StringUtils.isNotBlank(byId.getGroupNo())) { GoodsGroupPurchaseInfo goodsSeckiGoodsGroupPurchaseInfo = GoodsSkuClient.getGoodsSeckiGoodsGroupPurchaseInfo2(byId.getGroupNo(), SecurityConstants.INNER).getData(); if (goodsSeckiGoodsGroupPurchaseInfo!=null){ goodsSeckiGoodsGroupPurchaseInfo.setPurchaseNum(byId.getGoodsQuantity()); -- Gitblit v1.7.1