| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- import { defHttp } from '@jeesite/core/utils/http/axios';
- import { useGlobSetting } from '@jeesite/core/hooks/setting';
- import {
- ExpressInfo,
- ExpressInfoDetailPageDTO,
- ExpressInfoDTO,
- ExpressInfoPageDTO,
- HotelStayInfo,
- HotelStayInfoPageDTO,
- TrackCellTowerDTO,
- TrackEnLocalDTO,
- TrackMeetDTO,
- TrackMeetSummeryDTO,
- TogetherLiveInfo,
- TogetherLiveInfoPageDTO,
- TrackTogetherLiveDTO,
- TravelDataDTO,
- TravelRecordDTO,
- TravelTimelineDTO,
- } from './types/dto';
- import {
- TogetherLiveDetailQuery,
- ExpressInfoQuery,
- TrackCellTowerQuery,
- TrackEnLocalQuery,
- TrackMeetQuery,
- TrackTogetherLiveQuery,
- TrackTogetherTravelQuery,
- } from './types/query';
- import { CallRecord } from '@jeesite/call/api/types/dto';
- import { Page } from '@jeesite/core/api/model/baseModel';
- const { adminPath } = useGlobSetting();
- const normalizeRequestData = <T extends object>(params: T) => {
- return Object.entries(params as Record<string, unknown>).reduce<Record<string, unknown>>((acc, [key, value]) => {
- if (value === undefined || value === null || value === '') return acc;
- if (Array.isArray(value) && !value.length) return acc;
- acc[key] = value;
- return acc;
- }, {});
- };
- // ==================== 快递信息查询 ====================
- /**
- * 统计第一级快递信息
- */
- export const statFirstExpressInfo = (params: ExpressInfoQuery) =>
- defHttp.postJson<ExpressInfoPageDTO | ExpressInfoDTO[]>({
- url: adminPath + '/expressInfo/statFirstExpressInfo',
- data: normalizeRequestData(params),
- });
- /**
- * 统计第二级快递信息
- */
- export const statSecondExpressInfo = (params: ExpressInfoQuery) =>
- defHttp.postJson<ExpressInfoDetailPageDTO | ExpressInfo[]>({
- url: adminPath + '/expressInfo/statSecondExpressInfo',
- data: normalizeRequestData(params),
- });
- // ==================== 基站轨迹分析 ====================
- /**
- * 统计首次基站轨迹数据
- */
- export const statFirstTrackCellTower = (data: TrackCellTowerQuery) =>
- defHttp.postJson<TrackCellTowerDTO>({ url: adminPath + '/track/cellTower/statFirstTrackCellTower', data });
- /**
- * 统计二次基站轨迹数据
- */
- export const statSecondTrackCellTower = (data: TrackCellTowerQuery) =>
- defHttp.postJson<TrackCellTowerDTO>({ url: adminPath + '/track/cellTower/statSecondTrackCellTower', data });
- // ==================== 境外人员轨迹 ====================
- /**
- * 统计第一次早晚详情
- */
- export const statFirstTrackEnLocal = (data: TrackEnLocalQuery) =>
- defHttp.postJson<{ [key: string]: TrackEnLocalDTO[] }>({
- url: adminPath + '/track/enLocal/statFirstTrackEnLocal',
- data,
- });
- /**
- * 统计二次早晚详情
- */
- export const statSecondTrackEnLocal = (data: TrackEnLocalQuery) =>
- defHttp.postJson<Page<CallRecord>>({
- url: adminPath + '/track/enLocal/statSecondTrackEnLocal',
- data,
- });
- // ==================== 寄递轨迹分析 ====================
- /**
- * 统计首个寄递信息
- */
- export const statFirstExpressInfoByTrack = (params: ExpressInfoQuery) =>
- defHttp.get<ExpressInfoDTO>({ url: adminPath + '/track/express/statFirstExpressInfo', params });
- // ==================== 轨迹碰面分析 ====================
- /**
- * 统计首次轨迹碰面
- */
- export const statFirstTrackMeet = (data: TrackMeetQuery) =>
- defHttp.postJson<TrackMeetSummeryDTO[] | { [key: string]: TrackMeetSummeryDTO[] }>({
- url: adminPath + '/track/meet/statFirstTrackMeet',
- data,
- });
- /**
- * 统计二次轨迹碰面详情
- */
- export const statSecondTrackMeet = (data: TrackMeetQuery) =>
- defHttp.postJson<TrackMeetDTO[] | { [key: string]: TrackMeetDTO[] }>({
- url: adminPath + '/track/meet/statSecondTrackMeet',
- data,
- });
- // ==================== 同住分析 ====================
- /**
- * 统计首次同住信息
- */
- export const statFirstTrackTogetherLive = (data: TrackTogetherLiveQuery) =>
- defHttp.postJson<TrackTogetherLiveDTO[] | { [key: string]: TrackTogetherLiveDTO[] }>({
- url: adminPath + '/track/togetherLive/statFirstTrackTogetherLive',
- data,
- });
- /**
- * 统计二层同住信息
- */
- export const statSecondTrackTogetherLive = (data: TrackTogetherLiveQuery) =>
- defHttp.postJson<TrackTogetherLiveDTO[] | { [key: string]: TrackTogetherLiveDTO[] }>(
- {
- url: adminPath + '/track/togetherLive/statSecondTrackTogetherLive',
- data: normalizeRequestData(data),
- },
- { errorMessageMode: 'none' },
- );
- /**
- * 酒店住宿详情
- */
- export const hotelStayInfoDetail = (data: TogetherLiveDetailQuery) =>
- defHttp.postJson<HotelStayInfoPageDTO | HotelStayInfo[]>(
- {
- url: adminPath + '/track/togetherLive/hotelStayInfoDetail',
- data: normalizeRequestData(data),
- },
- { errorMessageMode: 'none' },
- );
- /**
- * 同住服务详情
- */
- export const togetherLiveInfoDetail = (data: TogetherLiveDetailQuery) =>
- defHttp.postJson<TogetherLiveInfoPageDTO | TogetherLiveInfo[]>(
- {
- url: adminPath + '/track/togetherLive/togetherLiveInfoDetail',
- data: normalizeRequestData(data),
- },
- { errorMessageMode: 'none' },
- );
- // ==================== 同行旅行分析 ====================
- /**
- * 统计同行旅行数据
- */
- export const statTogetherTravel = (data: TrackTogetherTravelQuery) =>
- defHttp.postJson<TravelTimelineDTO[]>(
- { url: adminPath + '/track/togetherTravel/statTogetherTravel', data },
- { errorMessageMode: 'none' },
- );
- /**
- * 统计同行旅行第二层记录
- */
- export const statSecondTogetherTravel = (data: TrackTogetherTravelQuery) =>
- defHttp.postJson<TravelRecordDTO[] | TravelDataDTO[] | { [key: string]: TravelRecordDTO[] | TravelDataDTO[] }>(
- {
- url: adminPath + '/track/togetherTravel/statSecondTogetherTravel',
- data: normalizeRequestData(data),
- },
- { errorMessageMode: 'none' },
- );
- /**
- * 统计同行旅行第三层详情
- */
- export const statThreeTogetherTravel = (data: TrackTogetherTravelQuery) =>
- defHttp.postJson<Record<string, any> | Record<string, any>[] | { [key: string]: any }>(
- {
- url: adminPath + '/track/togetherTravel/statThreeTogetherTravel',
- data: normalizeRequestData(data),
- },
- { errorMessageMode: 'none' },
- );
- /**
- * 兼容旧版同行汇总接口
- */
- export const legacyTravelTimeline = (data: TrackTogetherTravelQuery & { caseId?: string | number }) =>
- defHttp.postJson<TravelTimelineDTO[]>({ url: '/findPeople/travelTimeline', data }, { errorMessageMode: 'none' });
- /**
- * 兼容旧版同行记录接口
- */
- export const legacyTravelRecords = (data: { caseId?: string | number; idList?: string[] }) =>
- defHttp.postJson<TravelRecordDTO[]>({ url: '/findPeople/travelRecords', data }, { errorMessageMode: 'none' });
- /**
- * 兼容旧版同行详情接口
- */
- export const legacyTravelTimelineDetail = (data: { caseId?: string | number; type?: string; id?: string }) =>
- defHttp.postJson<Record<string, any>>(
- { url: '/findPeople/travelTimelineDetail', data },
- { errorMessageMode: 'none' },
- );
|