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

master
yixian 3 years ago
commit 2bbabab137

@ -1,5 +1,6 @@
package au.com.royalpay.payment.manage.analysis.core.impls;
import au.com.royalpay.payment.core.mappers.MchChannelContractMapper;
import au.com.royalpay.payment.manage.analysis.core.ChannelsAnalysisService;
import au.com.royalpay.payment.manage.analysis.mappers.CustomerAndOrdersStatisticsMapper;
import com.alibaba.fastjson.JSONObject;
@ -28,6 +29,9 @@ public class ChannelsAnalysisServiceImpl implements ChannelsAnalysisService {
@Resource
private CustomerAndOrdersStatisticsMapper customerAndOrdersStatisticsMapper;
@Resource
private MchChannelContractMapper mchChannelContractMapper;
@Override
public List<JSONObject> getChannelMount(JSONObject params) {
/*if (!params.containsKey("client_ids") && !params.containsKey("org_id")){
@ -37,6 +41,7 @@ public class ChannelsAnalysisServiceImpl implements ChannelsAnalysisService {
listChannel.add(putParam(params,"Wechat"));
listChannel.add(putParam(params,"Alipay"));
listChannel.add(putParam(params,"AlipayOnline"));
listChannel.add(putParam(params,"AlipayAps"));
listChannel.add(putParam(params,"Rpay"));
listChannel.add(putParam(params,"rpaypmt_card"));
listChannel.add(putParam(params,"rpaypmt_dd"));
@ -50,7 +55,7 @@ public class ChannelsAnalysisServiceImpl implements ChannelsAnalysisService {
}
List<JSONObject> list = new ArrayList<>();
Map<Date,JSONObject> analysisMap = new TreeMap<>();
String[] channels = {"Wechat","Alipay","AlipayOnline","Rpay","rpaypmt_card","rpaypmt_dd"};
String[] channels = {"Wechat","Alipay","AlipayOnline","Rpay","rpaypmt_card","rpaypmt_dd","AlipayAps"};
for (String channel:channels){
analysisChannelCustomers(params, analysisMap, channel);
}
@ -136,7 +141,11 @@ public class ChannelsAnalysisServiceImpl implements ChannelsAnalysisService {
params.put("gateway_alipay_online", 1);
enablePartners = customerAndOrdersStatisticsMapper.countEnableChannel(params);
params.remove("gateway_alipay_online");
} else {
}
else if("AlipayAps".equals(name)){
enablePartners=mchChannelContractMapper.sumEnablePartners(name);
}
else {
params.put("enable_" + name.toLowerCase(), 1);
enablePartners = customerAndOrdersStatisticsMapper.countEnableChannel(params);
params.remove("enable_" + name.toLowerCase());

@ -985,11 +985,16 @@ public class RetailAppServiceImp implements RetailAppService {
for (JSONObject order : orders) {
order.put("geek_apply_deduction", order.getBooleanValue("geek_apply_deduction"));
Calendar calendar = (Calendar) order.get("transaction_time");
if (timezone != null) {
String tradeDate=null;
String tradeTime=null;
if (calendar!=null&&timezone != null) {
calendar.setTimeZone(TimeZone.getTimeZone(timezone));
tradeDate = DateFormatUtils.format(calendar, "yyyy-MM-dd", calendar.getTimeZone());
tradeTime = DateFormatUtils.format(calendar, "HH:mm:ss", calendar.getTimeZone());
}
if("AlipayAps".equalsIgnoreCase(order.getString("channel"))){
order.put("channel","Alipay+");
}
String tradeDate = DateFormatUtils.format(calendar, "yyyy-MM-dd", calendar.getTimeZone());
String tradeTime = DateFormatUtils.format(calendar, "HH:mm:ss", calendar.getTimeZone());
order.put("trade_date", tradeDate);
order.put("trade_time", tradeTime);
// todo

@ -553,6 +553,12 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
resolver.newOrderEnabled(client, null, PlatformEnvironment.getEnv().getForeignCurrency())) {
client.put("enable_alipayplus", true);
}
client.put("enable_alipayaps", false);
MerchantChannelPermissionResolver resolverAps = this.paymentApi.channelApi(PayChannel.ALIPAY_APS.getChannelCode()).getChannelPermissionResolver();
if (!Objects.isNull(resolver) &&
resolverAps.newOrderEnabled(client, null, PlatformEnvironment.getEnv().getForeignCurrency())) {
client.put("enable_alipayaps", true);
}
ApsConfigData apsConfig = apsConfigService.getApsConfigByClientId(client.getString("client_id"));
if (apsConfig == null) {
apsConfig = apsConfigService.saveApsConfigClientId(manager.getString("manager_id"), client.getString("client_id"), new ApsConfigDescriptor());
@ -1588,9 +1594,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
throw new NotFoundException("Client Not Exists");
}
try {
clientModifySupport.processModify(new SwitchChannelPermissionModify(manager, clientMoniker, merchantInfoProvider, paymentApi.channelApi(channel).getChannelPermissionResolver(), allow));
clientModifySupport.processModify(new SwitchChannelPermissionModify(manager, clientMoniker, merchantInfoProvider, channelApi.getChannelPermissionResolver(), allow));
} catch (Exception e) {
logger.error("Failed to change channel switch:{}", channel);
logger.error("Failed to change channel switch:{}", channel,e);
}
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))) {
@ -2503,7 +2509,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
JSONObject client = clientDetail(manager, clientMoniker);
try {
JSONObject qrboardConfig = new JSONObject();
qrboardConfig.put("src", PlatformEnvironment.getEnv().concatUrl("/static/images/aggregate_qr_board.png"));
qrboardConfig.put("src", PlatformEnvironment.getEnv().concatUrl("/static/images/aggretage_aps_board.jpg"));
qrboardConfig.put("type", "royalpay");
qrboardConfig.put("x", "835");
qrboardConfig.put("y", "1290");

@ -131,8 +131,10 @@ public class PartnerManageController {
HttpServletResponse response) throws IOException {
response.setContentType("application/octet-stream;");
response.addHeader("Content-Disposition", "attachment; filename=qr_board.jpg");
OutputStream ous = response.getOutputStream();
clientManager.writeAggregateQrCodeBoard(manager, clientMoniker, config, ous, "PC");
try(OutputStream ous = response.getOutputStream()) {
clientManager.writeAggregateQrCodeBoard(manager, clientMoniker, config, ous, "PC");
ous.flush();
}
}
@ManagerMapping(value = "/{clientMoniker}/qrcode_board/CBBankAggregate", method = RequestMethod.GET)
@ -1066,8 +1068,15 @@ public class PartnerManageController {
* @return
*/
@ManagerMapping(value = "/{clientMoniker}/apply_alipayplus", method = RequestMethod.POST, role = {ManagerRole.OPERATOR, ManagerRole.ADMIN})
public MerchantApplicationResult applyAlipayPlusMerchant(@PathVariable String clientMoniker, @RequestBody ApsMerchantApplication apsMerchantApplication, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) {
return clientManager.alipayPlusRegisterMerchant(clientMoniker,apsMerchantApplication,manager);
public JSONObject applyAlipayPlusMerchant(@PathVariable String clientMoniker, @RequestBody ApsMerchantApplication apsMerchantApplication, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) {
MerchantApplicationResult result= clientManager.alipayPlusRegisterMerchant(clientMoniker,apsMerchantApplication,manager);
JSONObject jsonObject=new JSONObject();
if(result.isSuccess()){
jsonObject.put("result",true);
}else{
jsonObject.put("result",false);
}
return jsonObject;
}
@ManagerMapping(value = "/{clientMoniker}/query/alipay_aps_online", method = RequestMethod.GET, role = {ManagerRole.OPERATOR, ManagerRole.ADMIN})

@ -26,21 +26,12 @@ app:
public-key-string: |-
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqME6KAPZcMlFuy19J+RAj34PaS6iuyjINzQvdjR808IeVQAcLdUULMEgCTSQLshC606GFoGkN5nOouoMCZQmPv9hbZSWcDHMrPNNVYuAqwk0N80FSnASNPtlucoqzVjAaqgXD88hqjODCIS/b9LWrprCA3q3aAfVQu3eQLoFM1nn9EdznCp0uVClHgLtwj1rMRkjN+4CSwOW66/RNzsgnDJMkrTlRDeJCrbdXAs0Q3MWQEQv2z1fd34U1yyY2StkHbfKAVp2cCzhSl26K3LcCooDv9VDSv3BDH58sBQ8TIprIW0EsDA4jbLXEDEKXIjqIOaC/+x8jXyRpci17ZvRowIDAQAB
pid-host: https://open-sea.alipay.com
- pid: SANDBOX_5Y2Z6G2Y6CD006410
bill-pid: ''
pid-type: APS
biz-type: RETAIL
api-prefix: /aps
private-key-string: |-
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC7Q56Mi0ESd7lIImLl/qvoHry8M1pg6qMyzzsMsHe6kMMculI7B7G2/fGpSS2JC46jZrVRb/fYf1NLehhAh1MK51md/7dEgqjkowtXIjhEQTPXwTWWkxtnb/l+KoqWtBrkOfMIef+O6QbqvveneLlCq9wMnvKNsj0p9GtUKxYUyxY8Nwuc2tf2wG2zKuh0JoRMLMRMayr7WdhAy4jatJS5pDjJqoIxyhD6X7fPleoeJgzyYSZAPgnH01TSO5ePFQZ/7SxDRC8+D5rAnefsridaabmeBQG2QWf4Gz7qPuavnZfwKzkjptj390+D0PAR3f3JCvYXTrRRUGKdVpiuuFAbAgMBAAECggEBAJrmxUjWi9494Kq1nv9HGWYpvs8i33jZvmNyHhNSCcfupSanTQv9QljvWK5ClQMO509sz0FtECQqtnjxpwwBpISZeH0EoNFwD0sJP4E1EjwLf1nSPYSvbPS0IDnn8LnWg4QUF2AEoovRYGJf0zXZ2801ohFijZr+PC/vObTm6x4IsVasse+urTpAKb1XBnkOF2eKFTM4JdRHFSl4Uk0npdPtULUEvACpsORrBVjJz1dWjIkvHeOrqv5rKR1bxuRlhiDcVoDb7oDD3KIqR93YljOI0mdXLm2DuboGEpj0yKZYU+RaPWxMOErRT99UIAAVpPDVjGKZdt95K6BrWoqxq7kCgYEA5bzUMCM6/0jLt/kmuwkOF+zckz4DLtWFlosGrf658of9PQIvjkZbun3TcpJ2aQ8g7k2qFAUvwc5Uy5G0lW+uCIRA7zcKd2Rz4Rb4Q8qgI+9bIOuDjmvg36zOvqg3xuepoYq/2jcFGR+cBFGpbEu0VWESW3vytDsMosDp4xYkvt0CgYEA0KvSnx9ZqNHINQJCTgLd+mWbEv4lTSDXwi/OBtS8O7tTQRw73OkpOXobXv/vhTV4KimPOWTFFSEZcY7Rl0eyFV7rQD+gIioTCpt4m/ez/zImCv11tQWBqa/GoqZ0d0P9HPgmVjMh8Be0CVTEzGgXeOD2mcP+0WJCns/Js2s2j1cCgYEAk6EOMYjSJq4eyzA+JT6iYdmBvNTCstvfJmhceH8R+rpMj2HSMXkhBOxKbnuTv9tK7BfYTVkv4Ti34MDW7JiBm1NxbsdN4H8av/BExTt2QOFVDAiL13+XV+TyTi5G+Xhw1zAULSPiEMzxMw1O9BqJ3butUkCKLCst6YBSS+0027kCgYEAn+BFiyzV4QZ5wkNs0aBYupRGcBLQOXvEUz+VNp6faZRogSZEp0jtEOCBQBQPS5xf6M3Wsj6G0V1+xQaLhsCjrMQAskUNR5+83w+nJLhv7EJb62euW3dQlNXb9ppZ+VbaAuwNU1Xx1qYShmOwNHw8H50c00rbXUlPiaXh/9lRABkCgYBC9cIcIEutg3hmOlGrRVSSNnuYVO2MuLAIK1KnQftpZHZ+euuCnhPaoC3ZOtenWoBwgS6qV4Mpxq30qcc/mUouErpqUcrNxawlVgWjTSwNd6rT2MBg1lcOxpqsR9ZWolBp4nHvnbLxhI+2KiXpRV9Y8Gbkw1jI8/tMYcSEJsOfEA==
public-key-string: |-
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqME6KAPZcMlFuy19J+RAj34PaS6iuyjINzQvdjR808IeVQAcLdUULMEgCTSQLshC606GFoGkN5nOouoMCZQmPv9hbZSWcDHMrPNNVYuAqwk0N80FSnASNPtlucoqzVjAaqgXD88hqjODCIS/b9LWrprCA3q3aAfVQu3eQLoFM1nn9EdznCp0uVClHgLtwj1rMRkjN+4CSwOW66/RNzsgnDJMkrTlRDeJCrbdXAs0Q3MWQEQv2z1fd34U1yyY2StkHbfKAVp2cCzhSl26K3LcCooDv9VDSv3BDH58sBQ8TIprIW0EsDA4jbLXEDEKXIjqIOaC/+x8jXyRpci17ZvRowIDAQAB
pid-host: https://open-sea.alipay.com
enabled: true
- pid: SANDBOX_5Y372Y2YBKQN02382
bill-pid: ''
pid-type: APS
biz-type: ONLINE
biz-types:
- ONLINE
- RETAIL
api-prefix: /aps
private-key-string: |-
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDWXsXs+dZPb/cd

@ -344,6 +344,9 @@
ifnull(sum(CASE WHEN s.channel = 'AlipayOnline' THEN s.total ELSE 0 END),0) alipayonlineamount,
ifnull(sum(CASE WHEN s.channel = 'AlipayOnline' THEN s.orders ELSE 0 END),0) alipayonline_order_count,
ifnull(COUNT(DISTINCT s.client_id,IF(s.channel = 'AlipayOnline',TRUE,NULL)),0) alipayonline_client_count,
ifnull(sum(CASE WHEN s.channel = 'AlipayAps' THEN s.total ELSE 0 END),0) alipayapsamount,
ifnull(sum(CASE WHEN s.channel = 'AlipayAps' THEN s.orders ELSE 0 END),0) alipayaps_order_count,
ifnull(COUNT(DISTINCT s.client_id,IF(s.channel = 'AlipayAps',TRUE,NULL)),0) alipayaps_client_count,
ifnull(sum(CASE WHEN s.channel = 'hf' THEN s.total ELSE 0 END),0) hfamount,
ifnull(sum(CASE WHEN s.channel = 'hf' THEN s.orders ELSE 0 END),0) hf_order_count,
ifnull(COUNT(DISTINCT s.client_id,IF(s.channel = 'hf',TRUE,NULL)),0) hf_client_count,

@ -173,7 +173,7 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
trigger: 'axis'
},
legend: {
data: ['Alipay交易金额','AlipayOnline交易金额', 'Bestpay交易金额','Wechat交易金额',"JD Pay交易金额","HF Pay交易金额","Yeepay交易金额","LakalaPay交易金额","Card Payment交易金额","Direct Debit交易金额"],
data: ['Alipay交易金额','AlipayOnline交易金额', 'Bestpay交易金额','Wechat交易金额',"JD Pay交易金额","HF Pay交易金额","Yeepay交易金额","LakalaPay交易金额","Card Payment交易金额","Direct Debit交易金额","Alipay+交易金额"],
bottom: 0,
height: '15%',
width: '80%',
@ -185,7 +185,7 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
type: 'value'
}
],
color: ['#00a0e9','#00a0e9','#FF2D96','#09bb07','#DC0808',"#FFFF33","#66ff00","#00b0ec"]
color: ['#00a0e9','#00a0e9','#FF2D96','#09bb07','#DC0808',"#FFFF33","#66ff00","#00b0ec","#8f4b2e","#87843b","#f8aba6"]
},
xAxis: {
basic: {type: 'category', boundaryGap: false},
@ -301,6 +301,17 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
yAxisIndex: 0
},
column: {key: 'rpaypmt_dd.total'}
},
{
basic: {
name: 'Alipay+交易金额',
type: 'line',
label: {normal: {show: true}},
showAllSymbols: true,
showSymbol: true,
yAxisIndex: 0
},
column: {key: 'AlipayAps.total'}
}
]
};
@ -311,7 +322,7 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
trigger: 'axis'
},
legend: {
data: ['Alipay交易订单','AlipayOnline交易订单', 'Bestpay交易订单','Wechat交易订单',"JD Pay交易订单","HF Pay交易订单","Yeepay交易订单","LakalaPay交易订单","Card Payment交易订单","Direct Debit交易订单"],
data: ['Alipay交易订单','AlipayOnline交易订单', 'Bestpay交易订单','Wechat交易订单',"JD Pay交易订单","HF Pay交易订单","Yeepay交易订单","LakalaPay交易订单","Card Payment交易订单","Direct Debit交易订单","Alipay+交易订单"],
bottom: 0,
height: '15%',
width: '80%',
@ -323,7 +334,7 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
type: 'value'
}
],
color: ['#00a0e9','00a0e9','#FF2D96','#09bb07','#DC0808',"#FFFF33","#66ff00","#00b0ec"]
color: ['#00a0e9','00a0e9','#FF2D96','#09bb07','#DC0808',"#FFFF33","#66ff00","#00b0ec","#8f4b2e","#87843b","#f8aba6"]
},
xAxis: {
basic: {type: 'category', boundaryGap: false},
@ -439,6 +450,17 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
yAxisIndex: 0
},
column: {key: 'rpaypmt_dd.orders'}
},
{
basic: {
name: 'Alipay+交易订单',
type: 'line',
label: {normal: {show: true}},
showAllSymbols: true,
showSymbol: true,
yAxisIndex: 0
},
column: {key: 'AlipayAps.orders'}
}
]
};
@ -448,7 +470,7 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
trigger: 'axis'
},
legend: {
data: ['Alipay交易客单价','AlipayOnline交易客单价', 'Bestpay交易客单价','Wechat交易客单价',"JD Pay交易客单价","HF Pay交易客单价","Yeepay交易客单价","LakalaPay交易客单价","Card Payment交易客单价","Direct Debit交易客单价"],
data: ['Alipay交易客单价','AlipayOnline交易客单价', 'Bestpay交易客单价','Wechat交易客单价',"JD Pay交易客单价","HF Pay交易客单价","Yeepay交易客单价","LakalaPay交易客单价","Card Payment交易客单价","Direct Debit交易客单价","Alipay+交易客单价"],
bottom: 0,
},
yAxis: [
@ -457,7 +479,7 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
type: 'value'
}
],
color: ['#00a0e9','#00a0e9','#FF2D96','#09bb07','#DC0808',"#FFFF33","#66ff00","#00b0ec"]
color: ['#00a0e9','#00a0e9','#FF2D96','#09bb07','#DC0808',"#FFFF33","#66ff00","#00b0ec","#8f4b2e","#87843b","#f8aba6"]
},
xAxis: {
basic: {type: 'category', boundaryGap: false},
@ -573,6 +595,17 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', '
yAxisIndex: 0
},
column: {key: 'rpaypmt_dd.single_amount'}
},
{
basic: {
name: 'Alipay+交易客单价',
type: 'line',
label: {normal: {show: true}},
showAllSymbols: true,
showSymbol: true,
yAxisIndex: 0
},
column: {key: 'AlipayAps.single_amount'}
}
]
};

