|
|
|
@ -5,6 +5,7 @@ import com.ghy.common.core.controller.BaseController;
|
|
|
|
import com.ghy.common.core.domain.AjaxResult;
|
|
|
|
import com.ghy.common.core.domain.AjaxResult;
|
|
|
|
import com.ghy.common.core.page.TableDataInfo;
|
|
|
|
import com.ghy.common.core.page.TableDataInfo;
|
|
|
|
import com.ghy.common.enums.PlaceStatus;
|
|
|
|
import com.ghy.common.enums.PlaceStatus;
|
|
|
|
|
|
|
|
import com.ghy.common.enums.UserStatus;
|
|
|
|
import com.ghy.common.utils.ExceptionUtil;
|
|
|
|
import com.ghy.common.utils.ExceptionUtil;
|
|
|
|
import com.ghy.customer.domain.Customer;
|
|
|
|
import com.ghy.customer.domain.Customer;
|
|
|
|
import com.ghy.customer.service.CustomerService;
|
|
|
|
import com.ghy.customer.service.CustomerService;
|
|
|
|
@ -71,6 +72,19 @@ public class CustomerController extends BaseController {
|
|
|
|
startPage();
|
|
|
|
startPage();
|
|
|
|
List<Customer> list = customerService.getCustomerList(customer);
|
|
|
|
List<Customer> list = customerService.getCustomerList(customer);
|
|
|
|
for (Customer curCustomer: list) {
|
|
|
|
for (Customer curCustomer: list) {
|
|
|
|
|
|
|
|
List<Long> customerIds = new ArrayList<Long>(){{
|
|
|
|
|
|
|
|
add(curCustomer.getCustomerId());
|
|
|
|
|
|
|
|
}};
|
|
|
|
|
|
|
|
if (customer.getIsDistributor()) {
|
|
|
|
|
|
|
|
// 分销商需要查询所有下一级分销用户作为统计条件
|
|
|
|
|
|
|
|
Customer customerQry = new Customer();
|
|
|
|
|
|
|
|
customerQry.setCustomerPlace(curCustomer.getCustomerId());
|
|
|
|
|
|
|
|
customerQry.setStatus(Integer.valueOf(UserStatus.OK.getCode()));
|
|
|
|
|
|
|
|
List<Customer> nextLevelCustomers = customerService.getCustomerList(customerQry);
|
|
|
|
|
|
|
|
List<Long> nextLevelCustomerIds = nextLevelCustomers.stream().map(Customer::getCustomerId).collect(Collectors.toList());
|
|
|
|
|
|
|
|
customerIds.addAll(nextLevelCustomerIds);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 本月第一天
|
|
|
|
// 本月第一天
|
|
|
|
LocalDate firstDayCurMonth = LocalDate.now().withDayOfMonth(1);
|
|
|
|
LocalDate firstDayCurMonth = LocalDate.now().withDayOfMonth(1);
|
|
|
|
// 今天
|
|
|
|
// 今天
|
|
|
|
@ -81,7 +95,7 @@ public class CustomerController extends BaseController {
|
|
|
|
List<AnalyseItem> analyseItems = new ArrayList<AnalyseItem>();
|
|
|
|
List<AnalyseItem> analyseItems = new ArrayList<AnalyseItem>();
|
|
|
|
// 客户数
|
|
|
|
// 客户数
|
|
|
|
Customer customerParams = new Customer();
|
|
|
|
Customer customerParams = new Customer();
|
|
|
|
customerParams.setCustomerPlace(curCustomer.getCustomerId());
|
|
|
|
customerParams.setCustomerPlaces(customerIds);
|
|
|
|
AnalyseItem aItem1 = new AnalyseItem()
|
|
|
|
AnalyseItem aItem1 = new AnalyseItem()
|
|
|
|
.setType(AnalyseItemEnum.CUSTOMER_NUM.getType())
|
|
|
|
.setType(AnalyseItemEnum.CUSTOMER_NUM.getType())
|
|
|
|
.setTitle(AnalyseItemEnum.CUSTOMER_NUM.getTitle())
|
|
|
|
.setTitle(AnalyseItemEnum.CUSTOMER_NUM.getTitle())
|
|
|
|
@ -113,14 +127,14 @@ public class CustomerController extends BaseController {
|
|
|
|
|
|
|
|
|
|
|
|
// 本月订单数及本月订单额
|
|
|
|
// 本月订单数及本月订单额
|
|
|
|
OrderMaster orderParams1 = new OrderMaster();
|
|
|
|
OrderMaster orderParams1 = new OrderMaster();
|
|
|
|
orderParams1.setCustomerId(curCustomer.getCustomerId());
|
|
|
|
orderParams1.setCustomerIds(customerIds);
|
|
|
|
orderParams1.setCreateTimeStart(firstDayCurMonth.atStartOfDay());
|
|
|
|
orderParams1.setCreateTimeStart(firstDayCurMonth.atStartOfDay());
|
|
|
|
List<OrderMaster> ordersCurMonth1 = orderMasterService.selectOrderMasterList(orderParams1);
|
|
|
|
List<OrderMaster> ordersCurMonth1 = orderMasterService.selectOrderMasterList(orderParams1);
|
|
|
|
List<Long> orderIdsCurMonth1 = ordersCurMonth1.stream().map(OrderMaster::getId).collect(Collectors.toList());
|
|
|
|
List<Long> orderIdsCurMonth1 = ordersCurMonth1.stream().map(OrderMaster::getId).collect(Collectors.toList());
|
|
|
|
BigDecimal totalMoneyCurMonth1 = new BigDecimal(0);
|
|
|
|
BigDecimal totalMoneyCurMonth1 = new BigDecimal(0);
|
|
|
|
if (CollectionUtils.isNotEmpty(orderIdsCurMonth1)) {
|
|
|
|
if (CollectionUtils.isNotEmpty(orderIdsCurMonth1)) {
|
|
|
|
FinancialMaster financialParams1 = new FinancialMaster();
|
|
|
|
FinancialMaster financialParams1 = new FinancialMaster();
|
|
|
|
financialParams1.setIds(orderIdsCurMonth1);
|
|
|
|
financialParams1.setOrderMasterIds(orderIdsCurMonth1);
|
|
|
|
List<FinancialMaster> financialsCurMonth1 = financialMasterService.selectFinancialMasterList(financialParams1);
|
|
|
|
List<FinancialMaster> financialsCurMonth1 = financialMasterService.selectFinancialMasterList(financialParams1);
|
|
|
|
totalMoneyCurMonth1 = financialsCurMonth1.stream().map(FinancialMaster::getTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
totalMoneyCurMonth1 = financialsCurMonth1.stream().map(FinancialMaster::getTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -139,7 +153,7 @@ public class CustomerController extends BaseController {
|
|
|
|
|
|
|
|
|
|
|
|
// 上月订单数及上月订单额
|
|
|
|
// 上月订单数及上月订单额
|
|
|
|
OrderMaster orderParams2 = new OrderMaster();
|
|
|
|
OrderMaster orderParams2 = new OrderMaster();
|
|
|
|
orderParams2.setCustomerId(curCustomer.getCustomerId());
|
|
|
|
orderParams2.setCustomerIds(customerIds);
|
|
|
|
orderParams2.setCreateTimeStart(firstDayCurMonth.atStartOfDay().minusMonths(1));
|
|
|
|
orderParams2.setCreateTimeStart(firstDayCurMonth.atStartOfDay().minusMonths(1));
|
|
|
|
orderParams2.setCreateTimeEnd(firstDayCurMonth.atStartOfDay());
|
|
|
|
orderParams2.setCreateTimeEnd(firstDayCurMonth.atStartOfDay());
|
|
|
|
List<OrderMaster> ordersCurMonth2 = orderMasterService.selectOrderMasterList(orderParams2);
|
|
|
|
List<OrderMaster> ordersCurMonth2 = orderMasterService.selectOrderMasterList(orderParams2);
|
|
|
|
@ -147,7 +161,7 @@ public class CustomerController extends BaseController {
|
|
|
|
BigDecimal totalMoneyCurMonth2 = new BigDecimal(0);
|
|
|
|
BigDecimal totalMoneyCurMonth2 = new BigDecimal(0);
|
|
|
|
if (CollectionUtils.isNotEmpty(orderIdsCurMonth2)) {
|
|
|
|
if (CollectionUtils.isNotEmpty(orderIdsCurMonth2)) {
|
|
|
|
FinancialMaster financialParams2 = new FinancialMaster();
|
|
|
|
FinancialMaster financialParams2 = new FinancialMaster();
|
|
|
|
financialParams2.setIds(orderIdsCurMonth2);
|
|
|
|
financialParams2.setOrderMasterIds(orderIdsCurMonth2);
|
|
|
|
List<FinancialMaster> financialsCurMonth2 = financialMasterService.selectFinancialMasterList(financialParams2);
|
|
|
|
List<FinancialMaster> financialsCurMonth2 = financialMasterService.selectFinancialMasterList(financialParams2);
|
|
|
|
totalMoneyCurMonth2 = financialsCurMonth2.stream().map(FinancialMaster::getTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
totalMoneyCurMonth2 = financialsCurMonth2.stream().map(FinancialMaster::getTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -166,14 +180,14 @@ public class CustomerController extends BaseController {
|
|
|
|
|
|
|
|
|
|
|
|
// 当天订单数及当天订单额
|
|
|
|
// 当天订单数及当天订单额
|
|
|
|
OrderMaster orderParams3 = new OrderMaster();
|
|
|
|
OrderMaster orderParams3 = new OrderMaster();
|
|
|
|
orderParams3.setCustomerId(curCustomer.getCustomerId());
|
|
|
|
orderParams3.setCustomerIds(customerIds);
|
|
|
|
orderParams3.setCreateTimeStart(curDay.atStartOfDay());
|
|
|
|
orderParams3.setCreateTimeStart(curDay.atStartOfDay());
|
|
|
|
List<OrderMaster> ordersCurDay = orderMasterService.selectOrderMasterList(orderParams3);
|
|
|
|
List<OrderMaster> ordersCurDay = orderMasterService.selectOrderMasterList(orderParams3);
|
|
|
|
List<Long> orderIdsCurDay = ordersCurDay.stream().map(OrderMaster::getId).collect(Collectors.toList());
|
|
|
|
List<Long> orderIdsCurDay = ordersCurDay.stream().map(OrderMaster::getId).collect(Collectors.toList());
|
|
|
|
BigDecimal totalMoneyCurDay = new BigDecimal(0);
|
|
|
|
BigDecimal totalMoneyCurDay = new BigDecimal(0);
|
|
|
|
if (CollectionUtils.isNotEmpty(orderIdsCurDay)) {
|
|
|
|
if (CollectionUtils.isNotEmpty(orderIdsCurDay)) {
|
|
|
|
FinancialMaster financialParams3 = new FinancialMaster();
|
|
|
|
FinancialMaster financialParams3 = new FinancialMaster();
|
|
|
|
financialParams3.setIds(orderIdsCurDay);
|
|
|
|
financialParams3.setOrderMasterIds(orderIdsCurDay);
|
|
|
|
List<FinancialMaster> financialsCurDay = financialMasterService.selectFinancialMasterList(financialParams3);
|
|
|
|
List<FinancialMaster> financialsCurDay = financialMasterService.selectFinancialMasterList(financialParams3);
|
|
|
|
totalMoneyCurDay = financialsCurDay.stream().map(FinancialMaster::getTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
totalMoneyCurDay = financialsCurDay.stream().map(FinancialMaster::getTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -192,14 +206,14 @@ public class CustomerController extends BaseController {
|
|
|
|
|
|
|
|
|
|
|
|
// 7天订单数及7天订单额
|
|
|
|
// 7天订单数及7天订单额
|
|
|
|
OrderMaster orderParams4 = new OrderMaster();
|
|
|
|
OrderMaster orderParams4 = new OrderMaster();
|
|
|
|
orderParams4.setCustomerId(curCustomer.getCustomerId());
|
|
|
|
orderParams4.setCustomerIds(customerIds);
|
|
|
|
orderParams4.setCreateTimeStart(firstDayCurWeek.atStartOfDay());
|
|
|
|
orderParams4.setCreateTimeStart(firstDayCurWeek.atStartOfDay());
|
|
|
|
List<OrderMaster> ordersCurWeek = orderMasterService.selectOrderMasterList(orderParams3);
|
|
|
|
List<OrderMaster> ordersCurWeek = orderMasterService.selectOrderMasterList(orderParams3);
|
|
|
|
List<Long> orderIdsCurWeek = ordersCurWeek.stream().map(OrderMaster::getId).collect(Collectors.toList());
|
|
|
|
List<Long> orderIdsCurWeek = ordersCurWeek.stream().map(OrderMaster::getId).collect(Collectors.toList());
|
|
|
|
BigDecimal totalMoneyCurWeek = new BigDecimal(0);
|
|
|
|
BigDecimal totalMoneyCurWeek = new BigDecimal(0);
|
|
|
|
if (CollectionUtils.isNotEmpty(orderIdsCurWeek)) {
|
|
|
|
if (CollectionUtils.isNotEmpty(orderIdsCurWeek)) {
|
|
|
|
FinancialMaster financialParams4 = new FinancialMaster();
|
|
|
|
FinancialMaster financialParams4 = new FinancialMaster();
|
|
|
|
financialParams4.setIds(orderIdsCurWeek);
|
|
|
|
financialParams4.setOrderMasterIds(orderIdsCurWeek);
|
|
|
|
List<FinancialMaster> financialsCurWeek = financialMasterService.selectFinancialMasterList(financialParams4);
|
|
|
|
List<FinancialMaster> financialsCurWeek = financialMasterService.selectFinancialMasterList(financialParams4);
|
|
|
|
totalMoneyCurWeek = financialsCurWeek.stream().map(FinancialMaster::getTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
totalMoneyCurWeek = financialsCurWeek.stream().map(FinancialMaster::getTotalMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|