Просмотр исходного кода

[图表整合][修改][解单总金额]

release_toaliyun_real
gongbiao 7 лет назад
Родитель
Сommit
ea066c3c42
3 измененных файлов: 102 добавлений и 22 удалений
  1. +97
    -20
      mallinkSchedule/src/main/java/com/iformall/schedule/ChartDataSchedule.java
  2. +2
    -1
      mallinkService/src/main/java/com/iformall/enums/EnumChartType.java
  3. +3
    -1
      mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml

+ 97
- 20
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<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);


+ 2
- 1
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)) {


+ 3
- 1
mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml Просмотреть файл

@@ -165,7 +165,9 @@
<if test=" null != tenantId ">
and mtd.tenant_id = #{tenantId}
</if>

<if test=" null != reportDate ">
and mtd.report_date = #{reportDate}
</if>
group by mtd.report_date
order by mtd.report_date desc
LIMIT 30


Загрузка…
Отмена
Сохранить