master
AlanFenng 4 years ago
commit ac23588913

@ -0,0 +1,68 @@
package au.com.royalpay.payment.manage.merchants.core.impls;
import au.com.royalpay.payment.manage.mappers.system.ClientConfigMapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.Optional;
/**
* @Description
* @title:
* @Date 2021/1/28 11:15
* @author: zhangTao
*/
@Component
public class AlipayChannelsConfig {
@Resource
private ClientConfigMapper clientConfigMapper;
public boolean isMandatoryAlipayOnline(int clientId) {
Optional<JSONObject> optionalClientConfigInfo = getClientConfig(clientId);
if (optionalClientConfigInfo.isPresent()){
JSONObject clientConfigInfo = optionalClientConfigInfo.get();
if (clientConfigInfo.getBooleanValue("mandatory_alipay_online")){
return true;
}
}
return false;
}
public void modifyMandatoryAlipayOnline(int clientId ,boolean mandatoryAlipayOnlineStatus){
JSONObject mandatoryAlipayOnlineConfig = new JSONObject();
mandatoryAlipayOnlineConfig.put("client_id",clientId);
mandatoryAlipayOnlineConfig.put("mandatory_alipay_online",mandatoryAlipayOnlineStatus);
clientConfigMapper.update(mandatoryAlipayOnlineConfig);
}
public boolean isAlipayPlus(int clientId) {
Optional<JSONObject> optionalClientConfigInfo = getClientConfig(clientId);
if (optionalClientConfigInfo.isPresent()){
JSONObject clientConfigInfo = optionalClientConfigInfo.get();
if (clientConfigInfo.getBooleanValue("alipay_payment_channels")){
return true;
}
}
return false;
}
public void modifyAlipayPaymentChannels(int clientId ,boolean alipayPaymentChannelsStatus){
JSONObject mandatoryAlipayOnlineConfig = new JSONObject();
mandatoryAlipayOnlineConfig.put("client_id",clientId);
mandatoryAlipayOnlineConfig.put("alipay_payment_channels",alipayPaymentChannelsStatus);
clientConfigMapper.update(mandatoryAlipayOnlineConfig);
}
private Optional<JSONObject> getClientConfig(int clientId) {
Optional<JSONObject> optionalClientConfigInfo = Optional.of(clientConfigMapper.find(clientId));
return optionalClientConfigInfo;
}
}

