mirror of https://gitee.com/y_project/RuoYi.git
实现tg会员批量充值代码,界面监听地址增加别名和备注
parent
b5737a75c4
commit
e9cfc770c5
|
@ -147,7 +147,7 @@
|
|||
</plugin> -->
|
||||
</plugins>
|
||||
<finalName>${project.artifactId}</finalName>
|
||||
<resources>
|
||||
<!-- <resources>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<excludes>
|
||||
|
@ -155,7 +155,7 @@
|
|||
<exclude>*.xml</exclude>
|
||||
</excludes>
|
||||
</resource>
|
||||
</resources>
|
||||
</resources>-->
|
||||
</build>
|
||||
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ import org.springframework.boot.CommandLineRunner;
|
|||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
|
||||
import org.springframework.scheduling.annotation.EnableAsync;
|
||||
import org.telegram.telegrambots.meta.TelegramBotsApi;
|
||||
import org.telegram.telegrambots.updatesreceivers.DefaultBotSession;
|
||||
|
||||
|
@ -19,6 +20,7 @@ import org.telegram.telegrambots.updatesreceivers.DefaultBotSession;
|
|||
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
|
||||
@MapperScan("com.ruoyi.system.mapper")
|
||||
@Slf4j
|
||||
@EnableAsync
|
||||
public class RuoYiApplication implements CommandLineRunner
|
||||
{
|
||||
@Autowired(required = false)
|
||||
|
|
|
@ -34,7 +34,7 @@ server:
|
|||
# 日志配置
|
||||
logging:
|
||||
level:
|
||||
com.ruoyi: info
|
||||
com.ruoyi: debug
|
||||
org.springframework: warn
|
||||
|
||||
# 用户配置
|
||||
|
|
|
@ -1,103 +1,111 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
|
||||
<head>
|
||||
<th:block th:include="include :: header('trx兑能量记录列表')" />
|
||||
<th:block th:include="include :: header('trx兑能量记录列表')"/>
|
||||
</head>
|
||||
<body class="gray-bg">
|
||||
<div class="container-div">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 search-collapse">
|
||||
<form id="formId">
|
||||
<div class="select-list">
|
||||
<ul>
|
||||
<li>
|
||||
<label>交易账户:</label>
|
||||
<input type="text" name="fromAddress"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>转入账户:</label>
|
||||
<input type="text" name="toAddress"/>
|
||||
</li>
|
||||
<!-- <li>
|
||||
<label>实际出账账户:</label>
|
||||
<input type="text" name="accountAddress"/>
|
||||
</li>-->
|
||||
<div class="container-div">
|
||||
<div class="row">
|
||||
<div class="col-sm-12 search-collapse">
|
||||
<form id="formId">
|
||||
<div class="select-list">
|
||||
<ul>
|
||||
<li>
|
||||
<label>交易账户:</label>
|
||||
<input type="text" name="fromAddress"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>转入账户:</label>
|
||||
<input type="text" name="toAddress"/>
|
||||
</li>
|
||||
<!-- <li>
|
||||
<label>实际出账账户:</label>
|
||||
<input type="text" name="accountAddress"/>
|
||||
</li>-->
|
||||
|
||||
<li>
|
||||
<label>TRX订单:</label>
|
||||
<input type="text" name="trxTxId"/>
|
||||
</li>
|
||||
<li>
|
||||
<label>TRX订单:</label>
|
||||
<input type="text" name="trxTxId"/>
|
||||
</li>
|
||||
|
||||
<!-- <li>
|
||||
<label>能量交易订单:</label>
|
||||
<input type="text" name="delegateTxId"/>
|
||||
</li>-->
|
||||
<li>
|
||||
<label>资源委托状态:</label>
|
||||
<select class="form-control" name="delegateStatus" th:with="type=${@dict.getType('sys_delegate_status')}">
|
||||
<option value="">全部</option>
|
||||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" ></option>
|
||||
</select>
|
||||
</li>
|
||||
<!-- <br/> <br/> <br/>-->
|
||||
<!--
|
||||
<li>
|
||||
<label>回收资源交易:</label>
|
||||
<input type="text" name="unDelegateTxId"/>
|
||||
</li>-->
|
||||
<li>
|
||||
<label>创建时间:</label>
|
||||
<input type="text" class="time-input" placeholder="请选择创建时间" name="fcd"/>
|
||||
</li>
|
||||
<!-- <li>
|
||||
<label>能量交易订单:</label>
|
||||
<input type="text" name="delegateTxId"/>
|
||||
</li>-->
|
||||
<li>
|
||||
<label>资源委托状态:</label>
|
||||
<select class="form-control" name="delegateStatus"
|
||||
th:with="type=${@dict.getType('sys_delegate_status')}">
|
||||
<option value="">全部</option>
|
||||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
|
||||
th:value="${dict.dictValue}"></option>
|
||||
</select>
|
||||
</li>
|
||||
<!-- <br/> <br/> <br/>-->
|
||||
<!--
|
||||
<li>
|
||||
<label>回收资源交易:</label>
|
||||
<input type="text" name="unDelegateTxId"/>
|
||||
</li>-->
|
||||
<li class="select-time">
|
||||
<label>创建时间:</label>
|
||||
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginFcd]"/>
|
||||
<span>-</span>
|
||||
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endFcd]"/>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a>
|
||||
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<li>
|
||||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
|
||||
class="fa fa-search"></i> 搜索</a>
|
||||
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
|
||||
class="fa fa-refresh"></i> 重置</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="btn-group-sm" id="toolbar" role="group">
|
||||
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="trx2Energy:exchange:add">
|
||||
<i class="fa fa-plus"></i> 手动委托资源
|
||||
</a>
|
||||
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="trx2Energy:exchange:edit">
|
||||
<i class="fa fa-edit"></i> 修改
|
||||
</a>
|
||||
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="trx2Energy:exchange:remove">
|
||||
<i class="fa fa-remove"></i> 删除
|
||||
</a>
|
||||
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="trx2Energy:exchange:export">
|
||||
<i class="fa fa-download"></i> 导出
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-12 select-table table-striped">
|
||||
<table id="bootstrap-table"></table>
|
||||
</div>
|
||||
<div class="btn-group-sm" id="toolbar" role="group">
|
||||
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="trx2Energy:exchange:add">
|
||||
<i class="fa fa-plus"></i> 手动委托资源
|
||||
</a>
|
||||
<a class="btn btn-primary single disabled" onclick="$.operate.edit()"
|
||||
shiro:hasPermission="trx2Energy:exchange:edit">
|
||||
<i class="fa fa-edit"></i> 修改
|
||||
</a>
|
||||
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()"
|
||||
shiro:hasPermission="trx2Energy:exchange:remove">
|
||||
<i class="fa fa-remove"></i> 删除
|
||||
</a>
|
||||
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="trx2Energy:exchange:export">
|
||||
<i class="fa fa-download"></i> 导出
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-12 select-table table-striped">
|
||||
<table id="bootstrap-table"></table>
|
||||
</div>
|
||||
</div>
|
||||
<th:block th:include="include :: footer" />
|
||||
<script th:inline="javascript">
|
||||
var editFlag = [[${@permission.hasPermi('trx2Energy:exchange:edit')}]];
|
||||
var removeFlag = [[${@permission.hasPermi('trx2Energy:exchange:remove')}]];
|
||||
var prefix = ctx + "trx2Energy/exchange";
|
||||
var datas = [[${@dict.getType('sys_delegate_status')}]];
|
||||
var tranferCountDatas = [[${@dict.getType('sys_transfer_number')}]];
|
||||
var sysEnergyBusiTypeDatas = [[${@dict.getType('sys_energy_busi_type')}]];
|
||||
var lockPeriodDatas = [[${@dict.getType('sys_lock_period')}]];
|
||||
$(function() {
|
||||
var options = {
|
||||
url: prefix + "/list",
|
||||
createUrl: prefix + "/add",
|
||||
updateUrl: prefix + "/edit/{id}",
|
||||
removeUrl: prefix + "/remove",
|
||||
exportUrl: prefix + "/export",
|
||||
modalName: "trx兑能量记录",
|
||||
columns: [{
|
||||
checkbox: true
|
||||
},
|
||||
</div>
|
||||
<th:block th:include="include :: footer"/>
|
||||
<script th:inline="javascript">
|
||||
var editFlag = [[${@permission.hasPermi('trx2Energy:exchange:edit')}]];
|
||||
var removeFlag = [[${@permission.hasPermi('trx2Energy:exchange:remove')}]];
|
||||
var prefix = ctx + "trx2Energy/exchange";
|
||||
var datas = [[${@dict.getType('sys_delegate_status')}]];
|
||||
var tranferCountDatas = [[${@dict.getType('sys_transfer_number')}]];
|
||||
var sysEnergyBusiTypeDatas = [[${@dict.getType('sys_energy_busi_type')}]];
|
||||
var lockPeriodDatas = [[${@dict.getType('sys_lock_period')}]];
|
||||
$(function () {
|
||||
var options = {
|
||||
url: prefix + "/list",
|
||||
createUrl: prefix + "/add",
|
||||
updateUrl: prefix + "/edit/{id}",
|
||||
removeUrl: prefix + "/remove",
|
||||
exportUrl: prefix + "/export",
|
||||
modalName: "trx兑能量记录",
|
||||
columns: [{
|
||||
checkbox: true
|
||||
},
|
||||
{
|
||||
field: 'idTrxExchangeInfo',
|
||||
title: 'trx进账表',
|
||||
|
@ -105,19 +113,29 @@
|
|||
},
|
||||
{
|
||||
field: 'fromAddress',
|
||||
title: '交易账户',
|
||||
formatter:function(value, row, index) {
|
||||
return "<a href='https://www.oklink.com/zh-hans/trx/address/"+value+"' target='_blank'>" + value + "</a>";
|
||||
title: '付款账户',
|
||||
formatter: function (value, row, index) {
|
||||
return "<a href='https://www.oklink.com/zh-hans/trx/address/" + value + "' target='_blank'>" + value + "</a>";
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'toAddress',
|
||||
title: '转入账户'
|
||||
title: '收款账户',
|
||||
visible: false
|
||||
}, {
|
||||
field: 'monitorAddressName',
|
||||
title: '收款账户别名',
|
||||
formatter: function (value, row, index) {
|
||||
if (value == null) {
|
||||
return value;
|
||||
}
|
||||
return "<a href='https://www.oklink.com/zh-hans/trx/address/" + row['toAddress'] + "' target='_blank'>" + value + "</a>";
|
||||
}
|
||||
},
|
||||
/* {
|
||||
field: 'accountAddress',
|
||||
title: '实际出账账户'
|
||||
},*/
|
||||
/* {
|
||||
field: 'accountAddress',
|
||||
title: '实际出账账户'
|
||||
},*/
|
||||
{
|
||||
field: 'price',
|
||||
title: '单价'
|
||||
|
@ -127,20 +145,20 @@
|
|||
title: 'TRX订单',
|
||||
visible: false
|
||||
},
|
||||
{
|
||||
field: 'tranferCount',
|
||||
title: '笔数',
|
||||
formatter: function(value, row, index) {
|
||||
return $.table.selectDictLabel(tranferCountDatas, value);
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'energyBusiType',
|
||||
title: '业务类型',
|
||||
formatter: function(value, row, index) {
|
||||
return $.table.selectDictLabel(sysEnergyBusiTypeDatas, value);
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'tranferCount',
|
||||
title: '笔数',
|
||||
formatter: function (value, row, index) {
|
||||
return $.table.selectDictLabel(tranferCountDatas, value);
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'energyBusiType',
|
||||
title: '业务类型',
|
||||
formatter: function (value, row, index) {
|
||||
return $.table.selectDictLabel(sysEnergyBusiTypeDatas, value);
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'trxAmount',
|
||||
title: '转入TRX'
|
||||
|
@ -157,14 +175,14 @@
|
|||
{
|
||||
field: 'lockPeriod',
|
||||
title: '锁定周期',
|
||||
formatter: function(value, row, index) {
|
||||
formatter: function (value, row, index) {
|
||||
return $.table.selectDictLabel(lockPeriodDatas, value);
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'delegateStatus',
|
||||
title: '资源状态',
|
||||
formatter: function(value, item, index) {
|
||||
formatter: function (value, item, index) {
|
||||
return $.table.selectDictLabel(datas, item.delegateStatus);
|
||||
}
|
||||
},
|
||||
|
@ -177,10 +195,10 @@
|
|||
field: 'fcd',
|
||||
title: '创建时间'
|
||||
},
|
||||
/* {
|
||||
field: 'fcu',
|
||||
title: '创建用户'
|
||||
},*/
|
||||
/* {
|
||||
field: 'fcu',
|
||||
title: '创建用户'
|
||||
},*/
|
||||
{
|
||||
field: 'lcd',
|
||||
title: '更新时间',
|
||||
|
@ -193,16 +211,16 @@
|
|||
{
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
formatter: function(value, row, index) {
|
||||
formatter: function (value, row, index) {
|
||||
var actions = [];
|
||||
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.idTrxExchangeInfo + '\')"><i class="fa fa-edit"></i>编辑</a> ');
|
||||
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.idTrxExchangeInfo + '\')"><i class="fa fa-remove"></i>删除</a>');
|
||||
return actions.join('');
|
||||
}
|
||||
}]
|
||||
};
|
||||
$.table.init(options);
|
||||
});
|
||||
</script>
|
||||
};
|
||||
$.table.init(options);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -15,10 +15,16 @@
|
|||
</select>
|
||||
</div>
|
||||
</div>-->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">地址别名:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="monitorAddressName" class="form-control" type="text" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">监听地址:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="monitorAddress" class="form-control" type="text">
|
||||
<input name="monitorAddress" class="form-control" type="text" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
@ -33,7 +39,7 @@
|
|||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">TRX兑换单价/TRX:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="trxPrice" class="form-control" type="text">
|
||||
<input name="trxPrice" class="form-control" type="text" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
@ -60,6 +66,12 @@
|
|||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">备注:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="comment" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<th:block th:include="include :: footer"/>
|
||||
|
|
|
@ -8,14 +8,13 @@
|
|||
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
||||
<form class="form-horizontal m" id="form-monitor-edit" th:object="${monitorAddressInfo}">
|
||||
<input name="idMonitorAddress" th:field="*{idMonitorAddress}" type="hidden">
|
||||
<!-- <div class="form-group">
|
||||
<label class="col-sm-3 control-label">业务类型:</label>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">地址别名:</label>
|
||||
<div class="col-sm-8">
|
||||
<select name="busiType" class="form-control m-b" th:with="type=${@dict.getType('sys_busi_type')}">
|
||||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{busiType}"></option>
|
||||
</select>
|
||||
<input name="monitorAddressName" th:field="*{monitorAddressName}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">监听地址:</label>
|
||||
<div class="col-sm-8">
|
||||
|
@ -71,6 +70,12 @@
|
|||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">备注:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="comment" th:field="*{comment}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
@ -36,9 +36,11 @@
|
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
|
||||
</select>
|
||||
</li>
|
||||
<li>
|
||||
<li class="select-time">
|
||||
<label>创建时间:</label>
|
||||
<input type="text" class="time-input" placeholder="请选择创建时间" name="fcd"/>
|
||||
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginFcd]"/>
|
||||
<span>-</span>
|
||||
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endFcd]"/>
|
||||
</li>
|
||||
<li>
|
||||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a>
|
||||
|
@ -93,6 +95,10 @@
|
|||
title: '主键',
|
||||
visible: false
|
||||
},
|
||||
{
|
||||
field: 'monitorAddressName',
|
||||
title: '地址别名'
|
||||
},
|
||||
{
|
||||
field: 'monitorAddress',
|
||||
title: '监听地址'
|
||||
|
@ -148,7 +154,10 @@
|
|||
formatter: function(value, item, index) {
|
||||
return $.table.selectDictLabel(datas, item.isValid);
|
||||
}
|
||||
},
|
||||
}, {
|
||||
field: 'comment',
|
||||
title: '备注'
|
||||
},
|
||||
{
|
||||
field: 'fcd',
|
||||
title: '创建时间',
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
||||
<form class="form-horizontal m" id="form-usdt-add">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">转入地址:</label>
|
||||
<label class="col-sm-3 control-label">付款地址:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="fromAddress" class="form-control" type="text">
|
||||
</div>
|
||||
|
|
|
@ -23,9 +23,11 @@
|
|||
<input type="text" name="usdtTxId"/>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<li class="select-time">
|
||||
<label>创建时间:</label>
|
||||
<input type="text" class="time-input" placeholder="请选择创建时间" name="fcd"/>
|
||||
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginFcd]"/>
|
||||
<span>-</span>
|
||||
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endFcd]"/>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
@ -80,15 +82,25 @@
|
|||
},
|
||||
{
|
||||
field: 'fromAddress',
|
||||
title: '交易地址',
|
||||
title: '付款账户',
|
||||
formatter:function(value, row, index) {
|
||||
return "<a href='https://www.oklink.com/zh-hans/trx/address/"+value+"' target='_blank'>" + value + "</a>";
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'toAddress',
|
||||
title: '转入地址'
|
||||
},
|
||||
{
|
||||
field: 'toAddress',
|
||||
title: '收款账户',
|
||||
visible: false
|
||||
}, {
|
||||
field: 'monitorAddressName',
|
||||
title: '收款账户别名',
|
||||
formatter: function (value, row, index) {
|
||||
if (value == null) {
|
||||
return value;
|
||||
}
|
||||
return "<a href='https://www.oklink.com/zh-hans/trx/address/" + row['toAddress'] + "' target='_blank'>" + value + "</a>";
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'usdtTxId',
|
||||
title: '交易订单'
|
||||
|
|
|
@ -15,6 +15,12 @@
|
|||
</select>
|
||||
</div>
|
||||
</div>-->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">地址别名:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="monitorAddressName" class="form-control" type="text" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">监听地址:</label>
|
||||
<div class="col-sm-8">
|
||||
|
@ -40,6 +46,12 @@
|
|||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">备注:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="comment" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<th:block th:include="include :: footer"/>
|
||||
|
|
|
@ -16,6 +16,12 @@
|
|||
</select>
|
||||
</div>
|
||||
</div>-->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">地址别名:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="monitorAddressName" th:field="*{monitorAddressName}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">监听地址:</label>
|
||||
<div class="col-sm-8">
|
||||
|
@ -51,6 +57,13 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">备注:</label>
|
||||
<div class="col-sm-8">
|
||||
<input name="comment" th:field="*{comment}" class="form-control" type="text">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
<th:block th:include="include :: footer" />
|
||||
|
|
|
@ -36,9 +36,11 @@
|
|||
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
|
||||
</select>
|
||||
</li>
|
||||
<li>
|
||||
<li class="select-time">
|
||||
<label>创建时间:</label>
|
||||
<input type="text" class="time-input" placeholder="请选择创建时间" name="fcd"/>
|
||||
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginFcd]"/>
|
||||
<span>-</span>
|
||||
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endFcd]"/>
|
||||
</li>
|
||||
<li>
|
||||
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a>
|
||||
|
@ -93,6 +95,10 @@
|
|||
title: '主键',
|
||||
visible: false
|
||||
},
|
||||
{
|
||||
field: 'monitorAddressName',
|
||||
title: '地址别名'
|
||||
},
|
||||
{
|
||||
field: 'monitorAddress',
|
||||
title: '监听地址'
|
||||
|
@ -121,7 +127,10 @@
|
|||
formatter: function(value, item, index) {
|
||||
return $.table.selectDictLabel(datas, item.isValid);
|
||||
}
|
||||
},
|
||||
},{
|
||||
field: 'comment',
|
||||
title: '备注'
|
||||
},
|
||||
{
|
||||
field: 'fcd',
|
||||
title: '创建时间',
|
||||
|
|
|
@ -28,6 +28,10 @@ public class MonitorAddressInfo extends BaseEntity
|
|||
@Excel(name = "业务类型")
|
||||
private String busiType;
|
||||
|
||||
/** 地址别名 */
|
||||
@Excel(name = "地址别名")
|
||||
private String monitorAddressName;
|
||||
|
||||
/** 监听地址 */
|
||||
@Excel(name = "监听地址")
|
||||
private String monitorAddress;
|
||||
|
@ -60,6 +64,9 @@ public class MonitorAddressInfo extends BaseEntity
|
|||
/** 绑定时长 */
|
||||
@Excel(name = "绑定时长")
|
||||
private String bindPeriod;
|
||||
/** 备注 */
|
||||
@Excel(name = "备注")
|
||||
private String comment;
|
||||
|
||||
/** 创建时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
|
|
|
@ -34,6 +34,9 @@ public class TrxExchangeInfo extends BaseEntity
|
|||
@Sensitive(desensitizedType = DesensitizedType.WALLET_ADDRESS)
|
||||
private String toAddress;
|
||||
|
||||
@Excel(name = "监听账户别名")
|
||||
private String monitorAddressName;
|
||||
|
||||
/** 实际出账账户 */
|
||||
@Excel(name = "实际出账账户")
|
||||
@Sensitive(desensitizedType = DesensitizedType.WALLET_ADDRESS)
|
||||
|
|
|
@ -32,7 +32,8 @@ public class UsdtExchangeInfo extends BaseEntity
|
|||
@Excel(name = "转入地址")
|
||||
private String toAddress;
|
||||
|
||||
|
||||
@Excel(name = "收款账号别名")
|
||||
private String monitorAddressName;
|
||||
/** 出账地址 */
|
||||
@Excel(name = "出账地址")
|
||||
private String accountAddress;
|
||||
|
|
|
@ -209,7 +209,8 @@ public class FragmentApiImpl implements IFragmentApi {
|
|||
String formBody = "{\"" + address + "\":\"" + amount + "\"}";
|
||||
StringEntity requestEntity = new StringEntity(formBody, ContentType.APPLICATION_FORM_URLENCODED);
|
||||
httpPost.setEntity(requestEntity);
|
||||
|
||||
// httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 50000); // 设置连接超时时间为5秒
|
||||
// httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 50000); // 设置读取超时时间为5秒
|
||||
// 发送请求并获取响应
|
||||
HttpResponse response = httpClient.execute(httpPost);
|
||||
if (response.getStatusLine().getStatusCode() != 200) {
|
||||
|
|
|
@ -4,12 +4,11 @@ import lombok.SneakyThrows;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.telegram.telegrambots.bots.TelegramLongPollingBot;
|
||||
import org.telegram.telegrambots.meta.api.objects.Update;
|
||||
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
|
||||
|
||||
@Component
|
||||
//@Component
|
||||
@Slf4j
|
||||
public class TgLongPollingBot extends TelegramLongPollingBot {
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ import com.ruoyi.system.mapper.TgPremiumOrderInfoMapper;
|
|||
import com.ruoyi.system.service.IErrorLogService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.io.IOException;
|
||||
|
@ -34,10 +35,11 @@ public class TgPremiumTransferHandler {
|
|||
@Autowired
|
||||
private TgPremiumOrderInfoMapper tgPremiumOrderInfoMapper;
|
||||
|
||||
@Async
|
||||
public void doRechargeAndUpdate(TgPremiumOrderInfo tgPremiumOrderInfo) {
|
||||
|
||||
doRecharge(tgPremiumOrderInfo);
|
||||
tgPremiumOrderInfo.setLcu("syste");
|
||||
tgPremiumOrderInfo.setLcu("system");
|
||||
tgPremiumOrderInfoMapper.updateTgPremiumOrderInfo(tgPremiumOrderInfo);
|
||||
}
|
||||
|
||||
|
@ -124,7 +126,10 @@ public class TgPremiumTransferHandler {
|
|||
} while (count < 5);
|
||||
}
|
||||
|
||||
tgPremiumOrderInfo.setTgPaymentStatus("E");
|
||||
if (count >= 5) {
|
||||
tgPremiumOrderInfo.setTgPaymentStatus("E");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -66,4 +66,6 @@ public interface TrxExchangeInfoMapper
|
|||
List<TrxExchangeMonitorAccountInfo> selectTrxExchangeMonitorAccountInfo(TrxExchangeInfo trxExchangeInfo);
|
||||
|
||||
List<TransactionLogVO> selectTransactionLogVO();
|
||||
|
||||
List<TrxExchangeInfo> selectTrxExchangeInfoAndMonitorNameList(TrxExchangeInfo trxExchangeInfo);
|
||||
}
|
||||
|
|
|
@ -60,4 +60,6 @@ public interface UsdtExchangeInfoMapper
|
|||
* @return 结果
|
||||
*/
|
||||
public int deleteUsdtExchangeInfoByIdUsdtExchangeInfos(String[] idUsdtExchangeInfos);
|
||||
|
||||
List<UsdtExchangeInfo> selectUsdtExchangeInfoAndMonitorNameList(UsdtExchangeInfo usdtExchangeInfo);
|
||||
}
|
||||
|
|
|
@ -14,7 +14,6 @@ import com.ruoyi.system.service.ISysConfigService;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.text.StrSubstitutor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.telegram.telegrambots.meta.api.methods.ParseMode;
|
||||
import org.telegram.telegrambots.meta.api.methods.send.SendMessage;
|
||||
|
@ -75,7 +74,6 @@ public class ErrorLogServiceImpl implements IErrorLogService {
|
|||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Async
|
||||
public int insertErrorLog(ErrorLog errorLog){
|
||||
String sysErrorLogTemplate = configService.selectConfigByKey("sys.error.log.template");
|
||||
String sysErrorLogChatId = configService.selectConfigByKey("sys.error.log.chatid");
|
||||
|
|
|
@ -68,7 +68,8 @@ public class TrxExchangeInfoServiceImpl implements ITrxExchangeInfoService {
|
|||
*/
|
||||
@Override
|
||||
public List<TrxExchangeInfo> selectTrxExchangeInfoList(TrxExchangeInfo trxExchangeInfo) {
|
||||
return trxExchangeInfoMapper.selectTrxExchangeInfoList(trxExchangeInfo);
|
||||
// return trxExchangeInfoMapper.selectTrxExchangeInfoList(trxExchangeInfo);
|
||||
return trxExchangeInfoMapper.selectTrxExchangeInfoAndMonitorNameList(trxExchangeInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -58,7 +58,8 @@ public class UsdtExchangeInfoServiceImpl implements IUsdtExchangeInfoService {
|
|||
*/
|
||||
@Override
|
||||
public List<UsdtExchangeInfo> selectUsdtExchangeInfoList(UsdtExchangeInfo usdtExchangeInfo) {
|
||||
return usdtExchangeInfoMapper.selectUsdtExchangeInfoList(usdtExchangeInfo);
|
||||
// return usdtExchangeInfoMapper.selectUsdtExchangeInfoList(usdtExchangeInfo);
|
||||
return usdtExchangeInfoMapper.selectUsdtExchangeInfoAndMonitorNameList(usdtExchangeInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -4,9 +4,11 @@
|
|||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.system.mapper.MonitorAddressInfoMapper">
|
||||
|
||||
|
||||
<resultMap type="MonitorAddressInfo" id="MonitorAddressInfoResult">
|
||||
<result property="idMonitorAddress" column="id_monitor_address" />
|
||||
<result property="busiType" column="busi_type" />
|
||||
<result property="monitorAddressName" column="monitor_address_name" />
|
||||
<result property="monitorAddress" column="monitor_address" />
|
||||
<result property="accountAddress" column="account_address" />
|
||||
<result property="trxPrice" column="trx_price" />
|
||||
|
@ -15,6 +17,7 @@
|
|||
<result property="apiKey" column="api_key" />
|
||||
<result property="bindPeriod" column="bind_period" />
|
||||
<result property="isValid" column="is_valid" />
|
||||
<result property="comment" column="comment" />
|
||||
<result property="fcd" column="fcd" />
|
||||
<result property="fcu" column="fcu" />
|
||||
<result property="lcd" column="lcd" />
|
||||
|
@ -22,13 +25,14 @@
|
|||
</resultMap>
|
||||
|
||||
<sql id="selectMonitorAddressInfoVo">
|
||||
select id_monitor_address, busi_type, monitor_address, account_address, trx_price, usdt_price, monitor_type, api_key, bind_period, is_valid, fcd, fcu, lcd, lcu from monitor_address_info
|
||||
select id_monitor_address, busi_type, monitor_address_name, monitor_address, account_address, trx_price, usdt_price, monitor_type, api_key, bind_period, is_valid, comment, fcd, fcu, lcd, lcu from monitor_address_info
|
||||
</sql>
|
||||
|
||||
<select id="selectMonitorAddressInfoList" parameterType="MonitorAddressInfo" resultMap="MonitorAddressInfoResult">
|
||||
<include refid="selectMonitorAddressInfoVo"/>
|
||||
<where>
|
||||
<if test="busiType != null and busiType != ''"> and busi_type = #{busiType}</if>
|
||||
<if test="monitorAddressName != null and monitorAddressName != ''"> and monitor_address_name like concat('%', #{monitorAddressName}, '%')</if>
|
||||
<if test="monitorAddress != null and monitorAddress != ''"> and monitor_address = #{monitorAddress}</if>
|
||||
<if test="accountAddress != null and accountAddress != ''"> and account_address = #{accountAddress}</if>
|
||||
<if test="trxPrice != null "> and trx_price = #{trxPrice}</if>
|
||||
|
@ -37,7 +41,8 @@
|
|||
<if test="apiKey != null and apiKey != ''"> and api_key = #{apiKey}</if>
|
||||
<if test="bindPeriod != null and bindPeriod != ''"> and bind_period = #{bindPeriod}</if>
|
||||
<if test="isValid != null and isValid != ''"> and is_valid = #{isValid}</if>
|
||||
<if test="fcd != null "> and fcd = #{fcd}</if>
|
||||
<if test="comment != null and comment != ''"> and comment = #{comment}</if>
|
||||
<if test="params.beginFcd != null and params.beginFcd != '' and params.endFcd != null and params.endFcd != ''"> and fcd between #{params.beginFcd} and #{params.endFcd}</if>
|
||||
<if test="fcu != null and fcu != ''"> and fcu = #{fcu}</if>
|
||||
<if test="lcd != null "> and lcd = #{lcd}</if>
|
||||
<if test="lcu != null and lcu != ''"> and lcu = #{lcu}</if>
|
||||
|
@ -53,6 +58,7 @@
|
|||
insert into monitor_address_info
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="busiType != null">busi_type,</if>
|
||||
<if test="monitorAddressName != null">monitor_address_name,</if>
|
||||
<if test="monitorAddress != null">monitor_address,</if>
|
||||
<if test="accountAddress != null">account_address,</if>
|
||||
<if test="trxPrice != null">trx_price,</if>
|
||||
|
@ -61,6 +67,7 @@
|
|||
<if test="apiKey != null">api_key,</if>
|
||||
<if test="bindPeriod != null">bind_period,</if>
|
||||
<if test="isValid != null">is_valid,</if>
|
||||
<if test="comment != null">comment,</if>
|
||||
<if test="fcd != null">fcd,</if>
|
||||
<if test="fcu != null">fcu,</if>
|
||||
<if test="lcd != null">lcd,</if>
|
||||
|
@ -68,6 +75,7 @@
|
|||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="busiType != null">#{busiType},</if>
|
||||
<if test="monitorAddressName != null">#{monitorAddressName},</if>
|
||||
<if test="monitorAddress != null">#{monitorAddress},</if>
|
||||
<if test="accountAddress != null">#{accountAddress},</if>
|
||||
<if test="trxPrice != null">#{trxPrice},</if>
|
||||
|
@ -76,6 +84,7 @@
|
|||
<if test="apiKey != null">#{apiKey},</if>
|
||||
<if test="bindPeriod != null">#{bindPeriod},</if>
|
||||
<if test="isValid != null">#{isValid},</if>
|
||||
<if test="comment != null">#{comment},</if>
|
||||
<if test="fcd != null">#{fcd},</if>
|
||||
<if test="fcu != null">#{fcu},</if>
|
||||
<if test="lcd != null">#{lcd},</if>
|
||||
|
@ -87,6 +96,7 @@
|
|||
update monitor_address_info
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="busiType != null">busi_type = #{busiType},</if>
|
||||
<if test="monitorAddressName != null">monitor_address_name = #{monitorAddressName},</if>
|
||||
<if test="monitorAddress != null">monitor_address = #{monitorAddress},</if>
|
||||
<if test="accountAddress != null">account_address = #{accountAddress},</if>
|
||||
<if test="trxPrice != null">trx_price = #{trxPrice},</if>
|
||||
|
@ -95,6 +105,7 @@
|
|||
<if test="apiKey != null">api_key = #{apiKey},</if>
|
||||
<if test="bindPeriod != null">bind_period = #{bindPeriod},</if>
|
||||
<if test="isValid != null">is_valid = #{isValid},</if>
|
||||
<if test="comment != null">comment = #{comment},</if>
|
||||
<if test="fcd != null">fcd = #{fcd},</if>
|
||||
<if test="fcu != null">fcu = #{fcu},</if>
|
||||
<if test="lcd != null">lcd = #{lcd},</if>
|
||||
|
@ -114,6 +125,7 @@
|
|||
</foreach>
|
||||
</delete>
|
||||
|
||||
|
||||
<select id="selectMonitorAddressAccount" resultType="com.ruoyi.system.domain.MonitorAddressAccount" parameterType="MonitorAddressInfo">
|
||||
select m.monitor_address,
|
||||
m.account_address,
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
<if test="delegateStatus != null and delegateStatus != ''"> and delegate_status = #{delegateStatus}</if>
|
||||
<if test="unDelegateTxId != null and unDelegateTxId != ''"> and un_delegate_tx_id = #{unDelegateTxId}</if>
|
||||
<if test="fcd != null "> and fcd >= #{fcd}</if>
|
||||
<if test="params.beginFcd != null and params.beginFcd != '' and params.endFcd != null and params.endFcd != ''"> and fcd between #{params.beginFcd} and #{params.endFcd}</if>
|
||||
<if test="fcu != null and fcu != ''"> and fcu = #{fcu}</if>
|
||||
<if test="lcd != null "> and lcd <= #{lcd}</if>
|
||||
<if test="lcu != null and lcu != ''"> and lcu = #{lcu}</if>
|
||||
|
@ -187,4 +188,53 @@
|
|||
<select id="selectTransactionLogVO" resultType="com.ruoyi.system.domain.vo.TransactionLogVO">
|
||||
select distinct t.from_address fromAddress,t.tranfer_count count from trx_exchange_info t
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectTrxExchangeInfoAndMonitorNameList" parameterType="TrxExchangeInfo" resultType="TrxExchangeInfo" >
|
||||
SELECT
|
||||
t.id_trx_exchange_info,
|
||||
t.from_address,
|
||||
t.to_address,
|
||||
m.monitor_address_name,
|
||||
t.account_address,
|
||||
t.price,
|
||||
t.trx_tx_id,
|
||||
t.tranfer_count,
|
||||
t.energy_busi_type,
|
||||
t.trx_amount,
|
||||
t.delegate_amount_trx,
|
||||
t.delegate_tx_id,
|
||||
t.lock_period,
|
||||
t.delegate_status,
|
||||
t.un_delegate_tx_id,
|
||||
t.fcd,
|
||||
t.fcu,
|
||||
t.lcd,
|
||||
t.lcu
|
||||
FROM
|
||||
trx_exchange_info t
|
||||
LEFT JOIN monitor_address_info m
|
||||
ON t.to_address = m.monitor_address
|
||||
<where> 1=1
|
||||
<if test="fromAddress != null and fromAddress != ''"> and t.from_address = #{fromAddress}</if>
|
||||
<if test="toAddress != null and toAddress != ''"> and t.to_address = #{toAddress}</if>
|
||||
<if test="accountAddress != null and accountAddress != ''"> and t.account_address = #{accountAddress}</if>
|
||||
<if test="price != null "> and t.price = #{price}</if>
|
||||
<if test="trxTxId != null and trxTxId != ''"> and t.trx_tx_id = #{trxTxId}</if>
|
||||
<if test="tranferCount != null "> and t.tranfer_count = #{tranferCount}</if>
|
||||
<if test="energyBusiType != null and energyBusiType != ''"> and t.energy_busi_type = #{energyBusiType}</if>
|
||||
<if test="trxAmount != null "> and t.trx_amount = #{trxAmount}</if>
|
||||
<if test="delegateAmountTrx != null "> and t.delegate_amount_trx = #{delegateAmountTrx}</if>
|
||||
<if test="delegateTxId != null and delegateTxId != ''"> and t.delegate_tx_id = #{delegateTxId}</if>
|
||||
<if test="lockPeriod != null "> and t.lock_period = #{lockPeriod}</if>
|
||||
<if test="delegateStatus != null and delegateStatus != ''"> and t.delegate_status = #{delegateStatus}</if>
|
||||
<if test="unDelegateTxId != null and unDelegateTxId != ''"> and t.un_delegate_tx_id = #{unDelegateTxId}</if>
|
||||
<if test="fcd != null "> and t.fcd >= #{fcd}</if>
|
||||
<if test="params.beginFcd != null and params.beginFcd != '' and params.endFcd != null and params.endFcd != ''"> and t.fcd between #{params.beginFcd} and #{params.endFcd}</if>
|
||||
<if test="fcu != null and fcu != ''"> and t.fcu = #{fcu}</if>
|
||||
<if test="lcd != null "> and lcd <= #{lcd}</if>
|
||||
<if test="lcu != null and lcu != ''"> and t.lcu = #{lcu}</if>
|
||||
order by fcd desc
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
|
@ -114,4 +114,42 @@
|
|||
</foreach>
|
||||
</delete>
|
||||
|
||||
|
||||
|
||||
<select id="selectUsdtExchangeInfoAndMonitorNameList" parameterType="UsdtExchangeInfo" resultType="UsdtExchangeInfo">
|
||||
SELECT
|
||||
u.id_usdt_exchange_info idUsdtExchangeInfo,
|
||||
u.from_address fromAddress,
|
||||
u.to_address toAddress,
|
||||
m.monitor_address_name monitorAddressName,
|
||||
u.account_address accountAddress,
|
||||
u.usdt_tx_id usdtTxId,
|
||||
u.usdt_amount usdtAmount,
|
||||
u.trx_amount trxAmount,
|
||||
u.exchange_rate exchangeRate,
|
||||
u.trx_tx_id trxTxId,
|
||||
u.orginal_exchange_rate orginalExchangeRate,
|
||||
u.fcd,
|
||||
u.fcu,
|
||||
u.lcd,
|
||||
u.lcu
|
||||
FROM
|
||||
usdt_exchange_info u left join monitor_address_info m
|
||||
on u.to_address=m.monitor_address
|
||||
<where>
|
||||
<if test="fromAddress != null and fromAddress != ''"> and u.from_address = #{fromAddress}</if>
|
||||
<if test="toAddress != null and toAddress != ''"> and u.to_address = #{toAddress}</if>
|
||||
<if test="accountAddress != null and accountAddress != ''"> and u.account_address = #{accountAddress}</if>
|
||||
<if test="usdtTxId != null and usdtTxId != ''"> and u.usdt_tx_id = #{usdtTxId}</if>
|
||||
<if test="usdtAmount != null "> and u.usdt_amount = #{usdtAmount}</if>
|
||||
<if test="trxAmount != null "> and u.trx_amount = #{trxAmount}</if>
|
||||
<if test="exchangeRate != null "> and u.exchange_rate = #{exchangeRate}</if>
|
||||
<if test="trxTxId != null and trxTxId != ''"> and u.trx_tx_id = #{trxTxId}</if>
|
||||
<if test="orginalExchangeRate != null "> and u.orginal_exchange_rate = #{orginalExchangeRate}</if>
|
||||
<if test="params.beginFcd != null and params.beginFcd != '' and params.endFcd != null and params.endFcd != ''"> and u.fcd between #{params.beginFcd} and #{params.endFcd}</if>
|
||||
<if test="fcu != null and fcu != ''"> and u.fcu = #{fcu}</if>
|
||||
<if test="lcd != null "> and u.lcd = #{lcd}</if>
|
||||
<if test="lcu != null and lcu != ''"> and u.lcu = #{lcu}</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
Loading…
Reference in New Issue