From ca27f7d21000f490375416554f6c423898ec7f92 Mon Sep 17 00:00:00 2001 From: xyiege Date: Fri, 15 Jul 2022 10:30:06 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E6=8C=89=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E6=80=BB=E5=92=8C=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/chjyj/szwh/mapper/OrderMapper.java | 7 ++++--- .../chjyj/szwh/service/impl/IndexServiceImpl.java | 3 +-- src/main/resources/mapper/szwh/OrderMapper.xml | 5 +++++ .../java/cn/chjyj/szwh/mapper/OrderMapperTest.java | 14 ++++++++++++++ 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/main/java/cn/chjyj/szwh/mapper/OrderMapper.java b/src/main/java/cn/chjyj/szwh/mapper/OrderMapper.java index 3c6eb78..35eb12d 100644 --- a/src/main/java/cn/chjyj/szwh/mapper/OrderMapper.java +++ b/src/main/java/cn/chjyj/szwh/mapper/OrderMapper.java @@ -4,6 +4,7 @@ import cn.chjyj.szwh.bean.Order; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; +import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; @@ -67,9 +68,9 @@ public interface OrderMapper { int countOrderByStatus(int status); /** - * 根据条件统计订单 - * @param cmap + * 计算条件订单总额,返回 BigDecimal + * @param cmap ( 字段、条件 field,condition) * @return */ - int sumOrderByMap(Map cmap); + BigDecimal sumOrderByMap(@Param("cmap") Map cmap); } diff --git a/src/main/java/cn/chjyj/szwh/service/impl/IndexServiceImpl.java b/src/main/java/cn/chjyj/szwh/service/impl/IndexServiceImpl.java index 59a28f8..76f6c34 100644 --- a/src/main/java/cn/chjyj/szwh/service/impl/IndexServiceImpl.java +++ b/src/main/java/cn/chjyj/szwh/service/impl/IndexServiceImpl.java @@ -63,8 +63,7 @@ public class IndexServiceImpl implements IndexService { //交易总额 result.put("deal_money",goodsCount); - - + //订单总额 result.put("order_money",goodsCount); result.put("shelf_count",goodsCount); diff --git a/src/main/resources/mapper/szwh/OrderMapper.xml b/src/main/resources/mapper/szwh/OrderMapper.xml index 8c0f332..deedcd7 100644 --- a/src/main/resources/mapper/szwh/OrderMapper.xml +++ b/src/main/resources/mapper/szwh/OrderMapper.xml @@ -68,6 +68,11 @@ select count(*) from where `status`=#{status} + + + insert into diff --git a/src/test/java/cn/chjyj/szwh/mapper/OrderMapperTest.java b/src/test/java/cn/chjyj/szwh/mapper/OrderMapperTest.java index 87129db..046eba9 100644 --- a/src/test/java/cn/chjyj/szwh/mapper/OrderMapperTest.java +++ b/src/test/java/cn/chjyj/szwh/mapper/OrderMapperTest.java @@ -9,6 +9,7 @@ import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; @@ -97,4 +98,17 @@ public class OrderMapperTest { int ret = orderMapper.countOrderByStatus(status); System.out.println(ret); } + + @Test + public void mapSumTest(){ + String starttime ="2022-05-18 00:00:00"; + String endtime="2022-05-18 23:59:59"; + String swhere ="(paymenttime between "+starttime+" and "+endtime+") " + + "and pay_status=2"; + Map xmap =new HashMap(); + xmap.put("field","total_money"); + xmap.put("wherestr",swhere); + BigDecimal bd= orderMapper.sumOrderByMap(xmap); + System.out.println(bd); + } } \ No newline at end of file