update 运营分析接口

This commit is contained in:
Lemon
2026-04-02 14:13:23 +08:00
parent 19c89db265
commit f7d541d44a
3 changed files with 20 additions and 5 deletions

View File

@@ -28,6 +28,7 @@ import com.jsowell.pile.vo.uniapp.business.BusinessOperationMetricVO;
import com.jsowell.pile.vo.web.MerchantOrderReportVO;
import com.jsowell.pile.vo.web.ParkingCouponRecordVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -48,6 +49,7 @@ public class BusinessFinancialServiceImpl implements BusinessFinancialService {
private static final String METRIC_ORDER_AMOUNT = "ORDER_AMOUNT";
private static final String METRIC_AVG_SERVICE_FEE = "AVG_SERVICE_FEE";
private static final String METRIC_AVG_ELECTRICITY = "AVG_ELECTRICITY";
private static final String FACTOR_ORDER_COUNT = "ORDER_COUNT";
private static final String FACTOR_AVG_ELECTRICITY = "AVG_ELECTRICITY";
private static final String FACTOR_AVG_CHARGE_TIME = "AVG_CHARGE_TIME";
@@ -178,6 +180,16 @@ public class BusinessFinancialServiceImpl implements BusinessFinancialService {
*/
@Override
public BusinessOperationAnalysisVO getBusinessOperationAnalysis(BusinessOperationAnalysisQueryDTO dto) {
if (dto == null) {
return null;
}
if (StringUtils.isBlank(dto.getStartTime()) && StringUtils.isBlank(dto.getEndTime())) {
LocalDate endDate = LocalDate.now();
LocalDate startDate = endDate.minusDays(6);
dto.setStartTime(startDate.toString());
dto.setEndTime(endDate.toString());
}
BusinessOperationDateRangeDTO range = buildDateRange(dto);
List<String> stationIdList = resolveStationIds(dto.getStationIdList());
BusinessOperationSummaryDTO currentSummary = buildOperationSummary(
@@ -227,7 +239,7 @@ public class BusinessFinancialServiceImpl implements BusinessFinancialService {
FACTOR_AVG_CHARGE_TIME, "单均充电时长",
currentSummary.getAvgChargeTime(), previousSummary.getAvgChargeTime());
}
return buildDiagnosis(METRIC_ORDER_AMOUNT, "订单总",
return buildDiagnosis(METRIC_ORDER_AMOUNT, "订单总",
FACTOR_ORDER_COUNT, "订单量",
currentSummary.getOrderCount(), previousSummary.getOrderCount());
}