From 1da0cccd804b441ac94a35f28a2ed23a6a7062cc Mon Sep 17 00:00:00 2001 From: yj <Administrator@192> Date: 星期五, 13 三月 2020 14:12:17 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/count/CommonOrderCountServiceImpl.java | 74 +++++++++++++++++++++++++++++++++++++ 1 files changed, 74 insertions(+), 0 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/count/CommonOrderCountServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/count/CommonOrderCountServiceImpl.java index f7aa9e0..4c72b9e 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/count/CommonOrderCountServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/count/CommonOrderCountServiceImpl.java @@ -1,6 +1,7 @@ package com.yeshi.fanli.service.impl.count; import java.math.BigDecimal; +import java.text.DecimalFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -330,6 +331,79 @@ record.setId(StringUtil.Md5(preDay + trackRateEnum.name())); countOrderTrackRateDao.save(record); } + + + @Override + public List<ChartTDO> getTrackAccuracyRate(Integer dateType, String year, String startTime, String endTime, + int sourceType) throws Exception { + + List<ChartTDO> result_list = null; + + // 鐢ㄦ埛璁㈠崟 + List<ChartTDO> listTotal = commonOrderCountMapper.countOrderNumber(dateType, year, startTime, endTime, + sourceType); + if (listTotal == null || listTotal.size() == 0) { + return result_list; + } + + // 娣樺疂鑱旂洘 + List<ChartTDO> type_list = null; + switch (sourceType) { + case Constant.SOURCE_TYPE_TAOBAO: + type_list = taoBaoOrderMapper.countOrderNumber(dateType, year, startTime, endTime); + break; + case Constant.SOURCE_TYPE_JD: + type_list = jdOrderItemMapper.countOrderNumber(dateType, year, startTime, endTime); + break; + case Constant.SOURCE_TYPE_PDD: + type_list = pddOrderMapper.countOrderNumber(dateType, year, startTime, endTime); + break; + } + if (type_list == null || type_list.size() == 0) { + return null; + } + + switch (dateType) { + case 1: // 鎸夊ぉ澶勭悊 + result_list = dayFactory(startTime, endTime, type_list); + break; + case 2: // 鎸夋湀澶勭悊 + result_list = monthFactory(type_list); + break; + case 3: + result_list = yearFactory(type_list); + break; + default: + break; + } + + DecimalFormat df = new DecimalFormat("#.00"); + + for (int i = 0; i < result_list.size(); i++) { + double proportion = 0; + ChartTDO chartTDO = result_list.get(i); + String showDate = chartTDO.getShowDate(); + for (int j = 0; j < listTotal.size(); j++) { + ChartTDO innerChartTDO = listTotal.get(j); + String innerDate = innerChartTDO.getShowDate(); + if (innerDate != null && innerDate.toString().equals(showDate.toString())) { + String innerValue = innerChartTDO.getShowValue(); + long innerData = Long.parseLong(innerValue); + + String showValue = chartTDO.getShowValue(); + long showData = Long.parseLong(showValue); + + if (showData > 0) { + proportion = innerData / (double) showData; + } + break; // 缁撴潫鍐呴儴寰幆 + } + } + chartTDO.setShowValue(Double.parseDouble(df.format(proportion * 100)) + ""); + } + + return result_list; + } } -- Gitblit v1.8.0