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 ae10bf486..47941ad78 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 @@ -82,13 +82,7 @@ public class DashboardServiceImpl implements DashboardService,DashboardAnalysisT if(params.getDate("begin").compareTo(DateUtils.addDays(params.getDate("end"), -1))==0){ res = transactionAnalysisMapper.getClientTransaction(params); }else { - JSONObject today = new JSONObject(); - today.put("end",params.getDate("end")); - today.put("begin", DateUtils.addDays(params.getDate("end"), -1)); - JSONObject isToday = transactionAnalysisMapper.getClientTransaction(params); - JSONObject isNotToday = customerAndOrdersStatisticsMapper.getCommonCount(today); - res.put("trade_count",isToday.getIntValue("trade_count") + isNotToday.getIntValue("trade_count")); - res.put("trade_amount",isToday.getBigDecimal("trade_amount").add(isNotToday.getBigDecimal("trade_amount"))); + res = customerAndOrdersStatisticsMapper.getCommonCount(params); } }else { res = customerAndOrdersStatisticsMapper.getCommonCount(params); @@ -126,19 +120,21 @@ public class DashboardServiceImpl implements DashboardService,DashboardAnalysisT res.put("old_customers", transactionAnalysisMapper.countOldCustomers(params)); res.put("traded_partners", clientAnalysisMapper.countTradedPartners(params)); }else { - JSONObject today = new JSONObject(); - today.put("end",params.getDate("end")); - today.put("begin", DateUtils.addDays(params.getDate("end"), -1)); - res = getSevenOrMonth(params,today); + res = getYesOrLasMonth(params); } }else { - res.put("traded_partners", clientCustomersMapper.countTradedClients(params)); - res.put("total_customers", clientCustomersMapper.countTotalCustomers(params)); - res.put("old_customers", clientCustomersMapper.countTotalOldCustomers(params)); + res = getYesOrLasMonth(params); } stringRedisTemplate.boundValueOps("org_commonAnalysis2"+params.getString("org_id")+params.getString("begin")).set(res.toJSONString(), 5, TimeUnit.MINUTES); return res; } + private JSONObject getYesOrLasMonth(JSONObject params){ + JSONObject res = new JSONObject(); + res.put("traded_partners", clientCustomersMapper.countTradedClients(params)); + res.put("total_customers", clientCustomersMapper.countTotalCustomers(params)); + res.put("old_customers", clientCustomersMapper.countTotalOldCustomers(params)); + return res; + } @Override public JSONObject getCommonAnalysis4(JSONObject params) { @@ -554,10 +550,7 @@ public class DashboardServiceImpl implements DashboardService,DashboardAnalysisT if(params.getDate("begin").compareTo(DateUtils.addDays(params.getDate("end"), -1))==0){ resp = getTodayChannelCount(params); }else { - JSONObject today = new JSONObject(); - today.put("end",params.getDate("end")); - today.put("begin", DateUtils.addDays(params.getDate("end"), -1)); - resp = getChannelSevenOrMonth(params,today); + resp = customerAndOrdersStatisticsMapper.getChannelCommonCount(params); } }else { resp = customerAndOrdersStatisticsMapper.getChannelCommonCount(params); @@ -576,19 +569,6 @@ public class DashboardServiceImpl implements DashboardService,DashboardAnalysisT } return resp; } - private JSONObject getChannelSevenOrMonth(JSONObject params,JSONObject today){ - JSONObject channelCount = customerAndOrdersStatisticsMapper.getChannelCommonCount(params); - String[] channels = new String[]{"Bestpay","Wechat","Alipay","jd","AlipayOnline"}; - JSONObject resp = new JSONObject(); - for(String channel:channels) { - today.put("channel", channel); - JSONObject channelAna = transactionAnalysisMapper.getPlatformAmount(today); - resp.put(channel.toLowerCase()+"amount", channelAna.getBigDecimal("amount").add(channelCount.getBigDecimal(channel.toLowerCase()+"amount"))); - resp.put(channel.toLowerCase()+"_order_count", channelAna.getIntValue("order_count") + channelCount.getIntValue(channel.toLowerCase()+"_order_count")); - } - return resp; - } - @Override public JSONObject getOrderAndCustomerPerDay(JSONObject partner, AnalysisBean partnerAnalysisBean) { String timezone = partner.getJSONObject("client").getString("timezone"); diff --git a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.xml index 6a0768d44..8ae13e128 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/CustomerAndOrdersStatisticsMapper.xml @@ -316,21 +316,11 @@ ifnull(sum(CASE WHEN s.channel = 'AlipayOnline' THEN s.total ELSE 0 END),0) alipayonlineamount, ifnull(sum(CASE WHEN s.channel = 'AlipayOnline' THEN s.orders ELSE 0 END),0) alipayonline_order_count FROM statistics_customer_order s - LEFT JOIN sys_clients c ON c.client_id = s.client_id and c.is_valid=1 ]]> s.client_id != 0 - - AND s.client_id IN - - #{client_id} - - - - and s.client_id=#{client_id} - and s.date >= #{begin} - and s.date < #{end} + and s.date <= #{end} and c.org_id=#{org_id} and c.org_id in #{org_id} diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/client/ClientCustomersMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/client/ClientCustomersMapper.xml index e81b71dde..55833812f 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/client/ClientCustomersMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/client/ClientCustomersMapper.xml @@ -45,25 +45,25 @@