From fd6db4c4327edb7dbae6726fa22834e28d6198b2 Mon Sep 17 00:00:00 2001 From: yuan <1551130722@qq.com> Date: Mon, 25 Dec 2017 21:20:17 +0800 Subject: [PATCH] fix~ --- .../core/impls/BDAnalysisServiceImpl.java | 2 +- .../analysis/mappers/ClientAnalysisMapper.xml | 4 +- .../ui/static/analysis/partners-analysis.js | 123 +++++++++++++++++- .../analysis/templates/partners_analysis.html | 12 +- 4 files changed, 129 insertions(+), 12 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/BDAnalysisServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/BDAnalysisServiceImpl.java index 119a02304..579561871 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/BDAnalysisServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/BDAnalysisServiceImpl.java @@ -41,7 +41,7 @@ public class BDAnalysisServiceImpl implements BDAnalysisService { List bdSaleList = bdAnalysisMapper.getBDSaleList(jsonObject); for(JSONObject countApproved : listCountApproved){ for(JSONObject saleList : bdSaleList){ - if(countApproved.getIntValue("bd_id") == saleList.getIntValue("bd_id")){ + if(countApproved.getString("bd_id").equals(saleList.getString("bd_id"))){ saleList.put("num",countApproved.getString("num")); } } diff --git a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/ClientAnalysisMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/ClientAnalysisMapper.xml index 3c03c9924..be9fe3d69 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/ClientAnalysisMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/ClientAnalysisMapper.xml @@ -99,7 +99,7 @@ \ No newline at end of file diff --git a/src/main/ui/static/analysis/partners-analysis.js b/src/main/ui/static/analysis/partners-analysis.js index 0c081f8ea..5661ebc37 100644 --- a/src/main/ui/static/analysis/partners-analysis.js +++ b/src/main/ui/static/analysis/partners-analysis.js @@ -37,13 +37,24 @@ define(['angular', 'uiBootstrap', 'uiRouter', 'angularEcharts','./transaction/an $scope.loadPartnersInTypes(); $scope.doAnalysis(); }; - + $scope.loadRoyalpayindustry = function () { + $http.get('/static/data/royalpayindustry.json').then(function (resp) { + $scope.royalpayindustry = resp.data; + }) + }; + $scope.loadRoyalpayindustry(); var getType = function (industryCode) { var industryLabel = ''; - angular.forEach(industryMap.configs(), function (industry) { - if (industry.value == industryCode) { + angular.forEach($scope.royalpayindustry, function (industry) { + if (industry.mccCode == industryCode) { industryLabel = industry.label; + }else { + angular.forEach(industry.children, function (children){ + if (children.mccCode == industryCode) { + industryLabel = children.label; + } + }) } }); return industryLabel; @@ -57,17 +68,115 @@ define(['angular', 'uiBootstrap', 'uiRouter', 'angularEcharts','./transaction/an $scope.legends = []; for (var i = 0; i < resp.data.length; i++) { $scope.legends[i] = resp.data[i].partner_type; - var partner_type= getType(resp.data[i].industry); + var partner_type= getType(resp.data[i].mccCode); resp.data[i].partner_type = partner_type; $scope.legends[i] = partner_type; } $scope.PartnerTypes = angular.copy(resp.data); var legend = $scope.legends; - $scope.partners_type_chart = chartParser.parse(partnerTypesConfig(legend), $scope.PartnerTypes); + childrenType(0); + $scope.partners_type_chart = partnerTypesConfig($scope.PartnerTypes,$scope.children);; }); }; + + $scope.partner_type_chart = function (chart) { + chart.on('click', function (params) { + childrenType(params.dataIndex); + $scope.partners_type_chart = partnerTypesConfig($scope.PartnerTypes,$scope.children); + try { + $scope.$digest(); + }catch (err){} + }); + }; + var childrenType = function (index) { + $scope.partners_type = $scope.PartnerTypes[index]; + $scope.children = $scope.partners_type.children; + for (var i = 0; i < $scope.children.length; i++) { + $scope.legends[i] = $scope.children.children_partner_type; + var children_partner_type= getType($scope.children[i].royalpayindustry); + $scope.children[i].children_partner_type = children_partner_type; + } + $scope.PartnerTypes[index].children = $scope.children; + /*$scope.type_count = $scope.PartnerTypes[index].count_value;*/ + } $scope.loadPartnersInTypes(); - var partnerTypesConfig = function (legend) { + var partnerTypesConfig = function (innerData,outerData) { + outerData = outerData||[]; + var innerSeriesTemplate = { + name: '商户类别', + type: 'pie', + radius: outerData.length==0?'80%':'40%', + center: ['50%', '40%'], + selectedMode: 'single', + itemStyle: { + emphasis: { + shadowBlur: 10, + shadowOffsetX: 0, + shadowColor: 'rgba(0, 0, 0, 0.5)' + }, + normal : { + label : { + position : 'inner' + }, + labelLine : { + show : false + } + } + }, + data:[] + }; + angular.forEach(innerData,function (item) { + innerSeriesTemplate.data.push({ + name:item.partner_type, + value:item.count_value, + selected:$scope.partners_type.partner_type===item.partner_type + }) + }); + var outerSeriesTemplate = { + name: '商户类别', type: 'pie', + radius : ['50%', '63%'], + center: ['50%', '40%'], + label: { + normal: { + formatter: '{b} : {c} ({d}%)' + } + }, + itemStyle: { + emphasis: { + shadowBlur: 10, + shadowOffsetX: 0, + shadowColor: 'rgba(0, 0, 0, 0.5)' + } + }, + data:[] + }; + angular.forEach(outerData,function (item) { + outerSeriesTemplate.data.push({ + name:item.children_partner_type, + value:item.partner_counts}) + }); + var series = [innerSeriesTemplate]; + if(outerData.length){ + series.push(outerSeriesTemplate) + } + return { + tooltip: { + trigger: 'item', + formatter: "{a}
{b} : {c} ({d}%)" + }, + color: colors, + /* legend: { + orient: 'horizontal', + /!*y: '450px', + left: 'right',*!/ + x: 'center', + y: 'bottom', + data: $scope.legends + },*/ + series: series + } + }; + /*var partnerTypesConfig = function (legend) { return { chart: { tooltip: { @@ -99,7 +208,7 @@ define(['angular', 'uiBootstrap', 'uiRouter', 'angularEcharts','./transaction/an column: {key: 'partner_counts', name: 'partner_type'} }] } - }; + };*/ $scope.today = new Date(); diff --git a/src/main/ui/static/analysis/templates/partners_analysis.html b/src/main/ui/static/analysis/templates/partners_analysis.html index 72494fb82..47c786dfb 100644 --- a/src/main/ui/static/analysis/templates/partners_analysis.html +++ b/src/main/ui/static/analysis/templates/partners_analysis.html @@ -64,9 +64,11 @@

各类型商家数量分布

+

{{partners_type.partner_type}} 行业列表

@@ -75,14 +77,20 @@ - - + +
+
+ +