update 优化 使用工具类简化代码
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
package org.dromara.job.snailjob;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
|
||||
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
|
||||
import com.aizuda.snailjob.common.log.SnailJobLog;
|
||||
import com.aizuda.snailjob.model.dto.ExecuteResult;
|
||||
import org.dromara.common.core.utils.DateUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.json.utils.JsonUtils;
|
||||
import org.dromara.job.entity.BillDTO;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -25,8 +25,8 @@ public class AlipayBillTask {
|
||||
public ExecuteResult jobExecute(JobArgs jobArgs) throws InterruptedException {
|
||||
// 设置清算日期
|
||||
String settlementDate = (String) jobArgs.getWfContext().get("settlementDate");
|
||||
if (StrUtil.equals(settlementDate, "sysdate")) {
|
||||
settlementDate = DateUtil.today();
|
||||
if (StringUtils.equals(settlementDate, "sysdate")) {
|
||||
settlementDate = DateUtils.getDate();
|
||||
}
|
||||
BillDTO billDTO = new BillDTO(23456789L, "alipay", settlementDate, new BigDecimal("2345.67"));
|
||||
// 把billDTO对象放入上下文进行传递
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package org.dromara.job.snailjob;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
|
||||
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
|
||||
import com.aizuda.snailjob.common.log.SnailJobLog;
|
||||
import com.aizuda.snailjob.model.dto.ExecuteResult;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.json.utils.JsonUtils;
|
||||
import org.dromara.job.entity.BillDTO;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -25,14 +25,14 @@ public class SummaryBillTask {
|
||||
// 获得微信账单
|
||||
BigDecimal wechatAmount = BigDecimal.valueOf(0);
|
||||
String wechat = (String) jobArgs.getWfContext("wechat");
|
||||
if (StrUtil.isNotBlank(wechat)) {
|
||||
if (StringUtils.isNotBlank(wechat)) {
|
||||
BillDTO wechatBillDTO = JsonUtils.parseObject(wechat, BillDTO.class);
|
||||
wechatAmount = wechatBillDTO.billAmount();
|
||||
}
|
||||
// 获得支付宝账单
|
||||
BigDecimal alipayAmount = BigDecimal.valueOf(0);
|
||||
String alipay = (String) jobArgs.getWfContext("alipay");
|
||||
if (StrUtil.isNotBlank(alipay)) {
|
||||
if (StringUtils.isNotBlank(alipay)) {
|
||||
BillDTO alipayBillDTO = JsonUtils.parseObject(alipay, BillDTO.class);
|
||||
alipayAmount = alipayBillDTO.billAmount();
|
||||
}
|
||||
|
||||
+3
-4
@@ -8,11 +8,11 @@ import com.aizuda.snailjob.client.job.core.annotation.MapExecutor;
|
||||
import com.aizuda.snailjob.client.job.core.dto.MapArgs;
|
||||
import com.aizuda.snailjob.common.log.SnailJobLog;
|
||||
import com.aizuda.snailjob.model.dto.ExecuteResult;
|
||||
import org.dromara.common.core.utils.StreamUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
/**
|
||||
@@ -30,9 +30,8 @@ public class TestMapJobAnnotation {
|
||||
public ExecuteResult doJobMapExecute(MapArgs mapArgs, MapHandler mapHandler) {
|
||||
// 生成1~200数值并分片
|
||||
int partitionSize = 50;
|
||||
List<List<Integer>> partition = IntStream.rangeClosed(1, 200)
|
||||
.boxed()
|
||||
.collect(Collectors.groupingBy(i -> (i - 1) / partitionSize))
|
||||
List<Integer> sourceList = IntStream.rangeClosed(1, 200).boxed().toList();
|
||||
List<List<Integer>> partition = StreamUtils.groupByKey(sourceList, i -> (i - 1) / partitionSize)
|
||||
.values()
|
||||
.stream()
|
||||
.toList();
|
||||
|
||||
+6
-7
@@ -10,11 +10,11 @@ import com.aizuda.snailjob.client.job.core.dto.MapArgs;
|
||||
import com.aizuda.snailjob.client.job.core.dto.ReduceArgs;
|
||||
import com.aizuda.snailjob.common.log.SnailJobLog;
|
||||
import com.aizuda.snailjob.model.dto.ExecuteResult;
|
||||
import org.dromara.common.core.utils.StreamUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
/**
|
||||
@@ -31,12 +31,11 @@ public class TestMapReduceAnnotation1 {
|
||||
@MapExecutor
|
||||
public ExecuteResult rootMapExecute(MapArgs mapArgs, MapHandler mapHandler) {
|
||||
int partitionSize = 50;
|
||||
List<List<Integer>> partition = IntStream.rangeClosed(1, 200)
|
||||
.boxed()
|
||||
.collect(Collectors.groupingBy(i -> (i - 1) / partitionSize))
|
||||
.values()
|
||||
.stream()
|
||||
.toList();
|
||||
List<Integer> sourceList = IntStream.rangeClosed(1, 200).boxed().toList();
|
||||
List<List<Integer>> partition = StreamUtils.groupByKey(sourceList, i -> (i - 1) / partitionSize)
|
||||
.values()
|
||||
.stream()
|
||||
.toList();
|
||||
SnailJobLog.REMOTE.info("端口:{}完成分配任务", SpringUtil.getProperty("server.port"));
|
||||
return mapHandler.doMap(partition, "doCalc");
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package org.dromara.job.snailjob;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
|
||||
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
|
||||
import com.aizuda.snailjob.common.log.SnailJobLog;
|
||||
import com.aizuda.snailjob.model.dto.ExecuteResult;
|
||||
import org.dromara.common.core.utils.DateUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.json.utils.JsonUtils;
|
||||
import org.dromara.job.entity.BillDTO;
|
||||
import org.springframework.stereotype.Component;
|
||||
@@ -26,8 +26,8 @@ public class WechatBillTask {
|
||||
// 从上下文中获得清算日期并设置,如果上下文中清算日期
|
||||
// 是sysdate设置为当前日期;否则取管理页面设置的值
|
||||
String settlementDate = (String) jobArgs.getWfContext().get("settlementDate");
|
||||
if (StrUtil.equals(settlementDate, "sysdate")) {
|
||||
settlementDate = DateUtil.today();
|
||||
if (StringUtils.equals(settlementDate, "sysdate")) {
|
||||
settlementDate = DateUtils.getDate();
|
||||
}
|
||||
BillDTO billDTO = new BillDTO(123456789L, "wechat", settlementDate, new BigDecimal("1234.56"));
|
||||
// 把billDTO对象放入上下文进行传递
|
||||
|
||||
Reference in New Issue
Block a user