diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java index 92f95fd4..cc39610a 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/repository/order/TbOrderDetailRepository.java @@ -74,16 +74,15 @@ public interface TbOrderDetailRepository extends JpaRepository queryTbOrderSalesCountByDay(@Param("shopId") Integer shopId,@Param("cateId")String cateId,@Param("proName")String proName, @Param("startTime") Date startTime, @Param("endTime") Date endTime); - @Query("SELECT new cn.ysk.cashier.vo.TbOrderPayCountVo(" + - "info.status," + - "SUM( info.num )) " + - "FROM TbOrderDetail info " + + @Query("SELECT new cn.ysk.cashier.vo.TbOrderSalesCountByDayVo(" + + "SUM(CASE WHEN orders.orderType!='return' THEN info.num ELSE 0 END), " + + "SUM(CASE WHEN orders.orderType='return' THEN info.num ELSE 0 END))" + + "FROM TbOrderInfo orders " + + "LEFT JOIN TbOrderDetail info on orders.id=info.orderId " + "WHERE info.shopId = :shopId " + "AND info.createTime > :startTime AND info.createTime < :endTime " + - "AND ((info.status = 'closed') OR ( info.status ='refund')) " + - "GROUP BY info.status") - List queryTbOrderSalesCount(@Param("shopId") Integer shopId, @Param("startTime") Date startTime, @Param("endTime") Date endTime); - + "AND (info.status = 'closed' OR info.status = 'refund') ") + TbOrderSalesCountByDayVo queryTbOrderSalesCount(@Param("shopId") Integer shopId, @Param("startTime") Date startTime, @Param("endTime") Date endTime); @Query("SELECT new cn.ysk.cashier.vo.TbOrderPayCountVo(" + "info.status," + diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java index 4207df96..b237d275 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/SummaryServiceImpl.java @@ -436,17 +436,11 @@ public class SummaryServiceImpl implements SummaryService { refCount.setIcon("el-icon-money"); list.add(refCount); - List tbOrderPayCountVos = detailRepository.queryTbOrderSalesCount(Integer.valueOf(shopId), startTime, endTime); - for (TbOrderPayCountVo tbOrderPayCountVo : tbOrderPayCountVos) { - if (tbOrderPayCountVo.getPayType().equals("closed")) { - tbOrderPayCountVo.setPayType("销售量"); - tbOrderPayCountVo.setIcon("el-icon-goods"); - } else if (tbOrderPayCountVo.getPayType().equals("refund")) { - tbOrderPayCountVo.setPayType("退单量"); - tbOrderPayCountVo.setIcon("el-icon-circle-close"); - } - list.add(tbOrderPayCountVo); - } + TbOrderSalesCountByDayVo numCount = detailRepository.queryTbOrderSalesCount(Integer.valueOf(shopId), startTime, endTime); + TbOrderPayCountVo salesNum =new TbOrderPayCountVo("el-icon-goods","销售量","0",numCount.getSalesNum()); + TbOrderPayCountVo refNum =new TbOrderPayCountVo("el-icon-goods","销售量","0",numCount.getRefNum()); + list.add(salesNum); + list.add(refNum); return list; } } 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 3f07e142..d97fe1ea 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 @@ -4,6 +4,8 @@ package cn.ysk.cashier.vo; public class TbOrderPayCountVo { private String icon; private String payType; + //是否展示金额标识 + private String isAmount="1"; private Object payAmount; public String getIcon() { @@ -30,6 +32,15 @@ public class TbOrderPayCountVo { this.payAmount = payAmount; } + + public String getIsAmount() { + return isAmount; + } + + public void setIsAmount(String isAmount) { + this.isAmount = isAmount; + } + public TbOrderPayCountVo(String payType, Object payAmount) { this.payType = payType; this.payAmount = payAmount; @@ -37,4 +48,14 @@ public class TbOrderPayCountVo { this.payAmount = 0; } } + + public TbOrderPayCountVo(String icon, String payType, String isAmount, Object payAmount) { + this.icon = icon; + this.payType = payType; + this.isAmount = isAmount; + this.payAmount = payAmount; + if (payAmount == null) { + this.payAmount = 0; + } + } } diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderSalesCountByDayVo.java b/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderSalesCountByDayVo.java index 0dce1f90..e0093e96 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderSalesCountByDayVo.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/vo/TbOrderSalesCountByDayVo.java @@ -77,21 +77,9 @@ public class TbOrderSalesCountByDayVo { this.refAmount = refAmount; } - public TbOrderSalesCountByDayVo(String productName, String productSkuName, Long salesNum, Long refNum, Long num) { - this.productName = productName; - this.productSkuName = productSkuName; + public TbOrderSalesCountByDayVo(Long salesNum, Long refNum) { this.salesNum = salesNum; this.refNum = refNum; - this.num = num; - } - - public TbOrderSalesCountByDayVo(String productName, String productSkuName,String cateName, Long salesNum, Long refNum, Long num) { - this.productName = productName; - this.productSkuName = productSkuName; - this.cateName = cateName; - this.salesNum = salesNum; - this.refNum = refNum; - this.num = num; } public TbOrderSalesCountByDayVo(String productName, String productSkuName, String cateName, Long salesNum, Long refNum, Long num, BigDecimal salesAmount, BigDecimal refAmount) {