From be38bd80d926d54bd7a9c73af7f80156806db0d8 Mon Sep 17 00:00:00 2001 From: donqi Date: Sun, 13 Nov 2022 23:21:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E4=BB=B7=E6=94=B9=E4=B8=BA0=E6=97=B6?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=9C=AA=E6=94=AF=E4=BB=98=E5=8A=A0=E4=BB=B7?= =?UTF-8?q?=E8=AE=B0=E5=BD=95;=E6=9F=A5=E8=AF=A2=E5=88=86=E9=94=80?= =?UTF-8?q?=E5=9B=A2=E9=98=9F=EF=BC=8C=E7=BB=9F=E8=AE=A1=E9=A1=B9=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../customer/CustomerController.java | 88 +++++++++++++++++-- .../java/com/ghy/web/pojo/vo/AnalyseItem.java | 10 +++ .../common/adapay/model/AnalyseItemEnum.java | 26 ++++-- .../mapper/customer/CustomerMapper.xml | 3 + .../service/impl/OrderDetailServiceImpl.java | 12 ++- 5 files changed, 123 insertions(+), 16 deletions(-) diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/customer/CustomerController.java b/ghy-admin/src/main/java/com/ghy/web/controller/customer/CustomerController.java index 37c6b159..48b24eed 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/customer/CustomerController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/customer/CustomerController.java @@ -73,12 +73,17 @@ public class CustomerController extends BaseController { for (Customer curCustomer: list) { // 本月第一天 LocalDate firstDayCurMonth = LocalDate.now().withDayOfMonth(1); + // 今天 + LocalDate curDay = LocalDate.now(); + // 往前推第7天 + LocalDate firstDayCurWeek = LocalDate.now().minusDays(6); List analyseItems = new ArrayList(); // 客户数 Customer customerParams = new Customer(); customerParams.setCustomerPlace(curCustomer.getCustomerId()); AnalyseItem aItem1 = new AnalyseItem() + .setType(AnalyseItemEnum.CUSTOMER_NUM.getType()) .setTitle(AnalyseItemEnum.CUSTOMER_NUM.getTitle()) .setUnit(AnalyseItemEnum.CUSTOMER_NUM.getUnit()) .setValue(customerService.countCustomer(customerParams)); @@ -86,10 +91,25 @@ public class CustomerController extends BaseController { // 本月绑定客户数 customerParams.setUpdateTimeStart(firstDayCurMonth.atStartOfDay()); AnalyseItem aItem2 = new AnalyseItem() - .setTitle(AnalyseItemEnum.CUSTOMER_NUM_CUR_MONTH.getTitle()) - .setUnit(AnalyseItemEnum.CUSTOMER_NUM_CUR_MONTH.getUnit()) + .setType(AnalyseItemEnum.CUSTOMER_NUM_ADDED_CUR_MONTH.getType()) + .setTitle(AnalyseItemEnum.CUSTOMER_NUM_ADDED_CUR_MONTH.getTitle()) + .setUnit(AnalyseItemEnum.CUSTOMER_NUM_ADDED_CUR_MONTH.getUnit()) .setValue(customerService.countCustomer(customerParams)); analyseItems.add(aItem2); + // 团队 + AnalyseItem aItem11 = new AnalyseItem() + .setType(AnalyseItemEnum.TEAM_MEMBER_NUM.getType()) + .setTitle(AnalyseItemEnum.TEAM_MEMBER_NUM.getTitle()) + .setUnit(AnalyseItemEnum.TEAM_MEMBER_NUM.getUnit()) + .setValue(aItem1.getValue()); + analyseItems.add(aItem11); + // 本月绑定客户数 + AnalyseItem aItem12 = new AnalyseItem() + .setType(AnalyseItemEnum.TEAM_MEMBER_ADDED_CUR_MONTH.getType()) + .setTitle(AnalyseItemEnum.TEAM_MEMBER_ADDED_CUR_MONTH.getTitle()) + .setUnit(AnalyseItemEnum.TEAM_MEMBER_ADDED_CUR_MONTH.getUnit()) + .setValue(aItem2.getValue()); + analyseItems.add(aItem12); // 本月订单数及本月订单额 OrderMaster orderParams1 = new OrderMaster(); @@ -105,10 +125,12 @@ public class CustomerController extends BaseController { totalMoneyCurMonth1 = financialsCurMonth1.stream().map(FinancialMaster::getTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add); } AnalyseItem aItem3 = new AnalyseItem() + .setType(AnalyseItemEnum.ORDER_NUM_CUR_MONTH.getType()) .setTitle(AnalyseItemEnum.ORDER_NUM_CUR_MONTH.getTitle()) .setUnit(AnalyseItemEnum.ORDER_NUM_CUR_MONTH.getUnit()) .setValue(ordersCurMonth1 != null ? ordersCurMonth1.size() : 0); AnalyseItem aItem4 = new AnalyseItem() + .setType(AnalyseItemEnum.ORDER_TRADE_VOLUME_CUR_MONTH.getType()) .setTitle(AnalyseItemEnum.ORDER_TRADE_VOLUME_CUR_MONTH.getTitle()) .setUnit(AnalyseItemEnum.ORDER_TRADE_VOLUME_CUR_MONTH.getUnit()) .setValue(totalMoneyCurMonth1); @@ -130,16 +152,70 @@ public class CustomerController extends BaseController { totalMoneyCurMonth2 = financialsCurMonth2.stream().map(FinancialMaster::getTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add); } AnalyseItem aItem5 = new AnalyseItem() - .setTitle(AnalyseItemEnum.ORDER_NUM_CUR_MONTH.getTitle()) - .setUnit(AnalyseItemEnum.ORDER_NUM_CUR_MONTH.getUnit()) + .setType(AnalyseItemEnum.ORDER_NUM_LAST_MONTH.getType()) + .setTitle(AnalyseItemEnum.ORDER_NUM_LAST_MONTH.getTitle()) + .setUnit(AnalyseItemEnum.ORDER_NUM_LAST_MONTH.getUnit()) .setValue(ordersCurMonth2 != null ? ordersCurMonth2.size() : 0); AnalyseItem aItem6 = new AnalyseItem() - .setTitle(AnalyseItemEnum.ORDER_TRADE_VOLUME_CUR_MONTH.getTitle()) - .setUnit(AnalyseItemEnum.ORDER_TRADE_VOLUME_CUR_MONTH.getUnit()) + .setType(AnalyseItemEnum.ORDER_TRADE_VOLUME_LAST_MONTH.getType()) + .setTitle(AnalyseItemEnum.ORDER_TRADE_VOLUME_LAST_MONTH.getTitle()) + .setUnit(AnalyseItemEnum.ORDER_TRADE_VOLUME_LAST_MONTH.getUnit()) .setValue(totalMoneyCurMonth2); analyseItems.add(aItem5); analyseItems.add(aItem6); + // 当天订单数及当天订单额 + OrderMaster orderParams3 = new OrderMaster(); + orderParams3.setCustomerId(curCustomer.getCustomerId()); + orderParams3.setCreateTimeStart(curDay.atStartOfDay()); + List ordersCurDay = orderMasterService.selectOrderMasterList(orderParams3); + List orderIdsCurDay = ordersCurDay.stream().map(OrderMaster::getId).collect(Collectors.toList()); + BigDecimal totalMoneyCurDay = new BigDecimal(0); + if (CollectionUtils.isNotEmpty(orderIdsCurDay)) { + FinancialMaster financialParams3 = new FinancialMaster(); + financialParams3.setIds(orderIdsCurDay); + List financialsCurDay = financialMasterService.selectFinancialMasterList(financialParams3); + totalMoneyCurDay = financialsCurDay.stream().map(FinancialMaster::getTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + } + AnalyseItem aItem7 = new AnalyseItem() + .setType(AnalyseItemEnum.ORDER_NUM_CUR_DAY.getType()) + .setTitle(AnalyseItemEnum.ORDER_NUM_CUR_DAY.getTitle()) + .setUnit(AnalyseItemEnum.ORDER_NUM_CUR_DAY.getUnit()) + .setValue(ordersCurDay != null ? ordersCurDay.size() : 0); + AnalyseItem aItem8 = new AnalyseItem() + .setType(AnalyseItemEnum.ORDER_TRADE_VOLUME_CUR_DAY.getType()) + .setTitle(AnalyseItemEnum.ORDER_TRADE_VOLUME_CUR_DAY.getTitle()) + .setUnit(AnalyseItemEnum.ORDER_TRADE_VOLUME_CUR_DAY.getUnit()) + .setValue(totalMoneyCurDay); + analyseItems.add(aItem7); + analyseItems.add(aItem8); + + // 7天订单数及7天订单额 + OrderMaster orderParams4 = new OrderMaster(); + orderParams4.setCustomerId(curCustomer.getCustomerId()); + orderParams4.setCreateTimeStart(firstDayCurWeek.atStartOfDay()); + List ordersCurWeek = orderMasterService.selectOrderMasterList(orderParams3); + List orderIdsCurWeek = ordersCurWeek.stream().map(OrderMaster::getId).collect(Collectors.toList()); + BigDecimal totalMoneyCurWeek = new BigDecimal(0); + if (CollectionUtils.isNotEmpty(orderIdsCurWeek)) { + FinancialMaster financialParams4 = new FinancialMaster(); + financialParams4.setIds(orderIdsCurWeek); + List financialsCurWeek = financialMasterService.selectFinancialMasterList(financialParams4); + totalMoneyCurWeek = financialsCurWeek.stream().map(FinancialMaster::getTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add); + } + AnalyseItem aItem9 = new AnalyseItem() + .setType(AnalyseItemEnum.ORDER_NUM_LAST_7_DAYS.getType()) + .setTitle(AnalyseItemEnum.ORDER_NUM_LAST_7_DAYS.getTitle()) + .setUnit(AnalyseItemEnum.ORDER_NUM_LAST_7_DAYS.getUnit()) + .setValue(ordersCurWeek != null ? ordersCurWeek.size() : 0); + AnalyseItem aItem10 = new AnalyseItem() + .setType(AnalyseItemEnum.ORDER_TRADE_VOLUME_LAST_7_DAYS.getType()) + .setTitle(AnalyseItemEnum.ORDER_TRADE_VOLUME_LAST_7_DAYS.getTitle()) + .setUnit(AnalyseItemEnum.ORDER_TRADE_VOLUME_LAST_7_DAYS.getUnit()) + .setValue(totalMoneyCurWeek); + analyseItems.add(aItem9); + analyseItems.add(aItem10); + CustomerPlaceMember customerPlaceMember = new CustomerPlaceMember(); customerPlaceMember.setAnalyseItems(analyseItems); customerPlaceMember.setCustomerId(curCustomer.getCustomerId()); diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/AnalyseItem.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/AnalyseItem.java index 13cdbaa1..4f9f23fa 100644 --- a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/AnalyseItem.java +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/AnalyseItem.java @@ -5,6 +5,7 @@ package com.ghy.web.pojo.vo; * @date : 2022-08-15 17:33 */ public class AnalyseItem { + private String type; private String title; private Object value; private String unit; @@ -35,4 +36,13 @@ public class AnalyseItem { this.unit = unit; return this; } + + public String getType() { + return type; + } + + public AnalyseItem setType(String type) { + this.type = type; + return this; + } } diff --git a/ghy-common/src/main/java/com/ghy/common/adapay/model/AnalyseItemEnum.java b/ghy-common/src/main/java/com/ghy/common/adapay/model/AnalyseItemEnum.java index 84dff07c..9ab91fc2 100644 --- a/ghy-common/src/main/java/com/ghy/common/adapay/model/AnalyseItemEnum.java +++ b/ghy-common/src/main/java/com/ghy/common/adapay/model/AnalyseItemEnum.java @@ -5,17 +5,25 @@ package com.ghy.common.adapay.model; * @date : 2022-08-15 16:37 */ public enum AnalyseItemEnum { - CUSTOMER_NUM("客户数", ""), - CUSTOMER_NUM_CUR_MONTH("本月绑定", ""), - ORDER_NUM_CUR_MONTH("本月订单数", "单"), - ORDER_TRADE_VOLUME_CUR_MONTH("本月订单额", "yuan"), - ORDER_NUM_LAST_MONTH("上月订单数", "单"), - ORDER_TRADE_VOLUME_LAST_MONTH("上月订单额", "yuan"); + CUSTOMER_NUM("common", "客户数", ""), + CUSTOMER_NUM_ADDED_CUR_MONTH("common", "本月绑定", ""), + TEAM_MEMBER_NUM("common", "团队", ""), + TEAM_MEMBER_ADDED_CUR_MONTH("common", "本月绑定", ""), + ORDER_NUM_CUR_MONTH("common", "本月订单数", "单"), + ORDER_TRADE_VOLUME_CUR_MONTH("common", "本月交易额", "yuan"), + ORDER_NUM_LAST_MONTH("common", "上月订单数", "单"), + ORDER_TRADE_VOLUME_LAST_MONTH("common", "上月交易额", "yuan"), + ORDER_NUM_CUR_DAY("dayAnalyse", "当天订单数", "单"), + ORDER_TRADE_VOLUME_CUR_DAY("dayAnalyse", "当天交易额", "yuan"), + ORDER_NUM_LAST_7_DAYS("dayAnalyse", "7天订单数", "单"), + ORDER_TRADE_VOLUME_LAST_7_DAYS("dayAnalyse", "7天交易额", "yuan"); + private String type; private String title; private String unit; - AnalyseItemEnum(String title, String unit) { + AnalyseItemEnum(String type, String title, String unit) { + this.type = type; this.title = title; this.unit = unit; } @@ -27,4 +35,8 @@ public enum AnalyseItemEnum { public String getUnit() { return unit; } + + public String getType() { + return type; + } } diff --git a/ghy-custom/src/main/resources/mapper/customer/CustomerMapper.xml b/ghy-custom/src/main/resources/mapper/customer/CustomerMapper.xml index d5996ee8..11cb8358 100644 --- a/ghy-custom/src/main/resources/mapper/customer/CustomerMapper.xml +++ b/ghy-custom/src/main/resources/mapper/customer/CustomerMapper.xml @@ -35,6 +35,9 @@