# Conflicts: # src/main/java/au/com/royalpay/payment/manage/dev/web/TestController.java # src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java # src/main/resources/templates/app/invoice.htmlmaster
commit
4931efd039
@ -0,0 +1,39 @@
|
||||
package au.com.royalpay.payment.manage.task;
|
||||
|
||||
import au.com.royalpay.payment.manage.system.core.TradeSecureService;
|
||||
import au.com.royalpay.payment.tools.scheduler.SynchronizedScheduler;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
|
||||
@Component
|
||||
@ConditionalOnProperty(value = "app.run-tasks", havingValue = "true")
|
||||
public class SecurePayInvoiceFileTask {
|
||||
|
||||
@Resource
|
||||
private SynchronizedScheduler synchronizedScheduler;
|
||||
@Resource
|
||||
private TradeSecureService tradeSecureService;
|
||||
|
||||
@Scheduled(cron = "0 30 3 1 * *")
|
||||
public void sendSecurePaySettleFile() {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
||||
//获取前一个月第一天
|
||||
Calendar calendar1 = Calendar.getInstance();
|
||||
calendar1.add(Calendar.MONTH, -1);
|
||||
calendar1.set(Calendar.DAY_OF_MONTH,1);
|
||||
String firstDay = sdf.format(calendar1.getTime());
|
||||
//获取前一个月最后一天
|
||||
Calendar calendar2 = Calendar.getInstance();
|
||||
calendar2.set(Calendar.DAY_OF_MONTH, 0);
|
||||
String lastDay = sdf.format(calendar2.getTime());
|
||||
|
||||
synchronizedScheduler.executeProcess("task:securepay_invoice_file_sending", 60_000, () ->
|
||||
tradeSecureService.sendSecurePayInvoiceFile(firstDay,lastDay)
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,250 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1"/>
|
||||
|
||||
<meta http-equiv="cache-control" content="max-age=0"/>
|
||||
<meta http-equiv="cache-control" content="no-cache"/>
|
||||
<meta http-equiv="expires" content="0"/>
|
||||
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT"/>
|
||||
<title> settlement</title>
|
||||
<link rel="stylesheet" href="/static/templates/mch_invoice.css"/>
|
||||
<style type="text/css">
|
||||
@page{
|
||||
size : 300mm 300mm;
|
||||
}
|
||||
.divcontent {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
float: left;
|
||||
margin: 1px;
|
||||
align-items: start;
|
||||
display: flex;
|
||||
text-align: center;
|
||||
margin-top: 5%;
|
||||
margin-left: 5%;
|
||||
margin-right: 5%;
|
||||
}
|
||||
|
||||
.divcontent_left {
|
||||
width: 48%;
|
||||
height: auto;
|
||||
text-align: left;
|
||||
float: left;
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.divcontent_right {
|
||||
width: 52%;
|
||||
height: auto;
|
||||
float: right;
|
||||
text-align: left;
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.divfoot_right {
|
||||
line-height: 30px;
|
||||
width: 60%;
|
||||
height: auto;
|
||||
float: right;
|
||||
text-align: left;
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.divinvoicesTitle {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
float: left;
|
||||
background: #FF6600;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
text-align: left;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.divinvoicesContent {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
float: left;
|
||||
background: white;;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
text-align: left;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
color: black;
|
||||
}
|
||||
.divinvoiceItem100 {
|
||||
height: auto;
|
||||
float: left;
|
||||
padding-left: 3px;
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
width:100px;
|
||||
}
|
||||
.divinvoiceItem80 {
|
||||
height: auto;
|
||||
float: left;
|
||||
padding-left: 3px;
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
width:80px;
|
||||
}
|
||||
.divinvoiceItem {
|
||||
height: auto;
|
||||
float: left;
|
||||
padding-left: 3px;
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
width:60px;
|
||||
}
|
||||
.divinvoiceItem50 {
|
||||
height: auto;
|
||||
float: left;
|
||||
padding-left: 3px;
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
width:50px;
|
||||
}
|
||||
|
||||
.spantitle {
|
||||
color: #000000;
|
||||
font-size: 20px;
|
||||
height: auto;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.divSumary {
|
||||
child-align: middle;
|
||||
border-bottom: 2px solid #000;
|
||||
margin-bottom: 10px;
|
||||
padding-bottom: 10px;
|
||||
width: 85%;
|
||||
}
|
||||
|
||||
.spancontent-title {
|
||||
width: 40%;
|
||||
float: left;
|
||||
color: #000000;
|
||||
font-size: 17px;
|
||||
font-weight: bold;
|
||||
vertical-align: center;
|
||||
|
||||
}
|
||||
|
||||
.spanfoot-title{
|
||||
width: 55%;
|
||||
float: left;
|
||||
color: #000000;
|
||||
font-size: 17px;
|
||||
vertical-align: center;
|
||||
}
|
||||
|
||||
.spancontent-value {
|
||||
color: #000000;
|
||||
font-size: 17px;
|
||||
font-weight: bold;
|
||||
padding-left: 5px;
|
||||
vertical-align: center;
|
||||
|
||||
}
|
||||
|
||||
.spanfoot-value {
|
||||
color: #000000;
|
||||
font-size: 17px;
|
||||
padding-left: 5px;
|
||||
vertical-align: center;
|
||||
|
||||
}
|
||||
|
||||
.statement_title {
|
||||
padding-bottom: 2%;
|
||||
padding-top: 2%;
|
||||
float: left;
|
||||
padding-left: 5%;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 商户信息 -->
|
||||
<div class="divcontent">
|
||||
<div class="divcontent_left">
|
||||
<img src="https://mpay.royalpay.com.au/static/images/rp_logo.png" alt="" style="width: auto;height: 90px" />
|
||||
<img th:if="${orgInfo.logo!='none'}" th:src="${orgInfo.logo}" src="https://mpay.royalpay.com.au/static/images/rp_logo.png" style="padding-left: 30px;margin-bottom:10px;height: 70px;width: auto"/>
|
||||
<br/>
|
||||
<div height="20px"></div>
|
||||
<br/>
|
||||
<span th:text="${parmerters.clientName}" ></span><br/>
|
||||
<span th:text="${parmerters.clientAddress}"></span><br/>
|
||||
<span th:text="${parmerters.clientLocation}"></span>
|
||||
<br/><br/>
|
||||
<!--<span th:text="${parmerters.clientName}"></span><br/>-->
|
||||
|
||||
</div>
|
||||
<div class="divcontent_right">
|
||||
<span>Tunnel Show Pty Ltd trading as</span><br/>
|
||||
<span>ABN 16 601 619 685 Representative of AFSL</span><br/>
|
||||
<span>Level 11, 15 William Street, Melbourne, Victoria</span>
|
||||
<br/><br/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="statement_title">
|
||||
<span class="spantitle" th:text="${parmerters.dateRange}"></span><br/>
|
||||
</div>
|
||||
<!-- 列表标题 -->
|
||||
|
||||
<!-- 列表循环 -->
|
||||
<div class="divinvoicesContent">
|
||||
<table border="1" cellspacing="0" cellpadding="0" style="width:1020px;">
|
||||
<tr style="width:1020px;">
|
||||
<th ><span style="font-size: small" class="divinvoiceItem100">Transaction ID</span></th>
|
||||
<th ><span style="font-size: small" class="divinvoiceItem100">Client Order Id</span></th>
|
||||
<th ><span style="font-size: small" class="divinvoiceItem100">Transaction Time</span></th>
|
||||
<th ><span style="font-size: small" class="divinvoiceItem80">Channel</span></th>
|
||||
<th ><span style="font-size: small" class="divinvoiceItem80">Exchange Rate</span></th>
|
||||
<th ><span style="font-size: small" class="divinvoiceItem80">Transaction Type</span></th>
|
||||
<th ><span style="font-size: small" class="divinvoiceItem80">Currency</span></th>
|
||||
<th > <span style="font-size: small" class="divinvoiceItem80">Total Amount</span></th>
|
||||
<th ><span style="font-size: small" class="divinvoiceItem80">Surcharge Rate</span></th>
|
||||
<th ><span style="font-size: small" class="divinvoiceItem">Settle amount</span></th>
|
||||
<th ><span style="font-size: small" class="divinvoiceItem">Transaction Fee</span></th>
|
||||
<th ><span style="font-size: small" class="divinvoiceItem">gst</span></th>
|
||||
</tr>
|
||||
<tr th:each="settlementLogDetail:${settlementLogDetailList}" style="width:1020px" >
|
||||
<td ><span style="font-size: small" class="divinvoiceItem100" th:text="${settlementLogDetail.order_id}"></span></td>
|
||||
<td ><span style="font-size: small" class="divinvoiceItem100" th:text="${settlementLogDetail.client_order_id}"> </span></td>
|
||||
<td ><span style="font-size: small" class="divinvoiceItem100" th:text="${settlementLogDetail.transaction_time}"></span></td>
|
||||
<td ><span style="font-size: small" class="divinvoiceItem80" th:text="${settlementLogDetail.channel}"></span></td>
|
||||
<td ><span style="font-size: small" class="divinvoiceItem80" th:text="${settlementLogDetail.exchange_rate}"></span></td>
|
||||
<td ><span style="font-size: small" class="divinvoiceItem80" th:text="${settlementLogDetail.transaction_type}"></span></td>
|
||||
<td ><span style="font-size: small" class="divinvoiceItem80" th:text="${settlementLogDetail.transaction_currency}"></span></td>
|
||||
<td ><span style="font-size: small" class="divinvoiceItem80" th:text="${settlementLogDetail.transaction_amount}"></span></td>
|
||||
<td ><span style="font-size: small" class="divinvoiceItem80" th:text="${settlementLogDetail.rate}"></span></td>
|
||||
<td ><span style="font-size: small" class="divinvoiceItem" th:text="${settlementLogDetail.settle_amount}"></span></td>
|
||||
<td ><span style="font-size: small" class="divinvoiceItem" th:text="${settlementLogDetail.transaction_fee}"></span></td>
|
||||
<td ><span style="font-size: small" class="divinvoiceItem" th:text="${settlementLogDetail.tax_amount}"></span></td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -1,33 +1,35 @@
|
||||
.ml-select-box{
|
||||
position: absolute;
|
||||
height: 300px;
|
||||
white-space: nowrap;
|
||||
z-index: 9999;
|
||||
.ml-select-box {
|
||||
position: absolute;
|
||||
height: 300px;
|
||||
white-space: nowrap;
|
||||
z-index: 9999;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.ml-select-box ul.select-group{
|
||||
display: inline-block;
|
||||
width: 240px;
|
||||
overflow: auto;
|
||||
height: 200px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
.ml-select-box ul.select-group {
|
||||
display: inline-block;
|
||||
/* width: 240px; */
|
||||
overflow: auto;
|
||||
height: 200px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.ml-select-box ul.select-group li{
|
||||
list-style: none;
|
||||
width: 100%;
|
||||
display: block;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor:pointer;
|
||||
background: #fff;
|
||||
font-size: 14px;
|
||||
padding: 0 5px;
|
||||
.ml-select-box ul.select-group li {
|
||||
list-style: none;
|
||||
width: 100%;
|
||||
display: block;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
cursor: pointer;
|
||||
background: #fff;
|
||||
font-size: 14px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
.ml-select-box ul.select-group li:hover,.ml-select-box ul.select-group li.active{
|
||||
background: #c0c0c0;
|
||||
font-weight: bold;
|
||||
.ml-select-box ul.select-group li:hover,
|
||||
.ml-select-box ul.select-group li.active {
|
||||
background: #c0c0c0;
|
||||
font-weight: bold;
|
||||
}
|
Loading…
Reference in new issue