@ -140,8 +140,10 @@
</thead>
<tbody>
<tr ng-repeat="channels in countChannels |orderBy:'total':true">
<td style="text-align: center;font-style: italic;font-size: larger"
<td style="text-align: center;font-style: italic;font-size: larger" ng-if="channels.channel!='AlipayAps'"
ng-bind="channels.channel"></td>
<td style="text-align: center;font-style: italic;font-size: larger" ng-if="channels.channel=='AlipayAps'"
>Alipay+</td>
<td ng-bind="channels.total"></td>
<td ng-bind="channels.order"></td>
<td ng-bind="channels.transaction_partners"></td>
@ -159,21 +161,21 @@
<div class="box box-warning">
<div class="box-header with-border">交易总金额变化趋势</div>
<div class="box-body">
<div class="chart" echarts="channel_total_chart" style="height: 300px"
<div class="chart" echarts="channel_total_chart" style="height: 330px"
ng-class="{nodata:channel_total_chart.nodata}"></div>
</div>
</div>
<div class="box box-warning">
<div class="box-header with-border">订单数变化趋势</div>
<div class="box-body">
<div class="chart" echarts="channel_order_chart" style="height: 300px"
<div class="chart" echarts="channel_order_chart" style="height: 330px"
ng-class="{nodata:channel_order_chart.nodata}"></div>
</div>
</div>
<div class="box box-warning">
<div class="box-header with-border">客单价变化趋势</div>
<div class="box-body">
<div class="chart" echarts="channel_single_amount_chart" style="height: 300px"
<div class="chart" echarts="channel_single_amount_chart" style="height: 330px"
ng-class="{nodata:channel_single_amount_chart.nodata}"></div>
</div>
</div>

