From 0cdbe2add47b43944f80d4a6cacdcdd1ab1d4752 Mon Sep 17 00:00:00 2001 From: yangkai Date: Thu, 13 Sep 2018 13:31:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=90=8E=E5=BC=B9=E5=87=BA?= =?UTF-8?q?=E6=8A=BD=E5=A5=96=E8=B7=B3=E8=BD=AC=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mappers/TransactionAnalysisMapper.java | 2 ++ .../customers/core/CustomerPointsService.java | 4 ++++ .../core/impls/CustomerPointsServiceImp.java | 13 ++++++++++++ .../web/CustomerPointsController.java | 12 +++++++---- .../mappers/TransactionAnalysisMapper.xml | 8 ++++++++ .../ui/static/templates/payment/success.js | 20 +++++++++++++++++++ 6 files changed, 55 insertions(+), 4 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.java b/src/main/java/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.java index a60d93f7e..c28d1b8b2 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.java @@ -76,4 +76,6 @@ public interface TransactionAnalysisMapper { PageList getAreaMerchantAmountAnalysis(JSONObject params,PageBounds pagination); List getAreaMerchantAmountByCycle(JSONObject params); + + JSONObject getOrderClearAmount(@Param("order_id") String order_id); } diff --git a/src/main/java/au/com/royalpay/payment/manage/customers/core/CustomerPointsService.java b/src/main/java/au/com/royalpay/payment/manage/customers/core/CustomerPointsService.java index 80b89a490..f47965685 100644 --- a/src/main/java/au/com/royalpay/payment/manage/customers/core/CustomerPointsService.java +++ b/src/main/java/au/com/royalpay/payment/manage/customers/core/CustomerPointsService.java @@ -3,6 +3,8 @@ package au.com.royalpay.payment.manage.customers.core; import au.com.royalpay.payment.manage.customers.beans.GatewayParams; import org.springframework.transaction.annotation.Transactional; +import java.math.BigDecimal; + /** * Created by yishuqian on 24/04/2017. */ @@ -19,4 +21,6 @@ public interface CustomerPointsService { int getOldPoints(String customer_id, String channel); int checkPointsAfterPay(String order_id); + + BigDecimal checkLotteryAfterPay(String order_id); } diff --git a/src/main/java/au/com/royalpay/payment/manage/customers/core/impls/CustomerPointsServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/customers/core/impls/CustomerPointsServiceImp.java index a4408b2b1..3cd2e8dad 100644 --- a/src/main/java/au/com/royalpay/payment/manage/customers/core/impls/CustomerPointsServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/customers/core/impls/CustomerPointsServiceImp.java @@ -2,6 +2,7 @@ package au.com.royalpay.payment.manage.customers.core.impls; import au.com.royalpay.payment.core.exceptions.SignInvalidException; import au.com.royalpay.payment.core.exceptions.SignTimeoutException; +import au.com.royalpay.payment.manage.analysis.mappers.TransactionAnalysisMapper; import au.com.royalpay.payment.manage.customers.beans.GatewayParams; import au.com.royalpay.payment.manage.customers.core.CustomerPointsService; import au.com.royalpay.payment.manage.mappers.customers.CustomerMembershipMapper; @@ -21,6 +22,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; @@ -49,6 +51,8 @@ public class CustomerPointsServiceImp implements CustomerPointsService { private CustomerPointsMapper customerPointsMapper; @Resource private CustomerMembershipMapper customerMembershipMapper; + @Resource + private TransactionAnalysisMapper transactionAnalysisMapper; private String auth_code = "w2DgCF2cvlNHo3R6"; @@ -276,6 +280,15 @@ public class CustomerPointsServiceImp implements CustomerPointsService { } } + @Override + public BigDecimal checkLotteryAfterPay(String order_id) { + JSONObject order = transactionAnalysisMapper.getOrderClearAmount(order_id); + if (order.getIntValue("client_id") != 9) { + return BigDecimal.valueOf(0); + } + return order.getBigDecimal("clearing_amount"); + } + /** * 获取过期积分 * diff --git a/src/main/java/au/com/royalpay/payment/manage/customers/web/CustomerPointsController.java b/src/main/java/au/com/royalpay/payment/manage/customers/web/CustomerPointsController.java index 6652324b1..3163086d7 100644 --- a/src/main/java/au/com/royalpay/payment/manage/customers/web/CustomerPointsController.java +++ b/src/main/java/au/com/royalpay/payment/manage/customers/web/CustomerPointsController.java @@ -2,12 +2,10 @@ package au.com.royalpay.payment.manage.customers.web; import au.com.royalpay.payment.manage.customers.core.CustomerPointsService; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.math.BigDecimal; @Controller @RequestMapping(value = "/customers/points") @@ -21,4 +19,10 @@ public class CustomerPointsController { public int checkPointsAfterPay(@PathVariable String order_id) { return customerPointsService.checkPointsAfterPay(order_id); } + + @RequestMapping(value = "/lottery/{order_id}/check",method = RequestMethod.GET) + @ResponseBody + public BigDecimal checkLotteryAfterPay(@PathVariable String order_id) { + return customerPointsService.checkLotteryAfterPay(order_id); + } } diff --git a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.xml index 6809568a6..c54de2dab 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/TransactionAnalysisMapper.xml @@ -863,4 +863,12 @@ GROUP BY c.client_id order by old_total desc + + \ No newline at end of file diff --git a/src/main/ui/static/templates/payment/success.js b/src/main/ui/static/templates/payment/success.js index 526e2751d..c48322bd2 100644 --- a/src/main/ui/static/templates/payment/success.js +++ b/src/main/ui/static/templates/payment/success.js @@ -69,6 +69,26 @@ $(function () { loadPoints(); + function loadLottery() { + $.ajax({ + url: '/customers/points/lottery/' + window.order_id + '/check', + method: 'GET', + dataType: 'text', + success: function (data) { + if (data >= 1.99) { + $('.points-title').html('恭喜您!获得抽奖奖励'); + $('.points-desc').html('使用RoyalPay任意消费满1.99澳币,获取1次抽奖机会'); + $('.points-dialog .points-value').html('+ ' + 1); + $('.points-dialog a').html('进入抽奖页面'); + $('.points-dialog a').attr("href","https://customer.royalpay.com.au/activity/luck_draw"); + $('.points-dialog').removeClass('hide'); + } + + }, error: function () { + } + }); + } + loadLottery(); $('.encourage-dialog .close-circle').click(function () { $('.encourage-dialog').addClass('hide'); });