From e160be4afd2738d579eaa9d1dca3adb11723deb6 Mon Sep 17 00:00:00 2001 From: macminiuser Date: Wed, 28 Feb 2018 19:48:53 +0800 Subject: [PATCH] fix --- .../core/impls/DashboardServiceImpl.java | 6 +- .../appclient/core/RetailAppService.java | 2 + .../core/impls/RetailAppServiceImp.java | 68 ++++++++++++++++++- .../appclient/web/RetailAppController.java | 5 ++ .../analysis/mappers/BDAnalysisMapper.xml | 6 +- src/main/ui/static/dashboard/dashboard.js | 4 +- 6 files changed, 80 insertions(+), 11 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java index 55c706383..67b3206ca 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/DashboardServiceImpl.java @@ -53,12 +53,10 @@ public class DashboardServiceImpl implements DashboardService,DashboardAnalysisT @Override public JSONObject getCommonAnalysis1(JSONObject params) { - JSONObject res = new JSONObject(); + JSONObject res = transactionAnalysisMapper.getClientTransaction(params); res.put("new_partners", clientAnalysisMapper.countNewClients(params)); res.put("total_partners", clientAnalysisMapper.countClients(params)); res.put("traded_partners", clientAnalysisMapper.countTradedPartners(params)); - res.put("trade_amount", transactionAnalysisMapper.getClientTransaction(params).getBigDecimal("trade_amount")); -// res.put("trade_count", transactionAnalysisMapper.analysisTotalCount(params)); // List topOrders = transactionAnalysisMapper.getTopOrders(params, new PageBounds(1, 1, Order.formString("aud_fee.desc"))); // if (!topOrders.isEmpty()) { // res.put("top_amount_order", topOrders.get(0)); @@ -75,7 +73,7 @@ public class DashboardServiceImpl implements DashboardService,DashboardAnalysisT // res.put("total_partners", clientAnalysisMapper.countClients(params)); // res.put("traded_partners", clientAnalysisMapper.countTradedPartners(params)); // res.put("trade_amount", transactionAnalysisMapper.analysisTotalAmount(params)); - res.put("trade_count", transactionAnalysisMapper.getClientTransaction(params).getIntValue("trade_count")); +// res.put("trade_count", transactionAnalysisMapper.getClientTransaction(params).getIntValue("trade_count")); List topOrders = transactionAnalysisMapper.getTopOrders(params, new PageBounds(1, 1, Order.formString("aud_fee.desc"))); if (!topOrders.isEmpty()) { res.put("top_amount_order", topOrders.get(0)); diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java index 2029c8870..9c0ec74d3 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/RetailAppService.java @@ -24,6 +24,8 @@ public interface RetailAppService { JSONObject listOrders(JSONObject device, AppQueryBean query); + JSONObject listOrdersNew(JSONObject device, AppQueryBean query); + JSONObject listOrdersShareCode(JSONObject device, AppQueryBean query); void updateDevToken(JSONObject device, String devToken); diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java index 8156b029a..c55d4b6a7 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java @@ -358,9 +358,7 @@ public class RetailAppServiceImp implements RetailAppService { } params.put("client_id", client_id); -// PageList orders = orderMapper.listOrdersByClients(params, -// new PageBounds(query.getPage(), query.getLimit(), Order.formString("create_time.desc"))); - PageList orders = orderMapper.listTransactionsForApp(params, + PageList orders = orderMapper.listOrdersByClients(params, new PageBounds(query.getPage(), query.getLimit(), Order.formString("create_time.desc"))); TimeZoneUtils.switchTimeZone(orders, query.getTimezone(), "create_time", "transaction_time", "confirm_time"); ArrayList date_contains = new ArrayList<>(); @@ -391,6 +389,70 @@ public class RetailAppServiceImp implements RetailAppService { return PageListUtils.buildPageListResult(orders); } + @Override + public JSONObject listOrdersNew(JSONObject device, AppQueryBean query) { + String clientType = device.getString("client_type"); + DeviceRegister register = deviceSupport.findRegister(clientType); + int client_id = device.getIntValue("client_id"); + JSONObject client = clientManager.getClientInfo(client_id); + String timezone = client.getString("timezone"); + if (timezone != null && !timezone.isEmpty()) { + query.setTimezone(timezone); + } + JSONObject params = query.toParams(); + setAllClientIds(params, client_id); + if (register.includeDevId()) { + params.put("dev_id", device.getString("dev_id")); + } + params.put("client_id", client_id); + + PageList orders = orderMapper.listTransactionsForApp(params, + new PageBounds(query.getPage(), query.getLimit(), Order.formString("create_time.desc"))); + TimeZoneUtils.switchTimeZone(orders, query.getTimezone(), "create_time", "transaction_time", "confirm_time"); + ArrayList date_contains = new ArrayList<>(); + for (JSONObject order : orders) { + String customer_id = order.getString("customer_id"); + if (StringUtils.isEmpty(customer_id)) { + continue; + } + switch (order.getString("channel")) { + case "Alipay": + JSONObject alipayUser = customerRelationAlipayMapper.findCustomerByUserId(customer_id); + order.put("nickname", alipayUser.getString("nickname")); + order.put("headimg", alipayUser.getString("headimg")); + break; + case "Wechat": + JSONObject weUser = customerMapper.findCustomerByOpenId(customer_id); + order.put("nickname", weUser.getString("nickname")); + order.put("headimg", weUser.getString("headimg")); + break; + default: + break; + } + Calendar calendar = (Calendar) order.get("create_time"); + String trade_date = DateFormatUtils.format(calendar, "yyyy-MM-dd"); + String trade_time = DateFormatUtils.format(calendar, "HH:mm:ss"); + order.put("trade_date", trade_date); + order.put("trade_time", trade_time); + if (!date_contains.contains(trade_date)) { + String re_date = trade_date.replaceAll("-", ""); + TradeLogQuery date_query = new TradeLogQuery(); + date_query.setDatefrom(re_date); + date_query.setDateto(re_date); + // date_query.setStatus(OrderStatus.ALL); + if (params.containsKey("client_ids")) { + date_query.setClient_ids((String[]) params.get("client_ids")); + } + JSONObject date_params = date_query.toParams(query.getTimezone()); + date_params.put("client_id", device.getIntValue("client_id")); + JSONObject analysis = orderMapper.analysisOrders(date_params); + order.put("date_total", analysis); + date_contains.add(trade_date); + } + } + return PageListUtils.buildPageListResult(orders); + } + @Override public JSONObject listOrdersShareCode(JSONObject device, AppQueryBean query) { query.setGateway_app("11"); diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java index 670682d8f..62075002c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/web/RetailAppController.java @@ -78,6 +78,11 @@ public class RetailAppController { return retailAppService.listOrders(device, query); } + @RequestMapping(value = "/orders_new", method = RequestMethod.GET) + public JSONObject listOrdersNew(@ModelAttribute(CommonConsts.RETAIL_DEVICE) JSONObject device, AppQueryBean query) { + return retailAppService.listOrdersNew(device, query); + } + @RequestMapping(value = "/orders/share_code", method = RequestMethod.GET) public JSONObject listOrdersShareCode(@ModelAttribute(CommonConsts.RETAIL_DEVICE) JSONObject device, AppQueryBean query) { return retailAppService.listOrdersShareCode(device, query); diff --git a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/BDAnalysisMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/BDAnalysisMapper.xml index 305285002..f5f83a564 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/BDAnalysisMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/BDAnalysisMapper.xml @@ -3,7 +3,7 @@ SELECT c.industry,c.royalpayindustry, count(DISTINCT c.client_id) partner_counts, - IFNULL(sum(if(temp.transaction_type='Credit',temp.clearing_amount*d.proportion,0)),0) + IFNULL(sum(if(temp.transaction_type='Credit',temp.clearing_amount*d.proportion,-temp.clearing_amount*d.proportion)),0) total FROM (SELECT l.client_id,l.clearing_amount,l.transaction_type,l.refund_id,o.create_time FROM pmt_transactions l INNER JOIN pmt_orders o diff --git a/src/main/ui/static/dashboard/dashboard.js b/src/main/ui/static/dashboard/dashboard.js index c49cc3024..dec9f9dc4 100644 --- a/src/main/ui/static/dashboard/dashboard.js +++ b/src/main/ui/static/dashboard/dashboard.js @@ -128,6 +128,8 @@ define(['angular', 'uiRouter', 'uiBootstrap', 'angularEcharts'], function (angul $scope.analysis.total_partners = resp.data.total_partners; $scope.analysis.traded_partners = resp.data.traded_partners; $scope.analysis.trade_amount = resp.data.trade_amount; + $scope.analysis.trade_count = resp.data.trade_count; + // $scope.analysis.top_amount_order = resp.data.top_amount_order; // $scope.analysis.trade_count = resp.data.trade_count; // $scope.analysis.total_customers = resp.data.total_customers; @@ -140,7 +142,7 @@ define(['angular', 'uiRouter', 'uiBootstrap', 'angularEcharts'], function (angul // $scope.analysis.traded_partners = resp.data.traded_partners; // $scope.analysis.trade_amount = resp.data.trade_amount; $scope.analysis.top_amount_order = resp.data.top_amount_order; - $scope.analysis.trade_count = resp.data.trade_count; + // $scope.analysis.trade_count = resp.data.trade_count; $scope.analysis.total_customers = resp.data.total_customers; $scope.analysis.new_customers = resp.data.total_customers - resp.data.old_customers; $scope.analysis.old_customers = resp.data.old_customers;