commit
eaaea090ca
@ -0,0 +1,19 @@
|
||||
package au.com.royalpay.payment.manage.mappers.system;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.yixsoft.support.mybatis.autosql.annotations.AutoMapper;
|
||||
import com.yixsoft.support.mybatis.autosql.annotations.AutoSql;
|
||||
import com.yixsoft.support.mybatis.autosql.annotations.SqlType;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@AutoMapper(tablename = "sys_client_upay_profile", pkName = "client_id")
|
||||
public interface SysClientUpayProfileMapper {
|
||||
@AutoSql(SqlType.INSERT)
|
||||
void save(JSONObject info);
|
||||
|
||||
@AutoSql(SqlType.UPDATE)
|
||||
void update(JSONObject info);
|
||||
|
||||
@AutoSql(SqlType.SELECT)
|
||||
JSONObject findInfo(@Param("client_id") int clientId);
|
||||
}
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,81 @@
|
||||
define(['../app'], function (app) {
|
||||
'use strict';
|
||||
|
||||
var upayIndustry = [
|
||||
{
|
||||
"label": "Professional Services",
|
||||
"value": "Professional Services"
|
||||
},
|
||||
{
|
||||
"label": "Mail/Telephone Order",
|
||||
"value": "Mail/Telephone Order"
|
||||
},
|
||||
{
|
||||
"label": "Business Services",
|
||||
"value": "Business Services"
|
||||
},
|
||||
{
|
||||
"label": "Retail Store",
|
||||
"value": "Retail Store"
|
||||
},
|
||||
{
|
||||
"label": "Airline Services",
|
||||
"value": "Airline Services"
|
||||
},
|
||||
{
|
||||
"label": "Entertainment",
|
||||
"value": "Entertainment"
|
||||
},
|
||||
{
|
||||
"label": "Automobiles",
|
||||
"value": "Automobiles"
|
||||
},
|
||||
{
|
||||
"label": "Clothing",
|
||||
"value": "Clothing"
|
||||
},
|
||||
{
|
||||
"label": "Contracted Services",
|
||||
"value": "Contracted Services"
|
||||
},
|
||||
{
|
||||
"label": "Government",
|
||||
"value": "Government"
|
||||
},
|
||||
{
|
||||
"label": "Hotel",
|
||||
"value": "Hotel"
|
||||
},
|
||||
{
|
||||
"label": "Personal Services",
|
||||
"value": "Personal Services"
|
||||
},
|
||||
{
|
||||
"label": "Repair Services",
|
||||
"value": "Repair Services"
|
||||
},
|
||||
{
|
||||
"label": "Transportation",
|
||||
"value": "Transportation"
|
||||
},
|
||||
{
|
||||
"label": "Utilities",
|
||||
"value": "Utilities"
|
||||
},
|
||||
{
|
||||
"label": "Wholesale",
|
||||
"value": "Wholesale"
|
||||
},
|
||||
{
|
||||
"label": "Other",
|
||||
"value": "Other"
|
||||
}
|
||||
];
|
||||
app.factory('upayIndustryMap', function () {
|
||||
return {
|
||||
configs: function () {
|
||||
return upayIndustry;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
@ -0,0 +1,19 @@
|
||||
<div class="modal-header bg-green">
|
||||
<h4 style="text-align: center">制作PPromotional Offer合同</h4>
|
||||
</div>
|
||||
<div class="modal-body" style="padding: 30px">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<lable>请选择优惠生效日:</lable>
|
||||
<input placeholder="From" uib-datepicker-popup is-open="ctrl.from" ng-click="ctrl.from=true" id="promotiona_date" ng-model="" datepicker-options="{maxDate:filter.to}">
|
||||
</div>
|
||||
<div class="col-xs-12">
|
||||
<lable>请输入活动周期:</lable>
|
||||
<input id="promotiona_period" ng-model="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-success" type="button" ng-click="readNotice()" ng-if="!previewStatus && notice.status=='0'">I Know</button>
|
||||
<button class="btn btn-danger" type="button" ng-click="$dismiss()">Close</button>
|
||||
</div>
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,258 @@
|
||||
<div class="modal-header">
|
||||
<h4>Transactions{{report.client_moniker?'('+report.client_moniker+')':''}}</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="box box-warning">
|
||||
<div class="box-body">
|
||||
<ul class="nav nav-pills">
|
||||
<li ng-class="{active:ctrl.channel==null}">
|
||||
<a role="button" ng-click="ctrl.channel=null;channelAndDayOfAnalysis()" title="All">
|
||||
<img src="/static/images/royalpay_sign.png">
|
||||
</a>
|
||||
</li>
|
||||
<li ng-class="{active:ctrl.channel=='Wechat'}" ng-if="report.channels.Wechat">
|
||||
<a role="button" ng-click="ctrl.channel='Wechat';channelAndDayOfAnalysis()" title="Wechat">
|
||||
<img src="/static/images/wechatpay_sign_lg.png">
|
||||
</a>
|
||||
</li>
|
||||
<li ng-class="{active:ctrl.channel=='Alipay'}" ng-if="report.channels.Alipay">
|
||||
<a role="button" ng-click="ctrl.channel='Alipay';channelAndDayOfAnalysis()" title="Alipay">
|
||||
<img src="/static/images/alipay_sign_lg.png">
|
||||
</a>
|
||||
</li>
|
||||
<li ng-class="{active:ctrl.channel=='AlipayOnline'}" ng-if="report.channels.AlipayOnline">
|
||||
<a role="button" ng-click="ctrl.channel='AlipayOnline';channelAndDayOfAnalysis()" title="AlipayOnline">
|
||||
<img src="/static/images/alipay_online.png" class="channel-icon-lg">
|
||||
</a>
|
||||
</li>
|
||||
<li ng-class="{active:ctrl.channel=='Bestpay'}" ng-if="report.channels.Bestpay">
|
||||
<a role="button" ng-click="ctrl.channel='Bestpay';channelAndDayOfAnalysis()" title="Bestpay">
|
||||
<img src="/static/images/bestpay_sign_lg.png">
|
||||
</a>
|
||||
</li>
|
||||
<li ng-class="{active:ctrl.channel=='jd'}" ng-if="report.channels.jd">
|
||||
<a role="button" ng-click="ctrl.channel='jd';channelAndDayOfAnalysis()" title="JD Pay">
|
||||
<img src="/static/images/jd_sign_lg.png">
|
||||
</a>
|
||||
</li>
|
||||
<li ng-class="{active:ctrl.channel=='hf'}" ng-if="report.channels.hf">
|
||||
<a role="button" ng-click="ctrl.channel='hf';channelAndDayOfAnalysis()" title="HF Pay">
|
||||
<img src="/static/images/hf_sign_lg.png">
|
||||
</a>
|
||||
</li>
|
||||
<li ng-class="{active:ctrl.channel=='Rpay'}" ng-if="report.channels.Rpay">
|
||||
<a role="button" ng-click="ctrl.channel='Rpay';channelAndDayOfAnalysis()" title="Rpay Pay">
|
||||
<img src="/static/images/rpayplus_sign_lg.png">
|
||||
</a>
|
||||
</li>
|
||||
<li ng-class="{active:ctrl.channel=='Yeepay'}" ng-if="report.channels.Yeepay">
|
||||
<a role="button" ng-click="ctrl.channel='Yeepay';channelAndDayOfAnalysis()" title="Yeepay">
|
||||
<img src="/static/images/yeepay_sign_lg.png">
|
||||
</a>
|
||||
</li>
|
||||
<li ng-class="{active:ctrl.channel=='LakalaPay'}" ng-if="report.channels.LakalaPay">
|
||||
<a role="button" ng-click="ctrl.channel='LakalaPay';channelAndDayOfAnalysis()" title="LakalaPay">
|
||||
<img src="/static/images/lakalapay_sign_lg.png">
|
||||
</a>
|
||||
</li>
|
||||
<li ng-class="{active:ctrl.channel=='rpaypmt_card'}" ng-if="report.channels.rpaypmt_card">
|
||||
<a role="button" ng-click="ctrl.channel='rpaypmt_card';channelAndDayOfAnalysis()" title="rpaypmt_card">
|
||||
<img src="/static/images/card_payment_sign_lg.png">
|
||||
</a>
|
||||
</li>
|
||||
<li ng-class="{active:ctrl.channel=='rpaypmt_dd'}" ng-if="report.channels.rpaypmt_dd">
|
||||
<a role="button" ng-click="ctrl.channel='rpaypmt_dd';channelAndDayOfAnalysis()" title="rpaypmt_dd">
|
||||
<img src="/static/images/direct_debit_sign_lg.png">
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box box-warning">
|
||||
<uib-tabset active="index">
|
||||
<uib-tab index="0" heading="Analysis" ng-click="ctrl.day=null">
|
||||
<div class="box-body">
|
||||
<div class="row">
|
||||
<!--<div class="col-xs-6 col-sm-3">-->
|
||||
<!--<span class="col-xs-6 text-bold">Rate</span>-->
|
||||
<!--<span class="col-xs-6" ng-bind="report.rate+'%'"></span>-->
|
||||
<!--</div>-->
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<span class="col-xs-6 text-bold">Total Credit</span>
|
||||
<span ng-if="ctrl.channel==null" class="col-xs-6" ng-bind="report.total_payment|currency:''"></span>
|
||||
<span ng-if="ctrl.channel!=null"class="col-xs-6" ng-bind="report.channels[ctrl.channel].total_credit|currency:''"></span>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<span class="col-xs-6 text-bold">Total Debit</span>
|
||||
<span ng-if="ctrl.channel==null" class="col-xs-6" ng-bind="report.total_refund|currency:''"></span>
|
||||
<span ng-if="ctrl.channel!=null" class="col-xs-6" ng-bind="report.channels[ctrl.channel].total_debit|currency:''"></span>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<span class="col-xs-6 text-bold">Gross Amount</span>
|
||||
<span ng-if="ctrl.channel==null" class="col-xs-6" ng-bind="report.gross_amount|currency:''"></span>
|
||||
<span ng-if="ctrl.channel!=null" class="col-xs-6" ng-bind="report.channels[ctrl.channel].gross_amount|currency:''"></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<span class="col-xs-6 text-bold">Tax Amount</span>
|
||||
<span ng-if="ctrl.channel==null" class="col-xs-6" ng-bind="report.tax_amount|currency:''"></span>
|
||||
<span ng-if="ctrl.channel!=null" class="col-xs-6" ng-bind="report.channels[ctrl.channel].tax_amount|currency:''"></span>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<span class="col-xs-6 text-bold">Total Charge</span>
|
||||
<span ng-if="ctrl.channel==null" class="col-xs-6" ng-bind="report.total_charge|currency:''"></span>
|
||||
<span ng-if="ctrl.channel!=null" class="col-xs-6" ng-bind="report.channels[ctrl.channel].total_charge|currency:''"></span>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3" ng-if="!is_partner">
|
||||
<span class="col-xs-6 text-bold">Channel Charge</span>
|
||||
<span ng-if="ctrl.channel==null" class="col-xs-6" ng-bind="report.wechat_charge|currency:''"></span>
|
||||
<span ng-if="ctrl.channel!=null" class="col-xs-6" ng-bind="report.channels[ctrl.channel].third_charge|currency:''"></span>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3" ng-if="!is_partner">
|
||||
<span class="col-xs-6 text-bold">RoyalPay Charge</span>
|
||||
<span ng-if="ctrl.channel==null" class="col-xs-6" ng-bind="report.royalpay_charge|currency:''"></span>
|
||||
<span ng-if="ctrl.channel!=null" class="col-xs-6"
|
||||
ng-bind="report.channels[ctrl.channel].royalpay_charge|currency:''"></span>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<span class="col-xs-6 text-bold">Net Amount</span>
|
||||
<span ng-if="ctrl.channel==null" class="col-xs-6"
|
||||
ng-bind="report.clearing_amount|currency:''"></span>
|
||||
<span ng-if="ctrl.channel!=null" class="col-xs-6"
|
||||
ng-bind="(report.channels[ctrl.channel].gross_amount - report.channels[ctrl.channel].total_charge-report.channels[ctrl.channel].tax_amount)|currency:''"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</uib-tab>
|
||||
<uib-tab ng-repeat="(key,analysis) in channelAndDayMap" heading="{{key}}" ng-click="ctrl.day=key">
|
||||
<div class="box-body" >
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<span class="col-xs-6 text-bold">Total Credit</span>
|
||||
<span class="col-xs-6" ng-bind="analysis.total_credit|currency:''"></span>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<span class="col-xs-6 text-bold">Total Debit</span>
|
||||
<span class="col-xs-6" ng-bind="analysis.total_debit|currency:''"></span>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<span class="col-xs-6 text-bold">Gross Amount</span>
|
||||
<span class="col-xs-6" ng-bind="analysis.gross_amount|currency:''"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<span class="col-xs-6 text-bold">Tax Amount</span>
|
||||
<span class="col-xs-6" ng-bind="analysis.tax_amount|currency:''"></span>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<span class="col-xs-6 text-bold">Total Charge</span>
|
||||
<span class="col-xs-6" ng-bind="analysis.total_surcharge|currency:''"></span>
|
||||
</div>
|
||||
<div class="col-xs-6 col-sm-3">
|
||||
<span class="col-xs-6 text-bold">Net Amount</span>
|
||||
<span class="col-xs-6" ng-bind="analysis.net_amount|currency:''"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</uib-tab>
|
||||
</uib-tabset>
|
||||
</div>
|
||||
<div class="box box-default">
|
||||
<div class="box-header">Credits</div>
|
||||
<div class="box-body">
|
||||
<div class="table-responsive col-sm-12">
|
||||
<table class="table table-bordered table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Order Id</th>
|
||||
<th>Transaction Time</th>
|
||||
<th>Currency</th>
|
||||
<th>Input Amount</th>
|
||||
<th>Total Amount</th>
|
||||
<th>Transaction Fee (GST Inclu.)</th>
|
||||
<th>Surcharge rate for RoyalPay</th>
|
||||
<th>Surcharge Amount for RoyalPay</th>
|
||||
<th>GST Amount for RoyalPay</th>
|
||||
<th>Surcharge rate for Mini Program</th>
|
||||
<th>Surcharge Amount for Mini Program</th>
|
||||
<th>GST Amount for Mini Program </th>
|
||||
<th ng-if="report.report[0].settle_amount!=null">Settle Amount</th>
|
||||
<th>Remark</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="tr in report.report|propsFilter:{transaction_type:'Credit',channel:ctrl.channel,transaction_time:ctrl.day}:true">
|
||||
<td>
|
||||
<img src="/static/images/royalpay_sign_s.png" uib-tooltip="RoyalPay" ng-if="tr.source=='system'"/>
|
||||
<img src="/static/images/yangmaimai_sign.png" uib-tooltip="RP跨境商城" ng-if="tr.source=='RP跨境商城'"/>
|
||||
<img class="channel-icon" ng-src="{{tr.channel|channel_image}}">{{tr.order_id}}
|
||||
</td>
|
||||
<td ng-bind="tr.transaction_time"></td>
|
||||
<td ng-bind="tr.transaction_currency"></td>
|
||||
<td ng-bind="tr.display_amount"></td>
|
||||
<td ng-bind="tr.transaction_amount"></td>
|
||||
<!--<td ng-bind="tr.surcharge_rate?(tr.surcharge_rate|percentage:1):report.channels[tr.channel].rate+'%'"></td>-->
|
||||
<td>
|
||||
{{(((tr.surcharge_rate * 100) > tr.rate_value)?((tr.surcharge_rate * 100-tr.rate_value)):(tr.surcharge_rate))|number:2}} %
|
||||
</td>
|
||||
<td ng-bind="(tr.real_royal_surcharge?tr.real_royal_surcharge:0)|currency:''"></td>
|
||||
<td ng-bind="tr.royalpay_tax|currency:''"></td>
|
||||
<td ng-bind="(tr.rate_value/100)|percentage:2"></td>
|
||||
<td ng-bind="(tr.incremental_surcharge?tr.incremental_surcharge:0)|currency:''"></td>
|
||||
<td ng-bind="tr.incremental_tax|currency:''"></td>
|
||||
<td ng-if="tr.settle_amount!=null" ng-bind="tr.settle_amount|currency:''"></td>
|
||||
<td ng-bind="tr.remark"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box box-default">
|
||||
<div class="box-header">Debits</div>
|
||||
<div class="box-body">
|
||||
<div class="table-responsive col-sm-12">
|
||||
<table class="table table-bordered table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Order Id</th>
|
||||
<th>Transaction Time</th>
|
||||
<th>Currency</th>
|
||||
<th>Total Amount</th>
|
||||
<th>Surcharge rate for RoyalPay</th>
|
||||
<th>Surcharge Amount for RoyalPay</th>
|
||||
<th>GST Amount for RoyalPay</th>
|
||||
<th>Surcharge rate for Mini Program</th>
|
||||
<th>Surcharge Amount for Mini Program</th>
|
||||
<th>GST Amount for Mini Program </th>
|
||||
<th>Settle Amount</th>
|
||||
<th>Remark</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="tr in report.report|propsFilter:{transaction_type:'Debit',channel:ctrl.channel,transaction_time:ctrl.day}:true">
|
||||
<td ng-bind="tr.order_id"></td>
|
||||
<td ng-bind="tr.transaction_time"></td>
|
||||
<td ng-bind="tr.transaction_currency"></td>
|
||||
<td ng-bind="tr.transaction_amount"></td>
|
||||
<td>
|
||||
{{(((tr.surcharge_rate * 100) > tr.rate_value)?((tr.surcharge_rate * 100-tr.rate_value)):(tr.surcharge_rate))|number:2}} %
|
||||
</td>
|
||||
<td ng-bind="(tr.real_royal_surcharge?tr.real_royal_surcharge:0)|currency:''"></td>
|
||||
<td ng-bind="tr.royalpay_tax|currency:''"></td>
|
||||
<td ng-bind="(tr.rate_value/100)|percentage:2"></td>
|
||||
<td ng-bind="(tr.incremental_surcharge?tr.incremental_surcharge:0)|currency:''"></td>
|
||||
<td ng-bind="tr.incremental_tax|currency:''"></td>
|
||||
<td ng-bind="tr.settle_amount"></td>
|
||||
<td ng-bind="tr.remark"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Loading…
Reference in new issue