From 2f33edbdf81fe6fb6d0f27128f806844a6b8c103 Mon Sep 17 00:00:00 2001 From: xhxu Date: Thu, 10 Feb 2022 15:09:54 +0800 Subject: [PATCH] =?UTF-8?q?/=E3=80=82=E6=95=B0=E6=8D=AE=E5=A1=94=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datatower/DataTowerController.java | 27 ++++++ .../iformall/service/DataTowerService.java | 11 +++ .../service/impl/DataTowerServiceImpl.java | 93 +++++++++++++++++++ .../service/impl/WxChartServiceImpl.java | 6 +- .../resources/mapper/WxBillRentMapper.xml | 19 ++-- .../resources/mapper/WxCarCmdLogMapper.xml | 5 +- 6 files changed, 144 insertions(+), 17 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/datatower/DataTowerController.java b/mallinkAdmin/src/main/java/com/iformall/controller/datatower/DataTowerController.java index bc325cf93..9baae408f 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/datatower/DataTowerController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/datatower/DataTowerController.java @@ -153,4 +153,31 @@ public class DataTowerController extends BaseController { } + @ApiOperation("查询出租率") + @GetMapping("/queryOccupancyRate") + @SystemControllerLog(description = "数据塔台-查询出租率") + public ResultData queryOccupancyRate() { + logger.debug("[" + getIpAddr() + "] DataTowerController::queryOccupancyRate"); + Map data = dataTowerService.queryOccupancyRate(getTenantInfo()); + return new ResultData(data); + } + + @ApiOperation("查询租金收缴率") + @GetMapping("/queryRentCollectionRate") + @SystemControllerLog(description = "数据塔台-查询出租率") + public ResultData queryRentCollectionRate() { + logger.debug("[" + getIpAddr() + "] DataTowerController::queryRentCollectionRate"); + Map data = dataTowerService.queryRentCollectionRate(getTenantInfo()); + return new ResultData(data); + } + + @ApiOperation("查询报单率") + @GetMapping("/queryDeclarationRate") + @SystemControllerLog(description = "数据塔台-查询报单率") + public ResultData queryDeclarationRate() { + logger.debug("[" + getIpAddr() + "] DataTowerController::queryDeclarationRate"); + Map data = dataTowerService.queryDeclarationRate(getTenantInfo()); + return new ResultData(data); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/DataTowerService.java b/mallinkService/src/main/java/com/iformall/service/DataTowerService.java index 52ba82318..709d31e92 100644 --- a/mallinkService/src/main/java/com/iformall/service/DataTowerService.java +++ b/mallinkService/src/main/java/com/iformall/service/DataTowerService.java @@ -11,7 +11,15 @@ public interface DataTowerService { Map queryRunningPotal(TenantEntity tenantEntity); + /** + * 把这个接口拆开 + * @param tenantEntity + * @return + */ Map queryRunning(TenantEntity tenantEntity); + Map queryOccupancyRate(TenantEntity tenantInfo); + Map queryRentCollectionRate(TenantEntity tenantInfo); + Map queryDeclarationRate(TenantEntity tenantInfo); Map queryCar(TenantEntity tenantEntity); @@ -24,4 +32,7 @@ public interface DataTowerService { ResultData queryWiWideDataUrl(TenantEntity tenantInfo, String url, Map params); byte[] getWiWidePic(TenantEntity tenantInfo, String type, String id); + + + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java index 5f0a3711e..1c70db2ed 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java @@ -2,6 +2,7 @@ package com.iformall.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; @@ -517,6 +518,98 @@ public class DataTowerServiceImpl implements DataTowerService { return datamap; } + //出租率 + @Override + public Map queryOccupancyRate(TenantEntity tenantEntity) { + WxShop wxShop = new WxShop(); + wxShop.updateTenantInfo(tenantEntity); + wxShop.setStatus(EnumShopStatus.RENT.getCode()); + Integer yczsize = wxShopMapper.selectCount(new QueryWrapper<>(wxShop)); + wxShop.setStatus(EnumShopStatus.NOT_RENT.getCode()); + Integer wczsize = wxShopMapper.selectCount(new QueryWrapper<>(wxShop)); + + HashMap datamap = new HashMap<>(); + int size = yczsize + wczsize; + if (size == 0) { + datamap.put("yczsl", 0); + datamap.put("wczsl", 0); + datamap.put("yczl", 0); + datamap.put("wczl", 0); + } else { + datamap.put("yczsl", yczsize); + datamap.put("wczsl", wczsize); + double yczld = ((double) yczsize / size) * 100; + double dczl = new BigDecimal(yczld).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + double wczld = ((double) wczsize / size) * 100; + double wczl = new BigDecimal(wczld).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + datamap.put("yczl", dczl); + datamap.put("wczl", wczl); + } + return datamap; + } + + //租金收缴率 + @Override + public Map queryRentCollectionRate(TenantEntity tenantEntity) { + Map params = new HashMap<>(); + params.put("tenantId", tenantEntity.getTenantId()); + if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) { + params.put("parentTenantId", tenantEntity.getParentTenantId()); + } + Map payinfo = wxBillRentMapper.queryPayInfo(params); + + HashMap datamap = new HashMap<>(); + if (payinfo != null) { + BigDecimal receivepay = (BigDecimal) payinfo.get("receivepay"); + BigDecimal pay = (BigDecimal) payinfo.get("pay"); + if (receivepay.doubleValue() > 0) { + BigDecimal divide = pay.divide(receivepay, 2, BigDecimal.ROUND_HALF_UP); + double zjcjl = divide.multiply(new BigDecimal(100)).doubleValue(); + datamap.put("ysje", receivepay); + datamap.put("ssje", pay); + datamap.put("zjsjl", zjcjl); + } else { + datamap.put("ysje", 0); + datamap.put("ssje", 0); + datamap.put("zjsjl", 0); + } + } else { + datamap.put("ysje", 0); + datamap.put("ssje", 0); + datamap.put("zjsjl", 0); + } + return datamap; + } + + //昨日报单率 + @Override + public Map queryDeclarationRate(TenantEntity tenantEntity) { + WxMerchant wxMerchant = new WxMerchant(); + wxMerchant.updateTenantInfo(tenantEntity); + wxMerchant.setStatus(1); + Integer merchantsize = wxMerchantMapper.selectCount(new QueryWrapper<>(wxMerchant)); + + WxMerchantTradeDaily wxMerchantTradeDaily = new WxMerchantTradeDaily(); + wxMerchantTradeDaily.updateTenantInfo(tenantEntity); + String reportdate = DateUtils.getTimeBefore(1, new Date()); + wxMerchantTradeDaily.setReportDate(reportdate); + List tradelist = wxMerchantTradeDailyMapper.findList(wxMerchantTradeDaily); + + HashMap datamap = new HashMap<>(); + int tradesize = tradelist.size(); + if (merchantsize > 0 && tradesize > 0) { + double shsbld = ((double) tradesize / merchantsize) * 100; + double shsbl = new BigDecimal(shsbld).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); + datamap.put("shsbl", shsbl); + } else { + datamap.put("shsbl", 0); + } + + int shsbjg = tradelist.stream().mapToInt(WxMerchantTradeDaily::getTradeAmtInteger).sum(); + datamap.put("shsbjg", shsbjg); + return datamap; + } + @Override public Map queryCar(TenantEntity tenantEntity) { logger.info("停车-月统计-开始"); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java index bb48596f0..0d35cb2ae 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java @@ -924,9 +924,7 @@ public class WxChartServiceImpl implements WxChartDataService { private ResultData getCarHistoryAndTodayAndHB(TenantEntity tenantEntity, boolean withOthers ) { String startdate; HashMap datamap = new HashMap<>(); - List tenantEntitys = wxMallMapper.getTenantEntitys(tenantEntity); HashMap params = new HashMap<>(); - params.put("tenantEntitys",tenantEntitys); params.put("tenantId", tenantEntity.getTenantId()); if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) { params.put("parentTenantId", tenantEntity.getParentTenantId()); @@ -940,9 +938,7 @@ public class WxChartServiceImpl implements WxChartDataService { params.put("startdate", startdate + " 00:00:00"); params.put("enddate", systemTime + " 23:59:59"); - //TODO 待优化数据 - //List> historylist = wxCarCmdLogMapper.queryHistory(params); - List> historylist = null; + List> historylist = wxCarCmdLogMapper.queryHistory(params); if (true) { return new ResultData(); } diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index 799e35ef6..027cbc502 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -160,7 +160,6 @@ diff --git a/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml b/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml index d1e0e59d4..2aa2d6d97 100644 --- a/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml @@ -76,10 +76,7 @@