@ -85,6 +85,8 @@ Ye<style>
ng-click="params.channel='ALIPAY';doAnalysis(1)">Alipay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='AlipayOnline'}"
ng-click="params.channel='AlipayOnline';doAnalysis(1)">AlipayOnline</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='AlipayAps'}"
ng-click="params.channel='AlipayAps';doAnalysis(1)">Alipay+</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='BESTPAY'}"
ng-click="params.channel='BESTPAY';doAnalysis(1)">BestPay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='jd'}"

@ -95,6 +95,8 @@
ng-click="params.channel='ALIPAY';doAnalysis(1)">Alipay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='AlipayOnline'}"
ng-click="params.channel='AlipayOnline';doAnalysis(1)">AlipayOnline</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='AlipayAps'}"
ng-click="params.channel='AlipayAps';doAnalysis(1)">Alipay+</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='BESTPAY'}"
ng-click="params.channel='BESTPAY';doAnalysis(1)">BestPay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='jd'}"

@ -95,6 +95,8 @@
ng-click="params.channel='ALIPAY';doAnalysis(1)">Alipay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='AlipayOnline'}"
ng-click="params.channel='AlipayOnline';doAnalysis(1)">AlipayOnline</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='AlipayAps'}"
ng-click="params.channel='AlipayAps';doAnalysis(1)">Alipay+</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='BESTPAY'}"
ng-click="params.channel='BESTPAY';doAnalysis(1)">BestPay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='jd'}"

