|
|
|
@@ -1,10 +1,24 @@ |
|
|
|
package com.iformall.schedule; |
|
|
|
|
|
|
|
import com.iformall.domain.dto.WxCUserBasicInfoDto; |
|
|
|
import com.iformall.domain.po.WxMall; |
|
|
|
import com.iformall.enums.EnumCarCmd; |
|
|
|
import com.iformall.mapper.WxCUserCarMapper; |
|
|
|
import com.iformall.mapper.WxCarCmdLogMapper; |
|
|
|
import com.iformall.mapper.WxMallMapper; |
|
|
|
import com.iformall.utils.DateUtils; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.scheduling.annotation.Scheduled; |
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
/** |
|
|
|
* @author gongbiao |
|
|
|
*/ |
|
|
|
@@ -13,13 +27,62 @@ public class ChartDataSchedule { |
|
|
|
|
|
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass()); |
|
|
|
|
|
|
|
@Autowired |
|
|
|
WxCarCmdLogMapper wxCarCmdLogMapper; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
WxMallMapper wxMallMapper; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
WxCUserCarMapper wxCUserCarMapper; |
|
|
|
|
|
|
|
/** |
|
|
|
* 车流数据 每天9点执行 |
|
|
|
*/ |
|
|
|
@Scheduled(cron = "0 0 9 * * ?") |
|
|
|
public void createCarData() { |
|
|
|
|
|
|
|
public void createCarData() { |
|
|
|
createCarPayFeeCountData(); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 出场车辆、缴费车辆、缴费金额、新增会员、新增停车会员、已绑车辆 |
|
|
|
*/ |
|
|
|
public void createCarPayFeeCountData() { |
|
|
|
HashMap<String, Object> params = new HashMap<>(); |
|
|
|
params.put("cmdType", EnumCarCmd.CAR_ETCP_CALLBACK_PARK_OUT.getCode()); |
|
|
|
String startdate = DateUtils.getTimeBefore(1, new Date()); |
|
|
|
String showdate = startdate.substring(5).replace("-", "/"); |
|
|
|
Date date = DateUtils.stringToDate(startdate); |
|
|
|
long time = date.getTime(); |
|
|
|
params.put("startdate", startdate + " 00:00:00"); |
|
|
|
params.put("enddate", startdate + " 23:59:59"); |
|
|
|
List<WxMall> wxMalls = wxMallMapper.selectAll(); |
|
|
|
for (WxMall wxMall : wxMalls) { |
|
|
|
String tenantId = wxMall.getTenantId(); |
|
|
|
params.put("tenantId", tenantId); |
|
|
|
//出场车数 |
|
|
|
List<Map<String, Object>> historylist = wxCarCmdLogMapper.queryHistory(params); |
|
|
|
Long carOutCount = historylist.isEmpty() ? 0L : (Long) historylist.get(0).get("carcount"); |
|
|
|
params.put("cmdType", EnumCarCmd.CAR_ETCP_CALLBACK_PAY_MANUAL.getCode()); |
|
|
|
//缴费车辆 |
|
|
|
Long carPayFeeCount = wxCarCmdLogMapper.queryWeekCarPayCount(params); |
|
|
|
//缴费金额 |
|
|
|
List<Map<String, Object>> weekCarPayHistoryList = wxCarCmdLogMapper.queryWeekCarPay(params); |
|
|
|
BigDecimal fee = weekCarPayHistoryList.isEmpty() ? new BigDecimal(0) : (BigDecimal) weekCarPayHistoryList.get(0).get("fee"); |
|
|
|
//新增会员 |
|
|
|
List<Map<String, Object>> carCountHistory = wxCUserCarMapper.queryCarCountHistory(params); |
|
|
|
Long userCount = carCountHistory.isEmpty() ? 0L : (Long) carCountHistory.get(0).get("count"); |
|
|
|
//新增停车会员 |
|
|
|
WxCUserBasicInfoDto wxCUserBasicInfoDto = new WxCUserBasicInfoDto(); |
|
|
|
wxCUserBasicInfoDto.setTenantId(tenantId); |
|
|
|
wxCUserBasicInfoDto.setStartTime(date); |
|
|
|
wxCUserBasicInfoDto.setEndTime(date); |
|
|
|
Integer carUserCount = wxCUserCarMapper.countUser(wxCUserBasicInfoDto); |
|
|
|
//已绑车辆 |
|
|
|
Long todaybindcar = wxCUserCarMapper.queryCarCount(params); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |