From 896d5fa3cb93023911a47f516e007502f94b5b33 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Mon, 18 Mar 2024 17:29:00 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=AE=A1=E7=90=86-=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E7=BB=9F=E8=AE=A1(=E4=B8=8D=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=94=AF=E4=BB=98=E7=B1=BB=E5=9E=8B=E4=B8=BA=E7=A9=BA=E7=9A=84?= =?UTF-8?q?=20=E9=80=9A=E8=BF=87shopid=E5=92=8C=E6=94=AF=E4=BB=98=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E5=81=9A=E4=B8=AD=E6=96=87=E5=9B=9E=E6=98=BE=20?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=94=AF=E4=BB=98?= =?UTF-8?q?=E5=9B=BE=E6=A0=87=E6=98=AF=E5=86=99=E6=AD=BB=E7=9A=84)=20?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=AE=A1=E7=90=86-=E5=88=97=E8=A1=A8(?= =?UTF-8?q?=E4=B8=8D=E5=86=8D=E5=B1=95=E7=A4=BA=E9=80=80=E5=8D=95=E8=AE=A2?= =?UTF-8?q?=E5=8D=95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/TbShopPayTypeRepository.java | 2 + .../impl/order/TbOrderInfoServiceImpl.java | 48 ++++++++++++++----- .../productimpl/TbProductServiceImpl.java | 2 +- .../cn/ysk/cashier/vo/TbOrderPayCountVo.java | 34 ++++++++----- 4 files changed, 61 insertions(+), 25 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/TbShopPayTypeRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/TbShopPayTypeRepository.java index b7e8f857..41277964 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/TbShopPayTypeRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/TbShopPayTypeRepository.java @@ -65,4 +65,6 @@ public interface TbShopPayTypeRepository extends JpaRepository queryAllPage(TbOrderInfoQueryCriteria criteria) { @@ -67,16 +68,25 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { criteria.setOrderType(null); } } - Page page = tbOrderInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); +// Page page = tbOrderInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable); + Page page = tbOrderInfoRepository.findAll((root, criteriaQuery, criteriaBuilder) -> { + Predicate predicate = QueryHelp.getPredicate(root, criteria, criteriaBuilder); + // 追加校验参数 status不为空时 不查询状态为 "refund" 的 + if(StringUtils.isBlank(criteria.getStatus())){ + predicate = criteriaBuilder.and(predicate, criteriaBuilder.notEqual(root.get("status"), "refund")); + } + return predicate; + }, pageable); + List orderInfoVoList = new ArrayList<>(); for (TbOrderInfo tbOrderInfo : page.getContent()) { TbOrderInfoVo orderInfoVo = new TbOrderInfoVo(); List details = tbOrderDetailRepository.searchDetailByOrderId(tbOrderInfo.getId()); BigDecimal refundAmount = BigDecimal.ZERO; for (TbOrderDetail detail : details) { - if(tbOrderInfo.getStatus().equals("refund")){ + if (tbOrderInfo.getStatus().equals("refund")) { refundAmount = refundAmount.add(detail.getPriceAmount()); - }else{ + } else { if (detail.getStatus().equals("refund")) { refundAmount = refundAmount.add(detail.getPriceAmount()); } @@ -92,7 +102,23 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { @Override public List queryTbOrderPayCount(String shopId) { - return tbOrderInfoRepository.queryTbOrderPayCount(shopId); + List result=new ArrayList<>(); + List payCountVoList = tbOrderInfoRepository.queryTbOrderPayCount(shopId); + for (TbOrderPayCountVo payCount : payCountVoList) { + if(StringUtils.isNotBlank(payCount.getPayType())){ + TbShopPayType byPayType = payTypeRepository.findByPayType(payCount.getPayType(), shopId); + if (byPayType != null) { + payCount.setPayType(byPayType.getPayName()); + payCount.setIcon(byPayType.getIcon()); + } + if(payCount.getPayType().equals("wx_lite")){ + payCount.setPayType("微信小程序支付"); + payCount.setIcon("https://cashier-oss.oss-cn-beijing.aliyuncs.com/upload/20240318/ecf9e234aad8426ab0b1c4d5b8e50c9d.jpg"); + } + result.add(payCount); + } + } + return result; } @Override @@ -120,9 +146,9 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { dto.setIsRefund(0); BigDecimal refundAmount = BigDecimal.ZERO; for (TbOrderDetail detail : details) { - if(tbOrderInfo.getStatus().equals("refund")){ + if (tbOrderInfo.getStatus().equals("refund")) { refundAmount = refundAmount.add(detail.getPriceAmount()); - }else{ + } else { if (detail.getStatus().equals("refund")) { refundAmount = refundAmount.add(detail.getPriceAmount()); } @@ -132,7 +158,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService { if (refund > 0) { dto.setIsRefund(1); } - log.info("退款金额为:{}",refundAmount); + log.info("退款金额为:{}", refundAmount); dto.setRefundAmount(refundAmount); dto.setDetailList(details); return dto; diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java index cf353658..edd32414 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/productimpl/TbProductServiceImpl.java @@ -173,7 +173,7 @@ public class TbProductServiceImpl implements TbProductService { Threads.call(tbShopUnits, tbProductSkus, tbProductSpec); //组装 TbProductVo tbProductVo = new TbProductVo(); - tbProductVo.setCategoryId(Integer.valueOf(tbProduct.getCategoryId())); + tbProductVo.setCategoryId(tbProduct.getCategoryId()); //单位 if (tbProduct.getUnitId() == null) { tbProductVo.setUnitId(null); diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderPayCountVo.java b/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderPayCountVo.java index ae8e738e..cf47fd69 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderPayCountVo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderPayCountVo.java @@ -1,22 +1,22 @@ package cn.ysk.cashier.vo; -import lombok.Data; - import java.math.BigDecimal; +import java.util.StringJoiner; -@Data public class TbOrderPayCountVo{ + private String icon; private String payType; private BigDecimal payAmount; - // 构造函数,参数名需要与查询中的别名一致 - public TbOrderPayCountVo(String payType, BigDecimal payAmount) { - this.payType = payType; - this.payAmount = payAmount; + public String getIcon() { + return icon; + } + + public void setIcon(String icon) { + this.icon = icon; } - // Getter和Setter方法 public String getPayType() { return payType; } @@ -33,12 +33,20 @@ public class TbOrderPayCountVo{ this.payAmount = payAmount; } - // toString方法,用于简单的打印信息,可根据需要添加 + public TbOrderPayCountVo() { + } + + public TbOrderPayCountVo(String payType, BigDecimal payAmount) { + this.payType = payType; + this.payAmount = payAmount; + } + @Override public String toString() { - return "TbOrderPayCountVo{" + - "payType='" + payType + '\'' + - ", payAmount=" + payAmount + - '}'; + return new StringJoiner(", ", TbOrderPayCountVo.class.getSimpleName() + "[", "]") + .add("icon='" + icon + "'") + .add("payType='" + payType + "'") + .add("payAmount=" + payAmount) + .toString(); } }