Browse Source

12月10日定时任务

sunjiabei/feature-20251202094523-银行接口同步
sunjiabei 1 month ago
parent
commit
49b41e5188
  1. 1
      src/main/java/com/example/demo/controller/cash/BankController.java
  2. 2
      src/main/java/com/example/demo/service/cash/BankService.java
  3. 48
      src/main/java/com/example/demo/serviceImpl/cash/BankServiceImpl.java

1
src/main/java/com/example/demo/controller/cash/BankController.java

@ -114,4 +114,5 @@ public class BankController {
return Result.error(e.getMessage());
}
}
}

2
src/main/java/com/example/demo/service/cash/BankService.java

@ -36,4 +36,6 @@ public interface BankService {
//firstdata银行接口(批量)
Result ipayAuto(BankDTO bankDTO);
//bank银行接口(批量)
Result bankAuto();
}

48
src/main/java/com/example/demo/serviceImpl/cash/BankServiceImpl.java

@ -18,6 +18,7 @@ import com.stripe.param.ChargeListParams;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.*;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
@ -714,6 +715,50 @@ public class BankServiceImpl implements BankService {
return Result.success(bankVO);
}
// 银行自动处理接口(每天早上6点执行)
@Scheduled(cron = "1 0 6 * * ?")
@Override
public Result bankAuto() {
try {
// 生成昨天的日期格式为yyyyMMdd
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
LocalDate yesterday = LocalDate.now().minusDays(1);
String yesterdayStr = yesterday.format(formatter);
LocalDate today = LocalDate.now();
String todayStr = today.format(formatter);
// 创建BankDTO实例并设置时间
BankDTO dto = new BankDTO();
dto.setTime(yesterdayStr);
dto.setStartTime(yesterdayStr);
dto.setEndTime(todayStr);
dto.setTime(yesterdayStr);
// 依次调用各个自动处理方法
Result paymentResult = paymentAuto(dto);
Result stripeResult = stripeAuto(dto);
Result firstdataResult = firstdataAuto(dto);
Result ipayResult = ipayAuto(dto);
// 创建响应VO对象并收集处理结果
BankVO bankVO = new BankVO();
List<String> messages = new ArrayList<>();
// 收集各方法的处理结果信息
messages.add("Payment Auto Result: " + (paymentResult != null ? paymentResult.toString() : "null"));
messages.add("Stripe Auto Result: " + (stripeResult != null ? stripeResult.toString() : "null"));
messages.add("Firstdata Auto Result: " + (firstdataResult != null ? firstdataResult.toString() : "null"));
messages.add("Ipay Auto Result: " + (ipayResult != null ? ipayResult.toString() : "null"));
bankVO.setMessage(messages);
return Result.success(bankVO);
} catch (Exception e) {
log.error("bankAuto执行失败", e);
return Result.error("bankAuto执行失败: " + e.getMessage());
}
}
/**
* 生成PaymentAsia API所需的签名
*
@ -786,4 +831,7 @@ public class BankServiceImpl implements BankService {
}
return hexStr.toString();
}
}
Loading…
Cancel
Save