wjx 1 年之前
父節點
當前提交
e70e21d3b8

+ 56 - 28
src/components/QueryForm/index.tsx

@@ -6,6 +6,7 @@ import { getAllOfOwnerUserApi, getChannelChoiceListApi, getGameChoiceListApi, ge
 import { PayStatus, TYPE, gameClassifyEnum } from "./const"
 import { ADSTATUSEnum as ADSTTTATUSEnum } from "@/pages/gameDataStatistics/adlist/monitor/const"
 import { ADSTATUSEnum } from "@/pages/gameDataStatistics/adlist/tencentMonitor/const"
+import IntervalTime from "./intervalTime"
 
 
 interface Props {
@@ -98,6 +99,14 @@ interface Props {
     rechargeDay?: {
         ranges?: any
     }
+    /** 是否开启 支付时间 搜索 */
+    payTimeDay?: {
+        ranges?: any
+    }
+    /** 是否开启 下单时间 搜索 */
+    placeAnOrderDay?: {
+        ranges?: any
+    }
     /** 是否开启布谷 游戏类型 筛选 */
     isBGGameClassify?: boolean,
     /** 是否开启 单个充值日期 选择 */
@@ -132,6 +141,8 @@ interface Props {
     isServerDay?: {
         ranges?: any
     }
+    /** 是否开启 充值到支付的间隔时间 搜索 */
+    isPayIntervalTime?: boolean
 }
 /**
  * 游戏数据系统 请求参数
@@ -143,7 +154,8 @@ const QueryForm: React.FC<Props> = (props) => {
     const {
         onChange, initialValues, isSource, isAccount, isAccountId, isCompanyId, isAgentKey, isAgentName, isCpId, isCpName, isCpOrderId, isCpStatus, isCreateDay, isDevice, isGameName, isRechargeGameName, isGameId, isOrderGameId, isGameRoleId,
         isGameRoleName, isFirstRecharge, isSwitch, isMerchantNo, isOrderId, isMerchantOrderNo, isPayStatus, isPayWay, isProductName, isRegAgent, isAgentId, isPutAgent, isRegDay, isOs, isParentId, isProjectId, isProjectName, isPromotionId, isPromotionName,
-        isSysUserName, isRechargeDate, isBGGameClassify, isGameUserId, isSysUserId, isUserName, isUserId, isSelectRanking, isGameType, isConsumeDay, rechargeDay, isBeginDay, isType, isAdTTStatus, isUserEnterType, isServerName, isServerId, isServerDay, isAdTXStatus
+        isSysUserName, isRechargeDate, isBGGameClassify, isGameUserId, isSysUserId, isUserName, isUserId, isSelectRanking, isGameType, isConsumeDay, rechargeDay, isBeginDay, isType, isAdTTStatus, isUserEnterType, isServerName, isServerId, isServerDay, isAdTXStatus,
+        payTimeDay, placeAnOrderDay, isPayIntervalTime
     } = props
     const [form] = Form.useForm()
     const [accountList, setAccountList] = useState<any[]>([])
@@ -362,7 +374,7 @@ const QueryForm: React.FC<Props> = (props) => {
                     showSearch
                     style={{ width: 140 }}
                     allowClear
-                    placeholder={'请选择广告账号'}
+                    placeholder={'广告账号'}
                     dropdownMatchSelectWidth={false}
                     filterOption={(input, option) =>
                         (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
@@ -389,7 +401,7 @@ const QueryForm: React.FC<Props> = (props) => {
             </Form.Item></Col>}
             {/* cp名 */}
             {isCpName && <Col><Form.Item name='cpName'>
-                <Input placeholder="请输入CP名称" allowClear style={{ width: 140 }} />
+                <Input placeholder="CP名称" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
             {/* CPID */}
             {isCpId && <Col><Form.Item name='cpId'>
@@ -409,7 +421,7 @@ const QueryForm: React.FC<Props> = (props) => {
             </Form.Item></Col>}
             {/* CP方订单ID */}
             {isCpOrderId && <Col><Form.Item name='cpOrderId'>
-                <Input placeholder="输入CP订单号" style={{ width: 140 }} />
+                <Input placeholder="CP订单号" style={{ width: 140 }} />
             </Form.Item></Col>}
             {/* CP通知状态 */}
             {isCpStatus && <Col><Form.Item name='cpStatus'>
@@ -418,32 +430,32 @@ const QueryForm: React.FC<Props> = (props) => {
                     showSearch
                     style={{ minWidth: 140 }}
                     allowClear
-                    placeholder={'请选择CP通知状态'}
+                    placeholder={'CP通知状态'}
                     filterOption={(input, option) =>
                         (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
                     }
                 >
                     <Select.Option value={'1'}>待处理</Select.Option>
                     <Select.Option value={'2'}>成功</Select.Option>
-                    <Select.Option value={'3'}>失败</Select.Option>
+                    <Select.Option value={'-1'}>失败</Select.Option>
                 </Select>
             </Form.Item></Col>}
 
             {/* 计划名称 */}
             {isProjectName && <Col><Form.Item name='projectName'>
-                <Input placeholder="请输入项目名称" allowClear style={{ width: 140 }} />
+                <Input placeholder="项目名称" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
             {/* 计划ID */}
             {isProjectId && <Col><Form.Item name='projectId'>
-                <Input placeholder="请输入项目ID" allowClear style={{ width: 140 }} />
+                <Input placeholder="项目ID" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
             {/* 广告名称 */}
             {isPromotionName && <Col><Form.Item name='promotionName'>
-                <Input placeholder="请输入广告名称" allowClear style={{ width: 140 }} />
+                <Input placeholder="广告名称" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
             {/* 广告ID */}
             {isPromotionId && <Col><Form.Item name='promotionId'>
-                <Input placeholder="请输入广告ID" allowClear style={{ width: 140 }} />
+                <Input placeholder="广告ID" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
             {/* 广告状态 */}
             {isAdTTStatus && <Col><Form.Item name='status'>
@@ -478,19 +490,19 @@ const QueryForm: React.FC<Props> = (props) => {
             </Form.Item></Col>}
             {/* 操作设备 */}
             {isDevice && <Col><Form.Item name='device'>
-                <Input placeholder="请输入操作设备" allowClear style={{ width: 140 }} />
+                <Input placeholder="操作设备" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
             {/* 游戏名 */}
             {isRechargeGameName && <Col><Form.Item name='rechargeGameName'>
-                <Input placeholder="请输入游戏名" allowClear style={{ width: 140 }} />
+                <Input placeholder="游戏名" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
             {/* 玩家ID */}
             {isGameUserId && <Col><Form.Item name='gameUserId'>
-                <Input placeholder="请输入玩家ID" allowClear style={{ width: 140 }} />
+                <Input placeholder="玩家ID" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
             {/* 游戏名 */}
             {isGameName && <Col><Form.Item name='gameName'>
-                <Input placeholder="请输入游戏名" allowClear style={{ width: 140 }} />
+                <Input placeholder="游戏名" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
             {/* 游戏ID搜索 */}
             {isGameId && <Col><Form.Item name='gameId'>
@@ -569,20 +581,20 @@ const QueryForm: React.FC<Props> = (props) => {
             </Form.Item></Col>}
             {/* 游戏角色名 */}
             {isGameRoleName && <Col><Form.Item name='roleName'>
-                <Input placeholder="请输入游戏角色名" allowClear style={{ width: 140 }} />
+                <Input placeholder="游戏角色名" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
             {/* 游戏角色名id搜索 */}
             {isGameRoleId && <Col><Form.Item name='roleId'>
-                <Input placeholder="请输入角色ID" allowClear style={{ width: 140 }} />
+                <Input placeholder="角色ID" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
             {/* 是否首充 */}
             {isFirstRecharge && <Col><Form.Item name='isFirstRecharge'>
                 <Select
                     maxTagCount={1}
                     showSearch
-                    style={{ minWidth: 140 }}
+                    style={{ width: 100 }}
                     allowClear
-                    placeholder={'请选择是否首充'}
+                    placeholder={'是否首充'}
                     filterOption={(input, option) =>
                         (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
                     }
@@ -609,7 +621,7 @@ const QueryForm: React.FC<Props> = (props) => {
             </Form.Item></Col>}
             {/* 收款商户号 */}
             {isMerchantNo && <Col><Form.Item name='merchantNo'>
-                <Input placeholder="请输入收款商户号" allowClear style={{ width: 140 }} />
+                <Input placeholder="收款商户号" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
             {/* 收款商户号 */}
             {isMerchantOrderNo && <Col><Form.Item name='merchantOrderNo'>
@@ -666,22 +678,22 @@ const QueryForm: React.FC<Props> = (props) => {
 
             {/* 产品名称 */}
             {isProductName && <Col><Form.Item name='productName'>
-                <Input placeholder="请输入产品名称" allowClear style={{ width: 140 }} />
+                <Input placeholder="产品名称" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
 
             {/* 注册渠道名 */}
             {isRegAgent && <Col><Form.Item name='regAgent'>
-                <Input placeholder="请输入注册渠道名" allowClear style={{ width: 140 }} />
+                <Input placeholder="注册渠道名" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
 
             {/* 渠道标识 */}
             {isAgentKey && <Col><Form.Item name='agentKey'>
-                <Input placeholder="请输入渠道标识" allowClear style={{ width: 140 }} />
+                <Input placeholder="渠道标识" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
 
             {/* 渠道名称 */}
             {isAgentName && <Col><Form.Item name='agentName'>
-                <Input placeholder="请输入渠道名称" allowClear style={{ width: 140 }} />
+                <Input placeholder="渠道名称" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
 
             {/* 推广渠道id */}
@@ -704,13 +716,14 @@ const QueryForm: React.FC<Props> = (props) => {
 
             {/* 投放渠道名 */}
             {isPutAgent && <Col><Form.Item name='putAgent'>
-                <Input placeholder="请输入投放渠道名" allowClear style={{ width: 140 }} />
+                <Input placeholder="投放渠道名" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
 
             {/* 投手名 */}
             {isSysUserName && <Col><Form.Item name='sysUserName'>
-                <Input placeholder="请输入投手名" allowClear style={{ width: 140 }} />
+                <Input placeholder="投手名" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
+
             {/* 投手ID */}
             {isSysUserId && <Col><Form.Item name='pitcherId'>
                 <Select
@@ -729,8 +742,9 @@ const QueryForm: React.FC<Props> = (props) => {
 
             {/* 玩家账号 */}
             {isUserName && <Col><Form.Item name='username'>
-                <Input placeholder="请输入玩家账号" allowClear style={{ width: 140 }} />
+                <Input placeholder="玩家账号" allowClear style={{ width: 140 }} />
             </Form.Item></Col>}
+
             {/* 用户id */}
             {isUserId && <Col><Form.Item name='userId'>
                 <Select
@@ -754,9 +768,9 @@ const QueryForm: React.FC<Props> = (props) => {
                 <Select
                     maxTagCount={1}
                     showSearch
-                    style={{ minWidth: 140 }}
+                    style={{ width: 110 }}
                     allowClear
-                    placeholder={'请选择操作系统'}
+                    placeholder={'操作系统'}
                     filterOption={(input, option) =>
                         (option?.children as any)?.toLowerCase().indexOf(input.toLowerCase()) >= 0
                     }
@@ -789,6 +803,15 @@ const QueryForm: React.FC<Props> = (props) => {
                 <DatePicker.RangePicker placeholder={['充值开始日期', '充值结束日期']} {...rechargeDay} />
             </Form.Item></Col>}
 
+            {/* 单个充值日期搜索 */}
+            {payTimeDay && <Col><Form.Item name='payTime'>
+                <DatePicker.RangePicker placeholder={['支付开始日期', '支付结束日期']} {...payTimeDay} />
+            </Form.Item></Col>}
+            {/* 单个充值日期搜索 */}
+            {placeAnOrderDay && <Col><Form.Item name='placeAnOrderTime'>
+                <DatePicker.RangePicker placeholder={['下单开始日期', '下单结束日期']} {...placeAnOrderDay} />
+            </Form.Item></Col>}
+
             {/* 开服日期搜索 */}
             {isServerDay && <Col><Form.Item name='serverDay'>
                 <DatePicker.RangePicker placeholder={['开服开始日期', '开服结束日期']} {...isServerDay} />
@@ -799,6 +822,11 @@ const QueryForm: React.FC<Props> = (props) => {
                 <DatePicker placeholder={'充值日期'} />
             </Form.Item></Col>}
 
+            {/* 单个充值日期搜索 */}
+            {isPayIntervalTime && <Col><Form.Item name='regPayIntervalTime'>
+                <IntervalTime />
+            </Form.Item></Col>}
+
             <Col>
                 <Space>
                     <Button type="primary" htmlType="submit">搜索</Button>

+ 45 - 0
src/components/QueryForm/intervalTime.tsx

@@ -0,0 +1,45 @@
+import { QuestionCircleOutlined } from "@ant-design/icons"
+import { InputNumber, Space, Tooltip } from "antd"
+import React, { useEffect, useState } from "react"
+
+
+interface Props {
+    value?: [number | undefined, number | undefined]
+    onChange?: (value?: [number | undefined, number | undefined]) => void
+}
+/**
+ * 时间区间
+ * @returns 
+ */
+const IntervalTime: React.FC<Props> = ({ value = [undefined, undefined], onChange }) => {
+
+    /********************************************/
+    const [data, setData] = useState<[number | undefined, number | undefined]>([undefined, undefined])
+    /********************************************/
+
+    useEffect(() => {
+        let [val1, val2] = value
+        let [data1, data2] = data
+        if ((val1 && val1 !== data1) || (val2 && val2 !== data2)) {
+            setData([val1, val2])
+        }
+    }, [value, data])
+
+    const handleOk = (value: number, index: number) => {
+        let newData = JSON.parse(JSON.stringify(data))
+        newData[index] = value
+        setData(newData)
+        onChange?.(newData)
+    }
+
+    return <Space>
+        <InputNumber value={data[0]} style={{ width: 110 }} min={0} placeholder="最小间隔时间" onChange={(num) => handleOk(num, 0)} />
+        ~
+        <InputNumber value={data[1]} style={{ width: 110 }} min={0} placeholder="最大间隔时间" onChange={(num) => handleOk(num, 1)} />
+        <Tooltip title="充值到支付的间隔时间(分)">
+            <QuestionCircleOutlined />
+        </Tooltip>
+    </Space>
+}
+
+export default React.memo(IntervalTime)

+ 2 - 2
src/pages/gameDataStatistics/components/TableData/index.tsx

@@ -336,7 +336,7 @@ const Tab = React.memo((props: any) => {
                     current={page}
                     pageSize={pageSize}
                     loading={ajax?.loading}
-                    className={`all_table header_table_body_${ran} ${className ? className : ''}`}
+                    className={`all_table header_table_body header_table_body_${ran} ${className ? className : ''}`}
                     sortDirections={['ascend', 'descend', null]}
                     handelResize={((columns: any) => handelResize(columns))}
                     onChange={(pagination: any, filters: any, sorter: any) => onChange && onChange({ pagination, filters, sortData: sorter })}
@@ -344,7 +344,7 @@ const Tab = React.memo((props: any) => {
             }
             <Tables
                 showHeader={!isZj}
-                className={`all_table content_table_body_${ran} ${className ? className : ''}`}
+                className={`all_table content_table_body content_table_body_${ran} ${className ? className : ''}`}
                 bordered
                 sortDirections={['ascend', 'descend', null]}
                 current={page}

+ 46 - 24
src/pages/gameDataStatistics/order/index.tsx

@@ -1,22 +1,29 @@
 import QueryForm from "@/components/QueryForm"
 import { useAjax } from "@/Hook/useAjax"
-import { getOrderListApi, OrderListType } from "@/services/gameData/order"
+import { getOrderListApi, getOrderTotalApi, OrderListType } from "@/services/gameData/order"
 import React, { useEffect, useState } from "react"
 import TableData from "../components/TableData"
 import columns12 from "./tableConfig"
 import { getPresets } from "@/components/QueryForm/const"
-
+import moment from "moment"
 
 
 const Order: React.FC = () => {
 
     /***************************/
     const [queryForm, setQueryForm] = useState<OrderListType>({ pageNum: 1, pageSize: 100, sourceSystem: 'ZX_ONE', sortFiled: 'orderCreateTime', sortType: 'desc' })
+    const [totalData, setTotalData] = useState<any[]>([])
     const getOrderList = useAjax((params) => getOrderListApi(params))
+    const getOrderTotal = useAjax((params) => getOrderTotalApi(params))
     /***************************/
 
     useEffect(() => {
         getOrderList.run(queryForm)
+        getOrderTotal.run(queryForm).then(res => {
+            res.id = 1
+            res.day = '总计'
+            setTotalData([res])
+        })
     }, [queryForm])
 
     return <div>
@@ -25,48 +32,63 @@ const Order: React.FC = () => {
             leftChild={<QueryForm
                 initialValues={{ sourceSystem: 'ZX_ONE' }}
                 onChange={(data: any) => {
-                    const { pitcherId, regStartDay, regEndDay, beginOrderTime, endOrderTime, ...params } = data
-                    console.log(params, pitcherId)
+                    const { os, regStartDay, orderStatus, gameUserId, regEndDay, payTime, placeAnOrderTime, ...params } = data
                     let newQueryForm = JSON.parse(JSON.stringify(queryForm))
                     newQueryForm.pageNum = 1
-                    newQueryForm.zxPitcherId = pitcherId
+                    newQueryForm.deviceSystem = os
+                    newQueryForm.status = orderStatus
+                    newQueryForm.userId = gameUserId
                     if (regStartDay && regEndDay) {
-                        newQueryForm.beginRegTime = regStartDay + ' 00:00:00'
-                        newQueryForm.endRegTime = regEndDay + ' 23:59:59'
+                        newQueryForm.regTimeStart = regStartDay
+                        newQueryForm.regTimeEnd = regEndDay
+                    } else {
+                        delete newQueryForm.regTimeStart
+                        delete newQueryForm.regTimeEnd
+                    }
+                    if (payTime && payTime?.length > 0) {
+                        newQueryForm.payTimeStart = moment(payTime[0]).format('YYYY-MM-DD')
+                        newQueryForm.payTimeEnd = moment(payTime[1]).format('YYYY-MM-DD')
                     } else {
-                        delete newQueryForm.beginRegTime
-                        delete newQueryForm.endRegTime
+                        delete newQueryForm.payTimeStart
+                        delete newQueryForm.payTimeEnd
                     }
-                    if (beginOrderTime && endOrderTime) {
-                        newQueryForm.beginOrderTime = beginOrderTime + ' 00:00:00'
-                        newQueryForm.endOrderTime = endOrderTime + ' 23:59:59'
+
+                    if (placeAnOrderTime && placeAnOrderTime?.length > 0) {
+                        newQueryForm.beginDate = moment(placeAnOrderTime[0]).format('YYYY-MM-DD')
+                        newQueryForm.endDate = moment(placeAnOrderTime[1]).format('YYYY-MM-DD')
                     } else {
-                        delete newQueryForm.beginOrderTime
-                        delete newQueryForm.endOrderTime
+                        delete newQueryForm.beginDate
+                        delete newQueryForm.endDate
                     }
 
                     setQueryForm({ ...newQueryForm, ...params })
                 }}
                 isSource
                 isAccountId
-                isAgentId
-                isGameId
+                isCpName
                 isCpOrderId
-                isGameUserId
+                isCpStatus
+                isOs
+                isGameId
+                isFirstRecharge
+                isMerchantNo
                 isMerchantOrderNo
-                isOrderGameId
                 isOrderId
-                isPayStatus
-                isOs
-                isParentId
                 isPayWay
+                isSysUserId
+                isProductName
                 isGameRoleName
-                isGameRoleId
+                isServerName
+                isPayStatus
+                isGameUserId
                 isUserName
-                isSysUserId
-                isCreateDay={{ ranges: getPresets() }}
+                isPayIntervalTime
+                payTimeDay={{ ranges: getPresets() }}
                 isRegDay={{ ranges: getPresets() }}
+                placeAnOrderDay={{ ranges: getPresets() }}
             />}
+            isZj
+            totalData={totalData}
             scroll={{ x: 1000, y: 600 }}
             ajax={getOrderList}
             fixed={{ left: 3, right: 2 }}

+ 2 - 2
src/pages/gameDataStatistics/order/tableConfig.tsx

@@ -80,7 +80,7 @@ function columns12(): { label: string, fieldSHow?: { label: string, saveField: s
                     render: (a: string, b: any) => (<WidthEllipsis value={a} />)
                 },
                 {
-                    title: '订单金额', dataIndex: 'amount', label: '订单明细', align: 'center', width: 80, default: 16, sorter: true,
+                    title: '订单金额', dataIndex: 'amount', label: '订单明细', align: 'center', width: 90, default: 16, sorter: true,
                     render: (a: any) => <Statistic value={a || 0} precision={2} />
                 },
                 {
@@ -158,7 +158,7 @@ function columns12(): { label: string, fieldSHow?: { label: string, saveField: s
                     title: '最近充值时间距今',
                     dataIndex: 'nowPayTimeDiff',
                     align: 'center',
-                    width: 130,
+                    width: 135,
                     default: 31,
                     render: (a: string, b: any) => {
                         if (b?.payTime) {

+ 61 - 10
src/services/gameData/order.ts

@@ -11,24 +11,75 @@ let wapi = api + '/gameData'
 export interface OrderListType extends Paging, SortProps {
     // 广告账号
     accountId?: string,
-    // 归属渠道ID
-    agentId?: number, 
-    // 订单创建时间
-    beginOrderTime?: string
-    // 用户注册时间
-    beginRegTime?: string
+    // 渠道ID
+    channelId?: string,
+    // cp名称
+    cpName?: string,
     // CP订单号
     cpOrderId?: string
-    // 订单创建时间
-    endOrderTime?: string,
-    // 用户注册时间
-    endRegTime?: string
+    // CP通知状态 // 1为待处理,2为成功,-1为失败
+    cpStatus?: string, 
+    // 操作系统
+    deviceSystem?: string,
     // 游戏ID
     gameId?: number
+    // 是否首充 0 否 1 是
+    isFirstRecharge?: string, 
+    // 商户号
+    merchantNo?: string
+    // 第三方支付订单号
+    merchantOrderNo?: string,
+    // 订单ID
+    orderId?: string,
+    // 支付方式 wxpaymap;mpay;wxpay
+    payWay?: string
+    // 归因投放人员
+    pitcherId?: string,
+    // 产品名称
+    productName?: string,
+    // 游戏角色
+    roleName?: string,
+    // 服务器名称
+    serverName?: string,
+    // 支付状态
+    status?: string
+    // 玩家ID
+    userId?: string,
+    // 玩家账号
+    username?: string
+    // 玩家注册时间-开始
+    regTimeStart?: string
+    // 玩家注册时间-结束
+    regTimeEnd?: string
+    
+    // 下单时间开始
+    beginDate?: string,
+    // 下单时间结束
+    endDate?: string
+    // 支付时间 开始
+    payTimeStart?: string,
+    // 支付时间 结束
+    payTimeEnd?: string
+    // 充值到支付的间隔时间(分)
+    regPayIntervalTimeMax?: number
+    // 充值到支付的间隔时间(分)
+    regPayIntervalTimeMin?: number
 }
 export async function getOrderListApi(data: OrderListType) {
     return request(wapi + `/order/list`, {
         method: 'POST',
         data
     });
+}
+
+/**
+ * 订单详情列表总计
+ * @param data 
+ * @returns 
+ */
+export async function getOrderTotalApi(data: OrderListType) {
+    return request(wapi + `/order/list/total`, {
+        method: 'POST',
+        data
+    });
 }