作用: 可以事实根据日志信息查询交易数据
百度网盘:
整合 springboot 的时候 引入依赖:
<dependencies>
<!-- springboot 整合 xxl-job -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.3.0</version>
</dependency>
<!--整合mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- springboot 整合 mybati-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<!-- mybatis-plus-generator 逆向工程 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version>
</dependency>
<!--
此依赖对于本项目作用: 将 list 进行分割
-->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>20.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.mayikt</groupId>
<artifactId>mayikt-pay-utils</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<!--
可以根据日期获取 星期几
-->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.1</version>
</dependency>
</dependencies>
获取 每个 商户端 昨日 的 数据
handler:
package com.mayikt.pay.job.handler;
import com.google.common.collect.Lists;
import com.mayikt.pay.job.entity.AggregateAmountDO;
import com.mayikt.pay.job.service.PaymentJobDailyReportService;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @author Marco
* @Description
* @date 2024/1/25 15:39
* @email [email protected]
*/
@Component
@Slf4j
public class PaymentDailyReportHandler {
@Value("${server.port}")
private String serverPort;
private static Logger logger = LoggerFactory.getLogger(PaymentDailyReportHandler.class);
@Autowired
private PaymentJobDailyReportService paymentJobDailyReportService;
/**
* 批次
*/
private static final Integer PARTITION_SIZE = 2;
@XxlJob("payDailyReportHandler")
public void payDailyReport() {
// 获取当前定时任务对应在注册中心的index位置
int shardIndex = XxlJobHelper.getShardIndex();
int shardTotal = XxlJobHelper.getShardTotal();
// log.info("shardIndex:{} , shardTotal:{}, serverPort:{}" , shardIndex , shardTotal , serverPort);
// 1、查询昨日的每个商户的收款金额
List<AggregateAmou