Browse Source

[图表整合][修改][车相关数据]

release_toaliyun_real
gongbiao 7 years ago
parent
commit
9a6a453c3e
4 changed files with 119 additions and 27 deletions
  1. +71
    -25
      mallinkSchedule/src/main/java/com/iformall/schedule/ChartDataSchedule.java
  2. +35
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxChartDataEntity.java
  3. +6
    -2
      mallinkService/src/main/java/com/iformall/enums/EnumChartType.java
  4. +7
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxChartDataMapper.java

+ 71
- 25
mallinkSchedule/src/main/java/com/iformall/schedule/ChartDataSchedule.java View File

@@ -1,10 +1,13 @@
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.enums.EnumCarCmd;
import com.iformall.enums.EnumChartType;
import com.iformall.mapper.WxCUserCarMapper;
import com.iformall.mapper.WxCarCmdLogMapper;
import com.iformall.mapper.WxChartDataMapper;
import com.iformall.mapper.WxMallMapper;
import com.iformall.utils.DateUtils;
import org.slf4j.Logger;
@@ -36,10 +39,13 @@ public class ChartDataSchedule {
@Autowired
WxCUserCarMapper wxCUserCarMapper;

@Autowired
WxChartDataMapper wxChartDataMapper;

/**
* 车流数据 每天9点执行
* 车相关数据 每天9点执行
*/
@Scheduled(cron = "0 0 9 * * ?")
@Scheduled(cron = "0 0 1 * * ?")

public void createCarData() {
createCarPayFeeCountData();
@@ -51,38 +57,78 @@ public class ChartDataSchedule {
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 createtime = new Date();
String startdate = DateUtils.getTimeBefore(1, createtime);
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");
logger.info("出场车数>>>>>>>>>>>>>>>>>>>>>>>>>>");
carOutData(params, createtime, date, tenantId);
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);

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);
}
}

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);
}

public void carNewMemberData(Date createtime, Date date, String tenantId) {
WxCUserBasicInfoDto wxCUserBasicInfoDto = new WxCUserBasicInfoDto();
wxCUserBasicInfoDto.setTenantId(tenantId);
wxCUserBasicInfoDto.setStartTime(date);
wxCUserBasicInfoDto.setEndTime(date);
Integer carUserCount = wxCUserCarMapper.countUser(wxCUserBasicInfoDto);
addChartData(tenantId, carUserCount.toString(), EnumChartType.CAR_NEW_MEMBER.getCode(), date, createtime);
}

public void carMemberData(HashMap<String, Object> params, Date createtime, Date date, String tenantId) {
List<Map<String, Object>> carCountHistory = wxCUserCarMapper.queryCarCountHistory(params);
Long userCount = carCountHistory.isEmpty() ? 0L : (Long) carCountHistory.get(0).get("count");
addChartData(tenantId, userCount.toString(), EnumChartType.CAR_MEMBER.getCode(), date, createtime);
}

public void carPayFeeData(HashMap<String, Object> params, Date createtime, Date date, String tenantId) {
List<Map<String, Object>> weekCarPayHistoryList = wxCarCmdLogMapper.queryWeekCarPay(params);
BigDecimal fee = weekCarPayHistoryList.isEmpty() ? new BigDecimal(0) : (BigDecimal) weekCarPayHistoryList.get(0).get("fee");
addChartData(tenantId, fee.toString(), EnumChartType.CAR_PAY_FEE.getCode(), date, createtime);
}

public void carPaidData(HashMap<String, Object> params, Date createtime, Date date, String tenantId) {
Long carPayFeeCount = wxCarCmdLogMapper.queryWeekCarPayCount(params);
addChartData(tenantId, carPayFeeCount.toString(), EnumChartType.CAR_PAID.getCode(), date, createtime);
}

public void carOutData(HashMap<String, Object> params, Date createtime, Date date, String tenantId) {
List<Map<String, Object>> historylist = wxCarCmdLogMapper.queryHistory(params);
Long carOutCount = historylist.isEmpty() ? 0L : (Long) historylist.get(0).get("carcount");
addChartData(tenantId, carOutCount.toString(), EnumChartType.CAR_OUT.getCode(), date, createtime);
}

private void addChartData(String tenantId, String result, Integer type, Date querytime, Date createtime) {
logger.info("即将插入数据>>>>>>>>>>>>>>>>>>>>>>>");
WxChartDataEntity wxChartDataEntity = new WxChartDataEntity();
wxChartDataEntity.setTenantId(tenantId);
wxChartDataEntity.setResult(result);
wxChartDataEntity.setType(type);
wxChartDataEntity.setQuerytime(querytime);
wxChartDataEntity.setCreatetime(createtime);
logger.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>" + wxChartDataEntity.toString());
wxChartDataMapper.insertSelective(wxChartDataEntity);
}

}

+ 35
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxChartDataEntity.java View File

@@ -0,0 +1,35 @@
package com.iformall.domain.po;

import lombok.Data;

import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

@Table(name = "wx_chart_data")
@Data
public class WxChartDataEntity implements Serializable {

private static final long serialVersionUID = 1L;

@Id
protected Long id;
private String tenantId;
private Integer type;
private String result;
private Date querytime;
private Date createtime;

@Override
public String toString() {
return "WxChartDataEntity{" +
"id=" + id +
", tenantId='" + tenantId + '\'' +
", type=" + type +
", result='" + result + '\'' +
", querytime=" + querytime +
", createtime=" + createtime +
'}';
}
}

+ 6
- 2
mallinkService/src/main/java/com/iformall/enums/EnumChartType.java View File

@@ -4,8 +4,12 @@ package com.iformall.enums;
* Created by Stormeye on 2018/08/09.
*/
public enum EnumChartType {
CAR(1, "车流数据"),;

CAR_OUT(1, "出场车辆"),
CAR_PAID(2, "缴费车辆"),
CAR_PAY_FEE(3, "缴费金额"),
CAR_MEMBER(4, "新增会员"),
CAR_NEW_MEMBER(5, "新增停车会员"),
CAR_BIND(6, "已绑车辆"),;
public static EnumChartType getEnum(Integer code) {
for (EnumChartType value : values()) {
if (value.getCode().equals(code)) {


+ 7
- 0
mallinkService/src/main/java/com/iformall/mapper/WxChartDataMapper.java View File

@@ -0,0 +1,7 @@
package com.iformall.mapper;

import com.iformall.common.CommonMapper;
import com.iformall.domain.po.WxChartDataEntity;

public interface WxChartDataMapper extends CommonMapper<WxChartDataEntity, Long> {
}

Loading…
Cancel
Save