From 05c5d7207a754b7fe07d032187d8f9251c1f331a Mon Sep 17 00:00:00 2001 From: luoyang Date: Thu, 8 Nov 2018 11:09:53 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E5=95=86=E6=88=B7=E6=B4=BB=E8=B7=83?= =?UTF-8?q?=E5=BA=A6&&=E6=B6=88=E8=B4=B9=E8=80=85=E6=8E=92=E5=90=8Dsql?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../analysis/core/CustomersAnalysisService.java | 2 ++ .../core/impls/ClientRatesAnalysisServiceImpl.java | 4 ++-- .../core/impls/CustomersAnalysisServiceImp.java | 8 ++++++++ .../analysis/web/CustomersAnalysisController.java | 11 +++++++++++ .../analysis/mappers/ClientRatesAnalysisMapper.xml | 14 +++++++------- src/main/ui/static/analysis/customer_analysis.js | 4 +++- 6 files changed, 33 insertions(+), 10 deletions(-) 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 c41976495..71f667ef9 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 @@ -15,6 +15,8 @@ public interface CustomersAnalysisService { JSONObject getCustomersRanking(JSONObject params, int page, int limit); + JSONObject getCustomersTotal(JSONObject params); + JSONObject getOrdersByOpenid(JSONObject params, int page, int limit); void sendPartnerTransactionDaily(Date date); diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/ClientRatesAnalysisServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/ClientRatesAnalysisServiceImpl.java index e8fa2779d..e87373d49 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/ClientRatesAnalysisServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/ClientRatesAnalysisServiceImpl.java @@ -58,8 +58,8 @@ public class ClientRatesAnalysisServiceImpl implements ClientRatesAnalysisServic if (ManagerRole.BD_LEADER.hasRole(manager.getIntValue("role"))) { params.put("bd_group", manager.getString("manager_id")); } - params.put("begin", beginDate); - params.put("end", endDate); + params.put("begin", DateFormatUtils.format(beginDate,"yyyy-MM-dd")); + params.put("end", DateFormatUtils.format(endDate,"yyyy-MM-dd")); orgManager.checkOrgIds(manager,params); JSONObject result = new JSONObject(); List bdAnalysis = clientRatesAnalysisMapper.analysisRatesForBDUsers(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 88e26c0d1..6f35bd105 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 @@ -82,6 +82,14 @@ public class CustomersAnalysisServiceImp implements CustomersAnalysisService { return result; } + @Override + public JSONObject getCustomersTotal(JSONObject params) { + JSONObject result = new JSONObject(); + result.put("analysis", orderAnalysisMapper.listCustomersDataAnalysis(params)); + result.put("openid_type", params.getIntValue("openid_type")); + return result; + } + @Override public JSONObject getOrdersByOpenid(JSONObject params, int page, int limit) { PageList logs = orderMapper.listOrderByCustomer(params, new PageBounds(page, limit, Order.formString("create_time.desc"))); 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 99d38b75d..9349bd9c9 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 @@ -85,6 +85,17 @@ public class CustomersAnalysisController { return customersAnalysisService.getCustomersRanking(params,analysis.getPage(),analysis.getLimit()); } + @ManagerMapping(value = "/ranking/{openid_type}/total",role = ManagerRole.RISK_MANAGER) + public JSONObject getCustomersTotal(@PathVariable int openid_type, AnalysisBean analysis, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + JSONObject params = analysis.toParams(null); + params.put("openid_type",openid_type); + if (manager.getInteger("org_id") != null) { + params.put("org_id", manager.getIntValue("org_id")); + } + + return customersAnalysisService.getCustomersTotal(params); + } + @ManagerMapping(value = "/{customer_id}/orders",role = ManagerRole.DEVELOPER) public JSONObject getCustomerOrders(@PathVariable String customer_id, TradeLogQuery tradeLogQuery, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { JSONObject params = tradeLogQuery.toParams(null); diff --git a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/ClientRatesAnalysisMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/ClientRatesAnalysisMapper.xml index 140c8d33e..8529a00fc 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/ClientRatesAnalysisMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/ClientRatesAnalysisMapper.xml @@ -30,7 +30,7 @@ INNER JOIN ( SELECT c.client_id, - SUM(o.orders) orders + NULLIF (SUM(o.orders),0) orders FROM sys_clients c LEFT JOIN statistics_customer_order o ON o.client_id = c.client_id AND o.total > 10 @@ -61,13 +61,13 @@ SELECT c.client_id, c.org_id, - count(o.order_id) orders + NULLIF (SUM(o.orders),0) orders FROM sys_clients c - LEFT JOIN pmt_orders o - ON o.client_id = c.client_id AND o.status > 4 - AND date(o.create_time) <= date(#{end}) - AND date(o.create_time) >= date(#{begin}) - and o.total_amount>10 + LEFT JOIN statistics_customer_order o + ON o.client_id = c.client_id + AND date(o.date) <= date(#{end}) + AND date(o.date) >= date(#{begin}) + and o.total>10 ]]> and c.client_id in diff --git a/src/main/ui/static/analysis/customer_analysis.js b/src/main/ui/static/analysis/customer_analysis.js index 6718e9ecf..a46191474 100644 --- a/src/main/ui/static/analysis/customer_analysis.js +++ b/src/main/ui/static/analysis/customer_analysis.js @@ -78,7 +78,6 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', ' $scope.customer_loading = false; $scope.customers = resp.data.data; $scope.customers_type = resp.data.openid_type; - $scope.customers_analysis = resp.data.analysis; $scope.pagination = resp.data.pagination; if($scope.customers.length>0){ $scope.order_params.customer_id = $scope.customers[0].customer_id; @@ -89,6 +88,9 @@ define(['angular', 'static/commons/commons', 'static/commons/angular-ueditor', ' } }); + $http.get('/analysis/customers/ranking/'+$scope.params.openid_type+'/total', {params: params}).then(function (resp) { + $scope.customers_analysis = resp.data.analysis; + }); }; //$scope.listCustomers(1);