From 30605f87ccf5743791013e44b56b26e1bff42398 Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Sun, 11 May 2025 23:48:57 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9A=E8=BF=9B=E8=B4=A7=E8=BD=A6?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E8=B0=83=E6=95=B4=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xkt/ShoppingCartController.java | 17 ++++++------- .../vo/userShoppingCart/ShopCartListVO.java | 25 +++++++++++++++++++ .../dto/userShoppingCart/ShopCartListDTO.java | 24 ++++++++++++++++++ .../xkt/service/IShoppingCartService.java | 6 +++-- .../service/impl/ShoppingCartServiceImpl.java | 20 +++++++++------ 5 files changed, 73 insertions(+), 19 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/userShoppingCart/ShopCartListVO.java create mode 100644 xkt/src/main/java/com/ruoyi/xkt/dto/userShoppingCart/ShopCartListDTO.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/ShoppingCartController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/ShoppingCartController.java index 5631e2392..37972a538 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/ShoppingCartController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/ShoppingCartController.java @@ -7,10 +7,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.page.Page; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.web.controller.xkt.vo.userShoppingCart.*; -import com.ruoyi.xkt.dto.userShoppingCart.ShopCartPageDTO; -import com.ruoyi.xkt.dto.userShoppingCart.ShopCartPageResDTO; -import com.ruoyi.xkt.dto.userShoppingCart.ShoppingCartDTO; -import com.ruoyi.xkt.dto.userShoppingCart.ShoppingCartEditDTO; +import com.ruoyi.xkt.dto.userShoppingCart.*; import com.ruoyi.xkt.service.IShoppingCartService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -19,6 +16,8 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * 用户进货车Controller * @@ -76,12 +75,12 @@ public class ShoppingCartController extends XktBaseController { } /** - * 根据shoppingCartId获取详情 + * 进货车下单时及商品下单时获取商品列表 */ - @ApiOperation(value = "根据shoppingCartId获取详情", httpMethod = "GET", response = R.class) - @GetMapping("/storeProdId/{storeProdId}") - public R getByStoreProdId(@PathVariable Long storeProdId) { - return R.ok(BeanUtil.toBean(shopCartService.getByStoreProdId(storeProdId), ShopCartResVO.class)); + @ApiOperation(value = "进货车下单时及商品下单时获取商品列表", httpMethod = "POST", response = R.class) + @PostMapping("/list") + public R> getList(@Validated @RequestBody ShopCartListVO listVO) { + return R.ok(BeanUtil.copyToList(shopCartService.getList(BeanUtil.toBean(listVO, ShopCartListDTO.class)), ShopCartResVO.class)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/userShoppingCart/ShopCartListVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/userShoppingCart/ShopCartListVO.java new file mode 100644 index 000000000..27183bc22 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/userShoppingCart/ShopCartListVO.java @@ -0,0 +1,25 @@ +package com.ruoyi.web.controller.xkt.vo.userShoppingCart; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @author liujiang + * @version v1.0 + * @date 2025/3/27 15:12 + */ +@ApiModel("电商卖家进货车下单") +@Data +@JsonInclude(JsonInclude.Include.NON_NULL) +public class ShopCartListVO { + + @NotNull(message = "档口商品ID列表不可为空!") + @ApiModelProperty(value = "档口商品ID列表") + private List storeProdIdList; + +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/userShoppingCart/ShopCartListDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/userShoppingCart/ShopCartListDTO.java new file mode 100644 index 000000000..f7d4367aa --- /dev/null +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/userShoppingCart/ShopCartListDTO.java @@ -0,0 +1,24 @@ +package com.ruoyi.xkt.dto.userShoppingCart; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +/** + * @author liujiang + * @version v1.0 + * @date 2025/3/27 15:12 + */ +@ApiModel("电商卖家进货车下单") +@Data +@JsonInclude(JsonInclude.Include.NON_NULL) +public class ShopCartListDTO { + + @ApiModelProperty(value = "档口商品ID列表") + private List storeProdIdList; + +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/IShoppingCartService.java b/xkt/src/main/java/com/ruoyi/xkt/service/IShoppingCartService.java index 2b9f204ad..bd2d64a07 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/IShoppingCartService.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/IShoppingCartService.java @@ -3,6 +3,8 @@ package com.ruoyi.xkt.service; import com.ruoyi.common.core.page.Page; import com.ruoyi.xkt.dto.userShoppingCart.*; +import java.util.List; + /** * 用户进货车Service接口 * @@ -54,9 +56,9 @@ public interface IShoppingCartService { /** * 根据storeProdid获取进货车详情 * - * @param storeProdId 商品ID + * @param listDTO 档口商品ID列表 * @return ShoppingCartDTO */ - ShoppingCartDTO getByStoreProdId(Long storeProdId); + List getList(ShopCartListDTO listDTO); } diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/ShoppingCartServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/ShoppingCartServiceImpl.java index 4eb0abfcd..6d98c2a07 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/ShoppingCartServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/ShoppingCartServiceImpl.java @@ -1,7 +1,6 @@ package com.ruoyi.xkt.service.impl; import cn.hutool.core.bean.BeanUtil; -import com.alipay.api.domain.Shop; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -267,20 +266,25 @@ public class ShoppingCartServiceImpl implements IShoppingCartService { /** * 根据storeProdid获取进货车详情 * - * @param storeProdId 商品ID + * @param listDTO 商品ID列表 * @return ShoppingCartDTO */ @Override @Transactional(readOnly = true) - public ShoppingCartDTO getByStoreProdId(Long storeProdId) { - ShoppingCart shoppingCart = this.shopCartMapper.selectOne(new LambdaQueryWrapper() - .eq(ShoppingCart::getStoreProdId, storeProdId).eq(ShoppingCart::getDelFlag, Constants.UNDELETED) + public List getList(ShopCartListDTO listDTO) { + List shoppingCartList = this.shopCartMapper.selectList(new LambdaQueryWrapper() + .in(ShoppingCart::getStoreProdId, listDTO.getStoreProdIdList()).eq(ShoppingCart::getDelFlag, Constants.UNDELETED) .eq(ShoppingCart::getUserId, SecurityUtils.getUserId())); + if (CollectionUtils.isEmpty(shoppingCartList)) { + return new ArrayList<>(); + } List detailList = this.shopCartDetailMapper.selectList(new LambdaQueryWrapper() - .eq(ShoppingCartDetail::getShoppingCartId, shoppingCart.getId()) + .in(ShoppingCartDetail::getShoppingCartId, shoppingCartList.stream().map(ShoppingCart::getId).collect(Collectors.toList())) .eq(ShoppingCartDetail::getDelFlag, Constants.UNDELETED)); - return BeanUtil.toBean(shoppingCart, ShoppingCartDTO.class) - .setDetailList(BeanUtil.copyToList(detailList, ShoppingCartDTO.SCDetailDTO.class)); + Map> detailMap = detailList.stream().collect(Collectors.groupingBy(ShoppingCartDetail::getShoppingCartId)); + return shoppingCartList.stream().map(x -> BeanUtil.toBean(x, ShoppingCartDTO.class) + .setDetailList(BeanUtil.copyToList(detailMap.get(x.getId()), ShoppingCartDTO.SCDetailDTO.class))) + .collect(Collectors.toList()); } /**