Merge branch 'feature-business-minigram' into dev

This commit is contained in:
Lemon
2026-05-25 14:35:31 +08:00
9 changed files with 860 additions and 1 deletions

View File

@@ -6,11 +6,15 @@ import com.jsowell.common.core.page.PageResponse;
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException;
import com.jsowell.common.response.RestApiResponse;
import com.google.common.collect.ImmutableMap;
import com.jsowell.pile.dto.MerchantOrderReportDTO;
import com.jsowell.pile.dto.ParkingCouponRecordQueryDTO;
import com.jsowell.pile.dto.business.BusinessEfficiencyQueryDTO;
import com.jsowell.pile.dto.business.BusinessOperationAnalysisQueryDTO;
import com.jsowell.pile.dto.business.BusinessScaleQueryDTO;
import com.jsowell.pile.service.BusinessFinancialService;
import com.jsowell.pile.vo.uniapp.business.BusinessEfficiencyAnalysisVO;
import com.jsowell.pile.vo.uniapp.business.BusinessEfficiencyVO;
import com.jsowell.pile.vo.uniapp.business.BusinessGunEfficiencyAnalysisVO;
import com.jsowell.pile.vo.uniapp.business.BusinessOperationAnalysisVO;
import com.jsowell.pile.vo.uniapp.business.BusinessScaleVO;
@@ -148,4 +152,88 @@ public class BusinessFinancialController extends BaseController {
}
return response;
}
/**
* 查询经营效率
*
* @param dto 查询参数
* @return 经营效率数据(含指标卡片和曲线图)
*/
@PostMapping("/businessEfficiency")
public RestApiResponse<?> getBusinessEfficiency(@RequestBody BusinessEfficiencyQueryDTO dto) {
logger.info("查询经营效率 params:{}", JSONObject.toJSONString(dto));
RestApiResponse<?> response;
try {
if (dto == null) {
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
}
BusinessEfficiencyVO result = businessFinancialService.getBusinessEfficiency(dto);
response = new RestApiResponse<>(result);
logger.info("查询经营效率成功 startTime:{}, endTime:{}, selectedMetricCode:{}",
dto.getStartTime(), dto.getEndTime(), dto.getSelectedMetricCode());
} catch (BusinessException e) {
logger.warn("查询经营效率业务异常 code:{}, message:{}", e.getCode(), e.getMessage(), e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception e) {
logger.error("查询经营效率系统异常 params:{}", JSONObject.toJSONString(dto), e);
response = new RestApiResponse<>(e);
}
return response;
}
/**
* 查询效率分析(单均效率 + 枪均效率)
*
* @param dto 查询参数
* @return 效率分析数据(含单均效率和枪均效率两个维度)
*/
@PostMapping("/efficiencyAnalysis")
public RestApiResponse<?> getEfficiencyAnalysis(@RequestBody BusinessOperationAnalysisQueryDTO dto) {
logger.info("查询效率分析 params:{}", JSONObject.toJSONString(dto));
RestApiResponse<?> response;
try {
if (dto == null) {
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
}
BusinessEfficiencyAnalysisVO result = businessFinancialService.getEfficiencyAnalysis(dto);
response = new RestApiResponse<>(result);
logger.info("查询效率分析成功 startTime:{}, endTime:{}",
dto.getStartTime(), dto.getEndTime());
} catch (BusinessException e) {
logger.warn("查询效率分析业务异常 code:{}, message:{}", e.getCode(), e.getMessage(), e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception e) {
logger.error("查询效率分析系统异常 params:{}", JSONObject.toJSONString(dto), e);
response = new RestApiResponse<>(e);
}
return response;
}
/**
* 分页查询场站订单排行
*
* @param dto 查询参数含pageNum、pageSize
* @return 分页结果(场站订单排行列表,按订单数量降序)
*/
@PostMapping("/stationOrderRank")
public RestApiResponse<?> getStationOrderRank(@RequestBody BusinessOperationAnalysisQueryDTO dto) {
logger.info("查询场站订单排行 params:{}", JSONObject.toJSONString(dto));
RestApiResponse<?> response;
try {
if (dto == null) {
throw new BusinessException(ReturnCodeEnum.CODE_PARAM_NOT_NULL_ERROR);
}
PageResponse pageResponse = businessFinancialService.getStationOrderRank(dto);
response = new RestApiResponse<>(ImmutableMap.of("pageResponse", pageResponse));
logger.info("查询场站订单排行成功 startTime:{}, endTime:{}, total:{}",
dto.getStartTime(), dto.getEndTime(), pageResponse.getTotal());
} catch (BusinessException e) {
logger.warn("查询场站订单排行业务异常 code:{}, message:{}", e.getCode(), e.getMessage(), e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception e) {
logger.error("查询场站订单排行系统异常 params:{}", JSONObject.toJSONString(dto), e);
response = new RestApiResponse<>(e);
}
return response;
}
}