@ -97,6 +97,8 @@
ng-click="params.channel='ALIPAY';doAnalysis(1)">Alipay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='AlipayOnline'}"
ng-click="params.channel='AlipayOnline';doAnalysis(1)">AlipayOnline</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='AlipayAps'}"
ng-click="params.channel='AlipayAps';doAnalysis(1)">Alipay+</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='BESTPAY'}"
ng-click="params.channel='BESTPAY';doAnalysis(1)">BestPay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='jd'}"
@ -289,6 +291,17 @@
</div>
</div>
</div>
<div class="col-sm-2 col-xs-6">
<div class="description-block">
<div class="description-header text-bold"><small><img src="/static/images/alipay_sign.png"/>Alipay+</small></div>
<div class="description-text">
<label class="description-text text-red"
ng-bind="totalChannelAmount.alipayapsamount|currency: ' $ '"></label></br>
<label class="description-text text-red">交易笔数:{{ totalChannelAmount.alipayaps_order_count }}</label>
<label class="description-text text-red">交易商户数:{{ totalChannelAmount.alipayaps_client_count }}</label>
</div>
</div>
</div>
</div>
<!--<table class="table">
<tr>

@ -35,6 +35,8 @@
ng-click="params.channel='ALIPAY';loadTradeLogs()">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=='AlipayAps'}"
ng-click="params.channel='AlipayAps';loadTradeLogs(1)">Alipay+</a>|
<a role="button" ng-class="{'bg-primary':params.channel=='BESTPAY'}"
ng-click="params.channel='BESTPAY';loadTradeLogs()">BestPay</a> |
<a role="button" ng-class="{'bg-primary':params.channel=='jd'}"

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 KiB

