|
|
|
@@ -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<WxMall> 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<WxMall> 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<String, Object> 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<WxMall> 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<WxMerchantTradeDaily> 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<String, Object> params, Date createtime, Date date, String tenantId) { |
|
|
|
Long todaybindcar = wxCUserCarMapper.queryCarCount(params); |
|
|
|
addChartData(tenantId, todaybindcar.toString(), EnumChartType.CAR_BIND.getCode(), date, createtime); |
|
|
|
|