From 9f13d37960d9ec85c4d5154dd5fd29f8b230b32c Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Sat, 2 Mar 2024 14:40:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=84=E6=A0=BC=E7=BC=96=E8=BE=91=E6=97=B6?= =?UTF-8?q?=20=E5=90=8D=E7=A7=B0=E9=87=8D=E5=A4=8D=E9=97=AE=E9=A2=98=20?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=AE=A1=E7=90=86=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/TbCashierCartRepository.java | 7 ++ .../orderInfo/rest/TbOrderInfoController.java | 7 ++ .../orderInfo/service/dto/TbOrderInfoDto.java | 5 + .../service/impl/TbOrderInfoServiceImpl.java | 27 ++-- .../orderInfo/service/vo/TbOrderInfoVo.java | 116 ++++++++++++++++++ .../impl/TbProductSpecServiceImpl.java | 12 +- 6 files changed, 161 insertions(+), 13 deletions(-) create mode 100644 eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/service/vo/TbOrderInfoVo.java diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/order/cashierCart/repository/TbCashierCartRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/order/cashierCart/repository/TbCashierCartRepository.java index c7b5ea32..8639a8ea 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/order/cashierCart/repository/TbCashierCartRepository.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/order/cashierCart/repository/TbCashierCartRepository.java @@ -18,6 +18,10 @@ package me.zhengjie.modules.order.cashierCart.repository; import me.zhengjie.modules.order.cashierCart.domain.TbCashierCart; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; + +import java.util.List; /** * @website https://eladmin.vip @@ -25,4 +29,7 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor; * @date 2024-03-02 **/ public interface TbCashierCartRepository extends JpaRepository, JpaSpecificationExecutor { + + @Query("SELECT cart FROM TbCashierCart cart WHERE cart.orderId = :orderId") + List searchCartByOrderId(@Param("orderId")Integer orderId); } \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/rest/TbOrderInfoController.java b/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/rest/TbOrderInfoController.java index b2897449..853862b6 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/rest/TbOrderInfoController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/rest/TbOrderInfoController.java @@ -57,6 +57,13 @@ public class TbOrderInfoController { return new ResponseEntity<>(tbOrderInfoService.queryAll(criteria,pageable),HttpStatus.OK); } + @GetMapping("/{id}") + @Log("查询/orderInfo") + @ApiOperation("查询/orderInfo") + public Object queryTbOrderInfo(@PathVariable("id") Integer id){ + return tbOrderInfoService.findById(id); + } + @PostMapping @Log("新增/orderInfo") @ApiOperation("新增/orderInfo") diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/service/dto/TbOrderInfoDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/service/dto/TbOrderInfoDto.java index 085a9b0d..bd29e48e 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/service/dto/TbOrderInfoDto.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/service/dto/TbOrderInfoDto.java @@ -16,8 +16,11 @@ package me.zhengjie.modules.order.orderInfo.service.dto; import lombok.Data; +import me.zhengjie.modules.order.cashierCart.domain.TbCashierCart; + import java.math.BigDecimal; import java.io.Serializable; +import java.util.List; /** * @website https://eladmin.vip @@ -150,4 +153,6 @@ public class TbOrderInfoDto implements Serializable { private Integer source; private String remark; + + private List cartList; } \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/service/impl/TbOrderInfoServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/service/impl/TbOrderInfoServiceImpl.java index 97c52f7a..4d9422c1 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/service/impl/TbOrderInfoServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/service/impl/TbOrderInfoServiceImpl.java @@ -15,21 +15,23 @@ */ package me.zhengjie.modules.order.orderInfo.service.impl; +import me.zhengjie.modules.order.cashierCart.domain.TbCashierCart; +import me.zhengjie.modules.order.cashierCart.repository.TbCashierCartRepository; import me.zhengjie.modules.order.orderInfo.domain.TbOrderInfo; -import me.zhengjie.utils.ValidationUtil; -import me.zhengjie.utils.FileUtil; +import me.zhengjie.modules.order.orderInfo.service.vo.TbOrderInfoVo; +import me.zhengjie.utils.*; import lombok.RequiredArgsConstructor; import me.zhengjie.modules.order.orderInfo.repository.TbOrderInfoRepository; import me.zhengjie.modules.order.orderInfo.service.TbOrderInfoService; import me.zhengjie.modules.order.orderInfo.service.dto.TbOrderInfoDto; import me.zhengjie.modules.order.orderInfo.service.dto.TbOrderInfoQueryCriteria; import me.zhengjie.modules.order.orderInfo.service.mapstruct.TbOrderInfoMapper; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; -import me.zhengjie.utils.PageUtil; -import me.zhengjie.utils.QueryHelp; + import java.util.List; import java.util.Map; import java.io.IOException; @@ -49,11 +51,19 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { private final TbOrderInfoRepository tbOrderInfoRepository; private final TbOrderInfoMapper tbOrderInfoMapper; - + private final TbCashierCartRepository tbCashierCartRepository; @Override public Map queryAll(TbOrderInfoQueryCriteria criteria, Pageable pageable){ Page page = tbOrderInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); - return PageUtil.toPage(page.map(tbOrderInfoMapper::toDto)); + List orderInfoVoList = new ArrayList<>(); + for (TbOrderInfo tbOrderInfo : page.getContent()) { + TbOrderInfoVo orderInfoVo=new TbOrderInfoVo(); + List tbCashierCarts = tbCashierCartRepository.searchCartByOrderId(tbOrderInfo.getId()); + orderInfoVo.setCartList(tbCashierCarts); + BeanUtils.copyProperties(tbOrderInfo, orderInfoVo); + orderInfoVoList.add(orderInfoVo); + } + return PageUtil.toPage(orderInfoVoList, page.getTotalElements()); } @Override @@ -66,7 +76,10 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { public TbOrderInfoDto findById(Integer id) { TbOrderInfo tbOrderInfo = tbOrderInfoRepository.findById(id).orElseGet(TbOrderInfo::new); ValidationUtil.isNull(tbOrderInfo.getId(),"TbOrderInfo","id",id); - return tbOrderInfoMapper.toDto(tbOrderInfo); + TbOrderInfoDto dto = tbOrderInfoMapper.toDto(tbOrderInfo); + List tbCashierCarts = tbCashierCartRepository.searchCartByOrderId(tbOrderInfo.getId()); + dto.setCartList(tbCashierCarts); + return dto; } @Override diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/service/vo/TbOrderInfoVo.java b/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/service/vo/TbOrderInfoVo.java new file mode 100644 index 00000000..fc385485 --- /dev/null +++ b/eladmin-system/src/main/java/me/zhengjie/modules/order/orderInfo/service/vo/TbOrderInfoVo.java @@ -0,0 +1,116 @@ +/* +* Copyright 2019-2020 Zheng Jie +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package me.zhengjie.modules.order.orderInfo.service.vo; + +import lombok.Data; +import me.zhengjie.modules.order.cashierCart.domain.TbCashierCart; + +import java.math.BigDecimal; +import java.util.List; + + +@Data +public class TbOrderInfoVo { + + + private Integer id; + + private String orderNo; + + private BigDecimal settlementAmount; + + private BigDecimal packFee; + + private BigDecimal originAmount; + + private BigDecimal productAmount; + + private BigDecimal amount; + + private BigDecimal refundAmount; + + private BigDecimal payAmount; + + private BigDecimal freightAmount; + + private BigDecimal discountAmount; + + private String tableId; + + private BigDecimal smallChange; + + private String sendType; + + private String orderType; + + private String productType; + + private String status; + + private String billingId; + + private String merchantId; + + private String shopId; + + private Integer isVip; + + private String memberId; + + private String userId; + + private Integer productScore; + + private Integer deductScore; + + private String userCouponId; + + private BigDecimal userCouponAmount; + + private String masterId; + + private Integer refundAble; + + private Long paidTime; + + private Integer isEffect; + + private Integer isGroup; + + private Long updatedAt; + + private Long systemTime; + + private Long createdAt; + + private Integer isAccepted; + + private String payType; + + private BigDecimal orderAmount; + + private BigDecimal discountRatio; + + private String payOrderNo; + + private String tradeDay; + + private Integer source; + + private String remark; + + private List cartList; +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/productInfo/productSpec/service/impl/TbProductSpecServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/productInfo/productSpec/service/impl/TbProductSpecServiceImpl.java index 1c340508..499fcb7a 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/productInfo/productSpec/service/impl/TbProductSpecServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/productInfo/productSpec/service/impl/TbProductSpecServiceImpl.java @@ -65,7 +65,7 @@ public class TbProductSpecServiceImpl implements TbProductSpecService { specList.add(specVo); } - return PageUtil.toPage(specList, specList.size()); + return PageUtil.toPage(specList, page.getTotalElements()); } @Override @@ -101,11 +101,11 @@ public class TbProductSpecServiceImpl implements TbProductSpecService { @Transactional(rollbackFor = Exception.class) public void update(TbProductSpec resources) { TbProductSpec tbProductSpec = tbProductSpecRepository.findById(resources.getId()).orElseGet(TbProductSpec::new); - TbProductSpec allByName = tbProductSpecRepository.findAllByName(resources.getShopId(), resources.getName()); - if (allByName != null){ - throw new BadRequestException("规格名称重复"); - } - ValidationUtil.isNull( tbProductSpec.getId(),"TbProductSpec","id",resources.getId()); +// TbProductSpec allByName = tbProductSpecRepository.findAllByName(resources.getShopId(), resources.getName()); +// if (allByName != null){ +// throw new BadRequestException("规格名称重复"); +// } + ValidationUtil.isNull(tbProductSpec.getId(),"TbProductSpec","id",resources.getId()); tbProductSpec.copy(resources); tbProductSpecRepository.save(tbProductSpec); }