@ -7392,8 +7392,8 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
if ($scope.subMerchantInfo.business_structure) {
$scope.subMerchantInfo.businessType = $scope.subMerchantInfo.business_structure != 'Registered body(Sole Trader)' ? 'ENTERPRISE' : 'INDIVIDUAL'
}
$scope.subMerchantInfo.shareholderName = $scope.subMerchantInfo.representativeInfo.representative_person;
$scope.subMerchantInfo.representativeName = $scope.subMerchantInfo.representativeInfo.representative_person;
$scope.subMerchantInfo.shareholderName = $scope.subMerchantInfo.representativeInfo?$scope.subMerchantInfo.representativeInfo.representative_person:"";
$scope.subMerchantInfo.representativeName = $scope.subMerchantInfo.representativeInfo?$scope.subMerchantInfo.representativeInfo.representative_person:"";
$scope.subMerchantInfo.storeAddress = $scope.subMerchantInfo.address;
$scope.subMerchantInfo.registrationNo = $scope.subMerchantInfo.acn ? $scope.subMerchantInfo.acn : $scope.subMerchantInfo.abn;
$scope.subMerchantInfo.storeMCC = $scope.subMerchantInfo.alipayindustry;
@ -7455,7 +7455,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter
$http.post('/sys/partners/' + $scope.subMerchantInfo.client_moniker + '/apply_alipayplus', params).then(
function (resp) {
if (resp.data.success) {
if (resp.data.result) {
commonDialog.alert({title: 'Success', content: "注册成功!", type: 'success'})
} else {
commonDialog.alert({title: 'Error', content: "注册失败!", type: 'error'})

@ -43,7 +43,7 @@
<div class="form-group"
ng-class="{'has-error':partnerForm.alipay_category.$invalid && partnerForm.alipay_category.$dirty}">
<label class="control-label col-sm-4"
for="alipay_category">*Alipay Category</label>
for="alipay_category">* Merchant MCC</label>
<div class="col-sm-8" >
<input class="form-control" id="alipay_category" required
name="alipay_category" readonly

@ -67,7 +67,7 @@
</p>
<p class="col-md-12">
<a ng-href="/client/partner_info/qrcode_board/aggregate?currency={{qrConfig.currency}}&preauth={{qrConfig.preauth==true}}&qrcode={{qrConfig.qrcode==true}}&customerrate={{qrConfig.customerrate==true}}"
target="_blank"><i class="fa fa-download"></i>Download Aggregate QR Board Image (聚合支付水晶立牌:支持支付宝、微信、翼支付)
target="_blank"><i class="fa fa-download"></i>Download Aggregate QR Board Image (聚合支付水晶立牌:支持支付宝、微信、A+)
</a>
</p>
</div>

@ -144,8 +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=='ALIPAYAPS'}"
ng-click="params.channel='ALIPAYAPS';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'}"

@ -245,12 +245,10 @@
<img src="/static/images/alipay_online.png" style="width: 16px;height: 16px;"
uib-tooltip="AlipayPlus" />
<h5 style="margin-left: 5px;">
AlipayPlus(Retail) : <span ng-bind="partnerInfo.ali_sub_merchant_id"></span>
<span ng-if="!partnerInfo.ali_sub_merchant_id">none</span>
Alipay+(Retail) : <span ng-bind="partnerInfo.client_moniker"></span>
<span ng-if="!partnerInfo.client_moniker">none</span>
</h5>
<a role="button"
ng-click="modifySubMerchantId(partnerInfo.ali_sub_merchant_id,'AlipayPlus')"
style="margin-left: 5px;"><i class="fa fa-edit"></i></a>
</div>
<div>
@ -286,12 +284,10 @@
<img src="/static/images/alipay_online.png" style="width: 16px;height: 16px;"
uib-tooltip="AlipayPlus" />
<h5 style="margin-left: 5px;">
AlipayPlus(Online) : <span ng-bind="partnerInfo.ali_sub_merchant_id"></span>
<span ng-if="!partnerInfo.ali_sub_merchant_id">none</span>
Alipay+(Online) : <span ng-bind="partnerInfo.client_moniker"></span>
<span ng-if="!partnerInfo.client_moniker">none</span>
</h5>
<a role="button"
ng-click="modifySubMerchantId(partnerInfo.ali_sub_merchant_id,'AlipayPlus')"
style="margin-left: 5px;"><i class="fa fa-edit"></i></a>
</div>
<div>

@ -154,6 +154,10 @@
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=='ALIPAYAPS'}"
ng-click="params.channel='ALIPAYAPS';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'}"

@ -155,6 +155,10 @@
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=='ALIPAYAPS'}"
ng-click="params.channel='ALIPAYAPS';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'}"

@ -135,6 +135,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=='ALIPAYAPS'}"
ng-click="params.channel='ALIPAYAPS';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'}"

