From 9a6a453c3e48bc2f939b1e21f131288c511dfbe8 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Thu, 7 Mar 2019 16:20:40 +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=BD=A6=E7=9B=B8=E5=85=B3=E6=95=B0?= =?UTF-8?q?=E6=8D=AE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/schedule/ChartDataSchedule.java | 96 ++++++++++++++----- .../iformall/domain/po/WxChartDataEntity.java | 35 +++++++ .../com/iformall/enums/EnumChartType.java | 8 +- .../iformall/mapper/WxChartDataMapper.java | 7 ++ 4 files changed, 119 insertions(+), 27 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/domain/po/WxChartDataEntity.java create mode 100644 mallinkService/src/main/java/com/iformall/mapper/WxChartDataMapper.java diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/ChartDataSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/ChartDataSchedule.java index d6357774e..061a1144f 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/ChartDataSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/ChartDataSchedule.java @@ -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 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 wxMalls = wxMallMapper.selectAll(); for (WxMall wxMall : wxMalls) { String tenantId = wxMall.getTenantId(); params.put("tenantId", tenantId); - //出场车数 - List> 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> weekCarPayHistoryList = wxCarCmdLogMapper.queryWeekCarPay(params); - BigDecimal fee = weekCarPayHistoryList.isEmpty() ? new BigDecimal(0) : (BigDecimal) weekCarPayHistoryList.get(0).get("fee"); - //新增会员 - List> 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 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 params, Date createtime, Date date, String tenantId) { + List> 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 params, Date createtime, Date date, String tenantId) { + List> 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 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 params, Date createtime, Date date, String tenantId) { + List> 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); + } + } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxChartDataEntity.java b/mallinkService/src/main/java/com/iformall/domain/po/WxChartDataEntity.java new file mode 100644 index 000000000..3b47c9c26 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxChartDataEntity.java @@ -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 + + '}'; + } +} diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumChartType.java b/mallinkService/src/main/java/com/iformall/enums/EnumChartType.java index 95a2ba2a4..44ed04d54 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumChartType.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumChartType.java @@ -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)) { diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxChartDataMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxChartDataMapper.java new file mode 100644 index 000000000..780d8a43b --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxChartDataMapper.java @@ -0,0 +1,7 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.WxChartDataEntity; + +public interface WxChartDataMapper extends CommonMapper { +}