记得上下班打卡 | git大法好,push需谨慎

Commit 57e47bc3 authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/dev' into dev

parents ab441242 a58d7506
package com.liquidnet.client.admin.web.controller.zhengzai.kylin;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinPerformancesAdminServiceImpl;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
import com.liquidnet.service.kylin.dto.param.PerformanceAdminListParam;
import com.liquidnet.service.kylin.dto.vo.partner.KylinPerformanceMisVo;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
/**
* 演出Controller
*
* @author anjiabin
* @date 2021-05-24
*/
@Controller
@RequestMapping("/kylin/performances/recommend")
public class KylinPerformancesRecommendController extends BaseController {
private String prefix = "zhengzai/kylin/performances/recommend";
@Autowired
private KylinPerformancesAdminServiceImpl kylinPerformancesService;
@RequiresPermissions("kylin:performances:recommend")
@GetMapping()
public String recommend() {
return prefix + "/recommend";
}
}
package com.liquidnet.client.admin.web.controller.zhengzai.kylin;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinPerformancesAdminServiceImpl;
import com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinRoadShowsAdminServiceImpl;
import com.liquidnet.service.kylin.dao.PerformanceAdminListDao;
import com.liquidnet.service.kylin.dao.RoadShowAdminListDao;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
/**
* 演出Controller
*
* @author anjiabin
* @date 2021-05-24
*/
@Controller
@RequestMapping("/kylin/performances/roadShow")
public class KylinRoadShowController extends BaseController {
private String prefix = "zhengzai/kylin/performances/roadShow";
@Autowired
private KylinRoadShowsAdminServiceImpl kylinRoadShowsAdminService;
@RequiresPermissions("kylin:performances:roadShow")
@GetMapping()
public String roadShow() {
return prefix + "/roadShow";
}
@RequiresPermissions("kylin:performances:roadShow:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo listRoadShow(@RequestParam(value = "title",required = false) String title,
@RequestParam(value = "pageNum") int page,
@RequestParam(value = "pageSize") int size) {
startPage();/**/
PageInfo<RoadShowAdminListDao> result = kylinRoadShowsAdminService.listRoadShow(title, page, size);
return getDataTable(result.getList());
}
}
<!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('推荐演出列表')" />
</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="title"/>
</li>
<li>
<label>城市名称:</label>
<input type="text" name="cityName"/>
</li>
<li>
<label>排序字段:</label>
<select name="orderItem">
<option value="">所有</option>
<option value="created_at">创建时间</option>
<option value="updatedAt">修改时间</option>
</select>
</li>
<li>
<label>排序方式:</label>
<select name="orderSc">
<option value="">所有</option>
<option value="asc">正序</option>
<option value="desc">倒序</option>
</select>
</li>
<li>
<label>演出状态:</label>
<select name="status">
<option value="-2">全部</option>
<option value="1">审核中</option>
<option value="3">审核通过</option>
<option value="4">审核拒绝</option>
<option value="6">售卖</option>
<option value="7">已下架</option>
<option value="8">演出结束</option>
</select>
</li>
<li>
<label>审核状态:</label>
<select name="auditStatus">
<option value="-2">全部</option>
<option value="0">审核中</option>
<option value="2">审核拒绝</option>
</select>
</li>
<li>
<label>停售时间:</label>
<select name="stopSellDay">
<option value="-2">全部</option>
<option value="0">今天</option>
<option value="1">明天</option>
<option value="-1">昨天</option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</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="kylin:performances:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="kylin:performances:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="kylin:performances:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="kylin:performances:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var detailFlag = [[${@permission.hasPermi('kylin:performances:detail')}]];
var expertFlag = [[${@permission.hasPermi('kylin:performances:expert')}]];
var prefix = ctx + "kylin/performances";
$(function() {
var options = {
url: prefix + "/list",
detailUrl: prefix + "/details/{id}",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
// sortName: "sort",
modalName: "演出",
columns: [{
checkbox: true
},
{
field: 'title',
title: '演出名称'
},
{
field: 'timeStart',
title: '开演时间'
},
{
field: 'totalGeneral',
title: '供票总量'
},
{
field: 'saleGeneral',
title: '实销'
},
{
field: 'surplusGeneral',
title: '余票'
},
{
field: 'totalSalePrice',
title: '总销售款'
},
{
field: 'statusName',
title: '演出状态'
},
{
field: 'rejectTxt',
title: '拒绝理由'
},
// {
// field: 'provinceName',
// title: '转增状态'
// },
{
field: 'sort',
title: '排序',
sortable: true
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>查看</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + expertFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.mid + '\')"><i class="fa fa-remove"></i>导出</a>');
return actions.join('');
}
}]
};
// $.table.init(options);
});
</script>
</body>
</html>
\ No newline at end of file
<!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('巡演列表')"/>
</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="title"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</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="kylin:performances:add">
<i class="fa fa-plus"></i> 添加
</a>
</div>
<div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var detailFlag = [[${@permission.hasPermi('kylin:performances:detail')}]];
var expertFlag = [[${@permission.hasPermi('kylin:performances:expert')}]];
var prefix = ctx + "kylin/performances/roadShow";
$(function () {
var options = {
url: prefix + "/list",
detailUrl: prefix + "/details/{id}",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
// sortName: "sort",
modalName: "演出",
columns: [{
checkbox: true
},
{
field: 'roadShowId',
title: '巡演id'
},
{
field: 'title',
title: '巡演名称'
},
{
field: 'performanceCount',
title: '演出数量'
},
{
field: 'createdAt',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>查看</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>
\ No newline at end of file
/* This is a compiled file, you should be editing the file in the templates directory */
.pace {
-webkit-pointer-events: none;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
.pace-inactive {
display: none;
}
.pace .pace-progress {
background: #2299dd;
position: fixed;
z-index: 2000;
top: 0;
right: 100%;
width: 100%;
height: 2px;
}
.pace .pace-progress-inner {
display: block;
position: absolute;
right: 0px;
width: 100px;
height: 100%;
box-shadow: 0 0 10px #2299dd, 0 0 5px #2299dd;
opacity: 1.0;
-webkit-transform: rotate(3deg) translate(0px, -4px);
-moz-transform: rotate(3deg) translate(0px, -4px);
-ms-transform: rotate(3deg) translate(0px, -4px);
-o-transform: rotate(3deg) translate(0px, -4px);
transform: rotate(3deg) translate(0px, -4px);
}
.pace .pace-activity {
display: block;
position: fixed;
z-index: 2000;
top: 15px;
right: 15px;
width: 14px;
height: 14px;
border: solid 2px transparent;
border-top-color: #2299dd;
border-left-color: #2299dd;
border-radius: 10px;
-webkit-animation: pace-spinner 400ms linear infinite;
-moz-animation: pace-spinner 400ms linear infinite;
-ms-animation: pace-spinner 400ms linear infinite;
-o-animation: pace-spinner 400ms linear infinite;
animation: pace-spinner 400ms linear infinite;
}
@-webkit-keyframes pace-spinner {
0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
@-moz-keyframes pace-spinner {
0% { -moz-transform: rotate(0deg); transform: rotate(0deg); }
100% { -moz-transform: rotate(360deg); transform: rotate(360deg); }
}
@-o-keyframes pace-spinner {
0% { -o-transform: rotate(0deg); transform: rotate(0deg); }
100% { -o-transform: rotate(360deg); transform: rotate(360deg); }
}
@-ms-keyframes pace-spinner {
0% { -ms-transform: rotate(0deg); transform: rotate(0deg); }
100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }
}
@keyframes pace-spinner {
0% { transform: rotate(0deg); transform: rotate(0deg); }
100% { transform: rotate(360deg); transform: rotate(360deg); }
}
.daterangepicker {
position: absolute;
color: inherit;
background-color: #fff;
border-radius: 4px;
width: 278px;
padding: 4px;
margin-top: 1px;
top: 100px;
left: 20px;
/* Calendars */ }
.daterangepicker:before, .daterangepicker:after {
position: absolute;
display: inline-block;
border-bottom-color: rgba(0, 0, 0, 0.2);
content: ''; }
.daterangepicker:before {
top: -7px;
border-right: 7px solid transparent;
border-left: 7px solid transparent;
border-bottom: 7px solid #ccc; }
.daterangepicker:after {
top: -6px;
border-right: 6px solid transparent;
border-bottom: 6px solid #fff;
border-left: 6px solid transparent; }
.daterangepicker.opensleft:before {
right: 9px; }
.daterangepicker.opensleft:after {
right: 10px; }
.daterangepicker.openscenter:before {
left: 0;
right: 0;
width: 0;
margin-left: auto;
margin-right: auto; }
.daterangepicker.openscenter:after {
left: 0;
right: 0;
width: 0;
margin-left: auto;
margin-right: auto; }
.daterangepicker.opensright:before {
left: 9px; }
.daterangepicker.opensright:after {
left: 10px; }
.daterangepicker.dropup {
margin-top: -5px; }
.daterangepicker.dropup:before {
top: initial;
bottom: -7px;
border-bottom: initial;
border-top: 7px solid #ccc; }
.daterangepicker.dropup:after {
top: initial;
bottom: -6px;
border-bottom: initial;
border-top: 6px solid #fff; }
.daterangepicker.dropdown-menu {
max-width: none;
z-index: 3001; }
.daterangepicker.single .ranges, .daterangepicker.single .calendar {
float: none; }
.daterangepicker.show-calendar .calendar {
display: block; }
.daterangepicker .calendar {
display: none;
max-width: 270px;
margin: 4px; }
.daterangepicker .calendar.single .calendar-table {
border: none; }
.daterangepicker .calendar th, .daterangepicker .calendar td {
white-space: nowrap;
text-align: center;
min-width: 32px; }
.daterangepicker .calendar-table {
border: 1px solid #fff;
padding: 4px;
border-radius: 4px;
background-color: #fff; }
.daterangepicker table {
width: 100%;
margin: 0; }
.daterangepicker td, .daterangepicker th {
text-align: center;
width: 20px;
height: 20px;
border-radius: 4px;
border: 1px solid transparent;
white-space: nowrap;
cursor: pointer; }
.daterangepicker td.available:hover, .daterangepicker th.available:hover {
background-color: #eee;
border-color: transparent;
color: inherit; }
.daterangepicker td.week, .daterangepicker th.week {
font-size: 80%;
color: #ccc; }
.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
background-color: #fff;
border-color: transparent;
color: #999; }
.daterangepicker td.in-range {
background-color: #ebf4f8;
border-color: transparent;
color: #000;
border-radius: 0; }
.daterangepicker td.start-date {
border-radius: 4px 0 0 4px; }
.daterangepicker td.end-date {
border-radius: 0 4px 4px 0; }
.daterangepicker td.start-date.end-date {
border-radius: 4px; }
.daterangepicker td.active, .daterangepicker td.active:hover {
background-color: #357ebd;
border-color: transparent;
color: #fff; }
.daterangepicker th.month {
width: auto; }
.daterangepicker td.disabled, .daterangepicker option.disabled {
color: #999;
cursor: not-allowed;
text-decoration: line-through; }
.daterangepicker select.monthselect, .daterangepicker select.yearselect {
font-size: 12px;
padding: 1px;
height: auto;
margin: 0;
cursor: default; }
.daterangepicker select.monthselect {
margin-right: 2%;
width: 56%; }
.daterangepicker select.yearselect {
width: 40%; }
.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect {
width: 50px;
margin-bottom: 0; }
.daterangepicker .input-mini {
border: 1px solid #ccc;
border-radius: 4px;
color: #555;
height: 30px;
line-height: 30px;
display: block;
vertical-align: middle;
margin: 0 0 5px 0;
padding: 0 6px 0 28px;
width: 100%; }
.daterangepicker .input-mini.active {
border: 1px solid #08c;
border-radius: 4px; }
.daterangepicker .daterangepicker_input {
position: relative; }
.daterangepicker .daterangepicker_input i {
position: absolute;
left: 8px;
top: 8px; }
.daterangepicker.rtl .input-mini {
padding-right: 28px;
padding-left: 6px; }
.daterangepicker.rtl .daterangepicker_input i {
left: auto;
right: 8px; }
.daterangepicker .calendar-time {
text-align: center;
margin: 5px auto;
line-height: 30px;
position: relative;
padding-left: 28px; }
.daterangepicker .calendar-time select.disabled {
color: #ccc;
cursor: not-allowed; }
.ranges {
font-size: 11px;
float: none;
margin: 4px;
text-align: left; }
.ranges ul {
list-style: none;
margin: 0 auto;
padding: 0;
width: 100%; }
.ranges li {
font-size: 13px;
background-color: #f5f5f5;
border: 1px solid #f5f5f5;
border-radius: 4px;
color: #08c;
padding: 3px 12px;
margin-bottom: 8px;
cursor: pointer; }
.ranges li:hover {
background-color: #08c;
border: 1px solid #08c;
color: #fff; }
.ranges li.active {
background-color: #08c;
border: 1px solid #08c;
color: #fff; }
/* Larger Screen Styling */
@media (min-width: 564px) {
.daterangepicker {
width: auto; }
.daterangepicker .ranges ul {
width: 160px; }
.daterangepicker.single .ranges ul {
width: 100%; }
.daterangepicker.single .calendar.left {
clear: none; }
.daterangepicker.single.ltr .ranges, .daterangepicker.single.ltr .calendar {
float: left; }
.daterangepicker.single.rtl .ranges, .daterangepicker.single.rtl .calendar {
float: right; }
.daterangepicker.ltr {
direction: ltr;
text-align: left; }
.daterangepicker.ltr .calendar.left {
clear: left;
margin-right: 0; }
.daterangepicker.ltr .calendar.left .calendar-table {
border-right: none;
border-top-right-radius: 0;
border-bottom-right-radius: 0; }
.daterangepicker.ltr .calendar.right {
margin-left: 0; }
.daterangepicker.ltr .calendar.right .calendar-table {
border-left: none;
border-top-left-radius: 0;
border-bottom-left-radius: 0; }
.daterangepicker.ltr .left .daterangepicker_input {
padding-right: 12px; }
.daterangepicker.ltr .calendar.left .calendar-table {
padding-right: 12px; }
.daterangepicker.ltr .ranges, .daterangepicker.ltr .calendar {
float: left; }
.daterangepicker.rtl {
direction: rtl;
text-align: right; }
.daterangepicker.rtl .calendar.left {
clear: right;
margin-left: 0; }
.daterangepicker.rtl .calendar.left .calendar-table {
border-left: none;
border-top-left-radius: 0;
border-bottom-left-radius: 0; }
.daterangepicker.rtl .calendar.right {
margin-right: 0; }
.daterangepicker.rtl .calendar.right .calendar-table {
border-right: none;
border-top-right-radius: 0;
border-bottom-right-radius: 0; }
.daterangepicker.rtl .left .daterangepicker_input {
padding-left: 12px; }
.daterangepicker.rtl .calendar.left .calendar-table {
padding-left: 12px; }
.daterangepicker.rtl .ranges, .daterangepicker.rtl .calendar {
text-align: right;
float: right; } }
@media (min-width: 730px) {
.daterangepicker .ranges {
width: auto; }
.daterangepicker.ltr .ranges {
float: left; }
.daterangepicker.rtl .ranges {
float: right; }
.daterangepicker .calendar.left {
clear: none !important; } }
table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:75px;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:8px;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:8px;right:8px;display:block;font-family:'Glyphicons Halflings';opacity:0.5}table.dataTable thead .sorting:after{opacity:0.2;content:"\e150"}table.dataTable thead .sorting_asc:after{content:"\e155"}table.dataTable thead .sorting_desc:after{content:"\e156"}table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{color:#eee}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table thead .sorting:after,div.dataTables_scrollBody table thead .sorting_asc:after,div.dataTables_scrollBody table thead .sorting_desc:after{display:none}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-condensed>thead>tr>th{padding-right:20px}table.dataTable.table-condensed .sorting:after,table.dataTable.table-condensed .sorting_asc:after,table.dataTable.table-condensed .sorting_desc:after{top:6px;right:6px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0}
/*!
DataTables Bootstrap 3 integration
©2011-2015 SpryMedia Ltd - datatables.net/license
*/
(function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return b(a,window,document)}):"object"===typeof exports?module.exports=function(a,d){a||(a=window);if(!d||!d.fn.dataTable)d=require("datatables.net")(a,d).$;return b(d,a,a.document)}:b(jQuery,window,document)})(function(b,a,d,m){var f=b.fn.dataTable;b.extend(!0,f.defaults,{dom:"<'row'<'col-sm-6'l><'col-sm-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-5'i><'col-sm-7'p>>",renderer:"bootstrap"});b.extend(f.ext.classes,
{sWrapper:"dataTables_wrapper form-inline dt-bootstrap",sFilterInput:"form-control input-sm",sLengthSelect:"form-control input-sm",sProcessing:"dataTables_processing panel panel-default"});f.ext.renderer.pageButton.bootstrap=function(a,h,r,s,j,n){var o=new f.Api(a),t=a.oClasses,k=a.oLanguage.oPaginate,u=a.oLanguage.oAria.paginate||{},e,g,p=0,q=function(d,f){var l,h,i,c,m=function(a){a.preventDefault();!b(a.currentTarget).hasClass("disabled")&&o.page()!=a.data.action&&o.page(a.data.action).draw("page")};
l=0;for(h=f.length;l<h;l++)if(c=f[l],b.isArray(c))q(d,c);else{g=e="";switch(c){case "ellipsis":e="&#x2026;";g="disabled";break;case "first":e=k.sFirst;g=c+(0<j?"":" disabled");break;case "previous":e=k.sPrevious;g=c+(0<j?"":" disabled");break;case "next":e=k.sNext;g=c+(j<n-1?"":" disabled");break;case "last":e=k.sLast;g=c+(j<n-1?"":" disabled");break;default:e=c+1,g=j===c?"active":""}e&&(i=b("<li>",{"class":t.sPageButton+" "+g,id:0===r&&"string"===typeof c?a.sTableId+"_"+c:null}).append(b("<a>",{href:"#",
"aria-controls":a.sTableId,"aria-label":u[c],"data-dt-idx":p,tabindex:a.iTabIndex}).html(e)).appendTo(d),a.oApi._fnBindAction(i,{action:c},m),p++)}},i;try{i=b(h).find(d.activeElement).data("dt-idx")}catch(v){}q(b(h).empty().html('<ul class="pagination"/>').children("ul"),s);i!==m&&b(h).find("[data-dt-idx="+i+"]").focus()};return f});
/*! Copyright (c) 2011 Piotr Rochala (http://rocha.la)
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
*
* Version: 1.3.8
*
*/
(function(e){e.fn.extend({slimScroll:function(f){var a=e.extend({width:"auto",height:"250px",size:"7px",color:"#000",position:"right",distance:"1px",start:"top",opacity:.4,alwaysVisible:!1,disableFadeOut:!1,railVisible:!1,railColor:"#333",railOpacity:.2,railDraggable:!0,railClass:"slimScrollRail",barClass:"slimScrollBar",wrapperClass:"slimScrollDiv",allowPageScroll:!1,wheelStep:20,touchScrollStep:200,borderRadius:"7px",railBorderRadius:"7px"},f);this.each(function(){function v(d){if(r){d=d||window.event;
var c=0;d.wheelDelta&&(c=-d.wheelDelta/120);d.detail&&(c=d.detail/3);e(d.target||d.srcTarget||d.srcElement).closest("."+a.wrapperClass).is(b.parent())&&n(c,!0);d.preventDefault&&!k&&d.preventDefault();k||(d.returnValue=!1)}}function n(d,g,e){k=!1;var f=b.outerHeight()-c.outerHeight();g&&(g=parseInt(c.css("top"))+d*parseInt(a.wheelStep)/100*c.outerHeight(),g=Math.min(Math.max(g,0),f),g=0<d?Math.ceil(g):Math.floor(g),c.css({top:g+"px"}));l=parseInt(c.css("top"))/(b.outerHeight()-c.outerHeight());g=
l*(b[0].scrollHeight-b.outerHeight());e&&(g=d,d=g/b[0].scrollHeight*b.outerHeight(),d=Math.min(Math.max(d,0),f),c.css({top:d+"px"}));b.scrollTop(g);b.trigger("slimscrolling",~~g);w();p()}function x(){u=Math.max(b.outerHeight()/b[0].scrollHeight*b.outerHeight(),30);c.css({height:u+"px"});var a=u==b.outerHeight()?"none":"block";c.css({display:a})}function w(){x();clearTimeout(B);l==~~l?(k=a.allowPageScroll,C!=l&&b.trigger("slimscroll",0==~~l?"top":"bottom")):k=!1;C=l;u>=b.outerHeight()?k=!0:(c.stop(!0,
!0).fadeIn("fast"),a.railVisible&&m.stop(!0,!0).fadeIn("fast"))}function p(){a.alwaysVisible||(B=setTimeout(function(){a.disableFadeOut&&r||y||z||(c.fadeOut("slow"),m.fadeOut("slow"))},1E3))}var r,y,z,B,A,u,l,C,k=!1,b=e(this);if(b.parent().hasClass(a.wrapperClass)){var q=b.scrollTop(),c=b.siblings("."+a.barClass),m=b.siblings("."+a.railClass);x();if(e.isPlainObject(f)){if("height"in f&&"auto"==f.height){b.parent().css("height","auto");b.css("height","auto");var h=b.parent().parent().height();b.parent().css("height",
h);b.css("height",h)}else"height"in f&&(h=f.height,b.parent().css("height",h),b.css("height",h));if("scrollTo"in f)q=parseInt(a.scrollTo);else if("scrollBy"in f)q+=parseInt(a.scrollBy);else if("destroy"in f){c.remove();m.remove();b.unwrap();return}n(q,!1,!0)}}else if(!(e.isPlainObject(f)&&"destroy"in f)){a.height="auto"==a.height?b.parent().height():a.height;q=e("<div></div>").addClass(a.wrapperClass).css({position:"relative",overflow:"hidden",width:a.width,height:a.height});b.css({overflow:"hidden",
width:a.width,height:a.height});var m=e("<div></div>").addClass(a.railClass).css({width:a.size,height:"100%",position:"absolute",top:0,display:a.alwaysVisible&&a.railVisible?"block":"none","border-radius":a.railBorderRadius,background:a.railColor,opacity:a.railOpacity,zIndex:90}),c=e("<div></div>").addClass(a.barClass).css({background:a.color,width:a.size,position:"absolute",top:0,opacity:a.opacity,display:a.alwaysVisible?"block":"none","border-radius":a.borderRadius,BorderRadius:a.borderRadius,MozBorderRadius:a.borderRadius,
WebkitBorderRadius:a.borderRadius,zIndex:99}),h="right"==a.position?{right:a.distance}:{left:a.distance};m.css(h);c.css(h);b.wrap(q);b.parent().append(c);b.parent().append(m);a.railDraggable&&c.bind("mousedown",function(a){var b=e(document);z=!0;t=parseFloat(c.css("top"));pageY=a.pageY;b.bind("mousemove.slimscroll",function(a){currTop=t+a.pageY-pageY;c.css("top",currTop);n(0,c.position().top,!1)});b.bind("mouseup.slimscroll",function(a){z=!1;p();b.unbind(".slimscroll")});return!1}).bind("selectstart.slimscroll",
function(a){a.stopPropagation();a.preventDefault();return!1});m.hover(function(){w()},function(){p()});c.hover(function(){y=!0},function(){y=!1});b.hover(function(){r=!0;w();p()},function(){r=!1;p()});b.bind("touchstart",function(a,b){a.originalEvent.touches.length&&(A=a.originalEvent.touches[0].pageY)});b.bind("touchmove",function(b){k||b.originalEvent.preventDefault();b.originalEvent.touches.length&&(n((A-b.originalEvent.touches[0].pageY)/a.touchScrollStep,!0),A=b.originalEvent.touches[0].pageY)});
x();"bottom"===a.start?(c.css({top:b.outerHeight()-c.outerHeight()}),n(0,!0)):"top"!==a.start&&(n(e(a.start).position().top,null,!0),a.alwaysVisible||c.hide());window.addEventListener?(this.addEventListener("DOMMouseScroll",v,!1),this.addEventListener("mousewheel",v,!1)):document.attachEvent("onmousewheel",v)}});return this}});e.fn.extend({slimscroll:e.fn.slimScroll})})(jQuery);
\ No newline at end of file
...@@ -3,10 +3,11 @@ ...@@ -3,10 +3,11 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<groupId>org.springframework.boot</groupId> <artifactId>liquidnet-bus-v1</artifactId>
<artifactId>spring-boot-starter-parent</artifactId> <groupId>com.liquidnet</groupId>
<version>2.2.2.RELEASE</version> <version>1.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>liquidnet-bus-common</artifactId> <artifactId>liquidnet-bus-common</artifactId>
...@@ -44,7 +45,6 @@ ...@@ -44,7 +45,6 @@
<module>liquidnet-common-feign</module> <module>liquidnet-common-feign</module>
<!-- <module>liquidnet-common-mybatis</module>--> <!-- <module>liquidnet-common-mybatis</module>-->
</modules> </modules>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
...@@ -96,6 +96,13 @@ ...@@ -96,6 +96,13 @@
<dependencyManagement> <dependencyManagement>
<dependencies> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId> <artifactId>spring-cloud-dependencies</artifactId>
......
...@@ -17,6 +17,9 @@ liquidnet: ...@@ -17,6 +17,9 @@ liquidnet:
level-root: info level-root: info
mysql: mysql:
database-name: test_ln_scene database-name: test_ln_scene
url-pay:
pay: "http://testpay.zhengzai.tv/"
check: "http://testpay.zhengzai.tv/order/verify"
#以下为spring各环境个性配置 #以下为spring各环境个性配置
spring: spring:
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<artifactId>liquidnet-api-feign</artifactId> <artifactId>liquidnet-bus-feign</artifactId>
<groupId>com.liquidnet</groupId> <groupId>com.liquidnet</groupId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</parent> </parent>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<artifactId>liquidnet-api-feign</artifactId> <artifactId>liquidnet-bus-feign</artifactId>
<groupId>com.liquidnet</groupId> <groupId>com.liquidnet</groupId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</parent> </parent>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<artifactId>liquidnet-api-feign</artifactId> <artifactId>liquidnet-bus-feign</artifactId>
<groupId>com.liquidnet</groupId> <groupId>com.liquidnet</groupId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</parent> </parent>
......
package com.liquidnet.service.feign.kylin.api; package com.liquidnet.service.feign.kylin.api;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.KylinPerformanceVo;
import feign.hystrix.FallbackFactory; import feign.hystrix.FallbackFactory;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List; import java.util.List;
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<artifactId>liquidnet-bus-service</artifactId> <artifactId>liquidnet-bus-v1</artifactId>
<groupId>com.liquidnet</groupId> <groupId>com.liquidnet</groupId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>liquidnet-api-feign</artifactId> <artifactId>liquidnet-bus-feign</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<modules> <modules>
<module>liquidnet-api-feign-adam</module> <module>liquidnet-api-feign-adam</module>
......
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>liquidnet-api-feign</artifactId>
<groupId>com.liquidnet</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>liquidnet-api-feign-account</artifactId>
<dependencies>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-account-api</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.liquidnet.service.feign.account.api;
import com.liquidnet.service.account.wallet.dto.*;
import com.liquidnet.service.account.wallet.dto.base.WalletCallResult;
import com.liquidnet.service.account.wallet.vo.WalletAccountInfoVo;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* Feign-API:liquidnet-service-account
*
* @author zhanggb
* Created by IntelliJ IDEA at 2020/9/16
*/
@Component
@FeignClient(name = "liquidnet-service-account", contextId = "sev-account-main", path = "service-account", fallback = FallbackFactory.Default.class)
public interface FeignAccountClient {
@RequestMapping(value = "wl/dashboard/show")
WalletDashboardResult dashboardShow(WalletDashboardParam param);
@RequestMapping(value = "wl/tx/trading")
WalletCallResult<?> trading(String parameter);
@RequestMapping(value = "wl/account/register")
WalletRegisterResult register(WalletRegisterParam param);
@RequestMapping(value = "wl/account/edit")
WalletEditResult edit(WalletEditParam param);
@RequestMapping(value = "wl/account/query")
WalletQueryResult query(WalletQueryParam param);
@RequestMapping(value = "wl/account/queryOne")
WalletAccountInfoVo queryOne(@RequestParam("walletNo") String walletNo);
@RequestMapping(value = "wl/transfer/transaction")
WalletTransactionResult transaction(WalletTransactionParam param);
@RequestMapping(value = "wl/transfer/transactionQuery")
WalletTransactionQueryResult transactionQuery(WalletTransactionQueryParam param);
}
package com.liquidnet.service.feign.account.api;
import com.liquidnet.service.account.wallet.dto.WalletCalTransBalanceParam;
import com.liquidnet.service.account.wallet.dto.base.WalletCallResult;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* FeignAccountTaskClent.class
*
* @author zhanggb
* Created by IntelliJ IDEA at 2020/11/4
*/
@Service
@FeignClient(name = "liquidnet-service-account", contextId = "sev-account-task", path = "service-account", fallback = FallbackFactory.Default.class)
public interface FeignAccountTaskClient {
@RequestMapping(value = "wl/costing/transBalance")
WalletCallResult<?> calTransBalance(WalletCalTransBalanceParam param);
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>liquidnet-api-feign</artifactId>
<groupId>com.liquidnet</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>liquidnet-api-feign-bank</artifactId>
<dependencies>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-bank-api</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
\ No newline at end of file
package com.liquidnet.service.feign.bank.api.constant;
public class FeignBankConstant {
public final static String CONTEXT_PATH = "service-bank";
public final static String LIQUIDNET_SERVICE_BANK = "liquidnet-service-bank";
public final static String CONTEXT_FX = LIQUIDNET_SERVICE_BANK + "-";
public final static String CONTEXT_BANK_CC_ACCOUNT = CONTEXT_FX + "cc-account";
public final static String CONTEXT_BANK_CC_BALANCE = CONTEXT_FX + "cc-balance";
public final static String CONTEXT_BANK_CC_PAYMENT = CONTEXT_FX + "cc-payment";
public final static String CONTEXT_BANK_CC_PAYER = CONTEXT_FX + "cc-payer";
public final static String CONTEXT_BANK_CC_BENEFICIARY = CONTEXT_FX + "cc-beneficiary";
public final static String CONTEXT_BANK_CC_CONVERSION = CONTEXT_FX + "cc-conversion";
public final static String CONTEXT_BANK_CC_RATE = CONTEXT_FX + "cc-rate";
public final static String CONTEXT_BANK_CC_FUNDING = CONTEXT_FX + "cc-funding";
}
package com.liquidnet.service.feign.bank.api.currencycloud;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.bank.currencycloud.dto.BankCcAccountCreateDto;
import com.liquidnet.service.bank.currencycloud.dto.BankCcAccountCreateParam;
import com.liquidnet.service.feign.bank.api.constant.FeignBankConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Service
@FeignClient(name = FeignBankConstant.LIQUIDNET_SERVICE_BANK,
path = FeignBankConstant.CONTEXT_PATH,
fallback = FallbackFactory.Default.class,
contextId = FeignBankConstant.CONTEXT_BANK_CC_ACCOUNT)
public interface FeignBankCcAccountClient {
@RequestMapping(value = "/bank-cc-account/create", method = RequestMethod.POST)
ResponseDto<BankCcAccountCreateDto> create(@RequestBody BankCcAccountCreateParam param);
}
package com.liquidnet.service.feign.bank.api.currencycloud;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.bank.currencycloud.dto.BankCcAccountCreateDto;
import com.liquidnet.service.bank.currencycloud.entity.BankCcBalance;
import com.liquidnet.service.feign.bank.api.constant.FeignBankConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@Service
@FeignClient(name = FeignBankConstant.LIQUIDNET_SERVICE_BANK,
path = FeignBankConstant.CONTEXT_PATH,
fallback = FallbackFactory.Default.class,
contextId = FeignBankConstant.CONTEXT_BANK_CC_BALANCE)
public interface FeignBankCcBalanceClient {
@RequestMapping(value = "/bank-cc-balance/retrieve", method = RequestMethod.GET)
ResponseDto<BankCcBalance> retrieveBalance(@RequestParam String currency, @RequestParam(required = false) String contactId);
}
package com.liquidnet.service.feign.bank.api.currencycloud;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.bank.currencycloud.dto.BankCcBeneficiaryParam;
import com.liquidnet.service.bank.currencycloud.entity.BankCcBeneficiary;
import com.liquidnet.service.feign.bank.api.constant.FeignBankConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@Service
@FeignClient(name = FeignBankConstant.LIQUIDNET_SERVICE_BANK,
path = FeignBankConstant.CONTEXT_PATH,
fallback = FallbackFactory.Default.class,
contextId = FeignBankConstant.CONTEXT_BANK_CC_BENEFICIARY)
public interface FeignBankCcBeneficiaryClient {
@RequestMapping(value = "/bank-cc-beneficiary/create", method = RequestMethod.POST)
ResponseDto<BankCcBeneficiaryParam> create(@RequestBody BankCcBeneficiaryParam param);
@RequestMapping(value = "/bank-cc-beneficiary/required_details", method = RequestMethod.GET)
ResponseDto<List<Map<String, String>>> requiredDetails(
@RequestParam("currency") String currency,
@RequestParam("bankAccountCountry") String bankAccountCountry,
@RequestParam("beneficiaryCountry") String beneficiaryCountry);
}
package com.liquidnet.service.feign.bank.api.currencycloud;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.bank.currencycloud.dto.BankCcConversionDatesDto;
import com.liquidnet.service.bank.currencycloud.dto.BankCcConversionDto;
import com.liquidnet.service.bank.currencycloud.dto.BankCcConversionCreateParam;
import com.liquidnet.service.feign.bank.api.constant.FeignBankConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@Service
@FeignClient(name = FeignBankConstant.LIQUIDNET_SERVICE_BANK,
path = FeignBankConstant.CONTEXT_PATH,
fallback = FallbackFactory.Default.class,
contextId = FeignBankConstant.CONTEXT_BANK_CC_CONVERSION)
public interface FeignBankCcConversionClient {
@RequestMapping(value = "/bank-cc-conversion/create", method = RequestMethod.POST)
ResponseDto<BankCcConversionDto> createConversion(@RequestBody BankCcConversionCreateParam param);
@RequestMapping(value = "/bank-cc-conversion/get_conversion_dates", method = RequestMethod.GET)
ResponseDto<BankCcConversionDatesDto> getConversionDates(@RequestParam String conversionPair, @RequestParam String startDate);
}
package com.liquidnet.service.feign.bank.api.currencycloud;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.bank.currencycloud.dto.BankCcAccountCreateDto;
import com.liquidnet.service.bank.currencycloud.dto.BankCcAccountCreateParam;
import com.liquidnet.service.bank.currencycloud.dto.BankCcFundingAccountDto;
import com.liquidnet.service.feign.bank.api.constant.FeignBankConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@Service
@FeignClient(name = FeignBankConstant.LIQUIDNET_SERVICE_BANK,
path = FeignBankConstant.CONTEXT_PATH,
fallback = FallbackFactory.Default.class,
contextId = FeignBankConstant.CONTEXT_BANK_CC_FUNDING)
public interface FeignBankCcFundingClient {
@RequestMapping(value = "/bank-cc-funding/get_funding_account", method = RequestMethod.GET)
ResponseDto<List<BankCcFundingAccountDto>> getFundingAccount(@RequestParam String accountId, @RequestParam String currency);
}
package com.liquidnet.service.feign.bank.api.currencycloud;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.bank.currencycloud.dto.BankCcPaymentCreateParam;
import com.liquidnet.service.bank.currencycloud.entity.BankCcPayment;
import com.liquidnet.service.feign.bank.api.constant.FeignBankConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Service
@FeignClient(name = FeignBankConstant.LIQUIDNET_SERVICE_BANK,
path = FeignBankConstant.CONTEXT_PATH,
fallback = FallbackFactory.Default.class,
contextId = FeignBankConstant.CONTEXT_BANK_CC_PAYMENT)
public interface FeignBankCcPaymentClient {
/**
* 创建currency cloud payment
*/
@RequestMapping(value = "/bank-cc-payment/create", method = RequestMethod.POST)
ResponseDto<BankCcPayment> create(@RequestBody BankCcPaymentCreateParam param);
}
package com.liquidnet.service.feign.bank.api.currencycloud;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.bank.currencycloud.dto.BankCcRateDto;
import com.liquidnet.service.bank.currencycloud.dto.BankCcRateParam;
import com.liquidnet.service.feign.bank.api.constant.FeignBankConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Service
@FeignClient(name = FeignBankConstant.LIQUIDNET_SERVICE_BANK,
path = FeignBankConstant.CONTEXT_PATH,
fallback = FallbackFactory.Default.class,
contextId = FeignBankConstant.CONTEXT_BANK_CC_RATE)
public interface FeignBankCcRateClient {
@RequestMapping(value = "/bank-cc-rate/detailed_rate", method = RequestMethod.POST)
ResponseDto<BankCcRateDto> detailedRate(@RequestBody BankCcRateParam param);
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>liquidnet-api-feign</artifactId>
<groupId>com.liquidnet</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>liquidnet-api-feign-reconciliation</artifactId>
</project>
package com.liquidnet.service.feign.reconciliation.admin;
/**
* @author AnJiabin <jiabin.an@lightnet.io>
* @version V1.0
* @Description: 对账批次管理
* @class: FeignReconBatchManageClient
* @Package com.liquidnet.service.feign.reconciliation.admin
* @Copyright: LightNet @ Copyright (c) 2020
* @date 2020/12/14 11:49 上午
*/
public class FeignReconBatchManageClient {
}
package com.liquidnet.service.feign.reconciliation.constant;
/**
* @author AnJiabin <jiabin.an@lightnet.io>
* @version V1.0
* @Description:
* @class: FeignReconConstant
* @Package com.liquidnet.service.feign.reconciliation.constant
* @Copyright: LightNet @ Copyright (c) 2020
* @date 2020/12/14 11:54 上午
*/
public class FeignReconConstant {
public final static String CONTEXT_PATH = "";
public final static String LIQUIDNET_SERVICE = "liquidnet-service-recon";
public final static String CONTEXT_FX = LIQUIDNET_SERVICE + "-";
public final static String CONTEXT_RECON_TASK = CONTEXT_FX + "task";
public final static String CONTEXT_RECON_ADMIN = CONTEXT_FX + "admin";
}
package com.liquidnet.service.feign.reconciliation.task;
import com.liquidnet.service.ResponseDto;
import com.liquidnet.service.feign.reconciliation.constant.FeignReconConstant;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @author AnJiabin <jiabin.an@lightnet.io>
* @version V1.0
* @Description: 对账Task
* @class: FeignTaskReconAccountCheckClient
* @Package com.liquidnet.service.feign.reconciliation.task
* @Copyright: LightNet @ Copyright (c) 2020
* @date 2020/12/14 11:50 上午
*/
@Service
@FeignClient(name = FeignReconConstant.LIQUIDNET_SERVICE,
contextId = FeignReconConstant.CONTEXT_RECON_TASK,
fallback = FallbackFactory.Default.class)
public interface FeignTaskReconAccountCheckClient {
@PostMapping(value = "/recon/task/accountCheck")
public void accountCheck(@RequestParam String bankChannel,@RequestParam String billDate);
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>liquidnet-api-feign</artifactId>
<groupId>com.liquidnet</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>liquidnet-api-feign-sequence</artifactId>
</project>
package com.liquidnet.service.api.sequence.feign;
import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@Component
@FeignClient(name = "liquidnet-service-sequence", path = "service-sequence", fallback = FallbackFactory.Default.class)
public interface FeignSequenceClient {
@GetMapping(value = "nextIncrId/{sn}")
Long nextIncrId(@PathVariable("sn") String sn);
@GetMapping(value = "nextId")
Long nextId();
@GetMapping(value = "nextId/{number}")
Long[] nextId(@PathVariable("number") int number);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.account.wallet.mapper.FinBizTradeMapper">
<resultMap id="BaseResultMap" type="com.liquidnet.service.account.wallet.entity.FinBizTrade">
<id column="FBT10" jdbcType="VARCHAR" property="tradeNo" />
<result column="FBT11" jdbcType="VARCHAR" property="channelId" />
<result column="FBT12" jdbcType="VARCHAR" property="bizType" />
<result column="FBT13" jdbcType="VARCHAR" property="tradeType" />
<result column="FBT14" jdbcType="INTEGER" property="tradeStatus" />
<result column="FBT15" jdbcType="TIMESTAMP" property="createTime" />
<result column="FBT16" jdbcType="TIMESTAMP" property="updateTime" />
<result column="FBT17" jdbcType="VARCHAR" property="additional" />
<result column="FBT18" jdbcType="VARCHAR" property="remark" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
FBT10, FBT11, FBT12, FBT13, FBT14, FBT15, FBT16,
FBT17, FBT18
</sql>
<select id="selectByExample" parameterType="com.liquidnet.service.account.wallet.entity.FinBizTradeExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from FIN_WL_N10
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from FIN_WL_N10
where FBT10 = #{tradeNo,jdbcType=VARCHAR}
</select>
<insert id="insert" parameterType="com.liquidnet.service.account.wallet.entity.FinBizTrade">
insert into FIN_WL_N10 (FBT10, FBT11, FBT12,
FBT13, FBT14, FBT15,
FBT16, FBT17, FBT18
)
values (#{tradeNo,jdbcType=VARCHAR}, #{channelId,jdbcType=VARCHAR}, #{bizType,jdbcType=VARCHAR},
#{tradeType,jdbcType=VARCHAR}, #{tradeStatus,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP},
#{updateTime,jdbcType=TIMESTAMP}, #{additional,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}
)
</insert>
<insert id="insertSelective" parameterType="com.liquidnet.service.account.wallet.entity.FinBizTrade">
insert into FIN_WL_N10
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="tradeNo != null">
FBT10,
</if>
<if test="channelId != null">
FBT11,
</if>
<if test="bizType != null">
FBT12,
</if>
<if test="tradeType != null">
FBT13,
</if>
<if test="tradeStatus != null">
FBT14,
</if>
<if test="createTime != null">
FBT15,
</if>
<if test="updateTime != null">
FBT16,
</if>
<if test="additional != null">
FBT17,
</if>
<if test="remark != null">
FBT18,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="tradeNo != null">
#{tradeNo,jdbcType=VARCHAR},
</if>
<if test="channelId != null">
#{channelId,jdbcType=VARCHAR},
</if>
<if test="bizType != null">
#{bizType,jdbcType=VARCHAR},
</if>
<if test="tradeType != null">
#{tradeType,jdbcType=VARCHAR},
</if>
<if test="tradeStatus != null">
#{tradeStatus,jdbcType=INTEGER},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="additional != null">
#{additional,jdbcType=VARCHAR},
</if>
<if test="remark != null">
#{remark,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.liquidnet.service.account.wallet.entity.FinBizTradeExample" resultType="java.lang.Integer">
select count(*) from FIN_WL_N10
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update FIN_WL_N10
<set>
<if test="record.tradeNo != null">
FBT10 = #{record.tradeNo,jdbcType=VARCHAR},
</if>
<if test="record.channelId != null">
FBT11 = #{record.channelId,jdbcType=VARCHAR},
</if>
<if test="record.bizType != null">
FBT12 = #{record.bizType,jdbcType=VARCHAR},
</if>
<if test="record.tradeType != null">
FBT13 = #{record.tradeType,jdbcType=VARCHAR},
</if>
<if test="record.tradeStatus != null">
FBT14 = #{record.tradeStatus,jdbcType=INTEGER},
</if>
<if test="record.createTime != null">
FBT15 = #{record.createTime,jdbcType=TIMESTAMP},
</if>
<if test="record.updateTime != null">
FBT16 = #{record.updateTime,jdbcType=TIMESTAMP},
</if>
<if test="record.additional != null">
FBT17 = #{record.additional,jdbcType=VARCHAR},
</if>
<if test="record.remark != null">
FBT18 = #{record.remark,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update FIN_WL_N10
set FBT10 = #{record.tradeNo,jdbcType=VARCHAR},
FBT11 = #{record.channelId,jdbcType=VARCHAR},
FBT12 = #{record.bizType,jdbcType=VARCHAR},
FBT13 = #{record.tradeType,jdbcType=VARCHAR},
FBT14 = #{record.tradeStatus,jdbcType=INTEGER},
FBT15 = #{record.createTime,jdbcType=TIMESTAMP},
FBT16 = #{record.updateTime,jdbcType=TIMESTAMP},
FBT17 = #{record.additional,jdbcType=VARCHAR},
FBT18 = #{record.remark,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.liquidnet.service.account.wallet.entity.FinBizTrade">
update FIN_WL_N10
<set>
<if test="channelId != null">
FBT11 = #{channelId,jdbcType=VARCHAR},
</if>
<if test="bizType != null">
FBT12 = #{bizType,jdbcType=VARCHAR},
</if>
<if test="tradeType != null">
FBT13 = #{tradeType,jdbcType=VARCHAR},
</if>
<if test="tradeStatus != null">
FBT14 = #{tradeStatus,jdbcType=INTEGER},
</if>
<if test="createTime != null">
FBT15 = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
FBT16 = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="additional != null">
FBT17 = #{additional,jdbcType=VARCHAR},
</if>
<if test="remark != null">
FBT18 = #{remark,jdbcType=VARCHAR},
</if>
</set>
where FBT10 = #{tradeNo,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.liquidnet.service.account.wallet.entity.FinBizTrade">
update FIN_WL_N10
set FBT11 = #{channelId,jdbcType=VARCHAR},
FBT12 = #{bizType,jdbcType=VARCHAR},
FBT13 = #{tradeType,jdbcType=VARCHAR},
FBT14 = #{tradeStatus,jdbcType=INTEGER},
FBT15 = #{createTime,jdbcType=TIMESTAMP},
FBT16 = #{updateTime,jdbcType=TIMESTAMP},
FBT17 = #{additional,jdbcType=VARCHAR},
FBT18 = #{remark,jdbcType=VARCHAR}
where FBT10 = #{tradeNo,jdbcType=VARCHAR}
</update>
</mapper>
# begin-dev-这里是配置信息基本值
liquidnet:
cloudConfig:
profile: dev
security:
username: user
password: user123
eureka:
host: 127.0.0.1:7001
# end-dev-这里是配置信息基本值
spring:
profiles:
include: service-account
\ No newline at end of file
# begin-dev-这里是配置信息基本值
liquidnet:
cloudConfig:
profile: prod
security:
username: user
password: user123
eureka:
host: 127.0.0.1:7001
# end-dev-这里是配置信息基本值
spring:
profiles:
include: service-account
\ No newline at end of file
#eurekaServer配置
eureka:
client:
register-with-eureka: true
fetch-registry: true
serviceUrl:
defaultZone: http://${liquidnet.security.username}:${liquidnet.security.password}@${liquidnet.eureka.host}/eureka-server/eureka
#configServer配置
spring:
cloud:
config:
# uri: http://127.0.0.1:7002/support-config
profile: ${liquidnet.cloudConfig.profile}
name: ${spring.application.name} #默认为spring.application.name
discovery:
enabled: true
service-id: liquidnet-support-config
\ No newline at end of file
# begin-dev-这里是配置信息基本值
liquidnet:
cloudConfig:
profile: test
security:
username: user
password: user123
eureka:
host: 172.18.0.2:7001
# end-dev-这里是配置信息基本值
spring:
profiles:
include: service-account
\ No newline at end of file
spring:
application:
name: liquidnet-service-account
profiles:
active: dev
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.bank.mapper.BankCcAccountMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.bank.currencycloud.mapper.BankCcPushLogMapper">
</mapper>
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment