新增 后管财务中心运营商订单列表页

This commit is contained in:
Lemon
2023-07-06 17:38:30 +08:00
parent eb9e1fb0b1
commit 35efeb8993
11 changed files with 285 additions and 17 deletions

View File

@@ -7,6 +7,7 @@ import com.jsowell.common.core.domain.AjaxResult;
import com.jsowell.common.core.domain.vo.AuthorizedDeptVO;
import com.jsowell.common.core.page.TableDataInfo;
import com.jsowell.common.enums.BusinessType;
import com.jsowell.common.util.PageUtils;
import com.jsowell.common.util.SecurityUtils;
import com.jsowell.common.util.poi.ExcelUtil;
import com.jsowell.pile.domain.OrderBasicInfo;
@@ -17,6 +18,7 @@ import com.jsowell.pile.service.IOrderBasicInfoService;
import com.jsowell.pile.service.IPileMerchantInfoService;
import com.jsowell.pile.vo.web.OrderListVO;
import com.jsowell.service.OrderService;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
@@ -146,4 +148,15 @@ public class OrderBasicInfoController extends BaseController {
}
/**
* 获取运营商订单列表
* @param dto
* @return
*/
@PreAuthorize("@ss.hasPermi('order:order:list')")
@PostMapping("/getMerchantOrderList")
public TableDataInfo getMerchantOrderList(@RequestBody QueryOrderDTO dto) {
PageUtils.startPage();
return getDataTable(orderBasicInfoService.getMerchantOrderInfoList(dto));
}
}

View File

@@ -6,6 +6,7 @@ import com.jsowell.pile.dto.IndexQueryDTO;
import com.jsowell.pile.dto.QueryOrderDTO;
import com.jsowell.pile.dto.QueryPersonPileDTO;
import com.jsowell.pile.dto.QueryStationInfoDTO;
import com.jsowell.pile.vo.base.MerchantOrderInfoVO;
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
import com.jsowell.pile.vo.uniapp.OrderVO;
import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO;
@@ -210,4 +211,11 @@ public interface OrderBasicInfoMapper {
List<OrderDetail> getOrderDetailList(List<String> orderCodes);
List<OrderBasicInfo> tempQueryWeChatRefundOrders(@Param("startTime") String startTime, @Param("endTime") String endTime);
/**
* 获取运营商订单列表
* @param dto
* @return
*/
List<MerchantOrderInfoVO> getMerchantOrderInfoList(@Param("dto") QueryOrderDTO dto);
}

View File

@@ -5,6 +5,7 @@ import com.jsowell.common.core.domain.ykc.TransactionRecordsData;
import com.jsowell.pile.domain.OrderBasicInfo;
import com.jsowell.pile.domain.OrderDetail;
import com.jsowell.pile.dto.*;
import com.jsowell.pile.vo.base.MerchantOrderInfoVO;
import com.jsowell.pile.vo.base.OrderAmountDetailVO;
import com.jsowell.pile.vo.base.OrderPeriodAmountVO;
import com.jsowell.pile.vo.lianlian.AccumulativeInfoVO;
@@ -270,4 +271,10 @@ public interface IOrderBasicInfoService {
* 生成订单日报
*/
void generateDailyOrderReports(String stationId);
/**
* 获取运营商订单列表
* @return
*/
List<MerchantOrderInfoVO> getMerchantOrderInfoList(QueryOrderDTO dto);
}

View File

@@ -30,6 +30,7 @@ import com.jsowell.pile.mapper.OrderBasicInfoMapper;
import com.jsowell.pile.service.*;
import com.jsowell.pile.transaction.dto.OrderTransactionDTO;
import com.jsowell.pile.transaction.service.TransactionService;
import com.jsowell.pile.vo.base.MerchantOrderInfoVO;
import com.jsowell.pile.vo.base.OrderAmountDetailVO;
import com.jsowell.pile.vo.base.OrderPeriodAmountVO;
import com.jsowell.pile.vo.base.PileInfoVO;
@@ -1978,4 +1979,19 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
settleOrderReport.setTradeAmount(totalSettleAmount.subtract(tradeFee));
settleOrderReportService.insertSettleOrderReport(settleOrderReport);
}
/**
* 获取运营商订单列表
* @param dto
* @return
*/
@Override
public List<MerchantOrderInfoVO> getMerchantOrderInfoList(QueryOrderDTO dto) {
String startTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.addDays(new Date(), -7));
startTime = dto.getStartTime() == null ? startTime : dto.getStartTime();
dto.setStartTime(startTime);
return orderBasicInfoMapper.getMerchantOrderInfoList(dto);
}
}