@ -214,8 +214,8 @@
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=='ALIPAYPAPS'}"
ng-click="params.channel='ALIPAYPAPS';loadTradeLogs(1)">Alipay+</a>
|
<a role="button" ng-class="{'bg-primary':params.channel=='RPAY'}"
ng-click="params.channel='RPAY';loadTradeLogs(1)">RPay+</a> |

@ -191,8 +191,8 @@
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=='ALIPAYAPS'}"
ng-click="params.channel='ALIPAYAPS';loadTradeLogs(1)">Alipay+</a>
|
<a role="button" ng-class="{'bg-primary':params.channel=='BESTPAY'}"
ng-click="params.channel='BESTPAY';loadTradeLogs(1)">BestPay</a> |

@ -258,14 +258,14 @@ $(function () {
data.qrcodeVersion = window.qrcodeVersion;
$.ajax({
url: '/api/v1.0/alipay/partners/' + window.client_moniker + '/orders',
url: '/api/v1.0/alipay_aps/partners/' + window.client_moniker + '/orders',
method: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
dataType: 'json',
success: function (pay) {
if (pay.direct_paid) {
location.href = '/api/v1.0/alipay/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result';
location.href = '/api/v1.0/alipay_aps/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result';
return;
}
if (pay.mweb_url){
@ -294,7 +294,7 @@ $(function () {
},
closeCurrentApp: false
});
startCheckOrder(pay.order_id, '/api/v1.0/alipay/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result');
startCheckOrder(pay.order_id, '/api/v1.0/alipay_aps/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result');
} else if (res.resultCode == '6001') {
//do nothing
} else {

@ -303,14 +303,14 @@ $(function () {
data.coupons = dataCache.coupons;
data.qrcodeVersion = window.qrcodeVersion;
$.ajax({
url: '/api/v1.0/alipay/partners/' + window.client_moniker + '/orders',
url: '/api/v1.0/alipay_aps/partners/' + window.client_moniker + '/orders',
method: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
dataType: 'json',
success: function (pay) {
if (pay.direct_paid) {
location.href = '/api/v1.0/alipay/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result';
location.href = '/api/v1.0/alipay_aps/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result';
return;
}
if (pay.mweb_url){
@ -339,7 +339,7 @@ $(function () {
},
closeCurrentApp: false
});
startCheckOrder(pay.order_id, '/api/v1.0/alipay/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result');
startCheckOrder(pay.order_id, '/api/v1.0/alipay_aps/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result');
} else if (res.resultCode == '6001') {
//do nothing
} else {

@ -266,14 +266,14 @@ $(function () {
data.coupons = dataCache.coupons;
data.qrcodeVersion = window.qrcodeVersion;
$.ajax({
url: '/api/v1.0/alipay/partners/' + window.client_moniker + '/orders',
url: '/api/v1.0/alipay_aps/partners/' + window.client_moniker + '/orders',
method: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
dataType: 'json',
success: function (pay) {
if (pay.direct_paid) {
location.href = '/api/v1.0/alipay/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result';
location.href = '/api/v1.0/alipay_aps/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result';
return;
}
if (pay.mweb_url){
@ -302,7 +302,7 @@ $(function () {
},
closeCurrentApp: false
});
startCheckOrder(pay.order_id, '/api/v1.0/alipay/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result');
startCheckOrder(pay.order_id, '/api/v1.0/alipay_aps/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result');
} else if (res.resultCode == '6001') {
//do nothing
} else {

@ -68,4 +68,19 @@ body{
.alipay .royal-pay-btn{
background: #108ee9;
}
.alipayaps-pay-brands {
text-align: center;
line-height: 20px;
font-size: 24px;
margin-top: 64px;
color: #dddddd;
}
.alipayaps-pay-brands img {
height: 18px;
}
.alipayaps-pay-brands img.alipayaps-logo {
height: 14px;
}
Loading…
Cancel
Save