From 6acf488ce610749d6aa4e4c8be4b2e0c9e081c95 Mon Sep 17 00:00:00 2001 From: luoyang Date: Fri, 24 Aug 2018 18:08:45 +0800 Subject: [PATCH] add hf clearingAmount select --- .../manage/dev/core/AliforexcelService.java | 2 - .../manage/dev/core/HfClearAmountService.java | 9 ++++ .../core/impl/HfClearAmountServiceImpl.java | 52 +++++++++++++++++++ .../manage/dev/web/TestController.java | 8 +++ .../mappers/payment/TransactionMapper.java | 2 + .../mappers/payment/TransactionMapper.xml | 7 +++ .../ui/static/config/devtools/devtools.js | 31 ++++++++++- .../devtools/templates/hfClearAmount.html | 44 ++++++++++++++++ .../config/devtools/templates/root.html | 4 ++ 9 files changed, 156 insertions(+), 3 deletions(-) create mode 100644 src/main/java/au/com/royalpay/payment/manage/dev/core/HfClearAmountService.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/dev/core/impl/HfClearAmountServiceImpl.java create mode 100644 src/main/ui/static/config/devtools/templates/hfClearAmount.html diff --git a/src/main/java/au/com/royalpay/payment/manage/dev/core/AliforexcelService.java b/src/main/java/au/com/royalpay/payment/manage/dev/core/AliforexcelService.java index 8f5a10262..4fc7a3ab7 100644 --- a/src/main/java/au/com/royalpay/payment/manage/dev/core/AliforexcelService.java +++ b/src/main/java/au/com/royalpay/payment/manage/dev/core/AliforexcelService.java @@ -10,6 +10,4 @@ import java.io.IOException; public interface AliforexcelService { JSONObject listClients(HttpServletResponse httpResponse,JSONObject manager, AliExcel query); - - } diff --git a/src/main/java/au/com/royalpay/payment/manage/dev/core/HfClearAmountService.java b/src/main/java/au/com/royalpay/payment/manage/dev/core/HfClearAmountService.java new file mode 100644 index 000000000..9b6721aca --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/dev/core/HfClearAmountService.java @@ -0,0 +1,9 @@ +package au.com.royalpay.payment.manage.dev.core; + +import com.alibaba.fastjson.JSONObject; + +public interface HfClearAmountService { + + JSONObject hfjsonobject(String dateto,String datefrom); + +} diff --git a/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/HfClearAmountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/HfClearAmountServiceImpl.java new file mode 100644 index 000000000..665443b7b --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/HfClearAmountServiceImpl.java @@ -0,0 +1,52 @@ +package au.com.royalpay.payment.manage.dev.core.impl; + +import au.com.royalpay.payment.manage.dev.core.HfClearAmountService; +import au.com.royalpay.payment.manage.mappers.payment.TransactionMapper; +import com.alibaba.fastjson.JSONObject; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.List; + +@Service +public class HfClearAmountServiceImpl implements HfClearAmountService{ + private final DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss"); + @Resource + private TransactionMapper transactionMapper; + + @Override + public JSONObject hfjsonobject(String dateto,String datefrom) { + JSONObject hfAmountInfo = new JSONObject(); + JSONObject parms = new JSONObject(); + parms.put("dateto", dateto + " 02:00:00"); + parms.put("datefrom", datefrom + " 02:00:00"); + List hflist = transactionMapper.getHfClearAmount(parms); + Double payallAmount = 0.0; + Double refundAllAmount = 0.0; + Double paySurAmount = 0.0; + Double refundSurAllAmount = 0.0; + if (hflist.isEmpty()) { + hfAmountInfo.put("PayAmount", 0); + hfAmountInfo.put("RefundAmount", 0); + } + for(JSONObject hfAmount : hflist){ + if ("Credit".equals(hfAmount.getString("transaction_type"))) { + hfAmountInfo.put("PayAmount",hfAmount.getBigDecimal("clearingamount").setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue()); + payallAmount = hfAmount.getDouble("clearingamount"); + paySurAmount = hfAmount.getDouble("suramount"); + } + if ("Debit".equals(hfAmount.getString("transaction_type"))) { + hfAmountInfo.put("RefundAmount",hfAmount.getBigDecimal("clearingamount").setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue()); + refundAllAmount = hfAmount.getDouble("clearingamount"); + refundSurAllAmount = hfAmount.getDouble("suramount"); + } + } + hfAmountInfo.put("realAmount", new BigDecimal(payallAmount - refundAllAmount).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue()); + hfAmountInfo.put("surAmount", new BigDecimal(paySurAmount - refundSurAllAmount).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue()); + hfAmountInfo.put("hfAmount", new BigDecimal(((payallAmount - refundAllAmount) - (paySurAmount - refundSurAllAmount))).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue()); + return hfAmountInfo; + } +} diff --git a/src/main/java/au/com/royalpay/payment/manage/dev/web/TestController.java b/src/main/java/au/com/royalpay/payment/manage/dev/web/TestController.java index b47bdbfa4..49f0e0b42 100644 --- a/src/main/java/au/com/royalpay/payment/manage/dev/web/TestController.java +++ b/src/main/java/au/com/royalpay/payment/manage/dev/web/TestController.java @@ -14,6 +14,7 @@ import au.com.royalpay.payment.manage.dev.bean.AliExcel; import au.com.royalpay.payment.manage.dev.bean.Message; import au.com.royalpay.payment.manage.dev.bean.SendWechatMessage; import au.com.royalpay.payment.manage.dev.core.AliforexcelService; +import au.com.royalpay.payment.manage.dev.core.HfClearAmountService; import au.com.royalpay.payment.manage.dev.core.NewpartnerService; import au.com.royalpay.payment.manage.dev.core.WechatMessageService; import au.com.royalpay.payment.manage.mappers.customers.CustomerEncourageMoneyUseLogMapper; @@ -107,6 +108,8 @@ public class TestController implements ApplicationEventPublisherAware { private NewpartnerService newpartnerService; @Resource private AliforexcelService aliforexcelService; + @Resource + private HfClearAmountService hfClearAmountService; @ManagerMapping(value = "/{clientMoniker}/export/agreepdf", method = RequestMethod.GET, role = {ManagerRole.ADMIN, ManagerRole.DIRECTOR, ManagerRole.OPERATOR}) public void exportAgreeFile(@PathVariable String clientMoniker, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, HttpServletResponse httpResponse) throws Exception { @@ -389,4 +392,9 @@ public class TestController implements ApplicationEventPublisherAware { public void aliforexcel(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, HttpServletResponse httpResponse, AliExcel query) throws Exception { aliforexcelService.listClients(httpResponse,manager,query); } + + @ManagerMapping(value = "/hfClearAmount", method = RequestMethod.GET, role = ManagerRole.DEVELOPER) + public JSONObject hfClearAmount(@RequestParam String datefrom, @RequestParam String dateto) { + return hfClearAmountService.hfjsonobject(dateto,datefrom); + } } diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.java index 38eb75087..bde8d8d65 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.java @@ -140,4 +140,6 @@ public interface TransactionMapper { void deleteSettlementTransaction(@Param("clearing_id") int clearingId); void removeSettleRemark(@Param("clearing_id") int clearingId); + + List getHfClearAmount(JSONObject parms); } 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 bcf7b05c3..faf49ea99 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 @@ -858,4 +858,11 @@ select sum(if(temp.transaction_type='Credit',temp.clearing_amount*d.proportion, ORDER BY trans_date DESC + + \ No newline at end of file diff --git a/src/main/ui/static/config/devtools/devtools.js b/src/main/ui/static/config/devtools/devtools.js index 51206382c..8e17f53f7 100644 --- a/src/main/ui/static/config/devtools/devtools.js +++ b/src/main/ui/static/config/devtools/devtools.js @@ -55,7 +55,11 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { url: '/aliforexcel', templateUrl: '/static/config/devtools/templates/aliforexcel.html', controller: 'aliforexcelCtrl' - }) + }).state('devtools.hfClearAmount', { + url: '/hfClearAmount', + templateUrl: '/static/config/devtools/templates/hfClearAmount.html', + controller: 'hfClearAmountCtrl' + }) }]); app.controller('devManualRefundCtrl', ['$scope', '$http', 'commonDialog', function ($scope, $http, commonDialog) { $scope.sendRefund = function () { @@ -338,6 +342,31 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { }]); + app.controller('hfClearAmountCtrl', ['$scope', '$http','$filter', function ($scope, $http,$filter) { + $scope.params = {}; + $scope.totalhide = true; + $scope.selecttotal = true; + $scope.select = function () { + $scope.totalhide = true; + $scope.selecttotal = false; + var params = angular.copy($scope.params); + params.datefrom = $filter('date')(params.datefrom, 'yyyy-MM-dd'); + params.dateto = $filter('date')(params.dateto, 'yyyy-MM-dd'); + $http.get('/dev/hfClearAmount',{params:params}).then(function (resp) { + $scope.totalhide = false; + $scope.selecttotal = true; + $scope.PayAmount = resp.data.PayAmount; + $scope.RefundAmount = resp.data.RefundAmount; + $scope.hfAmount = resp.data.hfAmount; + $scope.realAmount = resp.data.realAmount; + $scope.surAmount = resp.data.surAmount; + }, function (resp) { + alert(resp.data.message); + }) + } + + }]); + return app; }); \ No newline at end of file diff --git a/src/main/ui/static/config/devtools/templates/hfClearAmount.html b/src/main/ui/static/config/devtools/templates/hfClearAmount.html new file mode 100644 index 000000000..cb2adbebf --- /dev/null +++ b/src/main/ui/static/config/devtools/templates/hfClearAmount.html @@ -0,0 +1,44 @@ +
+

HF清算金额统计

+ +
+
+
+
+
+ +
+ ~ +
+ +
    + +
+
+
+ +
+ +
+ +
+ +
+ + +
+
\ No newline at end of file diff --git a/src/main/ui/static/config/devtools/templates/root.html b/src/main/ui/static/config/devtools/templates/root.html index d5c0ce8d9..8c51fb095 100644 --- a/src/main/ui/static/config/devtools/templates/root.html +++ b/src/main/ui/static/config/devtools/templates/root.html @@ -75,6 +75,10 @@ 支付宝进件导出 + + + HF清算金额统计 +