View File

@@ -0,0 +1,21 @@
package com.jsowell.pile.vo.base;
import lombok.Data;
/**
* 运营商订单列表VO
*
* @author Lemon
* @Date 2023/7/6 16:12
*/
@Data
public class MerchantOrderInfoVO {
private String orderCode;
private String transactionCode;
private String orderStatus;
private String stationId;
private String stationName;
private String orderSource;
private String orderAmount;
private String orderSettleTime;
}

View File

@@ -1062,4 +1062,29 @@
and refund_amount > '0.00'
and create_time BETWEEN #{startTime} and #{endTime}
</select>
<select id="getMerchantOrderInfoList" resultType="com.jsowell.pile.vo.base.MerchantOrderInfoVO">
select
t1.order_code as orderCode,
t1.transaction_code as transactionCode,
t1.order_status as orderStatus,
t1.station_id as stationId,
t2.station_name as stationName,
t1.order_amount as orderAmount,
t1.settlement_time as orderSettleTime
from order_basic_info t1
left join pile_station_info t2 on t1.station_id = t2.id
where
t1.del_flag = '0'
and t1.merchant_id = #{dto.merchantId,jdbcType=VARCHAR}
<if test="dto.startTime != null" >
and t1.create_time <![CDATA[ >= ]]> #{dto.startTime,jdbcType=VARCHAR}
</if>
<if test="dto.endTime != null" >
and t1.settlement_time <![CDATA[ <= ]]> #{dto.endTime,jdbcType=VARCHAR}
</if>
order by t1.create_time desc
</select>
</mapper>

View File

@@ -59,3 +59,12 @@ export function manualSettlementOrder(data) {
data: data
})
}
// 获取运营商订单列表
export function getMerchantOrderList(data) {
return request({
url: '/order/getMerchantOrderList',
method: 'post',
data: data
})
}

View File

