From ea066c3c42ab2ec5b1365509f615ea57c85d1a4f Mon Sep 17 00:00:00 2001 From: gongbiao Date: Fri, 8 Mar 2019 15:13:07 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=9B=BE=E8=A1=A8=E6=95=B4=E5=90=88][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E8=A7=A3=E5=8D=95=E6=80=BB=E9=87=91?= =?UTF-8?q?=E9=A2=9D]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/schedule/ChartDataSchedule.java | 117 +++++++++++++++--- .../com/iformall/enums/EnumChartType.java | 3 +- .../mapper/WxMerchantTradeDailyMapper.xml | 4 +- 3 files changed, 102 insertions(+), 22 deletions(-) diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/ChartDataSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/ChartDataSchedule.java index c61738136..c93f3930a 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/ChartDataSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/ChartDataSchedule.java @@ -3,6 +3,7 @@ package com.iformall.schedule; import com.iformall.domain.dto.WxCUserBasicInfoDto; import com.iformall.domain.po.WxChartDataEntity; import com.iformall.domain.po.WxMall; +import com.iformall.domain.po.WxMerchantTradeDaily; import com.iformall.enums.EnumCarCmd; import com.iformall.enums.EnumChartType; import com.iformall.mapper.*; @@ -42,13 +43,18 @@ public class ChartDataSchedule { @Autowired WxCouponOrderMapper wxCouponOrderMapper; + @Autowired + WxMerchantTradeDailyMapper wxMerchantTradeDailyMapper; + + /** - * 每天1点执行 + * 每天7点执行 */ - @Scheduled(cron = "0 0 1 * * ?") + @Scheduled(cron = "0 0 7 * * ?") public void createData() { createCarData(); createSaleData(); + createMerchantTradeData(); } /** @@ -62,24 +68,52 @@ public class ChartDataSchedule { Date date = DateUtils.stringToDate(startdate); params.put("startdate", startdate + " 00:00:00"); params.put("enddate", startdate + " 23:59:59"); + + WxChartDataEntity wxChartDataEntity = new WxChartDataEntity(); + wxChartDataEntity.setQuerytime(date); + List wxMalls = wxMallMapper.findList(null); for (WxMall wxMall : wxMalls) { String tenantId = wxMall.getTenantId(); params.put("tenantId", tenantId); - logger.info("出场车数>>>>>>>>>>>>>>>>>>>>>>>>>>"); - carOutData(params, createtime, date, tenantId); - params.put("cmdType", EnumCarCmd.CAR_ETCP_CALLBACK_PAY_MANUAL.getCode()); - logger.info("缴费车辆>>>>>>>>>>>>>>>>>>>>>>>>>>"); - carPaidData(params, createtime, date, tenantId); - logger.info("缴费金额>>>>>>>>>>>>>>>>>>>>>>>>>>"); - carPayFeeData(params, createtime, date, tenantId); - logger.info("新增会员>>>>>>>>>>>>>>>>>>>>>>>>>>"); - carMemberData(params, createtime, date, tenantId); - logger.info("新增停车会员>>>>>>>>>>>>>>>>>>>>>>>>>>"); - carNewMemberData(createtime, date, tenantId); - logger.info("已绑车辆>>>>>>>>>>>>>>>>>>>>>>>>>>"); - carBindData(params, createtime, date, tenantId); - logger.info("销售数据-金额>>>>>>>>>>>>>>>>>>>>>>>"); + wxChartDataEntity.setTenantId(tenantId); + wxChartDataEntity.setType(EnumChartType.CAR_OUT.getCode()); + int count = wxChartDataMapper.selectCount(wxChartDataEntity); + if (count == 0) { + logger.info("出场车数>>>>>>>>>>>>>>>>>>>>>>>>>>"); + carOutData(params, createtime, date, tenantId); + } + wxChartDataEntity.setType(EnumChartType.CAR_PAID.getCode()); + count = wxChartDataMapper.selectCount(wxChartDataEntity); + if (count == 0) { + params.put("cmdType", EnumCarCmd.CAR_ETCP_CALLBACK_PAY_MANUAL.getCode()); + logger.info("缴费车辆>>>>>>>>>>>>>>>>>>>>>>>>>>"); + carPaidData(params, createtime, date, tenantId); + } + wxChartDataEntity.setType(EnumChartType.CAR_PAY_FEE.getCode()); + count = wxChartDataMapper.selectCount(wxChartDataEntity); + if (count == 0) { + logger.info("缴费金额>>>>>>>>>>>>>>>>>>>>>>>>>>"); + carPayFeeData(params, createtime, date, tenantId); + } + wxChartDataEntity.setType(EnumChartType.CAR_MEMBER.getCode()); + count = wxChartDataMapper.selectCount(wxChartDataEntity); + if (count == 0) { + logger.info("新增会员>>>>>>>>>>>>>>>>>>>>>>>>>>"); + carMemberData(params, createtime, date, tenantId); + } + wxChartDataEntity.setType(EnumChartType.CAR_NEW_MEMBER.getCode()); + count = wxChartDataMapper.selectCount(wxChartDataEntity); + if (count == 0) { + logger.info("新增停车会员>>>>>>>>>>>>>>>>>>>>>>>>>>"); + carNewMemberData(createtime, date, tenantId); + } + wxChartDataEntity.setType(EnumChartType.CAR_BIND.getCode()); + count = wxChartDataMapper.selectCount(wxChartDataEntity); + if (count == 0) { + logger.info("已绑车辆>>>>>>>>>>>>>>>>>>>>>>>>>>"); + carBindData(params, createtime, date, tenantId); + } } } @@ -91,22 +125,65 @@ public class ChartDataSchedule { Date createtime = new Date(); String yesterday = DateUtils.getTimeBefore(1, createtime); String today = DateUtils.getSystemTime("yyyy-MM-dd"); - Date startdate = DateUtils.stringToDate(yesterday); Date enddate = DateUtils.stringToDate(today); + WxChartDataEntity wxChartDataEntity = new WxChartDataEntity(); + wxChartDataEntity.setQuerytime(startdate); + List wxMalls = wxMallMapper.findList(null); for (WxMall wxMall : wxMalls) { String tenantId = wxMall.getTenantId(); params.put("tenantId", tenantId); - logger.info("销售总交易额>>>>>>>>>>>>>>>>>>>>>>>>>>"); - Integer price = wxCouponOrderMapper.queryPriceTotal(tenantId, startdate, enddate); - addChartData(tenantId, price.toString(), EnumChartType.SALE_COUPON_PRICE.getCode(), enddate, createtime); + wxChartDataEntity.setTenantId(tenantId); + wxChartDataEntity.setType(EnumChartType.SALE_COUPON_PRICE.getCode()); + int count = wxChartDataMapper.selectCount(wxChartDataEntity); + if (count == 0) { + logger.info("销售总交易额>>>>>>>>>>>>>>>>>>>>>>>>>>"); + Integer price = wxCouponOrderMapper.queryPriceTotal(tenantId, startdate, enddate); + addChartData(tenantId, price.toString(), EnumChartType.SALE_COUPON_PRICE.getCode(), enddate, createtime); + } + } + } + /** + * 解单金额 + */ + public void createMerchantTradeData() { + HashMap params = new HashMap<>(); + Date createtime = new Date(); + String yesterday = DateUtils.getTimeBefore(1, createtime); + String today = DateUtils.getSystemTime("yyyy-MM-dd"); + Date enddate = DateUtils.stringToDate(today); + Date querytime = DateUtils.stringToDate(yesterday); + + WxChartDataEntity wxChartDataEntity = new WxChartDataEntity(); + wxChartDataEntity.setQuerytime(querytime); + List wxMalls = wxMallMapper.findList(null); + for (WxMall wxMall : wxMalls) { + String tenantId = wxMall.getTenantId(); + params.put("tenantId", tenantId); + + wxChartDataEntity.setTenantId(tenantId); + wxChartDataEntity.setType(EnumChartType.MERCHANT_TRADE.getCode()); + int count = wxChartDataMapper.selectCount(wxChartDataEntity); + if (count == 0) { + logger.info("解单金额>>>>>>>>>>>>>>>>>>>>>>>>>>"); + WxMerchantTradeDaily wxMerchantTradeDaily = new WxMerchantTradeDaily(); + wxMerchantTradeDaily.setTenantId(tenantId); + wxMerchantTradeDaily.setReportDate(yesterday); + List recordList = wxMerchantTradeDailyMapper.findTotalListOfMonth(wxMerchantTradeDaily); + Integer price = 0; + if (!recordList.isEmpty()) { + price = recordList.get(0).getTradeAmt(); + } + addChartData(tenantId, price.toString(), EnumChartType.MERCHANT_TRADE.getCode(), enddate, createtime); + } } } + public void carBindData(HashMap params, Date createtime, Date date, String tenantId) { Long todaybindcar = wxCUserCarMapper.queryCarCount(params); addChartData(tenantId, todaybindcar.toString(), EnumChartType.CAR_BIND.getCode(), date, createtime); diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumChartType.java b/mallinkService/src/main/java/com/iformall/enums/EnumChartType.java index 732b64947..d7c20cf01 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumChartType.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumChartType.java @@ -10,7 +10,8 @@ public enum EnumChartType { CAR_MEMBER(4, "新增会员"), CAR_NEW_MEMBER(5, "新增停车会员"), CAR_BIND(6, "已绑车辆"), - SALE_COUPON_PRICE(7, "销售总交易额"),; + SALE_COUPON_PRICE(8, "销售总交易额"), + MERCHANT_TRADE(9, "解单金额"),; public static EnumChartType getEnum(Integer code) { for (EnumChartType value : values()) { if (value.getCode().equals(code)) { diff --git a/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml index feabf8d32..943823552 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml @@ -165,7 +165,9 @@ and mtd.tenant_id = #{tenantId} - + + and mtd.report_date = #{reportDate} + group by mtd.report_date order by mtd.report_date desc LIMIT 30