From bdb3ed6b14d2c994de889da766eaf79d4b8884c4 Mon Sep 17 00:00:00 2001 From: luoyang Date: Tue, 18 Jun 2019 10:10:01 +0800 Subject: [PATCH 01/20] =?UTF-8?q?add=20=E9=9D=9E=E4=B8=BB=E6=B5=81?= =?UTF-8?q?=E6=B8=A0=E9=81=93=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/CustomersAnalysisService.java | 2 + .../impls/CustomersAnalysisServiceImp.java | 19 ++ .../CustomerAndOrdersStatisticsMapper.java | 4 + .../web/CustomersAnalysisController.java | 15 ++ .../CustomerAndOrdersStatisticsMapper.xml | 39 ++++ src/main/ui/manage.html | 5 + .../cbbank_channel_trans_analysis.html | 201 ++++++++++++++++++ .../transaction/analysis-transaction.js | 73 +++++++ .../ui/static/menu/templates/main_menu.html | 10 + 9 files changed, 368 insertions(+) create mode 100644 src/main/ui/static/analysis/templates/cbbank_channel_trans_analysis.html diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/CustomersAnalysisService.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/CustomersAnalysisService.java index 71f667ef9..38ab29857 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/CustomersAnalysisService.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/CustomersAnalysisService.java @@ -13,6 +13,8 @@ public interface CustomersAnalysisService { JSONObject getChannelAmountAnalysis(JSONObject params); + JSONObject getCBBankChannelAmountAnalysis(JSONObject params); + JSONObject getCustomersRanking(JSONObject params, int page, int limit); JSONObject getCustomersTotal(JSONObject params); diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/CustomersAnalysisServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/CustomersAnalysisServiceImp.java index 6f35bd105..805e0fa52 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/CustomersAnalysisServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/CustomersAnalysisServiceImp.java @@ -28,6 +28,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.text.DateFormat; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -73,6 +74,24 @@ public class CustomersAnalysisServiceImp implements CustomersAnalysisService { return customerAndOrdersStatisticsMapper.getChannelCommonCount(params); } + @Override + public JSONObject getCBBankChannelAmountAnalysis(JSONObject params) { + JSONObject result = new JSONObject(); + List channels = new ArrayList<>(); + if (params.get("channel") == null) { + channels.add("Bestpay"); + channels.add("Yeepay"); + channels.add("Rpay"); + channels.add("hf"); + channels.add("jd"); + channels.add("LakalaPay"); + params.put("channels", channels); + } + result.put("channels", customerAndOrdersStatisticsMapper.getCBBankChannelAmount(params)); + result.put("counts", customerAndOrdersStatisticsMapper.getCBBankChannelCommonCount(params)); + return result; + } + @Override public JSONObject getCustomersRanking(JSONObject params, int page, int limit) { PageList logs = orderAnalysisMapper.listCustomersData(params, new PageBounds(page, limit, Order.formString("amount.desc"))); diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.java b/src/main/java/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.java index e651fb951..73af49846 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.java @@ -50,6 +50,10 @@ public interface CustomerAndOrdersStatisticsMapper { JSONObject getChannelCommonCount(JSONObject params); + List getCBBankChannelAmount(JSONObject params); + + JSONObject getCBBankChannelCommonCount(JSONObject params); + JSONObject getCommonCount(JSONObject params); @CountRef(".countAreaMerchantTradeAnalysis") diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/web/CustomersAnalysisController.java b/src/main/java/au/com/royalpay/payment/manage/analysis/web/CustomersAnalysisController.java index 9349bd9c9..221fd493a 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/web/CustomersAnalysisController.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/web/CustomersAnalysisController.java @@ -74,6 +74,21 @@ public class CustomersAnalysisController { return customersAnalysisService.getChannelAmountAnalysis(params); } + @ManagerMapping("/sys/cbbank_channel") + public JSONObject getCBBankChannelAnalysis(AnalysisBean analysis, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + JSONObject params = analysis.toParams(null); + if (manager.getInteger("org_id") != null) { + params.put("org_id", manager.getIntValue("org_id")); + } + if (analysis.isOnlyGroup() && ManagerRole.BD_LEADER.hasRole(manager.getIntValue("role"))) { + params.put("bd_group", manager.getString("manager_id")); + if (analysis.getGroup_bd()>0){ + params.put("bd_group_bd",analysis.getGroup_bd()); + } + } + return customersAnalysisService.getCBBankChannelAmountAnalysis(params); + } + @ManagerMapping(value = "/ranking/{openid_type}",role = ManagerRole.DEVELOPER) public JSONObject getCustomersRanking(@PathVariable int openid_type, AnalysisBean analysis, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { JSONObject params = analysis.toParams(null); diff --git a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.xml index 8f2a04ad9..ca9b3d988 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.xml @@ -364,6 +364,45 @@ + + + + + + ~ +
+ +
+ + +
+ Yesterday +
+ + + +
+ This Year +
+ + + + + + + + + +
+
CBBank 各平台交易总额 +
+ + + +
+
+
+
+
+
+
Bestpay
+
+
+ +
+ +
+
+
+
+
JD Pay
+
+
+ +
+ +
+
+
+
+
HF Pay
+
+
+ +
+
+
+
+
+ +
+
+
RPay+
+
+
+ +
+
+
+
+
+
Yeepay
+
+
+ +
+
+
+
+
+
LakalaPay
+
+
+ +
+
+
+
+
+
+
+
+
CBBank Channel logs
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Channel Name交易商户数付款金额退款金额净交易额总手续费成本手续费平台手续费
+
+
+
+ + + + diff --git a/src/main/ui/static/analysis/transaction/analysis-transaction.js b/src/main/ui/static/analysis/transaction/analysis-transaction.js index 7e4caa701..739a83e05 100644 --- a/src/main/ui/static/analysis/transaction/analysis-transaction.js +++ b/src/main/ui/static/analysis/transaction/analysis-transaction.js @@ -18,6 +18,10 @@ define(['angular', 'uiBootstrap', 'uiRouter', 'angularEcharts'], function (angul url: '/amountRangeAnalysis', templateUrl: '/static/analysis/templates/transaction_amount_Analysis.html', controller: 'transactionAmountCtrl' + }).state('cbbank_channel_trans_analysis', { + url: '/cbbanktrans_analysis', + templateUrl: '/static/analysis/templates/cbbank_channel_trans_analysis.html', + controller: 'cbbankTransAnalysisCtrl' }) }]); @@ -364,5 +368,74 @@ define(['angular', 'uiBootstrap', 'uiRouter', 'angularEcharts'], function (angul }]); + app.controller('cbbankTransAnalysisCtrl', ['$scope', '$http', '$filter', '$timeout', 'commonDialog', 'chartParser', + function ($scope, $http, $filter, $timeout, commonDialog, chartParser) { + $scope.params = {}; + $scope.today = new Date(new Date().getTime() - 24*60*60*1000); + + $scope.chooseToday = function () { + $scope.params.begin = $scope.params.end = new Date(); + $scope.doAnalysis(1); + }; + $scope.chooseYesterday = function () { + var yesterday = new Date(); + yesterday.setDate(yesterday.getDate() - 1); + $scope.params.begin = $scope.params.end = yesterday; + $scope.doAnalysis(1); + }; + $scope.chooseLast7Days = function () { + $scope.params.end = new Date(new Date().getTime() - 24*60*60*1000); + var day = new Date(); + day.setDate(day.getDate() - 8); + $scope.params.begin = day; + $scope.doAnalysis(1); + }; + $scope.thisMonth = function () { + $scope.params.end = new Date(new Date().getTime() - 24*60*60*1000); + var monthBegin = new Date(); + monthBegin.setDate(1); + $scope.params.begin = monthBegin; + $scope.doAnalysis(1); + }; + $scope.lastMonth = function () { + var monthFinish = new Date(); + monthFinish.setDate(0); + $scope.params.end = monthFinish; + var monthBegin = new Date(); + monthBegin.setDate(0); + monthBegin.setDate(1); + $scope.params.begin = monthBegin; + $scope.doAnalysis(1); + }; + $scope.thisYear = function () { + var yearFinish = new Date(new Date().getTime() - 24*60*60*1000); + $scope.params.end = yearFinish; + var currentYearFirstDate = new Date(new Date().getFullYear(), 0, 1); + $scope.params.begin = currentYearFirstDate; + $scope.doAnalysis(1); + }; + $scope.doAnalysis = function () { + if ($scope.params.channel == 'All') { + $scope.params.channel = null; + } + var params = angular.copy($scope.params); + if (params.begin) { + params.begin = $filter('date')(params.begin, 'yyyyMMdd'); + } else { + params.begin = $filter('date')(new Date(), 'yyyyMMdd'); + } + if (params.end) { + params.end = $filter('date')(params.end, 'yyyyMMdd'); + } else { + params.end = $filter('date')(new Date(), 'yyyyMMdd'); + } + + $http.get('/analysis/customers/sys/cbbank_channel', {params: params}).then(function (resp) { + $scope.ChannelAmount = resp.data.channels; + $scope.totalChannel = resp.data.counts; + }); + }; + $scope.chooseLast7Days(); + }]); return app; }); \ No newline at end of file diff --git a/src/main/ui/static/menu/templates/main_menu.html b/src/main/ui/static/menu/templates/main_menu.html index 28f4006c0..abf5be44b 100644 --- a/src/main/ui/static/menu/templates/main_menu.html +++ b/src/main/ui/static/menu/templates/main_menu.html @@ -182,6 +182,16 @@ +
From d48dd05b230872c1ce440035413f4be5570173a9 Mon Sep 17 00:00:00 2001 From: luoyang Date: Thu, 20 Jun 2019 14:27:28 +0800 Subject: [PATCH 02/20] =?UTF-8?q?fix=20=E6=8A=A5=E5=A4=8719=E5=B9=B41?= =?UTF-8?q?=E6=9C=88=E5=88=B0=E7=8E=B0=E5=9C=A8=E7=9A=84=E7=BA=BF=E4=B8=8A?= =?UTF-8?q?=E5=95=86=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../payment/manage/mappers/payment/TransactionMapper.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml index 24cf01ff6..c0f206355 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml @@ -1212,5 +1212,6 @@ From ba6b8d567684550e26c2c3b2edc7fa1e7ba4fe75 Mon Sep 17 00:00:00 2001 From: luoyang Date: Thu, 20 Jun 2019 15:53:23 +0800 Subject: [PATCH 03/20] =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../payment/manage/dev/core/impl/AliforexcelServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/AliforexcelServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/AliforexcelServiceImpl.java index b80021591..ffcd27830 100644 --- a/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/AliforexcelServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/AliforexcelServiceImpl.java @@ -226,7 +226,7 @@ public class AliforexcelServiceImpl implements AliforexcelService { private void checkPartnerInfo(JSONObject client,String type) { if ("online".equals(type)) { if (!client.containsKey("company_website") || StringUtils.isBlank(client.getString("company_website"))) { - throw new InvalidParameterException("Website cannot be empty "); + client.put("company_website", "https://www.royalpay.com.au/"); } }else { if (!client.containsKey("store_photo") && !client.containsKey("company_photo")) { From ead671cbd9e4129cf29cc15c065fefd0f688c2c9 Mon Sep 17 00:00:00 2001 From: luoyang Date: Fri, 21 Jun 2019 15:25:59 +0800 Subject: [PATCH 04/20] =?UTF-8?q?add=20=E6=94=AF=E4=BB=98=E9=A1=B5v4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/ui/static/images/pay_v4_banner.png | Bin 0 -> 219902 bytes src/main/ui/static/images/payment_page_v4.jpg | Bin 0 -> 19898 bytes .../templates/client_payment_info.html | 2 + .../templates/partner_payment_info.html | 2 + .../ui/static/templates/alipay/v4/payment.js | 487 ++++++++++++++ .../static/templates/payment/v4/payment.css | 620 ++++++++++++++++++ .../ui/static/templates/payment/v4/payment.js | 476 ++++++++++++++ 7 files changed, 1587 insertions(+) create mode 100644 src/main/ui/static/images/pay_v4_banner.png create mode 100644 src/main/ui/static/images/payment_page_v4.jpg create mode 100644 src/main/ui/static/templates/alipay/v4/payment.js create mode 100644 src/main/ui/static/templates/payment/v4/payment.css create mode 100644 src/main/ui/static/templates/payment/v4/payment.js diff --git a/src/main/ui/static/images/pay_v4_banner.png b/src/main/ui/static/images/pay_v4_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..5d87f30fa13cf9c11059b48a3f73fd14ff6d2310 GIT binary patch literal 219902 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 literal 0 HcmV?d00001 diff --git a/src/main/ui/static/images/payment_page_v4.jpg b/src/main/ui/static/images/payment_page_v4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ecedf8c94d46ceb65c05130e8e8131349b59de97 GIT binary patch literal 19898 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 Le^Wm`?(6>nPM_}u literal 0 HcmV?d00001 diff --git a/src/main/ui/static/payment/partner/templates/client_payment_info.html b/src/main/ui/static/payment/partner/templates/client_payment_info.html index 623aa5316..40573b01c 100644 --- a/src/main/ui/static/payment/partner/templates/client_payment_info.html +++ b/src/main/ui/static/payment/partner/templates/client_payment_info.html @@ -479,12 +479,14 @@ +
+
diff --git a/src/main/ui/static/payment/partner/templates/partner_payment_info.html b/src/main/ui/static/payment/partner/templates/partner_payment_info.html index c4fec4ee3..337691ee6 100644 --- a/src/main/ui/static/payment/partner/templates/partner_payment_info.html +++ b/src/main/ui/static/payment/partner/templates/partner_payment_info.html @@ -584,6 +584,7 @@ +
@@ -592,6 +593,7 @@ +
diff --git a/src/main/ui/static/templates/alipay/v4/payment.js b/src/main/ui/static/templates/alipay/v4/payment.js new file mode 100644 index 000000000..cebc20af2 --- /dev/null +++ b/src/main/ui/static/templates/alipay/v4/payment.js @@ -0,0 +1,487 @@ +/** + * Created by yixian on 2017-05-08 + */ +var num = function(obj){ + obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符 + obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字 + obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个, 清除多余的 + obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); + obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数 +}; + +$(function () { + 'use strict'; + // document.querySelector('body').addEventListener('touchmove', function(e) { + // if (!document.querySelector('.coupons').contains(e.target)) { + // e.preventDefault(); + // } + // }); + var dataCache = {price: '0', coupons: [], coupon_groups: {}}; + var exchangeRate = parseFloat(window.exchange_rate); + + if (window.AlipayJSBridge) { + AlipayJSBridge.call('hideOptionMenu'); + } else { + document.addEventListener('AlipayJSBridgeReady', function () { + AlipayJSBridge.call('hideOptionMenu'); + }, false); + } + dataCache.paying = false; + var ctrl = {}; + + $('.ff.key').bind('touchstart', function () { + if (dataCache.paying) { + return; + } + var char = $(this).attr('data-char'); + appendChar(char); + }); + + $('#audVal').bind('input porpertychange', function () { + if (dataCache.paying) { + return; + } + var char = $(this).val(); + if (parseFloat(char) > 10000) { + char = char.slice(0, char.length - 1); + $(this).val(char); + return; + } + appendChar(char); + }); + + $('.coupons .use-check').click(function () { + if ($(this).hasClass('disabled')) { + return; + } + var couponId = $(this).attr('data-coupon-id'); + var couponGroup = $(this).attr('data-coupon-group'); + if (couponGroup) { + var prevCouponId = dataCache.coupon_groups[couponGroup]; + if (prevCouponId) { + var prevIdx = dataCache.coupons.indexOf(prevCouponId); + if (prevIdx >= 0) { + dataCache.coupons.splice(prevIdx, 1); + } + if (prevCouponId != couponId) { + $('.coupons .use-check[data-coupon-id="' + prevCouponId + '"]').removeClass('checked').addClass('unchecked'); + dataCache.coupon_groups[couponGroup] = couponId; + } else { + dataCache.coupon_groups[couponGroup] = null; + } + } else { + dataCache.coupon_groups[couponGroup] = couponId; + } + + } + + if ($(this).is('.checked')) { + $(this).removeClass('checked').addClass('unchecked'); + } else { + $(this).removeClass('unchecked').addClass('checked'); + } + var checked = $(this).is('.checked'); + if (checked) { + dataCache.coupons.push(couponId); + updatePrice(); + } else { + var idx = dataCache.coupons.indexOf(couponId); + dataCache.coupons.splice(idx, 1); + updatePrice(); + } + }); + $('.cb_bankpay').click(function () { + $.ajax({ + url: '/sys/partners/' + window.client_moniker + '/jump/link', + method: 'GET', + success: function (res) { + location.href = res; + }, + error: function (resp) { + var config = { + template: resp + }; + showWeuiDialog(config); + } + }) + }); + $('#key_B').bind('touchstart', function () { + backspace(); + }); + + function updatePoundage(price) { + if (window.extensions.indexOf('customerrate') >= 0 && window.rateValue != null) { + if (window.use_customised_rate) { + var rate = new Decimal(100).plus(window.rateValue).div(100); + var poundageValue = new Decimal(dataCache.price).mul(rate).sub(dataCache.price); + } else { + var rateRemain = new Decimal(100).sub(window.rateValue).div(100); + poundageValue = new Decimal(dataCache.price).div(rateRemain).sub(dataCache.price); + } + dataCache.poundageValue = poundageValue.toFixed(2, Decimal.ROUND_HALF_UP); + return poundageValue.plus(price).toFixed(2, Decimal.ROUND_HALF_UP); + } + return price; + } + + function updatePrice() { + $('#audVal').html(dataCache.price); + var realPrice = dataCache.price; + $('#audValReal').html(realPrice); + var surchargeData = calculateSurcharge(realPrice); + + var price = surchargeData.newPrice || realPrice; + var priceBeforeDiscount = price; + dataCache.discounts = []; + dataCache.tax = surchargeData.tax; + dataCache.surcharge = surchargeData.surcharge; + $(window.coupons).each(function () { + price = this.handleDiscount(price, dataCache.price, dataCache.discounts, dataCache.coupons); + }); + dataCache.finalPrice = new Decimal(price).toFixed(2, Decimal.ROUND_FLOOR); + var rate = 'CNY' == window.currency ? 1 : exchangeRate; + var cnyVal = Decimal.mul(price, rate).toFixed(2, Decimal.ROUND_FLOOR); + dataCache.currencyPrice = 'CNY' == window.currency ? Decimal.div(priceBeforeDiscount, exchangeRate).toFixed(2, Decimal.ROUND_FLOOR) : priceBeforeDiscount; + $('#cnyVal').html(cnyVal) + } + + function backspace() { + dataCache.price = dataCache.price.substring(0, dataCache.price.length - 1); + if (dataCache.price.length == 0) { + dataCache.price = '0'; + } + updatePrice(); + updatePoundageStatus(); + } + + function appendChar(char) { + if (char == "") { + char = '0'; + } + var check = /[^\d.]/g; + if (check.test(char)) { + return; + } + var tmpChar = (char.split('.')).length-1; + if (tmpChar > 1) { + return; + } + var pointLocation = dataCache.price.indexOf('.'); + if (pointLocation >= 0 || char == '.' || char.length < 5) { + if (pointLocation >= 0 && char == '.') { + return; + } + if (pointLocation >= 0 && pointLocation <= char.length - 4) { + return; + } + if (dataCache.price == '0' && char != '.') { + dataCache.price = ''; + } + dataCache.price = char; + updatePrice(); + updatePoundageStatus(); + } + } + + function updatePoundageStatus() { + $(window.coupons).each(function () { + var coupon = this; + var couponId = coupon.couponId(); + if (coupon.isEnable(dataCache.currencyPrice || 0)) { + $('.coupons .use-check[data-coupon-id=' + couponId + ']').removeClass('disabled'); + } else { + var dom = $('.coupons .use-check[data-coupon-id=' + couponId + ']').addClass('disabled'); + var couponGroup = dom.attr('data-coupon-group'); + if (couponGroup) { + if (dataCache.coupon_groups[couponGroup] == couponId) { + dataCache.coupon_groups[couponGroup] = null; + } + } + var idx = dataCache.coupons.indexOf(couponId); + if (idx >= 0) { + dataCache.coupons.splice(idx, 1); + } + dom.removeClass('checked').addClass('unchecked'); + } + }) + } + + updatePoundageStatus(); + + $('#coupon-box-toggle').click(function () { + $('.coupons-container').addClass('show'); + }); + $('.coupons-container>.coupons-mask,.coupons-container #close-coupon-box').click(function () { + $(this).parents('.coupons-container').removeClass('show'); + }); + + + $('.remark-btn').click(function () { + var cfg = { + title: '备注 Remark', + template: '', + initialize: function (dialog) { + $('').addClass('remark-input').attr('name', 'remark').val(dataCache.remark || '').appendTo($('.weui_dialog_bd', dialog)); + }, + confirm: function (dialog, chosen) { + if (chosen) { + var remark = $('textarea[name="remark"]', dialog).val(); + if (remark) { + $('#remark-box').text('备注:' + remark).show() + } else { + $('#remark-box').text('').hide(); + } + dataCache.remark = remark; + } + + } + }; + showWeuiDialog(cfg); + }); + + $('.paydetail').click(function () { + var config = { + title: 'Payment Detail', + template: '', + initialize: function (dialog) { + var bd = $('.weui_dialog_bd', dialog); + var currencySymbol = window.currency == 'CNY' ? '¥' : '$'; + $('

').html('Input Price 输入金额:' + currencySymbol + dataCache.price).appendTo(bd); + if (parseFloat(dataCache.surcharge) > 0) { + $('

').html('Surcharge 手续费(' + window.rateValue + '%):+' + currencySymbol + dataCache.surcharge).appendTo(bd); + } + if (parseFloat(dataCache.tax) > 0) { + $('

').html('GST(10%):' + currencySymbol + dataCache.tax).appendTo(bd); + } + $(dataCache.discounts).each(function () { + $('

').html(this.title + ':-' + currencySymbol + this.amount).appendTo(bd); + }); + $('

').addClass('final').html('Final 支付金额:' + currencySymbol + (dataCache.finalPrice || 0)).appendTo(bd); + } + }; + showWeuiDialog(config); + }); + + $('#key_P').click(function () { + debugger + dataCache.remark = $('.remark-textarea').val(); + if (window.requireRemark) { + if (!dataCache.remark) { + var config = { + title: '请先输入备注', + template: '' + }; + showWeuiDialog(config); + } + + } + }); + + $('#key_P').bind('touchstart', function () { + dataCache.remark = $('.remark-textarea').val(); + if (window.requireRemark) { + if (!dataCache.remark) { + return; + } + } + $('#key_P').addClass('hidden'); + $('#key_Loading').removeClass('hidden'); + if (dataCache.paying) { + return; + } + dataCache.paying = true; + var data = {price: dataCache.price + '', currency: window.currency}; + if (dataCache.remark) { + data.description = dataCache.remark; + } + if (window.extensions.indexOf('preauthorize') >= 0) { + data.preauthorize = true; + } + if (window.extensions.indexOf('qrcodemode') >= 0) { + data.qrmode = true; + } + if (window.extensions.indexOf('customerrate') >= 0) { + data.customerrate = true; + } + data.coupons = dataCache.coupons; + data.qrcodeVersion = window.qrcodeVersion; + $.ajax({ + url: '/api/v1.0/alipay/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'; + return; + } + if (window.AlipayJSBridge) { + callPayment(); + } else { + // 如果没有注入则监听注入的事件 + document.addEventListener('AlipayJSBridgeReady', callPayment, false); + } + + function callPayment() { + try { + AlipayJSBridge.call('tradePay', { + tradeNO: pay.trade_no + }, function (res) { + dataCache.paying = false; + if (res.resultCode == '9000') { + AlipayJSBridge.call('startApp', { + appId: '20000056', + param: { + actionType: 'showSuccPage', + payResult: res.result + }, + closeCurrentApp: false + }); + startCheckOrder(pay.order_id, '/api/v1.0/alipay/partners/' + window.client_moniker + '/orders/' + pay.order_id + '/result'); + } else if (res.resultCode == '6001') { + //do nothing + } else { + if (res.memo) { + weuiAlert(res.memo); + } + } + $('#key_P').removeClass('hidden'); + $('#key_Loading').addClass('hidden'); + }) + } catch (err) { + weuiAlert(err) + } + } + }, + error: function (jqXhr) { + weuiAlert(jqXhr.responseJSON.message); + $('#key_P').removeClass('hidden'); + $('#key_Loading').addClass('hidden'); + dataCache.paying = false; + } + }) + }); + + function startCheckOrder(orderId, url) { + function checkOrderStd() { + $.ajax({ + url: '/api/v1.0/payment/orders/' + orderId + '/status', + method: 'GET', + dataType: 'json', + success: function (res) { + if (res.paid) { + location.href = url; + } else { + setTimeout(checkOrderStd, 500); + } + } + }) + } + + checkOrderStd(); + } + + function weuiAlert(msg) { + var config = { + template: msg + }; + showWeuiDialog(config); + } + + function showWeuiDialog(config) { + if (config.templateUrl) { + $.ajax({ + url: config.templateUrl, + dataType: 'html', + success: function (template) { + buildDialog(template); + } + }); + } else { + buildDialog(config.template); + } + + function buildDialog(template) { + var defaultConfig = {backdrop: true}; + config = $.extend({}, defaultConfig, config); + var dialog = $("
", {class: 'weui_dialog_confirm'}); + var mask = $('
', {class: 'weui_mask'}).appendTo(dialog); + if (config.backdrop) { + mask.click(function () { + dialog.remove(); + if ($.isFunction(config.dismiss)) { + config.dismiss(); + } + }) + } + var dialogBox = $("
", {class: 'weui_dialog'}).appendTo(dialog); + if (config.title) { + $('
', {class: 'weui_dialog_hd'}).append($('', {class: 'weui_dialog_title'}).html(config.title)).appendTo(dialogBox); + } + var dialogBody = $("
", {class: 'weui_dialog_bd'}).appendTo(dialogBox); + if (template) { + dialogBody.append(template); + } + if ($.isFunction(config.initialize)) { + config.initialize(dialog); + } + var ft = $('
').appendTo(dialogBox); + if(window.paypad_version !== 'v3'){ + if ($.isFunction(config.confirm)) { + var yes = $('
', { + class: 'weui_btn_dialog primary', + text: 'OK', + style: 'background: #0bb20c;color: #fff;' + }).appendTo(ft); + yes.click(function () { + config.confirm(dialog, true); + dialog.remove(); + }); + var no = $('', {class: 'weui_btn_dialog default', text: 'Cancel'}).appendTo(ft); + no.click(function () { + config.confirm(dialog, false); + dialog.remove(); + }) + } else { + var ok = $('', { + class: 'weui_btn_dialog primary', + text: 'OK', + style: 'background: #0bb20c;color: #fff;' + }).appendTo(ft); + ok.click(function () { + dialog.remove(); + }) + } + } else { + if ($.isFunction(config.confirm)) { + var yes = $('', { + class: 'weui_btn_dialog primary', + text: 'OK', + style: 'background: #FF9705;color: #fff;' + }).appendTo(ft); + yes.click(function () { + config.confirm(dialog, true); + dialog.remove(); + }); + var no = $('', {class: 'weui_btn_dialog default', text: 'Cancel'}).appendTo(ft); + no.click(function () { + config.confirm(dialog, false); + dialog.remove(); + }) + } else { + var ok = $('', { + class: 'weui_btn_dialog primary', + text: 'OK', + style: 'background: #FF9705;color: #fff;' + }).appendTo(ft); + ok.click(function () { + dialog.remove(); + }) + } + } + dialog.appendTo($('body')); + } + + } +}); diff --git a/src/main/ui/static/templates/payment/v4/payment.css b/src/main/ui/static/templates/payment/v4/payment.css new file mode 100644 index 000000000..a3ae1708e --- /dev/null +++ b/src/main/ui/static/templates/payment/v4/payment.css @@ -0,0 +1,620 @@ +.header-banner { + background:url(/static/images/pay_v4_banner.png) no-repeat; + background-size: 92% 100%; + background-position: center; + box-shadow:0 0 10px #dddddd inset; +} + +.merchant-title{ + font-family: PingFang-SC-Medium; + font-size: 13px; + color: #FFFFFF; + letter-spacing: 0; +} + +.line{ + padding-left: 30px; + color: #FFD194; +} +body { + -webkit-touch-callout: auto; + -webkit-user-select: auto; + -khtml-user-select: auto; + -moz-user-select: auto; + -ms-user-select: auto; + user-select: auto; + box-sizing: border-box; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +div, span, p, ul, li { + box-sizing: border-box; +} +.warning-sm{ + color:red; + font-size:10px; + transform-origin: left; + transform: scale(0.8); +} +.weui_grid { + padding: 7px; + height: 53px; +} + +.ff.key { + position: relative; +} + +.ff { + font-size: 26px; + color: #FFFFFF; +} + +.ff img { + margin: 10px auto; + display: block; + width: 34px; +} + +div.wait { + top: 0; + margin-left: auto; + margin-right: auto; + left: 0; + right: 0; + position: absolute; + vertical-align: middle; + text-align: center; + bottom: 0; + opacity: .5; + background-color: gray; + z-index: 10000; +} + +.bisnam { + font-size: 16px; + color: #aaaaaa; + text-align: left; + margin-top: 10px; + padding: 0; +} + +.rmbcurrency { + font-size: 13px; + color: #FFFFFF; + vertical-align: text-bottom; + line-height: 38px; + padding-left: 10px; +} + +.static .rmbcurrency { + font-size: 14px; + line-height: 30px; +} + +.rmbvalue { + font-size: 24px; + color: #FFFFFF; + vertical-align: text-bottom; + float: right; +} + +.rmbvalue:before { + content: '≈¥'; + font-size: 16px; +} + +.paydetail { + float: right; + margin-top: 5px; + margin-left: 5px; +} + +.static .rmbvalue { + font-size: 18px; +} + +.currency { + font-size: 40px; + color: #FFFFFF; + /* line-height: 67px; */ + vertical-align: text-bottom; + padding-left: 10px; + padding-right: 3px; + line-height: 1.45; +} + +.static .currency { + color: #FFFFFF; + font-size: 25px; +} + +.value { + font-size: 50px; + line-height: 66px; + color: #FFFFFF; + margin-left: -5px; + vertical-align: text-bottom; + padding-right: 10px; + width: 87%; +} + +.static .value { + color: #FFFFFF; + font-size: 24px; +} + +input.value { + background: transparent; + border: none; + line-height: 50px; +} + +input.value:active { + background: transparent; +} + +input.value:focus { + border: none; + outline: none; + user-select: auto; + -webkit-user-select: auto; + -moz-user-select: auto; +} + +.pp { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow-x: hidden; + background-color: #fbf9fe; +} + +.new_year { + width:100%; + height:100%; + position:absolute; + top:18%; + left:0; + z-index:-1; + border-radius: 0 0 25px 25px; +} +.bankpay { + text-align: center; + padding: 20px; + color: #FFFFFF; +} + +@media screen and (max-height: 520px){ + .bankpay { + text-align: center; + padding: 0; + color: #FFFFFF; + } +} +.row { + width: 100%; + padding: 0 30px; +} + +.hidden { + display: none; +} + +.hide-keyboard-btn { + width: 100%; +} + +.hide-keyboard-btn:after { + content: ''; + transform: rotate(45deg); + border-right: 2px solid #ccc; + border-bottom: 2px solid #ccc; + width: 30px; + height: 30px; + transform-origin: center; + display: block; + margin: auto; +} + +.remark-box.visible { + display: block; +} + +.remark-box.visible .remark-input { + font-size: 1.4em; + border: none; + background: #fff; +} + +.white-box { + background: #fff; + width: 96%; + margin: 10px auto; + display: block; + position: relative; + padding: 0 10px; + box-sizing: border-box; +} + +.white-box.full { + width: 100%; +} + +.logo-box .banner { + width: 100%; + display: block; +} + +.logo { + margin: auto; + display: block; + margin-top: 20px; + max-height: 60px; + max-width: 80%; +} + +.logo-small { + max-height: 100px; +} + +.currencyrow { + box-sizing: border-box; + margin-top: 0; + text-align: left; + margin-bottom: 0px; +} + + +@media screen and (max-height:670px){ + .currencyrow { + box-sizing: border-box; + margin-top: 0; + text-align: left; + margin-bottom: 0px; + } +} + +@media screen and (max-height: 520px){ + .currencyrow { + box-sizing: border-box; + margin-top: 20px; + text-align: center; + margin-bottom: 20px; + } +} + +.currencyrow:after { + content: ''; + display: block; + clear: both; +} + +.currencyrow > * { + display: inline-block; + vertical-align: bottom; + margin-bottom: 0; + box-sizing: border-box; +} + +.remark-input { + width: 100%; + font-size: 26px; + border-radius: 0; + outline: none; +} + +.remark-box { + display: none; +} + +.remark-box .remark-mask { + text-align: center; + height: 50px; + font-size: 0.9em; + line-height: 35px; + color: #ccc; +} + +.remark-label { + position: absolute; + top: 5px; + right: 5px; + font-size: 20px; + z-index: 1; + font-weight: bold; + color: #0d6aad; +} + +.coupons { + width: 100%; +} + +.coupons > li { + display: block; + width: 100%; + float: none; + color: #888888; + border-bottom: 1px dashed #aaa; + padding: 5px 0px; +} + +.coupons > li:after { + content: ''; + clear: both; + display: block +} + +.coupons > li:last-child { + border: none; +} + +.coupons .title, .coupons .desc, .coupons label { + display: block; +} + +.coupons .coupon-content { + display: block; + float: left; +} + +.coupons .title { + font-weight: bold; + font-size: 1em; +} + +.coupons .use-check { + position: relative; + display: block; + width: 25px; + background-repeat: no-repeat; + height: 25px; + background-size: contain; + float: right; + margin-right: 5px; + margin-top: 10px; +} + +.coupons .use-check.checked { + background-image: url(/static/images/checkbox-checked.png); +} + +.coupons .use-check.unchecked { + background-image: url(/static/images/checkbox-unchecked.png); +} + +.coupons .use-check.disabled { + background-image: url(/static/images/checkbox-disabled.png) !important; +} + +.coupons .desc { + font-size: 1em; +} + +.weui-wepay-logos { + background: transparent; +} + +.row.weui_grids:before, .row.weui_grids .weui_grid:before, .row.weui_grids .weui_grid:after { + display: none; +} + +.button_sp_area { + display: block; + position: relative; + margin-top: 10px; +} + +.button_sp_area:after { + content: ''; + clear: both; + display: block; +} + +.button_sp_area a { + height: 50px; + line-height: 50px; + padding: 0px; + font-family: Helvetica; + font-size: 20px; + float: left; + text-align: center; + border-radius: 0; + color: #fff; +} + +.button_sp_area .paynow { + width: 65%; + background: #FEB900; +} + +.button_sp_area.alipay .paynow { + background-color: #FEB900; +} + +.button_sp_area.rpay .paynow { + background-color: #FEB900; +} + +.button_sp_area .remark-btn { + width: 35%; + background: #FF9705 +} + +.pay-brands { + text-align: center; + line-height: 20px; + font-size: 24px; + margin-top: 12px; + color: #dddddd; +} + +.pay-brands img { + height: 18px; +} + +.pay-brands img.wechat-logo { + height: 14px; +} + +.weui_dialog_bd .final { + font-weight: bold; +} + +#coupon-box-toggle { + padding: 0 20px; + margin-bottom: 10px; + text-align: right; + color: #30af69; + font-size: 12px; + cursor: pointer; +} + +#coupon-box { + padding: 0 20px; + margin-bottom: 30px; + text-align: right; + color: #30af69; + font-size: 12px; + cursor: pointer; +} + +.coupons-container { + position: fixed; + z-index: 1; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow: auto; + display: none; +} + +.coupons-container.show{ + display: block; +} + +.coupons-container > .coupons-mask { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, .6); + z-index: 1; +} + +.coupons-container > .coupon-box { + position: fixed; + z-index: 4; + left: 50%; + top: 50%; + width: 95%; + background: #fff; + padding: 10px; + transform: translate(-50%, -50%); +} + +.coupons-container .coupon-box-title{ + width: 100%; + display: block; + background: #fff; + padding: 0 10px 5px; + font-size: 14px; + border-bottom: 1px solid #d0d0d0; +} + +.coupons-container .coupon-box-title:after{ + content: ''; + display: block; + clear: both; +} + +.coupons-container .coupon-box-title>.title{ + float: left; + display: block; + color: #0BB20C; +} + +.coupons-container .coupon-box-title>#close-coupon-box{ + color: #700; + float: right; + display: block; + cursor: pointer; +} + + +.actCharity-red{ + color: #FB5252; + display: inline; +} + +.actCharity{ + display: inline; + font-family: PingFang-SC-Medium; + font-size: 13px; + color: #FFFFFF; + letter-spacing: 0; + text-align: center; +} + +.remark-textarea{ + font-size: 17px; + width: calc(100% - 70px); + margin: 0 20px; + height: 78px; + border: 1px solid #EBE8E8; + padding:15px; +} + +.remark-textarea::-webkit-input-placeholder { + font-size: 13px; + color: #BCBCBC; +} + +.paynow-button{ + background: #19AD18; + border: 1px solid #179B16; + border-radius: 3px; + width: calc(100% - 40px); + margin: 0 20px; + display: block; + font-size: 16px; + color: #FFFFFF; + letter-spacing: 0; + text-align: center; + height: 48px; + line-height: 48px; + margin-top: 31px; +} + +.bankpay-button{ + border: 1px solid #FF6600; + border-radius: 3px; + font-size: 16px; + color: #FF6600; + letter-spacing: 0; + text-align: center; + display: block; + height: 48px; + line-height: 48px; + background-color: white; +} + +#coupon-box-toggle.canUse-coupon{ + padding: 0 30px; + margin-bottom: 10px; + text-align: right; + color: #FF6600; + font-size: 12px; + cursor: pointer; + margin: 11px; +} +input::-webkit-input-placeholder{ + font-size: 50px; + color: #FFFFFF; + line-height: 60px; + vertical-align: text-bottom; +} diff --git a/src/main/ui/static/templates/payment/v4/payment.js b/src/main/ui/static/templates/payment/v4/payment.js new file mode 100644 index 000000000..debf29239 --- /dev/null +++ b/src/main/ui/static/templates/payment/v4/payment.js @@ -0,0 +1,476 @@ +/** + * Created by yixian on 2017-05-08 + */ +var num = function(obj){ + obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符 + obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字 + obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个, 清除多余的 + obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); + obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数 +}; + +$(function () { + 'use strict'; + // document.querySelector('body').addEventListener('touchmove', function(e) { + // if (!document.querySelector('.coupons').contains(e.target)) { + // e.preventDefault(); + // } + // }); + var dataCache = {price: '0', coupons: [], coupon_groups: {}}; + var exchangeRate = 'CNY' == window.currency ? 1 : parseFloat(window.exchange_rate); + dataCache.paying = false; + var ctrl = {}; + + $('.ff.key').bind('touchstart', function () { + if (dataCache.paying) { + return; + } + var char = $(this).attr('data-char'); + appendChar(char); + }); + + $('#audVal').bind('input porpertychange', function () { + if (dataCache.paying) { + return; + } + var char = $(this).val(); + if (parseFloat(char) > 10000) { + char = char.slice(0, char.length - 1); + $(this).val(char); + return; + } + appendChar(char); + }); + + $('.coupons .use-check').click(function () { + if ($(this).hasClass('disabled')) { + return; + } + var couponId = $(this).attr('data-coupon-id'); + var couponGroup = $(this).attr('data-coupon-group'); + if (couponGroup) { + var prevCouponId = dataCache.coupon_groups[couponGroup]; + if (prevCouponId) { + var prevIdx = dataCache.coupons.indexOf(prevCouponId); + if (prevIdx >= 0) { + dataCache.coupons.splice(prevIdx, 1); + } + if (prevCouponId != couponId) { + $('.coupons .use-check[data-coupon-id="' + prevCouponId + '"]').removeClass('checked').addClass('unchecked'); + dataCache.coupon_groups[couponGroup] = couponId; + } else { + dataCache.coupon_groups[couponGroup] = null; + } + } else { + dataCache.coupon_groups[couponGroup] = couponId; + } + + } + + if ($(this).is('.checked')) { + $(this).removeClass('checked').addClass('unchecked'); + } else { + $(this).removeClass('unchecked').addClass('checked'); + } + var checked = $(this).is('.checked'); + if (checked) { + dataCache.coupons.push(couponId); + updatePrice(); + } else { + var idx = dataCache.coupons.indexOf(couponId); + dataCache.coupons.splice(idx, 1); + updatePrice(); + } + }); + $('.cb_bankpay').click(function () { + $.ajax({ + url: '/sys/partners/' + window.client_moniker + '/jump/link', + method: 'GET', + success: function (res) { + location.href = res; + }, + error: function (resp) { + var config = { + template: resp + }; + showWeuiDialog(config); + } + }) + }); + $('#key_B').bind('touchstart', function () { + backspace(); + }); + + function updatePoundage(price) { + if (window.extensions.indexOf('customerrate') >= 0 && window.rateValue != null) { + if (window.use_customised_rate) { + var rate = new Decimal(100).plus(window.rateValue).div(100); + var poundageValue = new Decimal(dataCache.price).mul(rate).sub(dataCache.price); + } else { + var rateRemain = new Decimal(100).sub(window.rateValue).div(100); + poundageValue = new Decimal(dataCache.price).div(rateRemain).sub(dataCache.price); + } + dataCache.poundageValue = poundageValue.toFixed(2, Decimal.ROUND_HALF_UP); + return poundageValue.plus(price).toFixed(2, Decimal.ROUND_HALF_UP); + } + return price; + } + + function updatePrice() { + $('#audVal').html(dataCache.price); + var realPrice = dataCache.price; + $('#audValReal').html(realPrice); + var surchargeData = calculateSurcharge(realPrice); + + var price = surchargeData.newPrice || realPrice; + var priceBeforeDiscount = price; + dataCache.discounts = []; + dataCache.tax = surchargeData.tax; + dataCache.surcharge = surchargeData.surcharge; + $(window.coupons).each(function () { + price = this.handleDiscount(price, dataCache.price, dataCache.discounts, dataCache.coupons); + }); + dataCache.finalPrice = new Decimal(price).toFixed(2, Decimal.ROUND_FLOOR); + var rate = 'CNY' == window.currency ? 1 : exchangeRate; + var cnyVal = Decimal.mul(price, rate).toFixed(2, Decimal.ROUND_FLOOR); + dataCache.currencyPrice = 'CNY' == window.currency ? Decimal.div(priceBeforeDiscount, exchangeRate).toFixed(2, Decimal.ROUND_FLOOR) : priceBeforeDiscount; + $('#cnyVal').html(cnyVal) + } + + function backspace() { + dataCache.price = dataCache.price.substring(0, dataCache.price.length - 1); + if (dataCache.price.length == 0) { + dataCache.price = '0'; + } + updatePrice(); + updatePoundageStatus(); + } + + function appendChar(char) { + if (char == "") { + char = '0'; + } + var check = /[^\d.]/g; + if (check.test(char)) { + return; + } + var tmpChar = (char.split('.')).length-1; + if (tmpChar > 1) { + return; + } + var pointLocation = dataCache.price.indexOf('.'); + if (pointLocation >= 0 || char == '.' || char.length < 5) { + if (pointLocation >= 0 && char == '.') { + return; + } + if (pointLocation >= 0 && pointLocation <= char.length - 4) { + return; + } + if (dataCache.price == '0' && char != '.') { + dataCache.price = ''; + } + dataCache.price = char; + updatePrice(); + updatePoundageStatus(); + } + } + + function updatePoundageStatus() { + $(window.coupons).each(function () { + var coupon = this; + var couponId = coupon.couponId(); + if (coupon.isEnable(dataCache.currencyPrice || 0)) { + $('.coupons .use-check[data-coupon-id=' + couponId + ']').removeClass('disabled'); + } else { + var dom = $('.coupons .use-check[data-coupon-id=' + couponId + ']').addClass('disabled'); + var couponGroup = dom.attr('data-coupon-group'); + if (couponGroup) { + if (dataCache.coupon_groups[couponGroup] == couponId) { + dataCache.coupon_groups[couponGroup] = null; + } + } + var idx = dataCache.coupons.indexOf(couponId); + if (idx >= 0) { + dataCache.coupons.splice(idx, 1); + } + dom.removeClass('checked').addClass('unchecked'); + } + }) + } + + updatePoundageStatus(); + + $('#coupon-box-toggle').click(function () { + $('.coupons-container').addClass('show'); + }); + $('.coupons-container>.coupons-mask,.coupons-container #close-coupon-box').click(function () { + $(this).parents('.coupons-container').removeClass('show'); + }); + + + $('.remark-btn').click(function () { + var cfg = { + title: '备注 Remark', + template: '', + initialize: function (dialog) { + $('').addClass('remark-input').attr('name', 'remark').val(dataCache.remark || '').appendTo($('.weui_dialog_bd', dialog)); + }, + confirm: function (dialog, chosen) { + if (chosen) { + var remark = $('textarea[name="remark"]', dialog).val(); + if (remark) { + $('#remark-box').text('备注:' + remark).show() + } else { + $('#remark-box').text('').hide(); + } + dataCache.remark = remark; + } + + } + }; + showWeuiDialog(cfg); + }); + + $('.paydetail').click(function () { + var config = { + title: 'Payment Detail', + template: '', + initialize: function (dialog) { + var bd = $('.weui_dialog_bd', dialog); + var currencySymbol = window.currency == 'CNY' ? '¥' : '$'; + $('

').html('Input Price 输入金额:' + currencySymbol + dataCache.price).appendTo(bd); + if (parseFloat(dataCache.surcharge) > 0) { + $('

').html('Surcharge 手续费(' + window.rateValue + '%):+' + currencySymbol + dataCache.surcharge).appendTo(bd); + } + if (parseFloat(dataCache.tax) > 0) { + $('

').html('GST(10%):' + currencySymbol + dataCache.tax).appendTo(bd); + } + $(dataCache.discounts).each(function () { + $('

').html(this.title + ':-' + currencySymbol + this.amount).appendTo(bd); + }); + $('

').addClass('final').html('Final 支付金额:' + currencySymbol + (dataCache.finalPrice || 0)).appendTo(bd); + } + }; + showWeuiDialog(config); + }); + + $('#key_P').click(function () { + debugger + dataCache.remark = $('.remark-textarea').val(); + if (window.requireRemark) { + if (!dataCache.remark) { + var config = { + title: '请先输入备注', + template: '' + }; + showWeuiDialog(config); + } + + } + }); + + $('#key_P').bind('touchstart', function () { + dataCache.remark = $('.remark-textarea').val(); + if (window.requireRemark) { + if (!dataCache.remark) { + return; + } + } + $('#key_P').addClass('hidden'); + $('#key_Loading').removeClass('hidden'); + if (dataCache.paying) { + return; + } + dataCache.paying = true; + var data = {price: dataCache.price + '', currency: window.currency}; + if (dataCache.remark) { + data.description = dataCache.remark; + } + if (window.extensions.indexOf('preauthorize') >= 0) { + data.preauthorize = true; + } + if (window.extensions.indexOf('qrcodemode') >= 0) { + data.qrmode = true; + } + if (window.extensions.indexOf('customerrate') >= 0) { + data.customerrate = true; + } + data.coupons = dataCache.coupons; + data.qrcodeVersion = window.qrcodeVersion; + $.ajax({ + url: '/api/payment/v1.0/wechat_jsapi_payment/partners/' + window.client_moniker + '/preorder', + method: 'get', + data: data, + traditional: true, + dataType: 'json', + success: function (pay) { + if (data.qrmode) { + location.href = pay.pay_url; + return; + } + if (pay.direct_paid) { + location.href = '/api/payment/v1.0/wechat_jsapi_payment/partners/' + window.client_moniker + '/orders/' + pay.order_id; + return; + } + var paydata = pay.jsapi; + WeixinJSBridge.invoke('getBrandWCPayRequest', { + 'appId': paydata.appId, + 'timeStamp': paydata.timeStamp, + 'nonceStr': paydata.nonceStr, + 'package': paydata.package, + 'signType': paydata.signType, + 'paySign': paydata.paySign + }, function (res) { + dataCache.paying = false; + if (res.err_msg == 'get_brand_wcpay_request:ok') { + startCheckOrder(pay.order_id, '/api/payment/v1.0/wechat_jsapi_payment/partners/' + window.client_moniker + '/orders/' + pay.order_id); + + } else { + if (res.err_msg != 'get_brand_wcpay_request:cancel' && res.err_msg != 'get_brand_wcpay_request:fail') { + weuiAlert('WeChat Error:' + res.err_msg); + } + } + $('#key_P').removeClass('hidden'); + $('#key_Loading').addClass('hidden'); + }) + }, + error: function (jqXhr) { + var respText = jqXhr.responseText; + try { + weuiAlert(JSON.parse(respText).message); + $('#key_P').removeClass('hidden'); + $('#key_Loading').addClass('hidden'); + dataCache.paying = false; + } catch (e) { + alert("Unexpected Error:" + respText); + $('#key_P').removeClass('hidden'); + $('#key_Loading').addClass('hidden'); + dataCache.paying = false; + } + + } + }) + }); + + function startCheckOrder(orderId, url) { + function checkOrderStd() { + $.ajax({ + url: '/api/v1.0/payment/orders/' + orderId + '/status', + method: 'GET', + dataType: 'json', + success: function (res) { + if (res.paid) { + location.href = url; + } else { + setTimeout(checkOrderStd, 500); + } + } + }) + } + + checkOrderStd(); + } + + function weuiAlert(msg) { + var config = { + template: msg + }; + showWeuiDialog(config); + } + + function showWeuiDialog(config) { + if (config.templateUrl) { + $.ajax({ + url: config.templateUrl, + dataType: 'html', + success: function (template) { + buildDialog(template); + } + }); + } else { + buildDialog(config.template); + } + + function buildDialog(template) { + var defaultConfig = {backdrop: true}; + config = $.extend({}, defaultConfig, config); + var dialog = $("
", {class: 'weui_dialog_confirm'}); + var mask = $('
', {class: 'weui_mask'}).appendTo(dialog); + if (config.backdrop) { + mask.click(function () { + dialog.remove(); + if ($.isFunction(config.dismiss)) { + config.dismiss(); + } + }) + } + var dialogBox = $("
", {class: 'weui_dialog'}).appendTo(dialog); + if (config.title) { + $('
', {class: 'weui_dialog_hd'}).append($('', {class: 'weui_dialog_title'}).html(config.title)).appendTo(dialogBox); + } + var dialogBody = $("
", {class: 'weui_dialog_bd'}).appendTo(dialogBox); + if (template) { + dialogBody.append(template); + } + if ($.isFunction(config.initialize)) { + config.initialize(dialog); + } + var ft = $('
').appendTo(dialogBox); + if(window.paypad_version !== 'v3'){ + if ($.isFunction(config.confirm)) { + var yes = $('', { + class: 'weui_btn_dialog primary', + text: 'OK', + style: 'background: #0bb20c;color: #fff;' + }).appendTo(ft); + yes.click(function () { + config.confirm(dialog, true); + dialog.remove(); + }); + var no = $('', {class: 'weui_btn_dialog default', text: 'Cancel'}).appendTo(ft); + no.click(function () { + config.confirm(dialog, false); + dialog.remove(); + }) + } else { + var ok = $('', { + class: 'weui_btn_dialog primary', + text: 'OK', + style: 'background: #0bb20c;color: #fff;' + }).appendTo(ft); + ok.click(function () { + dialog.remove(); + }) + } + } else { + if ($.isFunction(config.confirm)) { + var yes = $('', { + class: 'weui_btn_dialog primary', + text: 'OK', + style: 'background: #FF9705;color: #fff;' + }).appendTo(ft); + yes.click(function () { + config.confirm(dialog, true); + dialog.remove(); + }); + var no = $('', {class: 'weui_btn_dialog default', text: 'Cancel'}).appendTo(ft); + no.click(function () { + config.confirm(dialog, false); + dialog.remove(); + }) + } else { + var ok = $('', { + class: 'weui_btn_dialog primary', + text: 'OK', + style: 'background: #FF9705;color: #fff;' + }).appendTo(ft); + ok.click(function () { + dialog.remove(); + }) + } + } + dialog.appendTo($('body')); + } + + } +}); From 1d0811d33a09a3b6d600dbd4a10f3dedbb81fa90 Mon Sep 17 00:00:00 2001 From: luoyang Date: Fri, 21 Jun 2019 16:21:09 +0800 Subject: [PATCH 05/20] =?UTF-8?q?fix=20=E6=94=AF=E4=BB=98=E9=A1=B5v4=20?= =?UTF-8?q?=E6=9C=80=E5=A4=A7=E6=94=AF=E4=BB=98=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/static/templates/alipay/v4/payment.js | 21 +++++++++---------- .../ui/static/templates/payment/v4/payment.js | 18 +++++++--------- 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/src/main/ui/static/templates/alipay/v4/payment.js b/src/main/ui/static/templates/alipay/v4/payment.js index cebc20af2..70e14beca 100644 --- a/src/main/ui/static/templates/alipay/v4/payment.js +++ b/src/main/ui/static/templates/alipay/v4/payment.js @@ -42,7 +42,7 @@ $(function () { return; } var char = $(this).val(); - if (parseFloat(char) > 10000) { + if (parseFloat(char) >= 100000) { char = char.slice(0, char.length - 1); $(this).val(char); return; @@ -167,16 +167,15 @@ $(function () { return; } var pointLocation = dataCache.price.indexOf('.'); - if (pointLocation >= 0 || char == '.' || char.length < 5) { - if (pointLocation >= 0 && char == '.') { - return; - } - if (pointLocation >= 0 && pointLocation <= char.length - 4) { - return; - } - if (dataCache.price == '0' && char != '.') { - dataCache.price = ''; - } + if (char == '.' || char.length > 8) { + return; + } + if (pointLocation >= 0 && pointLocation <= char.length - 4) { + return; + } + if (dataCache.price == '0' && char != '.') { + dataCache.price = ''; + } dataCache.price = char; updatePrice(); updatePoundageStatus(); diff --git a/src/main/ui/static/templates/payment/v4/payment.js b/src/main/ui/static/templates/payment/v4/payment.js index debf29239..57be3fa46 100644 --- a/src/main/ui/static/templates/payment/v4/payment.js +++ b/src/main/ui/static/templates/payment/v4/payment.js @@ -34,7 +34,7 @@ $(function () { return; } var char = $(this).val(); - if (parseFloat(char) > 10000) { + if (parseFloat(char) >= 100000) { char = char.slice(0, char.length - 1); $(this).val(char); return; @@ -159,20 +159,18 @@ $(function () { return; } var pointLocation = dataCache.price.indexOf('.'); - if (pointLocation >= 0 || char == '.' || char.length < 5) { - if (pointLocation >= 0 && char == '.') { - return; - } - if (pointLocation >= 0 && pointLocation <= char.length - 4) { + if (char == '.' || char.length > 8) { + return; + } + if (pointLocation >= 0 && pointLocation <= char.length - 4) { return; - } - if (dataCache.price == '0' && char != '.') { + } + if (dataCache.price == '0' && char != '.') { dataCache.price = ''; - } + } dataCache.price = char; updatePrice(); updatePoundageStatus(); - } } function updatePoundageStatus() { From df475ca988914913412fada580dca9c9d61630b0 Mon Sep 17 00:00:00 2001 From: luoyang Date: Fri, 21 Jun 2019 17:56:19 +0800 Subject: [PATCH 06/20] =?UTF-8?q?fix=E6=A0=B7=E5=BC=8F=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=8C=89=E9=92=AE=E9=94=81=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/static/templates/alipay/v4/payment.js | 14 ++++++-------- .../ui/static/templates/payment/v4/payment.css | 16 +++++++++------- .../ui/static/templates/payment/v4/payment.js | 17 ++++++++--------- 3 files changed, 23 insertions(+), 24 deletions(-) diff --git a/src/main/ui/static/templates/alipay/v4/payment.js b/src/main/ui/static/templates/alipay/v4/payment.js index 70e14beca..1da983012 100644 --- a/src/main/ui/static/templates/alipay/v4/payment.js +++ b/src/main/ui/static/templates/alipay/v4/payment.js @@ -179,7 +179,6 @@ $(function () { dataCache.price = char; updatePrice(); updatePoundageStatus(); - } } function updatePoundageStatus() { @@ -262,7 +261,6 @@ $(function () { }); $('#key_P').click(function () { - debugger dataCache.remark = $('.remark-textarea').val(); if (window.requireRemark) { if (!dataCache.remark) { @@ -283,8 +281,8 @@ $(function () { return; } } - $('#key_P').addClass('hidden'); - $('#key_Loading').removeClass('hidden'); + $('#key_P_div').addClass('hidden'); + $('#key_Loading_div').removeClass('hidden'); if (dataCache.paying) { return; } @@ -345,8 +343,8 @@ $(function () { weuiAlert(res.memo); } } - $('#key_P').removeClass('hidden'); - $('#key_Loading').addClass('hidden'); + $('#key_P_div').removeClass('hidden'); + $('#key_Loading_div').addClass('hidden'); }) } catch (err) { weuiAlert(err) @@ -355,8 +353,8 @@ $(function () { }, error: function (jqXhr) { weuiAlert(jqXhr.responseJSON.message); - $('#key_P').removeClass('hidden'); - $('#key_Loading').addClass('hidden'); + $('#key_P_div').removeClass('hidden'); + $('#key_Loading_div').addClass('hidden'); dataCache.paying = false; } }) diff --git a/src/main/ui/static/templates/payment/v4/payment.css b/src/main/ui/static/templates/payment/v4/payment.css index a3ae1708e..11edb2f0d 100644 --- a/src/main/ui/static/templates/payment/v4/payment.css +++ b/src/main/ui/static/templates/payment/v4/payment.css @@ -13,8 +13,8 @@ } .line{ - padding-left: 30px; - color: #FFD194; + margin-top: 15px; + margin-bottom: 15px; } body { -webkit-touch-callout: auto; @@ -136,7 +136,7 @@ div.wait { margin-left: -5px; vertical-align: text-bottom; padding-right: 10px; - width: 87%; + width: 82%; } .static .value { @@ -430,8 +430,8 @@ input.value:focus { background: #FEB900; } -.button_sp_area.alipay .paynow { - background-color: #FEB900; +.alipay .paynow { + background-color: #108ee9; } .button_sp_area.rpay .paynow { @@ -560,13 +560,15 @@ input.value:focus { text-align: center; } -.remark-textarea{ +.remark-textarea { + box-shadow: none; font-size: 17px; width: calc(100% - 70px); margin: 0 20px; height: 78px; border: 1px solid #EBE8E8; - padding:15px; + padding: 15px; + -webkit-appearance: none; } .remark-textarea::-webkit-input-placeholder { diff --git a/src/main/ui/static/templates/payment/v4/payment.js b/src/main/ui/static/templates/payment/v4/payment.js index 57be3fa46..1d8468bf9 100644 --- a/src/main/ui/static/templates/payment/v4/payment.js +++ b/src/main/ui/static/templates/payment/v4/payment.js @@ -253,7 +253,6 @@ $(function () { }); $('#key_P').click(function () { - debugger dataCache.remark = $('.remark-textarea').val(); if (window.requireRemark) { if (!dataCache.remark) { @@ -274,8 +273,8 @@ $(function () { return; } } - $('#key_P').addClass('hidden'); - $('#key_Loading').removeClass('hidden'); + $('#key_P_div').addClass('hidden'); + $('#key_Loading_div').removeClass('hidden'); if (dataCache.paying) { return; } @@ -328,21 +327,21 @@ $(function () { weuiAlert('WeChat Error:' + res.err_msg); } } - $('#key_P').removeClass('hidden'); - $('#key_Loading').addClass('hidden'); + $('#key_P_div').removeClass('hidden'); + $('#key_Loading_div').addClass('hidden'); }) }, error: function (jqXhr) { var respText = jqXhr.responseText; try { weuiAlert(JSON.parse(respText).message); - $('#key_P').removeClass('hidden'); - $('#key_Loading').addClass('hidden'); + $('#key_P_div').removeClass('hidden'); + $('#key_Loading_div').addClass('hidden'); dataCache.paying = false; } catch (e) { alert("Unexpected Error:" + respText); - $('#key_P').removeClass('hidden'); - $('#key_Loading').addClass('hidden'); + $('#key_P_div').removeClass('hidden'); + $('#key_Loading_div').addClass('hidden'); dataCache.paying = false; } From a86a0a3a8f7b63126b1b4aff8773a369cbb63342 Mon Sep 17 00:00:00 2001 From: luoyang Date: Fri, 21 Jun 2019 18:21:58 +0800 Subject: [PATCH 07/20] =?UTF-8?q?fix=E6=94=AF=E4=BB=98=E5=AE=9D=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/ui/static/templates/payment/v4/payment.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/ui/static/templates/payment/v4/payment.css b/src/main/ui/static/templates/payment/v4/payment.css index 11edb2f0d..905dfc5db 100644 --- a/src/main/ui/static/templates/payment/v4/payment.css +++ b/src/main/ui/static/templates/payment/v4/payment.css @@ -432,6 +432,8 @@ input.value:focus { .alipay .paynow { background-color: #108ee9; + border: 1px solid #108ee9; + } .button_sp_area.rpay .paynow { From a6aa25206d9134a817e15e4c07861446ca8e948d Mon Sep 17 00:00:00 2001 From: "taylor.dang" Date: Mon, 24 Jun 2019 10:26:11 +0800 Subject: [PATCH 08/20] [Y] ignore --- src/main/ui/citypartner_register.html | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/ui/citypartner_register.html b/src/main/ui/citypartner_register.html index d5e3b6402..2190a35f9 100644 --- a/src/main/ui/citypartner_register.html +++ b/src/main/ui/citypartner_register.html @@ -206,7 +206,6 @@
-

联系人: Locky Ge

Phone: +61 03 9448 8865

Email: info@royalpay.com.au

Address: Level 11/15 William st

From e1f84ffc365823c533f044bd394981ba2aa9bf0c Mon Sep 17 00:00:00 2001 From: "james.zhao" Date: Mon, 24 Jun 2019 14:31:29 +0800 Subject: [PATCH 09/20] =?UTF-8?q?kpi=20=E5=BC=80=E6=88=B7=E6=95=B0?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../manage/mappers/system/ClientMapper.xml | 96 ++++++++++++++----- 2 files changed, 72 insertions(+), 26 deletions(-) diff --git a/pom.xml b/pom.xml index 62377ab20..ebcbbb303 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ UTF-8 1.1.2 - 1.0.43 + 1.0.44 diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml index 673aae015..3f0bcb658 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml @@ -553,43 +553,89 @@ fbc.bd_name, fbc.bd_group, fbc.bd_type, - count( * ) clients_month + sum( a.proportion ) clients_month FROM - sys_clients sc - INNER JOIN sys_client_bd d ON sc.client_id = d.client_id - INNER JOIN financial_bd_config c ON d.bd_id = c.manager_id - INNER JOIN financial_bd_config fbc ON fbc.manager_id = c.bd_group + sys_client_bd a + INNER JOIN ( + SELECT + bd_id, + max( create_time ) create_time + FROM + sys_client_bd WHERE - sc.org_id = 1 - AND sc.create_time >= #{start_date_month} - AND d.is_valid = 1 - AND c.bd_group IS NOT NULL - AND d.start_date <= now( ) AND d.is_valid = 1 AND ( d.end_date IS NULL OR d.end_date > now( ) + client_id IN ( + SELECT + client_id + FROM + sys_clients c + WHERE + c.approve_time >= #{start_date_month} + AND c.approve_time <= #{end_date} + AND c.is_valid = 1 + AND c.approve_result = 1 + AND c.org_id = 1 + ) + AND start_date <= #{end_date} AND is_valid = 1 AND ( end_date > #{start_date_month} + OR end_date IS NULL ) GROUP BY - fbc.bd_type + bd_id, + client_id + ) b ON a.bd_id = b.bd_id + AND a.create_time = b.create_time + INNER JOIN financial_bd_config c ON a.bd_id = c.manager_id + INNER JOIN financial_bd_config fbc ON fbc.manager_id = c.bd_group + WHERE + a.is_valid = 1 + GROUP BY + fbc.bd_group + ORDER BY + clients_month DESC ) t1 LEFT JOIN ( SELECT - count( * ) clients_yesterday, - fbc.bd_group + fbc.bd_name, + fbc.bd_group, + fbc.bd_type, + sum( a.proportion ) clients_yesterday FROM - sys_clients sc - INNER JOIN sys_client_bd d ON sc.client_id = d.client_id - INNER JOIN financial_bd_config c ON d.bd_id = c.manager_id - INNER JOIN financial_bd_config fbc ON fbc.manager_id = c.bd_group + sys_client_bd a + INNER JOIN ( + SELECT + bd_id, + max( create_time ) create_time + FROM + sys_client_bd + WHERE + client_id IN ( + SELECT + client_id + FROM + sys_clients c WHERE - sc.org_id = 1 - AND sc.create_time >= #{start_date} - AND sc.create_time < #{end_date} - AND d.is_valid = 1 - AND d.start_date <= now( ) AND d.is_valid = 1 AND ( d.end_date IS NULL OR d.end_date > now( ) + c.approve_time >= #{start_date} + AND c.approve_time < #{end_date} + AND c.is_valid = 1 + AND c.approve_result = 1 + AND c.org_id = 1 + ) + AND start_date <= #{end_date} AND is_valid = 1 AND ( end_date > #{start_date} + OR end_date IS NULL ) GROUP BY - fbc.bd_type - ) t2 ON t1.bd_group = t2.bd_group + bd_id, + client_id + ) b ON a.bd_id = b.bd_id + AND a.create_time = b.create_time + INNER JOIN financial_bd_config c ON a.bd_id = c.manager_id + INNER JOIN financial_bd_config fbc ON fbc.manager_id = c.bd_group WHERE - t1.bd_type IN ( 1, 2, 6, 7 ) + a.is_valid = 1 + GROUP BY + fbc.bd_group + ORDER BY + clients_yesterday DESC + ) t2 ON t1.bd_group = t2.bd_group + + + +
+
+ +
+ + +
+
+
diff --git a/src/main/ui/static/payment/partner/templates/partner_payment_info.html b/src/main/ui/static/payment/partner/templates/partner_payment_info.html index 337691ee6..3ac68bc59 100644 --- a/src/main/ui/static/payment/partner/templates/partner_payment_info.html +++ b/src/main/ui/static/payment/partner/templates/partner_payment_info.html @@ -450,6 +450,23 @@

+
+ +
+ +
+
+ +
+ + +
+
+
+ diff --git a/src/main/ui/static/templates/cbpay/css/gateway_phone.css b/src/main/ui/static/templates/cbpay/css/v1/gateway_phone.css similarity index 100% rename from src/main/ui/static/templates/cbpay/css/gateway_phone.css rename to src/main/ui/static/templates/cbpay/css/v1/gateway_phone.css diff --git a/src/main/ui/static/templates/cbpay/css/v2/gateway_phone.css b/src/main/ui/static/templates/cbpay/css/v2/gateway_phone.css new file mode 100644 index 000000000..4ee6caf8f --- /dev/null +++ b/src/main/ui/static/templates/cbpay/css/v2/gateway_phone.css @@ -0,0 +1,719 @@ +.header-banner { + background: url(/static/images/pay_v4_banner.png) no-repeat; + background-size: 92% 100%; + background-position: center; + box-shadow: 0 0 10px #dddddd inset; +} + +.merchant-title { + font-family: PingFang-SC-Medium; + font-size: 13px; + color: #4A4A4A; + letter-spacing: 0; +} + +.line { + padding-left: 30px; + color: #FFD194; +} + +body { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + box-sizing: border-box; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +div, span, p, ul, li { + box-sizing: border-box; +} + +.warning-sm { + color: red; + font-size: 10px; + transform-origin: left; + transform: scale(0.8); +} + +.weui_grid { + padding: 7px; + height: 53px; +} + +.ff.key { + position: relative; +} + +.ff { + font-size: 26px; + color: #FFFFFF; +} + +.ff img { + margin: 10px auto; + display: block; + width: 34px; +} + +div.wait { + top: 0; + margin-left: auto; + margin-right: auto; + left: 0; + right: 0; + position: absolute; + vertical-align: middle; + text-align: center; + bottom: 0; + opacity: .5; + background-color: gray; + z-index: 10000; +} + +.bisnam { + font-size: 16px; + color: #aaaaaa; + text-align: left; + padding: 0; +} + +.rmbcurrency { + font-size: 13px; + color: #FFFFFF; + vertical-align: text-bottom; + line-height: 38px; + padding-left: 10px; +} + +.static .rmbcurrency { + font-size: 14px; + line-height: 30px; +} + +.rmbvalue { + font-size: 24px; + color: #FFFFFF; + vertical-align: text-bottom; + float: right; +} + +.rmbvalue:before { + content: '≈¥'; + font-size: 16px; +} + +.paydetail { + float: right; + margin-top: 5px; + margin-left: 5px; +} + +.static .rmbvalue { + font-size: 18px; +} + +.currency { + font-size: 40px; + color: #FFFFFF; + /* line-height: 67px; */ + vertical-align: text-bottom; + padding-left: 10px; +} + +.static .currency { + color: #FFFFFF; + font-size: 25px; +} + +.value { + font-size: 50px; + line-height: 66px; + color: #FFFFFF; + margin-left: -5px; + vertical-align: text-bottom; + padding-right: 10px; +} + +.static .value { + color: #FFFFFF; + font-size: 24px; +} + +input.value { + background: transparent; + border: none; + line-height: 50px; +} + +input.value:active { + background: transparent; +} + +input.value:focus { + border: none; + outline: none; + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; +} + +.pp { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow-x: hidden; + background-color: #fbf9fe; +} + +.new_year { + width: 100%; + height: 100%; + position: absolute; + top: 18%; + left: 0; + z-index: -1; + border-radius: 0 0 25px 25px; +} + +.bankpay { + text-align: center; + padding: 20px; + color: #FFFFFF; +} + +@media screen and (max-height: 520px) { + .bankpay { + text-align: center; + padding: 0; + color: #FFFFFF; + } +} + +.row { + width: 100%; + padding: 0 20px; +} + +.hidden { + display: none; +} + +.hide-keyboard-btn { + width: 100%; +} + +.hide-keyboard-btn:after { + content: ''; + transform: rotate(45deg); + border-right: 2px solid #ccc; + border-bottom: 2px solid #ccc; + width: 30px; + height: 30px; + transform-origin: center; + display: block; + margin: auto; +} + +.remark-box.visible { + display: block; +} + +.remark-box.visible .remark-input { + font-size: 1.4em; + border: none; + background: #fff; +} + +.white-box { + background: #fff; + width: 96%; + margin: 10px auto; + display: block; + position: relative; + padding: 0 10px; + box-sizing: border-box; +} + +.white-box.full { + width: 100%; +} + +.logo-box .banner { + width: 100%; + display: block; +} + +.logo { + margin: auto; + display: block; + max-height: 60px; + max-width: 80%; +} + +.logo-small { + max-height: 100px; +} + +.currencyrow { + box-sizing: border-box; + margin-top: 0; + text-align: left; + margin-bottom: 0px; + position: relative; +} + +@media screen and (max-height: 670px) { + .currencyrow { + box-sizing: border-box; + margin-top: 0; + text-align: left; + margin-bottom: 0px; + } +} + +@media screen and (max-height: 520px) { + .currencyrow { + box-sizing: border-box; + margin-top: 20px; + text-align: center; + margin-bottom: 20px; + } +} + +.currencyrow:after { + content: ''; + display: block; + clear: both; +} + +.currencyrow > * { + display: inline-block; + vertical-align: bottom; + margin-bottom: 0; + box-sizing: border-box; +} + +.remark-input { + width: 100%; + font-size: 26px; + border-radius: 0; + outline: none; +} + +.remark-box { + display: none; +} + +.remark-box .remark-mask { + text-align: center; + height: 50px; + font-size: 0.9em; + line-height: 35px; + color: #ccc; +} + +.remark-label { + position: absolute; + top: 5px; + right: 5px; + font-size: 20px; + z-index: 1; + font-weight: bold; + color: #0d6aad; +} + +.coupons { + width: 100%; +} + +.coupons > li { + display: block; + width: 100%; + float: none; + color: #888888; + border-bottom: 1px dashed #aaa; + padding: 5px 0px; +} + +.coupons > li:after { + content: ''; + clear: both; + display: block +} + +.coupons > li:last-child { + border: none; +} + +.coupons .title, .coupons .desc, .coupons label { + display: block; +} + +.coupons .coupon-content { + display: block; + float: left; +} + +.coupons .title { + font-weight: bold; + font-size: 1em; +} + +.coupons .use-check { + position: relative; + display: block; + width: 25px; + background-repeat: no-repeat; + height: 25px; + background-size: contain; + float: right; + margin-right: 5px; + margin-top: 10px; +} + +.coupons .use-check.checked { + background-image: url(/static/images/checkbox-checked.png); +} + +.coupons .use-check.unchecked { + background-image: url(/static/images/checkbox-unchecked.png); +} + +.coupons .use-check.disabled { + background-image: url(/static/images/checkbox-disabled.png) !important; +} + +.coupons .desc { + font-size: 1em; +} + +.weui-wepay-logos { + background: transparent; +} + +.row.weui_grids:before, .row.weui_grids .weui_grid:before, .row.weui_grids .weui_grid:after { + display: none; +} + +.button_sp_area { + display: block; + position: relative; + margin-top: 10px; +} + +.button_sp_area:after { + content: ''; + clear: both; + display: block; +} + +.button_sp_area a { + height: 50px; + line-height: 50px; + padding: 0px; + font-family: Helvetica; + font-size: 20px; + float: left; + text-align: center; + border-radius: 0; + color: #fff; +} + +.button_sp_area .paynow { + width: 65%; + background: #FEB900; +} + +.button_sp_area.alipay .paynow { + background-color: #FEB900; +} + +.button_sp_area.rpay .paynow { + background-color: #FEB900; +} + +.button_sp_area .remark-btn { + width: 35%; + background: #FF9705 +} + +.pay-brands { + text-align: center; + line-height: 20px; + font-size: 24px; + margin-top: 64px; + color: #dddddd; +} + +.pay-brands img { + height: 18px; +} + +.pay-brands img.wechat-logo { + height: 14px; +} + +.weui_dialog_bd .final { + font-weight: bold; +} + +#coupon-box-toggle { + padding: 0 20px; + margin-bottom: 10px; + text-align: right; + color: #30af69; + font-size: 12px; + cursor: pointer; +} + +.coupons-container { + position: fixed; + z-index: 1; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow: auto; + display: none; +} + +.coupons-container.show { + display: block; +} + +.coupons-container > .coupons-mask { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, .6); + z-index: 1; +} + +.coupons-container > .coupon-box { + position: fixed; + z-index: 4; + left: 50%; + top: 50%; + width: 95%; + background: #fff; + padding: 10px; + transform: translate(-50%, -50%); +} + +.coupons-container .coupon-box-title { + width: 100%; + display: block; + background: #fff; + padding: 0 10px 5px; + font-size: 14px; + border-bottom: 1px solid #d0d0d0; +} + +.coupons-container .coupon-box-title:after { + content: ''; + display: block; + clear: both; +} + +.coupons-container .coupon-box-title > .title { + float: left; + display: block; + color: #0BB20C; +} + +.coupons-container .coupon-box-title > #close-coupon-box { + color: #700; + float: right; + display: block; + cursor: pointer; +} + +.actCharity-red { + color: #FB5252; + display: inline; +} + +.actCharity { + display: inline; + font-family: PingFang-SC-Medium; + font-size: 13px; + color: #000000; + letter-spacing: 0; + text-align: center; +} + +.remark-textarea { + font-size: 18px; + -webkit-appearance: none; + width: calc(100% - 24px); + height: 78px; + border: 1px solid #EBE8E8; + padding: 14px 12px; + margin-bottom: 24px; +} + +.remark-textarea::-webkit-input-placeholder { + font-size: 13px; + color: #BCBCBC; +} + +.paynow-button { + width: 245px; + display: block; + font-size: 16px; + color: #FFFFFF; + letter-spacing: 0; + text-align: center; + height: 48px; + line-height: 48px; + position: absolute; + bottom: -24px; + left: 50%; + transform: translateX(-50%); + background: #FF6600; + box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.10); + border-radius: 24px; +} + +.bankpay-button { + border: 1px solid #FF6600; + border-radius: 3px; + font-size: 16px; + color: #FF6600; + letter-spacing: 0; + text-align: center; + display: block; + height: 48px; + line-height: 48px; + background-color: white; +} + +#coupon-box-toggle.canUse-coupon { + padding: 0 30px; + margin-bottom: 10px; + text-align: right; + color: #FF6600; + font-size: 12px; + cursor: pointer; + margin: 11px; +} + +.pay-center-ctn { + margin-top: 30px; + background: #FFFFFF; + box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.10); + border-radius: 2px; + padding: 20px; + position: relative; +} + +.payment-input { + border-radius: 2px; + width: 54%; + height: 64px; + font-family: PingFang-SC-Heavy; + font-size: 25px; + color: #000000; + letter-spacing: 2.4px; + border-style:none; +} + +.payment-input::-webkit-input-placeholder { + color: #000; +} + +.paymengt-tips { + font-family: PingFang-SC-Medium; + font-size: 13px; + color: #000000; + letter-spacing: 0; + margin: 15px 7px; +} + +.payment-pro-input { + font-size: 17px; + -webkit-appearance: none; + border: 1px solid #EBE8E8; + width: calc(100% - 24px); + height: 30px; + margin-bottom: 15px; + padding: 14px 12px +} + +.payment-pro-input::-webkit-input-placeholder { + font-size: 12px; + color: #BCBCBC; +} + +.pay-center-img { + display: inline-block; + vertical-align: middle; + width: 81px; +} + +.pay-center-title { + display: inline-block; + vertical-align: middle; + margin-left: 11px; +} + +.pay-center-dropdown { + width: 100px; + height: 64px; + background: #FF6600; + text-align: center; + line-height: 64px; + position: absolute; + right: 0; +} + +.dropdown-icon { + background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTYxMDgzNDM4ODM1IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMzNDciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTQ2NS4wOTQyMDIgODExLjk1MDQ5IDY5LjY0OTgwMSAzOTguNjQwMTg2Yy0xNC4xNzg5MzEtMTMuNTU5ODMtMTQuMTc4OTMxLTM1LjU1Mzc1MSAwLTQ5LjExOTcyMSAxNC4xNjU2MjgtMTMuNTY1OTcgMzcuMTMzNzM1LTEzLjU2NTk3IDUxLjMwNTUwMyAwbDM3MS42MTQ2NjkgMzg4LjQwMzAzMSAzNzEuNjIxODMyLTM4OC40MDMwMzFjMTQuMTczODE0LTEzLjU2NTk3IDM3LjE0MDg5OC0xMy41NjU5NyA1MS4zMTM2ODkgMCAxNC4xNzE3NjggMTMuNTY1OTcgMTQuMTcxNzY4IDM1LjU1OTg5IDAgNDkuMTE5NzIxTDUyMC4wNDY3NjggODExLjk1MDQ5Yy03LjU1NjA5MyA3LjIzMDY4Mi0xNy41ODU1MTcgMTAuMzIyMDktMjcuNDc2Nzk1IDkuODI3ODMzQzQ4Mi42Nzg2OTYgODIyLjI3MjU3OSA0NzIuNjQ5MjcyIDgxOS4xODIxOTQgNDY1LjA5NDIwMiA4MTEuOTUwNDl6IiBwLWlkPSIzMzQ4IiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+"); + background-size: 13px 13px; + width: 13px; + height: 13px; + display: inline-block; + margin-left: 5px; +} + +.rotate-180 { + transform: rotate(180deg); +} + +.pay-center-dropdown-ctn { + display: none; + background: #FF6600; + color: #fff; +} +.currency{ + padding-left: 6px; + height: 52px; + width: 30px; + font-family: PingFang-SC-Heavy; + font-size: 25px; + color: #000000; + letter-spacing: 2.4px; + text-align: center; +} + +.logo-div { + max-width: 34%; + display: inline-block; + max-height: 60px; + padding-top: 10px; +} + +.merchant-div{ + display: inline-block; + padding-left: 10px; + padding-top: 20px; +} + diff --git a/src/main/ui/static/templates/cbpay/lakala/v2/gateway_jsapi_phone.js b/src/main/ui/static/templates/cbpay/lakala/v2/gateway_jsapi_phone.js new file mode 100644 index 000000000..d669567a0 --- /dev/null +++ b/src/main/ui/static/templates/cbpay/lakala/v2/gateway_jsapi_phone.js @@ -0,0 +1,89 @@ +var num = function (obj) { + obj.value = obj.value.replace(/[^\d.]/g, ""); + obj.value = obj.value.replace(/^\./g, ""); + obj.value = obj.value.replace(/\.{2,}/g, "."); + obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); + obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); + if(obj.value.indexOf(".")< 0 && obj.value !==""){ + obj.value= parseFloat(obj.value); + } + + var surchargeData = calculateSurcharge(obj.value - 0); + var surchargeAmount = Decimal.add(surchargeData.surcharge, surchargeData.tax); + var currency = '$'; + if($('#select_currency').val()=='CNY'){ + currency = '¥'; + } + $('#surchargeAmount').html(currency+surchargeAmount+''); + $('#totalAmount').html(currency+surchargeData.newPrice+''); + if (surchargeAmount - 0 === 0 || !window.c4surcharge) { + $('.surcharge').hide(); + } else { + $('.surcharge').show(); + } + +}; +function onChange(str,num) { + return str.length === num; + +} +$(document).ready(function () { + $('.surcharge').hide(); + $('#commit-btn').click(function () { + var currency = $('#select_currency option:selected').val(); + var price = $('#price').val(); + var product = $('#product').val(); + var remark = $('#remark').val(); + if (price == null || onChange(price, 0)) { + alert('请填写订单金额'); + return; + } + if (price - 0 === 0) { + alert('金额不能为0'); + return; + } + if (product == null || product.length === 0) { + alert('请填写真实的商品名称'); + return; + } + + $('#commit-btn').addClass('hidden'); + $('#commit-btn-loading').removeClass('hidden'); + + var jsonData = { + user_id: window.customer_id, + price: price, + currency: currency, + gateway_type: 8, + description:remark, + product_name:product + }; + + $.ajax({ + url: '/api/v1.0/lakala_pay/partners/' + window.client_moniker + '/submit', + method: 'put', + data: JSON.stringify(jsonData), + contentType: 'application/json', + dataType: 'json', + success: function (res) { + if(res.return_code !== 'SUCCESS'){ + alert(res.message); + $('#commit-btn').removeClass('hidden'); + $('#commit-btn-loading').addClass('hidden'); + }else { + location.href = res.pay_url+'?'+res.sign_url; + // const $form = $(res.formString); + // $('body').append($form); + // $form.submit(); + // $('body').removeChildren($form); + } + }, + error: function (jqXHR) { + alert(JSON.parse(jqXHR.responseText).message); + $('#commit-btn').removeClass('hidden'); + $('#commit-btn-loading').addClass('hidden'); + } + }) + + }); +}); diff --git a/src/main/ui/static/templates/cbpay/yeepay/v2/gateway_jsapi_phone.js b/src/main/ui/static/templates/cbpay/yeepay/v2/gateway_jsapi_phone.js new file mode 100644 index 000000000..cca183ee6 --- /dev/null +++ b/src/main/ui/static/templates/cbpay/yeepay/v2/gateway_jsapi_phone.js @@ -0,0 +1,116 @@ +var num = function (obj) { + obj.value = obj.value.replace(/[^\d.]/g, ""); + obj.value = obj.value.replace(/^\./g, ""); + obj.value = obj.value.replace(/\.{2,}/g, "."); + obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", "."); + obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); + if(obj.value.indexOf(".")< 0 && obj.value !=""){ + obj.value= parseFloat(obj.value); + } + + var surchargeData = calculateSurcharge(obj.value - 0); + var surchargeAmount = Decimal.add(surchargeData.surcharge, surchargeData.tax); + var currency = '$'; + if($('#select-display').text()=='CNY'){ + currency = '¥'; + } + $('#surchargeAmount').html(currency+surchargeAmount+''); + $('#totalAmount').html(currency+surchargeData.newPrice+''); + if (surchargeAmount - 0 == 0 || !window.c4surcharge) { + $('.surcharge').hide(); + } else { + $('.surcharge').show(); + } + +}; + +var changeCurrencyCheckNum = function (obj) { + var surchargeData = calculateSurcharge(obj.val() - 0); + var surchargeAmount = Decimal.add(surchargeData.surcharge, surchargeData.tax); + var currency = '$'; + if($('#select-display').text()=='CNY'){ + currency = '¥'; + } + $('#surchargeAmount').html(currency+surchargeAmount+''); + $('#totalAmount').html(currency+surchargeData.newPrice+''); + if (surchargeAmount - 0 == 0 || !window.c4surcharge) { + $('.surcharge').hide(); + } else { + $('.surcharge').show(); + } + +}; + + +function onChange(str,num) { + if (str.length == num) { + return true; + } + return false; +} +$(document).ready(function () { + $('.pay-center-dropdown-ctn').on('click', function () { + if ($('#select-change').text() == "CNY") { + $('#select-display').html("CNY"); + $('#select-change').html("AUD"); + $('.currency').html("¥"); + changeCurrencyCheckNum($('#price')); + }else { + $('#select-display').html("AUD"); + $('#select-change').html("CNY"); + $('.currency').html("$"); + changeCurrencyCheckNum($('#price')); + } + $('.pay-center-dropdown-ctn').toggle(); + }); + + $('.surcharge').hide(); + $('#commit-btn').click(function () { + var product = $('#product').val(); + var price = $('#price').val(); + var remark = $('#remark').val(); + var currency = $('#select_currency option:selected').val(); + if (price == null || onChange(price,0)) { + alert('请填写订单金额'); + return; + } + if (price-0 ==0) { + alert('金额不能为0'); + return; + } + + $('#commit-btn').addClass('hidden'); + $('#commit-btn-loading').removeClass('hidden'); + + var jsonData = { + user_id: window.customer_id, + price: price, + currency: currency, + product_name:product, + description:remark + }; + + $.ajax({ + url: '/api/v1.0/yeepay/partners/' + window.client_moniker + '/share', + method: 'put', + data: JSON.stringify(jsonData), + contentType: 'application/json', + dataType: 'json', + success: function (res) { + if(res.return_code != 'SUCCESS'){ + alert(res.message); + $('#commit-btn').removeClass('hidden'); + $('#commit-btn-loading').addClass('hidden'); + }else { + location.href = res.pay_url+'?'+res.sign_url; + } + }, + error: function (jqXHR) { + alert(JSON.parse(jqXHR.responseText).message); + $('#commit-btn').removeClass('hidden'); + $('#commit-btn-loading').addClass('hidden'); + } + }) + + }); +}); diff --git a/src/main/ui/static/templates/payment/v4/payment.css b/src/main/ui/static/templates/payment/v4/payment.css index 905dfc5db..c8d95f23d 100644 --- a/src/main/ui/static/templates/payment/v4/payment.css +++ b/src/main/ui/static/templates/payment/v4/payment.css @@ -245,15 +245,13 @@ input.value:focus { .logo-box .banner { width: 100%; - display: block; } .logo { margin: auto; display: block; - margin-top: 20px; max-height: 60px; - max-width: 80%; + max-width: 100%; } .logo-small { @@ -622,3 +620,16 @@ input::-webkit-input-placeholder{ line-height: 60px; vertical-align: text-bottom; } + +.logo-div { + max-width: 34%; + display: inline-block; + max-height: 60px; + padding-top: 10px; +} + +.merchant-div{ + display: inline-block; + padding-left: 10px; + padding-top: 20px; +} From 5eb476e82ded47ef48675c91340c80f08fddf36e Mon Sep 17 00:00:00 2001 From: luoyang Date: Tue, 25 Jun 2019 15:43:26 +0800 Subject: [PATCH 14/20] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=BD=91=E9=93=B6?= =?UTF-8?q?=E5=BF=AB=E6=8D=B7=E6=94=AF=E4=BB=98=E6=96=B0=E7=89=88=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index a41285876..df03752ce 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ UTF-8 1.1.2 - 1.1.0 + 1.1.1 From 6652fcd63086be409999616c101f68cd381e290d Mon Sep 17 00:00:00 2001 From: luoyang Date: Tue, 25 Jun 2019 16:08:29 +0800 Subject: [PATCH 15/20] =?UTF-8?q?add=20yeepay=20product=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/templates/cbpay/yeepay/v1/gateway_jsapi_phone.js | 5 +++++ .../static/templates/cbpay/yeepay/v2/gateway_jsapi_phone.js | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_phone.js b/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_phone.js index 5da9823f0..d362a3555 100644 --- a/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_phone.js +++ b/src/main/ui/static/templates/cbpay/yeepay/v1/gateway_jsapi_phone.js @@ -45,6 +45,11 @@ $(document).ready(function () { return; } + if (product == null || product.length === 0) { + alert('请填写真实的商品名称'); + return; + } + $('#commit-btn').addClass('hidden'); $('#commit-btn-loading').removeClass('hidden'); diff --git a/src/main/ui/static/templates/cbpay/yeepay/v2/gateway_jsapi_phone.js b/src/main/ui/static/templates/cbpay/yeepay/v2/gateway_jsapi_phone.js index cca183ee6..493a36560 100644 --- a/src/main/ui/static/templates/cbpay/yeepay/v2/gateway_jsapi_phone.js +++ b/src/main/ui/static/templates/cbpay/yeepay/v2/gateway_jsapi_phone.js @@ -79,6 +79,11 @@ $(document).ready(function () { return; } + if (product == null || product.length === 0) { + alert('请填写真实的商品名称'); + return; + } + $('#commit-btn').addClass('hidden'); $('#commit-btn-loading').removeClass('hidden'); From 810274f83593fe79a9308859872fe9ee809c432e Mon Sep 17 00:00:00 2001 From: luoyang Date: Tue, 25 Jun 2019 16:30:24 +0800 Subject: [PATCH 16/20] =?UTF-8?q?add=20=E6=94=AF=E4=BB=98=E9=A1=B5?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E6=B8=85=E6=A5=9Acache?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../payment/manage/merchants/core/impls/ClientManagerImpl.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index df03752ce..9bdd57365 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ UTF-8 1.1.2 - 1.1.1 + 1.1.2 diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index e4f595761..d20ba8143 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -3218,6 +3218,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } checkOrgPermission(manager, client); clientModifySupport.processClientConfigModify(new PaypadVersionModify(manager, clientMoniker, paypad_version)); + clientInfoCacheSupport.clearClientMonikerConfigCache(clientMoniker); } @Override @@ -3338,7 +3339,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new InvalidShortIdException(); } clientModifySupport.processClientConfigModify(new PaypadVersionModify(account, client.getString("client_moniker"), paypad_version)); - + clientInfoCacheSupport.clearClientMonikerConfigCache(clientMoniker); } @Override From b55dd1394308ecdf6492537df07dfa3ea318c9a5 Mon Sep 17 00:00:00 2001 From: luoyang Date: Tue, 25 Jun 2019 16:51:07 +0800 Subject: [PATCH 17/20] fix --- .../payment/manage/merchants/core/impls/ClientManagerImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index d20ba8143..5e1e71643 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -3339,7 +3339,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new InvalidShortIdException(); } clientModifySupport.processClientConfigModify(new PaypadVersionModify(account, client.getString("client_moniker"), paypad_version)); - clientInfoCacheSupport.clearClientMonikerConfigCache(clientMoniker); + clientInfoCacheSupport.clearClientMonikerConfigCache(client.getString("client_moniker")); } @Override From bd49def96294aa9b67223fbe819433bd3f2689ea Mon Sep 17 00:00:00 2001 From: luoyang Date: Tue, 25 Jun 2019 16:59:27 +0800 Subject: [PATCH 18/20] fix --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9bdd57365..432d5965d 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ UTF-8 1.1.2 - 1.1.2 + 1.1.3 From 1340b3963e85f0860eb5e2f70d699b2f58d994a6 Mon Sep 17 00:00:00 2001 From: "james.zhao" Date: Wed, 26 Jun 2019 09:26:12 +0800 Subject: [PATCH 19/20] =?UTF-8?q?=E6=97=A5=E6=8A=A5=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E5=B1=8F=E8=94=BD=E6=94=AF=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../templates/reports/daily_report.html | 82 +++++++++---------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/pom.xml b/pom.xml index 432d5965d..f3a3772b1 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ UTF-8 1.1.2 - 1.1.3 + 1.1.4 diff --git a/src/main/resources/templates/reports/daily_report.html b/src/main/resources/templates/reports/daily_report.html index 1cbb05e2c..b04ca4c48 100644 --- a/src/main/resources/templates/reports/daily_report.html +++ b/src/main/resources/templates/reports/daily_report.html @@ -29,8 +29,8 @@
@@ -94,46 +94,46 @@
- +