@@ -185,9 +185,9 @@ export const constantRoutes = [
hidden: true,
children: [
{
path: "cleanFinancical",
component: () => import("@/views/financial/components/cleanFinancical"),
name: "cleanFinancical",
path: "cleanFinancial",
component: () => import("@/views/financial/components/cleanFinancial"),
name: "cleanFinancial",
meta: { title: "清分财务",activeMenu: "/financial/merchant"},
},
],

View File

@@ -0,0 +1,182 @@
<template>
<div>
<div class="app-container">
<h2>营收总报</h2>
<!-- <el-card shadow="hover" style="margin-bottom:10px;padding:10px">-->
<!-- <el-descriptions>-->
<!-- <el-descriptions-item label="用电度数">{{ merchantOrderReport.useElectricity }}</el-descriptions-item>-->
<!-- <el-descriptions-item label="充电次数">{{ merchantOrderReport.chargeNum }}</el-descriptions-item>-->
<!-- <el-descriptions-item label="充电时长">{{ merchantOrderReport.chargeTime }}分钟</el-descriptions-item>-->
<!-- <el-descriptions-item label="电费金额">{{-->
<!-- merchantOrderReport.electricityAmount-->
<!-- }}-->
<!-- </el-descriptions-item>-->
<!-- <el-descriptions-item label="服务费金额">{{ merchantOrderReport.serviceAmount }}</el-descriptions-item>-->
<!-- <el-descriptions-item label="收入金额">{{ merchantOrderReport.totalAmount }}</el-descriptions-item>-->
<!-- <el-descriptions-item label="交易金额">{{ merchantOrderReport.tradeAmount }}</el-descriptions-item>-->
<!-- <el-descriptions-item label="交易手续费">{{ merchantOrderReport.tradeFee }}</el-descriptions-item>-->
<!-- <el-descriptions-item label="虚拟金额">{{ merchantOrderReport.virtualAmount }}</el-descriptions-item>-->
<!-- </el-descriptions>-->
<!-- </el-card>-->
</div>
<div>
<el-table
:data="merchantOrderList"
stripe
border
style="width: 100%">
<el-table-column
prop="orderCode"
label="订单号"
align="center"
/>
<el-table-column
prop="transactionCode"
label="交易流水号"
align="center"
width="300"
/>
<el-table-column
prop="orderStatus"
label="订单状态"
align="center"
width="130"
>
<template slot-scope="scope">
<dict-tag
:options="dict.type.order_status"
:value="scope.row.status"
/>
</template>
</el-table-column>
<el-table-column
prop="stationName"
label="站点名称"
align="center"
width="130"
/>
<el-table-column
prop="orderSource"
label="订单来源"
align="center"
/>
<el-table-column
prop="orderAmount"
label="订单金额"
align="center"
/>
<el-table-column
prop="orderSettleTime"
label="订单结算时间"
align="center"
/>
<!-- <el-table-column-->
<!-- prop="address"-->
<!-- label="操作"-->
<!-- align="center">-->
<!-- <template slot-scope="scope">-->
<!-- &lt;!&ndash; :to="'/merchant/detail/index/' + scope.row.id" &ndash;&gt;-->
<!-- <router-link-->
<!-- to="/financial/merchant/merchantVirtual"-->
<!-- class="link-type"-->
<!-- >-->
<!-- <span>虚拟财务</span>-->
<!-- </router-link>-->
<!-- <router-link-->
<!-- to="/financial/merchant/cleanFinancical"-->
<!-- class="link-type"-->
<!-- >-->
<!-- <span style="margin-left:10px;color: darkblue;">清分财务</span>-->
<!-- </router-link>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getMerchantOrderList"
/>
</div>
</div>
</template>
<script>
import {getMerchantOrderReport} from "@/api/adapayMember/adapayMember";
import Template from "@/views/billing/template";
import {getMerchantOrderList} from "@/api/order/order";
export default {
dicts: ["order_status"],
components: {Template},
data() {
return {
buttonBoolean: false,
createTimeRange: [],
reportList: [],
merchantOrderReport: {},
merchantOrderList: [],
total: 0,
queryParams: {
pageNum: 1,
pageSize: 10,
merchantId: '',
startTime: '',
endTime: '',
orderCode: null,
transactionCode: null,
mobileNumber: null,
orderStatus: null,
stationId: null,
},
};
},
async created() {
console.log("this.$route", this.$route);
this.merchantId = this.$route.query.merchantId;
console.log("merchantId", this.merchantId)
this.getList();
this.getMerchantOrderList();
},
methods: {
getList() {
console.log('queryParams', this.queryParams)
getMerchantOrderReport(this.queryParams).then(
(response) => {
// console.log("查询报表", reportList, merchantOrderReport);
console.log('getMerchantOrderReport', response)
if (response.data) {
this.reportList = response.data.pageResponse.list;
this.merchantOrderReport = response.data.merchantOrderReport;
this.total = response.data.pageResponse.total
} else {
this.reportList = []
this.merchantOrderReport = null
}
}
);
},
getMerchantOrderList() {
const param = {
merchantId: this.merchantId,
startTime: "2023-01-01"
}
console.log("param", param)
getMerchantOrderList(param).then((response) => {
console.log("getMerchantOrderList", response)
this.merchantOrderList = response.rows;
})
}
}
}
</script>
<style>
</style>

View File

@@ -1,13 +0,0 @@
<template>
<div class="app-container">清分财务</div>
</template>
<script>
export default {
}
</script>
<style>
</style>

View File

@@ -159,7 +159,7 @@
<span>虚拟财务</span>
</router-link>
<router-link
to="/financial/merchant/cleanFinancical"
:to="{path:'/financial/merchant/cleanFinancial', query: {merchantId: scope.row.id}} "
class="link-type"
>
<span style="margin-left:10px;color: darkblue;">清分财务</span>