@ -2,7 +2,6 @@ package au.com.royalpay.payment.manage.merchants.core.impls;
import au.com.royalpay.payment.channels.alipay.config.AlipayConfig;
import au.com.royalpay.payment.channels.alipay.config.AlipayEnvironment;
import au.com.royalpay.payment.channels.alipay.runtime.AlipayCommonApi;
import au.com.royalpay.payment.channels.alipay.runtime.AlipayOnlineApi;
import au.com.royalpay.payment.channels.alipay.runtime.AlipayRetailApi;
import au.com.royalpay.payment.channels.alipay.runtime.entity.AlipayMerchantEntity;
@ -21,16 +20,15 @@ import au.com.royalpay.payment.channels.wechat.runtime.impls.WxPayMerchantRegist
import au.com.royalpay.payment.channels.wechat.runtime.impls.WxPayMerchantRegisterLegacy;
import au.com.royalpay.payment.channels.wechat.runtime.mappers.PaymentChannelMccGoodMapper;
import au.com.royalpay.payment.channels.wechat.runtime.mappers.WxMerchantApplyMapper;
import au.com.royalpay.payment.core.ChannelMerchantApplicationService;
import au.com.royalpay.payment.core.PaymentApi;
import au.com.royalpay.payment.core.PaymentChannelApi;
import au.com.royalpay.payment.core.beans.ChannelMerchantInfo;
import au.com.royalpay.payment.core.beans.EmptyMerchantApplication;
import au.com.royalpay.payment.core.beans.MchChannelContract;
import au.com.royalpay.payment.core.beans.MerchantApplicationResult;
import au.com.royalpay.payment.core.exceptions.EmailException;
import au.com.royalpay.payment.core.exceptions.InvalidShortIdException;
import au.com.royalpay.payment.core.impls.MerchantChannelApplicationManager;
import au.com.royalpay.payment.core.impls.MerchantChannelPermissionManager;
import au.com.royalpay.payment.core.mappers.SysClientMapper;
import au.com.royalpay.payment.core.utils.OrderExpiryRuleResolver;
import au.com.royalpay.payment.manage.analysis.mappers.TransactionAnalysisMapper;
@ -99,6 +97,7 @@ import au.com.royalpay.payment.tools.lock.Locker;
import au.com.royalpay.payment.tools.mail.SendMail;
import au.com.royalpay.payment.tools.merchants.beans.QRCodeConfig;
import au.com.royalpay.payment.tools.merchants.beans.UpdateSurchargeDTO;
import au.com.royalpay.payment.tools.merchants.core.MerchantChannelPermissionResolver;
import au.com.royalpay.payment.tools.merchants.core.MerchantInfoProvider;
import au.com.royalpay.payment.tools.merchants.qrboard.QRBoard;
import au.com.royalpay.payment.tools.merchants.qrboard.QRBoardProvider;
@ -127,8 +126,6 @@ import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
@ -331,6 +328,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
private SysClientUpayProfileMapper sysClientUpayProfileMapper;
@Resource
private PaymentApi paymentApi;
@Resource
private MerchantChannelPermissionManager merchantChannelPermissionManager;
DateTimeFormatter formatter = DateTimeFormat.forPattern("dd MMM yyyy");
@ -549,6 +549,13 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
if (wechatMcc != null) {
client.put("mc_code", wechatMcc.getIntValue("mc_code"));
}
client.put("enable_alipayplus", false);
MerchantChannelPermissionResolver resolver = this.paymentApi.channelApi(PayChannel.ALIPAY_PLUS.getChannelCode()).getChannelPermissionResolver();
if(!Objects.isNull(resolver)) {
if (resolver.newOrderEnabled(client)) {
client.put("enable_alipayplus", true);
}
}
return client;
}
@ -1565,13 +1572,17 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
@Override
public void switchChannelPermission(JSONObject manager, String clientMoniker, String channel, boolean allow) {
for (PaymentChannelApi channelApi : paymentApi.channels()) {
if (channelApi.channel().equalsIgnoreCase(channel) || "CB_BankPay".equalsIgnoreCase(channel)) {
if (channelApi.channel().equalsIgnoreCase(channel) ) {
JSONObject client = getClientInfoByMoniker(clientMoniker);
if (client == null) {
throw new NotFoundException("Client Not Exists");
}
clientModifySupport.processClientConfigModify(new SwitchPermissionModify(manager, clientMoniker, "enable_" + channel.toLowerCase(), allow));
merchantChannelPermissionManager.switchMerchantChannelPermission(channelApi.getMetadata().payChannel(), client.getIntValue("client_id"), allow);
try {
clientModifySupport.processModify(new SwitchPermissionModify(manager, clientMoniker, "enable_" + channel.toLowerCase(), allow));
} catch (Exception e) {
logger.error("Failed to change channel switch:{}" ,channel);
}
logger.info("{}({}) switched client {} channel {} to {}", manager.getString("display_name"), manager.getString("manager_id"), clientMoniker, channel, allow);
if (allow && (StringUtils.equalsAnyIgnoreCase("Wechat", channel) || StringUtils.equalsAnyIgnoreCase("Alipay", channel))) {
int clientId = client.getIntValue("client_id");
@ -5748,10 +5759,10 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
WechatMerchantInfo info = Optional.ofNullable(merchantChannelApplicationManager.getRegister(WxPayMerchantRegister.class))
.map(register -> register.findMerchant(client))
.orElseThrow(() -> new ServerErrorException("No Register found for wechat"));
Element xml = info.getRawResponseXml();
Element elem = info.getRawResponseXml();
JSONObject object = new JSONObject();
object.put("response_str", xml);
object.put("apply_status", info.getRawResponse());
object.put("response_str", info.getRawResponse());
object.put("apply_status", elem.elementText("result_code"));
return object;
}

@ -0,0 +1,31 @@
package au.com.royalpay.payment.manage.merchants.web;
import au.com.royalpay.payment.manage.merchants.core.impls.AlipayChannelsConfig;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @Description
* @title:
* @Date 2021/2/1 9:42
* @author: zhangTao
*/
@RestController
@RequestMapping("/sys/partners")
public class AlipayConfigController {
@Resource
AlipayChannelsConfig alipayChannelsConfig;
@RequestMapping(method = RequestMethod.PUT,value = "/modifyAlipayPaymentChannels/{clientId}/{alipayPaymentChannelsStatus}")
public void modifyAlipayPaymentChannels(@PathVariable Integer clientId, @PathVariable Boolean alipayPaymentChannelsStatus) {
alipayChannelsConfig.modifyAlipayPaymentChannels(clientId,alipayPaymentChannelsStatus);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

File diff suppressed because it is too large Load Diff

@ -10,30 +10,31 @@
z-index: 1002;
overflow: auto;
}
.white_content::-webkit-scrollbar:vertical {
width: 11px;
}
/*定义滚动条高宽及背景
高宽分别对应横竖滚动条的尺寸*/
.white_content::-webkit-scrollbar
{
.white_content::-webkit-scrollbar {
-webkit-appearance: none;
width: 16px;
height: 16px;
background-color: #F5F5F5;
}
/*定义滚动条轨道
内阴影+圆角*/
.white_content::-webkit-scrollbar-track
{
.white_content::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
border-radius: 10px;
background-color: #F5F5F5;
}
/*定义滑块
内阴影+圆角*/
.white_content::-webkit-scrollbar-thumb
{
.white_content::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
background-color: #555;
@ -143,6 +144,8 @@
ng-click="params.channel='ALIPAY';loadTradeLogs(1)">Alipay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='ALIPAYONLINE'}"
ng-click="params.channel='ALIPAYONLINE';loadTradeLogs(1)">AlipayOnline</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='ALIPAYPLUS'}"
ng-click="params.channel='ALIPAYPLUS';loadTradeLogs(1)">Alipay+</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='BESTPAY'}"
ng-click="params.channel='BESTPAY';loadTradeLogs(1)">BestPay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='JD'}"
@ -168,29 +171,24 @@
<div class="form-control-static form-inline">
<div style="display: inline-block">
<input class="form-control" id="date-from-input" ng-model="params.datefrom"
uib-datepicker-popup size="10" placeholder="From"
is-open="dateBegin.open" ng-click="dateBegin.open=true"
datepicker-options="{maxDate:params.dateto||today}">
uib-datepicker-popup size="10" placeholder="From" is-open="dateBegin.open"
ng-click="dateBegin.open=true" datepicker-options="{maxDate:params.dateto||today}">
</div>
~
<div style="display: inline-block">
<input class="form-control" id="date-to-input" ng-model="params.dateto"
uib-datepicker-popup size="10" placeholder="To"
is-open="dateTo.open" ng-click="dateTo.open=true"
<input class="form-control" id="date-to-input" ng-model="params.dateto" uib-datepicker-popup
size="10" placeholder="To" is-open="dateTo.open" ng-click="dateTo.open=true"
datepicker-options="{minDate:params.datefrom,maxDate:today}">
</div>
<div class="btn-group">
<a role="button" class="btn btn-default btn-sm"
ng-click="chooseToday()">Today</a>
<a role="button" class="btn btn-default btn-sm" ng-click="chooseToday()">Today</a>
</div>
<div class="btn-group">
<a role="button" class="btn btn-default btn-sm"
ng-click="chooseYesterday()">Yesterday</a>
<a role="button" class="btn btn-default btn-sm" ng-click="chooseYesterday()">Yesterday</a>
</div>
<div class="btn-group">
<a role="button" class="btn btn-default btn-sm"
ng-click="chooseLast7Days()">Last 7
<a role="button" class="btn btn-default btn-sm" ng-click="chooseLast7Days()">Last 7
Days</a>
</div>
<div class="btn-group">
@ -217,21 +215,22 @@
</label>
</p>
<p class="form-control-static" ng-if="clients.length>=20">
<a role="button" ng-class="{'bg-primary':isAll}"
ng-click="chooseClient('all')">All</a>
<label ng-click="checkSubClientChoseShow('');choseDivStopPropagation($event)" style="cursor: pointer;">
<a role="button" ng-class="{'bg-primary':isAll}" ng-click="chooseClient('all')">All</a>
<label ng-click="checkSubClientChoseShow('');choseDivStopPropagation($event)"
style="cursor: pointer;">
<input ng-model="choseSubClientNow" style="border:none;cursor: pointer;" readonly>
</label>
</p>
<div id="light" class="white_content" ng-if="more20ChoseSubClient" style="display: block;" ng-click="choseDivStopPropagation($event)">
<div id="light" class="white_content" ng-if="more20ChoseSubClient" style="display: block;"
ng-click="choseDivStopPropagation($event)">
<div class="row">
<div class="form-group col-xs-12">
<div class="col-sm-8 col-xs-8">
<input class="form-control" placeholder="Keyword"
ng-model="subSearchText">
<input class="form-control" placeholder="Keyword" ng-model="subSearchText">
</div>
<div class="col-sm-3">
<button class="btn btn-success" type="button" ng-click="searchSubClients(subSearchText,1)">
<button class="btn btn-success" type="button"
ng-click="searchSubClients(subSearchText,1)">
<i class="fa fa-search"></i> Search
</button>
</div>
@ -248,7 +247,8 @@
</thead>
<tbody>
<tr ng-repeat="subPartner in subClientTable1">
<td ng-click="showClient(subPartner); toShow = !toShow" style="cursor:pointer">
<td ng-click="showClient(subPartner); toShow = !toShow"
style="cursor:pointer">
{{subPartner.client_moniker}}
</td>
<td ng-bind="subPartner.short_name"></td>
@ -274,7 +274,8 @@
</thead>
<tbody>
<tr ng-repeat="subPartner in subClientTable2">
<td ng-click="showClient(subPartner); toShow = !toShow" style="cursor:pointer">
<td ng-click="showClient(subPartner); toShow = !toShow"
style="cursor:pointer">
{{subPartner.client_moniker}}
</td>
<td ng-bind="subPartner.short_name"></td>
@ -291,26 +292,22 @@
</div>
</div>
<div class="box-footer" ng-if="clients.length" style="float: right;">
<uib-pagination class="pagination"
total-items="subClientPagination.totalCount"
boundary-links="true"
ng-model="subClientPagination.page"
items-per-page="subClientPagination.limit"
max-size="10"
ng-change="searchSubClients('',subClientPagination.page)"
previous-text="&lsaquo;"
next-text="&rsaquo;"
first-text="&laquo;"
last-text="&raquo;"></uib-pagination>
<uib-pagination class="pagination" total-items="subClientPagination.totalCount"
boundary-links="true" ng-model="subClientPagination.page"
items-per-page="subClientPagination.limit" max-size="10"
ng-change="searchSubClients('',subClientPagination.page)" previous-text="&lsaquo;"
next-text="&rsaquo;" first-text="&laquo;" last-text="&raquo;"></uib-pagination>
<div class="row">
<div class="col-xs-12">
Total Records:{{subClientPagination.totalCount}};Total Pages:{{subClientPagination.totalPages}}
Total Records:{{subClientPagination.totalCount}};Total
Pages:{{subClientPagination.totalPages}}
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" ng-click="checkSubClientChoseShow('')">Cancel</button>
<button type="button" class="btn btn-danger"
ng-click="checkSubClientChoseShow('')">Cancel</button>
</div>
</div>
</div>
@ -319,10 +316,12 @@
<label class="control-label col-xs-4 col-sm-2">Sub-Partner of sub-partners</label>
<div class="col-sm-10 col-xs-8">
<p class="form-control-static">
<a role="button" ng-class="{'bg-primary':isLevel3All}" ng-click="chooseLevel3Client('all')">All</a>
<a role="button" ng-class="{'bg-primary':isLevel3All}"
ng-click="chooseLevel3Client('all')">All</a>
<label ng-repeat="sub in level3Clients">
|&nbsp;
<a role="button" ng-class="{'bg-primary':sub.client_id==chooseLevel3ClientId}" ng-click="chooseLevel3Client(sub)">{{sub.short_name}}</a>
<a role="button" ng-class="{'bg-primary':sub.client_id==chooseLevel3ClientId}"
ng-click="chooseLevel3Client(sub)">{{sub.short_name}}</a>
&nbsp;
</label>
</p>
@ -337,8 +336,10 @@
<div class="row">
<div class="col-sm-12">
<h3 class="box-title" style="display: inherit">Orders
<span class="small" ng-if="tradeLogs.length">(Found {{pagination.totalCount}} orders and {{analysis.order_count}} transactions worth of {{analysis.paid_fee|currency:'AUD'}})</span>
<span style="float: right;font-size: 14px;">Pre Authorization:<i class="fa fa-stop" aria-hidden="true" style="color: #fff2a5"></i></span>
<span class="small" ng-if="tradeLogs.length">(Found {{pagination.totalCount}} orders and
{{analysis.order_count}} transactions worth of {{analysis.paid_fee|currency:'AUD'}})</span>
<span style="float: right;font-size: 14px;">Pre Authorization:<i class="fa fa-stop" aria-hidden="true"
style="color: #fff2a5"></i></span>
</h3>
<div class="table-responsive col-sm-12">
<table class="table table-bordered table-hover table-striped">
@ -361,18 +362,79 @@
<tr ng-repeat="trade in tradeLogs" ng-class="{warning:trade.clearing_status==2}">
<td ng-bind="trade.client_order_id||'NOT PROVIDED'"></td>
<td>
<img src="/static/images/card_payment_sign.png" uib-tooltip="Card Payment" ng-if="trade.channel=='rpaypmt_card'"/>
<img src="/static/images/direct_debit_sign.png" uib-tooltip="Direct Debit" ng-if="trade.channel=='rpaypmt_dd'"/>
<img src="/static/images/wechatpay_sign.png" uib-tooltip="Znyoo" ng-if="trade.channel=='Znyoo'"/>
<img src="/static/images/wechatpay_sign.png" uib-tooltip="WechatPay" ng-if="trade.channel=='Wechat'"/>
<img src="/static/images/bestpay_sign.png" uib-tooltip="BestPay" ng-if="trade.channel=='Bestpay'"/>
<img src="/static/images/alipay_sign.png" uib-tooltip="Alipay" ng-if="trade.channel=='Alipay'"/>
<img src="/static/images/alipay_sign.png" uib-tooltip="AlipayOnline" ng-if="trade.channel=='AlipayOnline'"/>
<img src="/static/images/card_payment_sign.png" uib-tooltip="Card Payment"
ng-if="trade.channel=='rpaypmt_card'" />
<img src="/static/images/direct_debit_sign.png" uib-tooltip="Direct Debit"
ng-if="trade.channel=='rpaypmt_dd'" />
<img src="/static/images/wechatpay_sign.png" uib-tooltip="Znyoo"
ng-if="trade.channel=='Znyoo'" />
<img src="/static/images/wechatpay_sign.png" uib-tooltip="WechatPay"
ng-if="trade.channel=='Wechat'" />
<img src="/static/images/bestpay_sign.png" uib-tooltip="BestPay"
ng-if="trade.channel=='Bestpay'" />
<img src="/static/images/alipay_sign.png" uib-tooltip="Alipay"
ng-if="trade.channel=='Alipay'" />
<img src="/static/images/alipay_sign.png" uib-tooltip="AlipayOnline"
ng-if="trade.channel=='AlipayOnline'" />
<img src="/static/images/jd_sign.png" uib-tooltip="JD Pay" ng-if="trade.channel=='jd'" />
<img src="/static/images/hf_sign.png" uib-tooltip="HF Pay" ng-if="trade.channel=='hf'" />
<img src="/static/images/rpayplus_sign.png" uib-tooltip="RPay+" ng-if="trade.channel=='Rpay'"/>
<img src="/static/images/yeepay_sign.png" uib-tooltip="Yeepay" ng-if="trade.channel=='Yeepay'"/>
<img src="/static/images/lakalapay_sign.png" uib-tooltip="LakalaPay" ng-if="trade.channel=='LakalaPay'"/>
<img src="/static/images/rpayplus_sign.png" uib-tooltip="RPay+"
ng-if="trade.channel=='Rpay'" />
<img src="/static/images/yeepay_sign.png" uib-tooltip="Yeepay"
ng-if="trade.channel=='Yeepay'" />
<img src="/static/images/lakalapay_sign.png" uib-tooltip="LakalaPay"
ng-if="trade.channel=='LakalaPay'" />
<img src="/static/images/alipay_sign.png" style="height: 20px" uib-tooltip="Alipay CN"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_cn'" />
<img src="/static/images/alipay_sign.png" style="height: 20px" uib-tooltip="Alipay SG"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_sg'" />
<img src="/static/images/alipay_sign.png" style="height: 20px" uib-tooltip="Alipay MO"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_mo'" />
<img src="/static/images/alipay-hk.png" style="height: 20px" uib-tooltip="Alipay HK/支付宝香港"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_hk'" />
<img src="/static/images/alipay_sign.png" style="height: 20px" uib-tooltip="Alipay LU"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_lu'" />
<img src="/static/images/alipay_sign.png" style="height: 20px" uib-tooltip="Alipay GB"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_gb'" />
<img src="/static/images/alipay_sign.png" style="height: 20px" uib-tooltip="Alipay US"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_us'" />
<img src="/static/images/paytm-logo.png" style="height: 20px" uib-tooltip="Patytm Wallet"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='paytm'" />
<img src="/static/images/kakaopay.png" style="height: 20px" uib-tooltip="Kakao Pay"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='kakaopay'" />
<img src="/static/images/truemoney-logo.png" style="height: 20px" uib-tooltip="TrueMoney"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='truemoney'" />
<img src="/static/images/ezlink-logo.png" style="height: 20px" uib-tooltip="EZLINK"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='ezlink'" />
<img src="/static/images/gcash-logo.png" style="height: 20px" uib-tooltip="GCash"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='gcash'" />
<img src="/static/images/TNGeWalletLogo.png" style="height: 20px" uib-tooltip="TNG"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='tng'" />
<img src="/static/images/dana-wallet-logo.png" style="height: 20px"
uib-tooltip="Dana Wallet"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='dana'" />
<img src="/static/images/easypasia-logo.png" style="height: 20px" uib-tooltip="EasyPasia"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='easy_paisa'" />
<img src="/static/images/bkash-logo.png" style="height: 20px" uib-tooltip="bKash Wallet"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='bkash'" />
<img src="/static/images/lazada-logo.png" style="height: 20px" uib-tooltip="Lazada Wallet"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='lazada_wallet_my'" />
{{trade.order_id}}
</td>
<td>
@ -383,7 +445,8 @@
<td ng-bind="trade.display_amount|currency:trade.currency"></td>
<td ng-bind="trade.clearing_amount|currency:'AUD '"></td>
<td>
<span ng-if="(trade.channel!='hf') && (trade.channel!='Rpay')" ng-bind="trade.exchange_rate"></span>
<span ng-if="(trade.channel!='hf') && (trade.channel!='Rpay')"
ng-bind="trade.exchange_rate"></span>
<span ng-if="(trade.channel=='hf') || (trade.channel=='Rpay')"> - </span>
</td>
<td ng-bind="trade.status|tradeStatus"></td>
@ -393,9 +456,9 @@
<a role="button" class="text-bold" ng-click="showTradeDetail(trade)" title="Detail">
<i class="fa fa-list-alt"></i>
</a>
<a role="button" ng-if="trade.status>=5 && trade.confirm_time!=null && trade.clearing_status<2 && ('do_refund'|withFunc)"
class="text-bold text-danger"
ng-click="newRefund(trade.order_id)" title="Refund">
<a role="button"
ng-if="trade.status>=5 && trade.confirm_time!=null && trade.clearing_status<2 && ('do_refund'|withFunc)"
class="text-bold text-danger" ng-click="newRefund(trade.order_id)" title="Refund">
<i class="fa fa-undo"></i>
</a>
</td>
@ -403,17 +466,9 @@
</tbody>
</table>
</div>
<uib-pagination ng-if="tradeLogs.length"
class="pagination"
total-items="pagination.totalCount"
boundary-links="true"
ng-model="pagination.page"
items-per-page="pagination.limit"
max-size="10"
ng-change="loadTradeLogs()"
previous-text="&lsaquo;"
next-text="&rsaquo;"
first-text="&laquo;"
<uib-pagination ng-if="tradeLogs.length" class="pagination" total-items="pagination.totalCount"
boundary-links="true" ng-model="pagination.page" items-per-page="pagination.limit" max-size="10"
ng-change="loadTradeLogs()" previous-text="&lsaquo;" next-text="&rsaquo;" first-text="&laquo;"
last-text="&raquo;"></uib-pagination>
<div class="col-xs-12">Total Records:{{pagination.totalCount}};Total Pages:{{pagination.totalPages}}</div>
</div>

@ -218,21 +218,21 @@
<label class="col-xs-6 control-label">Alipay|支付宝</label>
<div class="col-xs-6">
<input type="checkbox" ng-model="paymentInfo.enable_alipay" bs-switch
switch-change="toggleChannel('alipay')">
ng-change="toggleChannel('alipay')">
</div>
</div>
<div class="form-group col-sm-4">
<label class="col-xs-6 control-label">WeChat|微信</label>
<div class="col-xs-6">
<input type="checkbox" ng-model="paymentInfo.enable_wechat" bs-switch
switch-change="toggleChannel('wechat')">
ng-change="toggleChannel('wechat')">
</div>
</div>
<div class="form-group col-sm-4">
<label class="col-xs-6 control-label">CB BankPay|快捷支付</label>
<div class="col-xs-6">
<input type="checkbox" ng-model="paymentInfo.enable_cb_bankpay" bs-switch
switch-change="toggleChannel('cb_bankpay')">
ng-change="toggleChannel('cb_bankpay')">
</div>
</div>
@ -240,17 +240,23 @@
<label class="col-xs-6 control-label">Card Payment|银行卡支付</label>
<div class="col-xs-6">
<input type="checkbox" ng-model="paymentInfo.enable_rpaypmt_card" bs-switch
switch-change="toggleChannel('rpaypmt_card')">
ng-change="toggleChannel('rpaypmt_card')">
</div>
</div>
<div class="form-group col-sm-4">
<label class="col-xs-6 control-label">Direct Debit|银行账户支付</label>
<div class="col-xs-6">
<input type="checkbox" ng-model="paymentInfo.enable_rpaypmt_dd" bs-switch
switch-change="toggleChannel('rpaypmt_dd')">
ng-change="toggleChannel('rpaypmt_dd')">
</div>
</div>
<div class="form-group col-sm-4">
<label class="col-xs-6 control-label">Alipay+|支付宝</label>
<div class="col-xs-6">
<input type="checkbox" ng-model="paymentInfo.enable_alipayplus" bs-switch
ng-change="toggleChannel('alipayplus')">
</div>
</div>
</div>
</div>
</div>
@ -370,6 +376,14 @@
</p>
</div>
</div>
<div class="form-group" ng-if="paymentInfo.enable_alipayplus">
<label class="col-sm-2 control-label">Alipay Channel</label>
<div class="col-sm-10">
<input type="checkbox" ng-model="paymentInfo.alipay_payment_channels" bs-switch
data-on-text="Alipay+" data-off-text="Alipay" data-off-color="primary"
ng-change="setAlipayChannel()">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">Gateway Credential</label>
<div class="col-sm-10">

@ -9,23 +9,28 @@
.i-rotate_90 {
animation: rotate_90 1s forwards;
-webkit-animation: rotate_90 1s forwards; /* Safari and Chrome */
-webkit-animation: rotate_90 1s forwards;
/* Safari and Chrome */
}
@keyframes rotate_90 {
from {
transform: rotate(0deg);
}
to {
transform: rotate(90deg);
}
}
@-webkit-keyframes rotate_90 /* Safari and Chrome */
@-webkit-keyframes rotate_90
/* Safari and Chrome */
{
from {
-webkit-transform: rotate(0deg);
}
to {
-webkit-transform: rotate(90deg);
}
@ -78,6 +83,7 @@
.line_height_ {
line-height: 22px;
}
.white_content {
display: none;
position: absolute;
@ -89,30 +95,31 @@
z-index: 1002;
overflow: auto;
}
.white_content::-webkit-scrollbar:vertical {
width: 11px;
}
/*定义滚动条高宽及背景
高宽分别对应横竖滚动条的尺寸*/
.white_content::-webkit-scrollbar
{
.white_content::-webkit-scrollbar {
-webkit-appearance: none;
width: 16px;
height: 16px;
background-color: #F5F5F5;
}
/*定义滚动条轨道
内阴影+圆角*/
.white_content::-webkit-scrollbar-track
{
.white_content::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
border-radius: 10px;
background-color: #F5F5F5;
}
/*定义滑块
内阴影+圆角*/
.white_content::-webkit-scrollbar-thumb
{
.white_content::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
background-color: #555;
@ -154,8 +161,7 @@
</label>
<div class="col-sm-4 col-xs-8">
<input class="form-control" placeholder="Keyword"
ng-enter="loadTradeLogs(1)"
ng-model="params.searchText">
ng-enter="loadTradeLogs(1)" ng-model="params.searchText">
</div>
</div>
<div class="form-group col-xs-12">
@ -208,12 +214,18 @@
ng-class="{'bg-primary':params.channel=='ALIPAYONLINE'}"
ng-click="params.channel='ALIPAYONLINE';loadTradeLogs(1)">AlipayOnline</a>
|
<a role="button" ng-class="{'bg-primary':params.channel=='ALIPAYPLUS'}"
ng-click="params.channel='ALIPAYPLUS';loadTradeLogs(1)">Alipay+</a>
|
<a role="button" ng-class="{'bg-primary':params.channel=='RPAY'}"
ng-click="params.channel='RPAY';loadTradeLogs(1)">RPay+</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='RPAYPMT_CARD'}"
ng-click="params.channel='RPAYPMT_CARD';loadTradeLogs(1)">Card Payment</a> |
<a role="button"
ng-class="{'bg-primary':params.channel=='RPAYPMT_CARD'}"
ng-click="params.channel='RPAYPMT_CARD';loadTradeLogs(1)">Card
Payment</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='RPAYPMT_DD'}"
ng-click="params.channel='RPAYPMT_DD';loadTradeLogs(1)">Direct Debit</a>
ng-click="params.channel='RPAYPMT_DD';loadTradeLogs(1)">Direct
Debit</a>
</p>
</div>
</div>
@ -280,17 +292,17 @@
<div class="form-control-static form-inline">
<div style="display: inline-block">
<input class="form-control" id="date-from-input"
ng-model="params.datefrom"
uib-datepicker-popup size="10" placeholder="From"
is-open="dateBegin.open" ng-click="dateBegin.open=true"
ng-model="params.datefrom" uib-datepicker-popup size="10"
placeholder="From" is-open="dateBegin.open"
ng-click="dateBegin.open=true"
datepicker-options="{maxDate:params.dateto||today}">
</div>
~
<div style="display: inline-block">
<input class="form-control" id="date-to-input"
ng-model="params.dateto"
uib-datepicker-popup size="10" placeholder="To"
is-open="dateTo.open" ng-click="dateTo.open=true"
ng-model="params.dateto" uib-datepicker-popup size="10"
placeholder="To" is-open="dateTo.open"
ng-click="dateTo.open=true"
datepicker-options="{minDate:params.datefrom,maxDate:today}">
</div>
@ -337,11 +349,15 @@
<p class="form-control-static" ng-if="clients.length>=20">
<a role="button" ng-class="{'bg-primary':isAll}"
ng-click="chooseClient('all')">All</a>
<label ng-click="checkSubClientChoseShow('');choseDivStopPropagation($event)" style="cursor: pointer;">
<input ng-model="choseSubClientNow" style="border:none;cursor: pointer;" readonly>
<label
ng-click="checkSubClientChoseShow('');choseDivStopPropagation($event)"
style="cursor: pointer;">
<input ng-model="choseSubClientNow"
style="border:none;cursor: pointer;" readonly>
</label>
</p>
<div id="light" class="white_content" ng-if="more20ChoseSubClient" style="display: block;" ng-click="choseDivStopPropagation($event)">
<div id="light" class="white_content" ng-if="more20ChoseSubClient"
style="display: block;" ng-click="choseDivStopPropagation($event)">
<div class="row">
<div class="form-group col-xs-12">
<div class="col-sm-8 col-xs-8">
@ -349,14 +365,17 @@
ng-model="subSearchText">
</div>
<div class="col-sm-3">
<button class="btn btn-success" type="button" ng-click="searchSubClients(subSearchText,1)">
<button class="btn btn-success" type="button"
ng-click="searchSubClients(subSearchText,1)">
<i class="fa fa-search"></i> Search
</button>
</div>
</div>
<div class="col-sm-12 table-responsive">
<div class="col-sm-6" style="padding: 0 2px">
<table class="table table-bordered table-striped table-hover" style="padding: 6px">
<table
class="table table-bordered table-striped table-hover"
style="padding: 6px">
<thead>
<tr>
<th>Partner Code</th>
@ -366,12 +385,14 @@
</thead>
<tbody>
<tr ng-repeat="subPartner in subClientTable1">
<td ng-click="showClient(subPartner); toShow = !toShow" style="cursor:pointer">
<td ng-click="showClient(subPartner); toShow = !toShow"
style="cursor:pointer">
{{subPartner.client_moniker}}
</td>
<td ng-bind="subPartner.short_name"></td>
<td>
<button role="button" class="btn btn-info" title="Add Search"
<button role="button" class="btn btn-info"
title="Add Search"
style="padding: 1px 6px;"
ng-click="chooseClient(subPartner);checkSubClientChoseShow(subPartner)">
<i class="fa fa-plus"></i>
@ -382,7 +403,9 @@
</table>
</div>
<div class="col-sm-6" style="padding: 0 2px">
<table class="table table-bordered table-striped table-hover" style="padding: 6px">
<table
class="table table-bordered table-striped table-hover"
style="padding: 6px">
<thead>
<tr>
<th>Partner Code</th>
@ -392,12 +415,14 @@
</thead>
<tbody>
<tr ng-repeat="subPartner in subClientTable2">
<td ng-click="showClient(subPartner); toShow = !toShow" style="cursor:pointer">
<td ng-click="showClient(subPartner); toShow = !toShow"
style="cursor:pointer">
{{subPartner.client_moniker}}
</td>
<td ng-bind="subPartner.short_name"></td>
<td>
<button role="button" class="btn btn-info" title="Add Search"
<button role="button" class="btn btn-info"
title="Add Search"
style="padding: 1px 6px;"
ng-click="chooseClient(subPartner);checkSubClientChoseShow(subPartner)">
<i class="fa fa-plus"></i>
@ -408,27 +433,26 @@
</table>
</div>
</div>
<div class="box-footer" ng-if="clients.length" style="float: right;">
<div class="box-footer" ng-if="clients.length"
style="float: right;">
<uib-pagination class="pagination"
total-items="subClientPagination.totalCount"
boundary-links="true"
ng-model="subClientPagination.page"
items-per-page="subClientPagination.limit"
max-size="10"
boundary-links="true" ng-model="subClientPagination.page"
items-per-page="subClientPagination.limit" max-size="10"
ng-change="searchSubClients('',subClientPagination.page)"
previous-text="&lsaquo;"
next-text="&rsaquo;"
first-text="&laquo;"
last-text="&raquo;"></uib-pagination>
previous-text="&lsaquo;" next-text="&rsaquo;"
first-text="&laquo;" last-text="&raquo;"></uib-pagination>
<div class="row">
<div class="col-xs-12">
Total Records:{{subClientPagination.totalCount}};Total Pages:{{subClientPagination.totalPages}}
Total Records:{{subClientPagination.totalCount}};Total
Pages:{{subClientPagination.totalPages}}
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" ng-click="checkSubClientChoseShow('')">Cancel</button>
<button type="button" class="btn btn-danger"
ng-click="checkSubClientChoseShow('')">Cancel</button>
</div>
</div>
</div>
@ -512,7 +536,8 @@
<span class="info-box-text">Input Amount</span>
<span class="info-box-number box-number_font"
ng-bind="analysis.display_amount|currency:'AUD '"></span>
<span class="small"> ( {{analysis.pre_display_amount | currency:'pre authorization '}} )</span>
<span class="small"> ( {{analysis.pre_display_amount | currency:'pre
authorization '}} )</span>
</div>
</div>
</div>
@ -609,8 +634,8 @@
<td>
<img src="/static/images/clearing-icon.png" uib-tooltip="clearing"
ng-if="trade.clearing_status=='1'" />
<i class="fa fa-check-circle-o text-danger" uib-tooltip="Refund Audition Required"
ng-if="trade.audition"></i>
<i class="fa fa-check-circle-o text-danger"
uib-tooltip="Refund Audition Required" ng-if="trade.audition"></i>
<img src="/static/images/royalpay_sign_s.png" uib-tooltip="RoyalPay"
ng-if="trade.source=='system'" />
<img src="/static/images/yangmaimai_sign.png" uib-tooltip="RP跨境商城"
@ -635,13 +660,81 @@
ng-if="trade.channel=='Yeepay'" />
<img src="/static/images/lakalapay_sign.png" uib-tooltip="LakalaPay"
ng-if="trade.channel=='LakalaPay'" />
<img src="/static/images/card_payment_sign.png"
uib-tooltip="Card Payment" ng-if="trade.channel=='rpaypmt_card'"/>
<img src="/static/images/direct_debit_sign.png"
uib-tooltip="Direct Debit" ng-if="trade.channel=='rpaypmt_dd'"/>
<img src="/static/images/card_payment_sign.png" uib-tooltip="Card Payment"
ng-if="trade.channel=='rpaypmt_card'" />
<img src="/static/images/direct_debit_sign.png" uib-tooltip="Direct Debit"
ng-if="trade.channel=='rpaypmt_dd'" />
<img src="/static/images/alipay_sign.png" style="height: 20px"
uib-tooltip="Alipay CN"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_cn'" />
<img src="/static/images/alipay_sign.png" style="height: 20px"
uib-tooltip="Alipay SG"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_sg'" />
<img src="/static/images/alipay_sign.png" style="height: 20px"
uib-tooltip="Alipay MO"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_mo'" />
<img src="/static/images/alipay-hk.png" style="height: 20px"
uib-tooltip="Alipay HK/支付宝香港"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_hk'" />
<img src="/static/images/alipay_sign.png" style="height: 20px"
uib-tooltip="Alipay LU"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_lu'" />
<img src="/static/images/alipay_sign.png" style="height: 20px"
uib-tooltip="Alipay GB"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_gb'" />
<img src="/static/images/alipay_sign.png" style="height: 20px"
uib-tooltip="Alipay US"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_us'" />
<img src="/static/images/paytm-logo.png" style="height: 20px"
uib-tooltip="Patytm Wallet"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='paytm'" />
<img src="/static/images/kakaopay.png" style="height: 20px"
uib-tooltip="Kakao Pay"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='kakaopay'" />
<img src="/static/images/truemoney-logo.png" style="height: 20px"
uib-tooltip="TrueMoney"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='truemoney'" />
<img src="/static/images/ezlink-logo.png" style="height: 20px"
uib-tooltip="EZLINK"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='ezlink'" />
<img src="/static/images/gcash-logo.png" style="height: 20px"
uib-tooltip="GCash"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='gcash'" />
<img src="/static/images/TNGeWalletLogo.png" style="height: 20px"
uib-tooltip="TNG"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='tng'" />
<img src="/static/images/dana-wallet-logo.png" style="height: 20px"
uib-tooltip="Dana Wallet"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='dana'" />
<img src="/static/images/easypasia-logo.png" style="height: 20px"
uib-tooltip="EasyPasia"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='easy_paisa'" />
<img src="/static/images/bkash-logo.png" style="height: 20px"
uib-tooltip="bKash Wallet"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='bkash'" />
<img src="/static/images/lazada-logo.png" style="height: 20px"
uib-tooltip="Lazada Wallet"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='lazada_wallet_my'" />
{{trade.order_id}}<span
ng-if="trade.source!='system' && trade.source!=null && trade.incremental_surcharge != null"><i
class="fa fa-question-circle-o" uib-tooltip-html="trade.htmlTooltip"></i></span>
class="fa fa-question-circle-o"
uib-tooltip-html="trade.htmlTooltip"></i></span>
</td>
<td>
{{trade.total_amount|currency:trade.currency+' '}}
@ -665,13 +758,14 @@
uib-tooltip-enable="{{trade.order_detail}}"></span>
</td>
<td>
<a role="button" class="text-bold" ng-click="showTradeDetail(trade)" title="Detail">
<a role="button" class="text-bold" ng-click="showTradeDetail(trade)"
title="Detail">
<i class="fa fa-list-alt"></i>
</a>
<a role="button"
ng-if="trade.clearing_status==2 && trade.client_id==currentUser.client_id"
class="text-bold text-primary"
ng-click="releasePreAuth(trade.order_id)" title="Release Pre-Authorization">
class="text-bold text-primary" ng-click="releasePreAuth(trade.order_id)"
title="Release Pre-Authorization">
<i class="fa fa-unlock-alt"></i>
</a>
<a role="button"
@ -687,17 +781,10 @@
</div>
<div class="box-footer" ng-if="tradeLogs.length">
<uib-pagination class="pagination"
total-items="pagination.totalCount"
boundary-links="true"
ng-model="pagination.page"
items-per-page="pagination.limit"
max-size="10"
ng-change="loadTradeLogs()"
previous-text="&lsaquo;"
next-text="&rsaquo;"
first-text="&laquo;"
last-text="&raquo;"></uib-pagination>
<uib-pagination class="pagination" total-items="pagination.totalCount" boundary-links="true"
ng-model="pagination.page" items-per-page="pagination.limit" max-size="10"
ng-change="loadTradeLogs()" previous-text="&lsaquo;" next-text="&rsaquo;"
first-text="&laquo;" last-text="&raquo;"></uib-pagination>
<div class="row">
<div class="col-xs-12">Total Records:{{pagination.totalCount}};Total
Pages:{{pagination.totalPages}}

@ -95,8 +95,7 @@
</label>
<div class="col-sm-4 col-xs-8">
<input class="form-control" placeholder="Keyword"
ng-enter="loadTradeLogs(1)"
ng-model="params.searchText">
ng-enter="loadTradeLogs(1)" ng-model="params.searchText">
</div>
<div class="col-sm-6 col-xs-8">
@ -192,6 +191,9 @@
ng-class="{'bg-primary':params.channel=='ALIPAYONLINE'}"
ng-click="params.channel='ALIPAYONLINE';loadTradeLogs(1)">AlipayOnline</a>
|
<a role="button" ng-class="{'bg-primary':params.channel=='ALIPAYPLUS'}"
ng-click="params.channel='ALIPAYPLUS';loadTradeLogs(1)">Alipay+</a>
|
<a role="button" ng-class="{'bg-primary':params.channel=='BESTPAY'}"
ng-click="params.channel='BESTPAY';loadTradeLogs(1)">BestPay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='JD'}"
@ -203,11 +205,15 @@
<a role="button" ng-class="{'bg-primary':params.channel=='YEEPAY'}"
ng-click="params.channel='YEEPAY';loadTradeLogs(1)">Yeepay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='LAKALAPAY'}"
ng-click="params.channel='LAKALAPAY';loadTradeLogs(1)">LakalaPay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='RPAYPMT_CARD'}"
ng-click="params.channel='RPAYPMT_CARD';loadTradeLogs(1)">Card Payment</a> |
ng-click="params.channel='LAKALAPAY';loadTradeLogs(1)">LakalaPay</a>
|
<a role="button"
ng-class="{'bg-primary':params.channel=='RPAYPMT_CARD'}"
ng-click="params.channel='RPAYPMT_CARD';loadTradeLogs(1)">Card
Payment</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='RPAYPMT_DD'}"
ng-click="params.channel='RPAYPMT_DD';loadTradeLogs(1)">Direct Debit</a>
ng-click="params.channel='RPAYPMT_DD';loadTradeLogs(1)">Direct
Debit</a>
</p>
</div>
</div>
@ -218,10 +224,12 @@
<a role="button" ng-class="{'bg-primary':params.gateway==null}"
ng-click="params.gateway=null;loadTradeLogs(1)">All</a> |
<a role="button" ng-class="{'bg-primary':gatewaySelected([0,1])}"
ng-click="params.gateway=[0,1];initGatewayChild()">Retail In-Store</a>
ng-click="params.gateway=[0,1];initGatewayChild()">Retail
In-Store</a>
|
<a role="button" ng-class="{'bg-primary':gatewaySelected([5,6])}"
ng-click="params.gateway=[5,6];loadTradeLogs(1);initGatewayChild()">Retail API</a> |
ng-click="params.gateway=[5,6];loadTradeLogs(1);initGatewayChild()">Retail
API</a> |
<a role="button" ng-class="{'bg-primary':gatewaySelected([2,7])}"
ng-click="params.gateway=[2,7];loadTradeLogs(1)">QR Code</a> |
<a role="button" ng-class="{'bg-primary':gatewaySelected([3])}"
@ -274,17 +282,17 @@
<div class="form-control-static form-inline">
<div style="display: inline-block">
<input class="form-control" id="date-from-input"
ng-model="params.datefrom"
uib-datepicker-popup size="10" placeholder="From"
is-open="dateBegin.open" ng-click="dateBegin.open=true"
ng-model="params.datefrom" uib-datepicker-popup size="10"
placeholder="From" is-open="dateBegin.open"
ng-click="dateBegin.open=true"
datepicker-options="{maxDate:params.dateto||today}">
</div>
~
<div style="display: inline-block">
<input class="form-control" id="date-to-input"
ng-model="params.dateto"
uib-datepicker-popup size="10" placeholder="To"
is-open="dateTo.open" ng-click="dateTo.open=true"
ng-model="params.dateto" uib-datepicker-popup size="10"
placeholder="To" is-open="dateTo.open"
ng-click="dateTo.open=true"
datepicker-options="{minDate:params.datefrom,maxDate:today}">
</div>
@ -364,7 +372,8 @@
<span class="info-box-text">Input Amount</span>
<span class="info-box-number box-number_font"
ng-bind="analysis.display_amount|currency:'AUD '"></span>
<span class="small"> ( {{analysis.pre_display_amount | currency:'pre authorization '}} )</span>
<span class="small"> ( {{analysis.pre_display_amount | currency:'pre
authorization '}} )</span>
</div>
</div>
</div>
@ -412,8 +421,7 @@
class="ion ion-ios-people"></i></span>
<div class="info-box-content box-content_left">
<span class="info-box-text">Merchants</span>
<span class="info-box-number box-number_font"
ng-bind="analysis.clients"></span>
<span class="info-box-number box-number_font" ng-bind="analysis.clients"></span>
</span>
</div>
</div>
@ -436,8 +444,7 @@
<div class="box-header">
<h3 class="box-title" style="display: inherit">Trade Orders
<span style="float: right;font-size: 14px;">Pre Authorization:<i class="fa fa-stop"
aria-hidden="true"
style="color: #fff2a5"></i></span>
aria-hidden="true" style="color: #fff2a5"></i></span>
</h3>
<a hidden class="pull-right text-bold" ng-if="'manual_refund_check'|withFunc" role="button"
ng-click="confirmOrders()">Manual Confirm Orders</a>
@ -461,40 +468,111 @@
<tbody>
<tr ng-repeat="trade in tradeLogs" ng-class="{warning:trade.clearing_status==2}">
<td>
<a role="button" ui-sref="partners.detail({clientMoniker:trade.client_moniker})">
<a role="button"
ui-sref="partners.detail({clientMoniker:trade.client_moniker})">
{{trade.short_name}}({{trade.client_moniker}})
</a>
</td>
<td>
<img src="/static/images/royalpay_sign_s.png"
uib-tooltip="RoyalPay" ng-if="trade.source=='system'"/>
<img src="/static/images/yangmaimai_sign.png"
uib-tooltip="RP跨境商城" ng-if="trade.source=='RP跨境商城'"/>
<img src="/static/images/wechatpay_sign.png"
uib-tooltip="WechatPay" ng-if="trade.channel=='Wechat'"/>
<img src="/static/images/wechatpay_sign.png"
uib-tooltip="Znyoo" ng-if="trade.channel=='Znyoo'"/>
<img src="/static/images/bestpay_sign.png"
uib-tooltip="BestPay" ng-if="trade.channel=='Bestpay'"/>
<img src="/static/images/alipay_sign.png"
uib-tooltip="Alipay" ng-if="trade.channel=='Alipay'"/>
<img src="/static/images/alipay_sign.png"
uib-tooltip="AlipayOnline" ng-if="trade.channel=='AlipayOnline'"/>
<img src="/static/images/jd_sign.png"
uib-tooltip="JD Pay" ng-if="trade.channel=='jd'"/>
<img src="/static/images/hf_sign.png"
uib-tooltip="HF Pay" ng-if="trade.channel=='hf'"/>
<img src="/static/images/rpayplus_sign.png"
uib-tooltip="Royal Pay" ng-if="trade.channel=='Rpay'"/>
<img src="/static/images/yeepay_sign.png"
uib-tooltip="Yeepay" ng-if="trade.channel=='Yeepay'"/>
<img src="/static/images/lakalapay_sign.png"
uib-tooltip="LakalaPay" ng-if="trade.channel=='LakalaPay'"/>
<img src="/static/images/card_payment_sign.png"
uib-tooltip="Card Payment" ng-if="trade.channel=='rpaypmt_card'"/>
<img src="/static/images/direct_debit_sign.png"
uib-tooltip="Direct Debit" ng-if="trade.channel=='rpaypmt_dd'"/>
{{trade.order_id}}<span ng-if="trade.source!='system'&& trade.source!=null && trade.incremental_surcharge != null"><i class="fa fa-question-circle-o" uib-tooltip-html="trade.htmlTooltip"></i></span>
<img src="/static/images/royalpay_sign_s.png" uib-tooltip="RoyalPay"
ng-if="trade.source=='system'" />
<img src="/static/images/yangmaimai_sign.png" uib-tooltip="RP跨境商城"
ng-if="trade.source=='RP跨境商城'" />
<img src="/static/images/wechatpay_sign.png" uib-tooltip="WechatPay"
ng-if="trade.channel=='Wechat'" />
<img src="/static/images/wechatpay_sign.png" uib-tooltip="Znyoo"
ng-if="trade.channel=='Znyoo'" />
<img src="/static/images/bestpay_sign.png" uib-tooltip="BestPay"
ng-if="trade.channel=='Bestpay'" />
<img src="/static/images/alipay_sign.png" uib-tooltip="Alipay"
ng-if="trade.channel=='Alipay'" />
<img src="/static/images/alipay_sign.png" uib-tooltip="AlipayOnline"
ng-if="trade.channel=='AlipayOnline'" />
<img src="/static/images/jd_sign.png" uib-tooltip="JD Pay"
ng-if="trade.channel=='jd'" />
<img src="/static/images/hf_sign.png" uib-tooltip="HF Pay"
ng-if="trade.channel=='hf'" />
<img src="/static/images/rpayplus_sign.png" uib-tooltip="Royal Pay"
ng-if="trade.channel=='Rpay'" />
<img src="/static/images/yeepay_sign.png" uib-tooltip="Yeepay"
ng-if="trade.channel=='Yeepay'" />
<img src="/static/images/lakalapay_sign.png" uib-tooltip="LakalaPay"
ng-if="trade.channel=='LakalaPay'" />
<img src="/static/images/card_payment_sign.png" uib-tooltip="Card Payment"
ng-if="trade.channel=='rpaypmt_card'" />
<img src="/static/images/direct_debit_sign.png" uib-tooltip="Direct Debit"
ng-if="trade.channel=='rpaypmt_dd'" />
<img src="/static/images/alipay_sign.png" style="height: 20px"
uib-tooltip="Alipay CN"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_cn'" />
<img src="/static/images/alipay_sign.png" style="height: 20px"
uib-tooltip="Alipay SG"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_sg'" />
<img src="/static/images/alipay_sign.png" style="height: 20px"
uib-tooltip="Alipay MO"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_mo'" />
<img src="/static/images/alipay-hk.png" style="height: 20px"
uib-tooltip="Alipay HK/支付宝香港"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_hk'" />
<img src="/static/images/alipay_sign.png" style="height: 20px"
uib-tooltip="Alipay LU"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_lu'" />
<img src="/static/images/alipay_sign.png" style="height: 20px"
uib-tooltip="Alipay GB"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_gb'" />
<img src="/static/images/alipay_sign.png" style="height: 20px"
uib-tooltip="Alipay US"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='alipay_ac_us'" />
<img src="/static/images/paytm-logo.png" style="height: 20px"
uib-tooltip="Patytm Wallet"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='paytm'" />
<img src="/static/images/kakaopay.png" style="height: 20px"
uib-tooltip="Kakao Pay"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='kakaopay'" />
<img src="/static/images/truemoney-logo.png" style="height: 20px"
uib-tooltip="TrueMoney"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='truemoney'" />
<img src="/static/images/ezlink-logo.png" style="height: 20px"
uib-tooltip="EZLINK"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='ezlink'" />
<img src="/static/images/gcash-logo.png" style="height: 20px"
uib-tooltip="GCash"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='gcash'" />
<img src="/static/images/TNGeWalletLogo.png" style="height: 20px"
uib-tooltip="TNG"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='tng'" />
<img src="/static/images/dana-wallet-logo.png" style="height: 20px"
uib-tooltip="Dana Wallet"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='dana'" />
<img src="/static/images/easypasia-logo.png" style="height: 20px"
uib-tooltip="EasyPasia"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='easy_paisa'" />
<img src="/static/images/bkash-logo.png" style="height: 20px"
uib-tooltip="bKash Wallet"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='bkash'" />
<img src="/static/images/lazada-logo.png" style="height: 20px"
uib-tooltip="Lazada Wallet"
ng-if="trade.channel=='AlipayPlus' && trade.pay_type=='lazada_wallet_my'" />
{{trade.order_id}}<span
ng-if="trade.source!='system'&& trade.source!=null && trade.incremental_surcharge != null"><i
class="fa fa-question-circle-o"
uib-tooltip-html="trade.htmlTooltip"></i></span>
</td>
<td>
{{trade.total_amount|currency:trade.currency}}
@ -512,13 +590,14 @@
<td ng-bind="trade.create_time"></td>
<td ng-bind="trade.gateway|tradeGateway"></td>
<td>
<a role="button" class="text-bold" ng-click="showTradeDetail(trade)" title="Detail">
<a role="button" class="text-bold" ng-click="showTradeDetail(trade)"
title="Detail">
<i class="fa fa-list-alt"></i>
</a>
<a role="button"
ng-if="trade.status>=5 && trade.confirm_time!=null && trade.clearing_status<2 && ('do_refund'|withFunc)"
title="Refund"
class="text-bold text-danger" ng-click="newRefund(trade.order_id)">
title="Refund" class="text-bold text-danger"
ng-click="newRefund(trade.order_id)">
<i class="fa fa-undo"></i>
</a>
</td>
@ -528,17 +607,10 @@
</div>
<div class="box-body" ng-if="tradeLogs.length">
<uib-pagination class="pagination"
total-items="pagination.totalCount"
boundary-links="true"
ng-model="pagination.page"
items-per-page="pagination.limit"
max-size="10"
ng-change="loadTradeLogs()"
previous-text="&lsaquo;"
next-text="&rsaquo;"
first-text="&laquo;"
last-text="&raquo;"></uib-pagination>
<uib-pagination class="pagination" total-items="pagination.totalCount" boundary-links="true"
ng-model="pagination.page" items-per-page="pagination.limit" max-size="10"
ng-change="loadTradeLogs()" previous-text="&lsaquo;" next-text="&rsaquo;"
first-text="&laquo;" last-text="&raquo;"></uib-pagination>
<div class="row">
<div class="col-xs-12">Total Records:{{pagination.totalCount}};Total
Pages:{{pagination.totalPages}}

@ -68,7 +68,7 @@ server {
}
location ~ ^/api/v1.0/((alipay_connect)|(customs)|(alipay)|(rpay)|(yeepay)|(card_payment_view)|(lakala_pay)|(cb_bankpay)|(bestpay)|(hf)|(wechat_jsapi_gateway)|(h5_payment)|(gateway)|(hf_gateway)|(jd_gateway)|(micropay)|(retail_qrcode)|(jsapi_gateway)|(share_code)|(payment))/ {
location ~ ^/api/v1.0/((alipay\w*)|(customs)|(rpay)|(yeepay)|(card_payment_view)|(lakala_pay)|(cb_bankpay)|(bestpay)|(hf)|(\w*gateway)|(micropay)|(retail_qrcode)|(share_code)|(payment)|(h5_payment))/ {
proxy_pass http://rppaycenter;
proxy_http_version 1.1;

Loading…
Cancel
Save