| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package com.crm.manager.service.job;
- import com.crm.manager.service.VaultodyService;
- import com.crm.rely.backend.model.config.VaultodyConfig;
- import com.crm.rely.backend.model.dto.vaultody.vaults.TransactionItemDto;
- import com.crm.rely.backend.model.pojo.table.TransactionItemTable;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Service;
- import org.springframework.util.CollectionUtils;
- import java.util.ArrayList;
- import java.util.LinkedList;
- import java.util.List;
- import java.util.Map;
- @Service
- @Slf4j
- public class VaultsJob {
- @Autowired
- private VaultodyService vaultodyService;
- @Scheduled(cron = "0 0 1 * * ?")
- public void vaultsJob() throws Exception{
- //TODO: 获取保险箱列表
- // List<VaultodyVaultsListDto> vaultsList = (List<VaultodyVaultsListDto>)vaultodyService.vaultsList().getData();
- // if(CollectionUtils.isEmpty(vaultsList)){
- // log.info("没有获取到保险箱列表");
- // return;
- // }
- VaultodyConfig vaultodyConfig = vaultodyService.getVaultodyConfig();
- List<VaultodyConfig> vaultodyList = vaultodyConfig.getVaultodyList();
- List<TransactionItemTable> tables = new LinkedList<>();
- //TODO: 获取保险箱交易记录
- for (VaultodyConfig config : vaultodyList) {
- List<TransactionItemDto> list = vaultodyService.queryWithFilter(config);
- if(CollectionUtils.isEmpty(list)){
- continue;
- }
- for (TransactionItemDto transactionItemDto : list) {
- TransactionItemTable table = new TransactionItemTable() ;
- BeanUtils.copyProperties(transactionItemDto, table);
- table.setVaultId(config.getVaultId());
- table.setItemId(transactionItemDto.getId());
- if(StringUtils.isNotBlank(table.getTransactionId())){
- List<String> transactionIds = new ArrayList<>();
- transactionIds.add(table.getTransactionId());
- Map<String, String> orderSerialByTransactionIds = vaultodyService.getOrderSerialByTransactionIds(transactionIds);
- if(!CollectionUtils.isEmpty(orderSerialByTransactionIds)){
- table.setOrderId(orderSerialByTransactionIds.get(table.getTransactionId()));
- }
- }
- tables.add(table);
- }
- }
- if(CollectionUtils.isEmpty(tables)){
- log.info("没有获取到保险箱交易记录:{},定时任务结束",tables);
- return;
- }
- vaultodyService.batchSave(tables);
- }
- }
|