update 优化 使用 record 简化实体类编码

This commit is contained in:
疯狂的狮子Li
2026-03-17 19:52:46 +08:00
parent 13aae27579
commit fcfa5eb767
30 changed files with 148 additions and 370 deletions

View File

@@ -1,30 +1,19 @@
package org.dromara.job.entity;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class BillDTO {
/**
* 账单ID
*/
private Long billId;
/**
* 账单渠道
*/
private String billChannel;
/**
* 账单日期
*/
private String billDate;
/**
* 账单金额
*/
private BigDecimal billAmount;
/**
* 账单数据传输对象。
*
* @param billId 账单 ID
* @param billChannel 账单渠道
* @param billDate 账单日期
* @param billAmount 账单金额
*/
public record BillDTO(
Long billId,
String billChannel,
String billDate,
BigDecimal billAmount
) {
}

View File

@@ -23,16 +23,12 @@ import java.math.BigDecimal;
public class AlipayBillTask {
public ExecuteResult jobExecute(JobArgs jobArgs) throws InterruptedException {
BillDTO billDTO = new BillDTO();
billDTO.setBillId(23456789L);
billDTO.setBillChannel("alipay");
// 设置清算日期
String settlementDate = (String) jobArgs.getWfContext().get("settlementDate");
if (StrUtil.equals(settlementDate, "sysdate")) {
settlementDate = DateUtil.today();
}
billDTO.setBillDate(settlementDate);
billDTO.setBillAmount(new BigDecimal("2345.67"));
BillDTO billDTO = new BillDTO(23456789L, "alipay", settlementDate, new BigDecimal("2345.67"));
// 把billDTO对象放入上下文进行传递
jobArgs.appendContext("alipay", JsonUtils.toJsonString(billDTO));
SnailJobLog.REMOTE.info("上下文: {}", jobArgs.getWfContext());

View File

@@ -27,14 +27,14 @@ public class SummaryBillTask {
String wechat = (String) jobArgs.getWfContext("wechat");
if (StrUtil.isNotBlank(wechat)) {
BillDTO wechatBillDTO = JsonUtils.parseObject(wechat, BillDTO.class);
wechatAmount = wechatBillDTO.getBillAmount();
wechatAmount = wechatBillDTO.billAmount();
}
// 获得支付宝账单
BigDecimal alipayAmount = BigDecimal.valueOf(0);
String alipay = (String) jobArgs.getWfContext("alipay");
if (StrUtil.isNotBlank(alipay)) {
BillDTO alipayBillDTO = JsonUtils.parseObject(alipay, BillDTO.class);
alipayAmount = alipayBillDTO.getBillAmount();
alipayAmount = alipayBillDTO.billAmount();
}
// 汇总账单
BigDecimal totalAmount = wechatAmount.add(alipayAmount);

View File

@@ -23,17 +23,13 @@ import java.math.BigDecimal;
public class WechatBillTask {
public ExecuteResult jobExecute(JobArgs jobArgs) throws InterruptedException {
BillDTO billDTO = new BillDTO();
billDTO.setBillId(123456789L);
billDTO.setBillChannel("wechat");
// 从上下文中获得清算日期并设置,如果上下文中清算日期
// 是sysdate设置为当前日期否则取管理页面设置的值
String settlementDate = (String) jobArgs.getWfContext().get("settlementDate");
if (StrUtil.equals(settlementDate, "sysdate")) {
settlementDate = DateUtil.today();
}
billDTO.setBillDate(settlementDate);
billDTO.setBillAmount(new BigDecimal("1234.56"));
BillDTO billDTO = new BillDTO(123456789L, "wechat", settlementDate, new BigDecimal("1234.56"));
// 把billDTO对象放入上下文进行传递
jobArgs.appendContext("wechat", JsonUtils.toJsonString(billDTO));
SnailJobLog.REMOTE.info("上下文: {}", jobArgs.getWfContext());