Commit 726d2afe by liyanlin

fix

parent d92866f9
...@@ -11,6 +11,7 @@ import lombok.EqualsAndHashCode; ...@@ -11,6 +11,7 @@ import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
...@@ -71,6 +72,14 @@ public class DcBaseEbayTransaction implements Serializable { ...@@ -71,6 +72,14 @@ public class DcBaseEbayTransaction implements Serializable {
private Integer accountId; private Integer accountId;
private LocalDateTime transactionDateBj;
@ApiModelProperty(value = "转人民币汇率,根据transactionDateBj取值")
private BigDecimal exchangeRate;
@ApiModelProperty(value = "转美元汇率")
private BigDecimal exchangeRateUsd;
@TableField(exist = false) @TableField(exist = false)
private List<Reference> references; private List<Reference> references;
......
...@@ -4,12 +4,13 @@ ...@@ -4,12 +4,13 @@
<insert id="insertIgnoreExist" parameterType="arraylist"> <insert id="insertIgnoreExist" parameterType="arraylist">
insert ignore into dc_base_ebay_transaction (value,currency,booking_entry,username,fee_type,order_id,payments_entity, insert ignore into dc_base_ebay_transaction (value,currency,booking_entry,username,fee_type,order_id,payments_entity,
payout_id,references_json,item_id,sales_record_reference,transaction_date,transaction_date_short,transaction_id, payout_id,references_json,item_id,sales_record_reference,transaction_date,transaction_date_short,transaction_id,
transaction_memo,transaction_status,transaction_type,account_id) values transaction_memo,transaction_status,transaction_type,account_id,transaction_date_bj ,exchange_rate,exchange_rate_usd) values
<foreach collection="list" item="item" index="index" separator=","> <foreach collection="list" item="item" index="index" separator=",">
(#{item.value},#{item.currency},#{item.bookingEntry},#{item.username},#{item.feeType},#{item.orderId}, (#{item.value},#{item.currency},#{item.bookingEntry},#{item.username},#{item.feeType},#{item.orderId},
#{item.paymentsEntity},#{item.payoutId},#{item.referencesJson},#{item.itemId},#{item.salesRecordReference}, #{item.paymentsEntity},#{item.payoutId},#{item.referencesJson},#{item.itemId},#{item.salesRecordReference},
#{item.transactionDate},#{item.transactionDateShort},#{item.transactionId},#{item.transactionMemo}, #{item.transactionDate},#{item.transactionDateShort},#{item.transactionId},#{item.transactionMemo},
#{item.transactionStatus},#{item.transactionType},#{item.accountId}) #{item.transactionStatus},#{item.transactionType},#{item.accountId},#{item.transactionDateBj},#{item.exchangeRate},
,#{item.exchangeRateUsd})
</foreach> </foreach>
</insert> </insert>
</mapper> </mapper>
\ No newline at end of file
package com.bailuntec.job.service.impl; package com.bailuntec.job.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.bailuntec.api.bailuntec.oa.OaApi;
import com.bailuntec.api.ebay.seller.EbayTransactionApi; import com.bailuntec.api.ebay.seller.EbayTransactionApi;
import com.bailuntec.api.ebay.seller.response.transaction.EbayTransactionRes; import com.bailuntec.api.ebay.seller.response.transaction.EbayTransactionRes;
import com.bailuntec.api.ebay.seller.response.transaction.Reference; import com.bailuntec.api.ebay.seller.response.transaction.Reference;
...@@ -17,6 +18,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -17,6 +18,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -40,21 +42,25 @@ public class SyncEbayFeeServiceImpl implements SyncEbayFeeService { ...@@ -40,21 +42,25 @@ public class SyncEbayFeeServiceImpl implements SyncEbayFeeService {
private DcBaseEbayTransactionMapper dcBaseEbayTransactionMapper; private DcBaseEbayTransactionMapper dcBaseEbayTransactionMapper;
//当前需要跑的账号 //当前需要跑的账号
private final static String[] RUN_ACCOUNT = new String[]{"ottlueilwitz3","jalenhe","uha4mmada","rownmelody5","nthonyp6ecket","rayallen9","barbara_spence95","nbrysonhall","credit4free"}; private final static String[] RUN_ACCOUNT = new String[]{"ottlueilwitz3","jalenhe","uha4mmada","rownmelody5",
"nthonyp6ecket","rayallen9","barbara_spence95","nbrysonhall","credit4free","barbara_spence95"};
@Resource @Resource
private EbayTransactionApi ebayTransactionApi; private EbayTransactionApi ebayTransactionApi;
@Resource
private OaApi oaApi;
@Override @Override
public void SyncEbayTransaction() { public void SyncEbayTransaction() {
//获取未跑或失败的任务 //获取未跑或失败的任务
List<EbayAccountReportTask> ebayAccountReportTaskList = ebayAccountReportTaskService.list( /*List<EbayAccountReportTask> ebayAccountReportTaskList = ebayAccountReportTaskService.list(
new LambdaQueryWrapper<EbayAccountReportTask>() new LambdaQueryWrapper<EbayAccountReportTask>()
.ne(EbayAccountReportTask::getStatus, 1) .ne(EbayAccountReportTask::getStatus, 1)
); );*/
/*List<EbayAccountReportTask> ebayAccountReportTaskList = ebayAccountReportTaskService.list(new LambdaQueryWrapper<EbayAccountReportTask>() List<EbayAccountReportTask> ebayAccountReportTaskList = ebayAccountReportTaskService.list(new LambdaQueryWrapper<EbayAccountReportTask>()
.ge(EbayAccountReportTask::getStartTime, LocalDateTime.of(2021, 5, 1, 0, 0, 0)) .ge(EbayAccountReportTask::getStartTime, LocalDateTime.of(2021, 5, 4, 0, 0, 0))
.lt(EbayAccountReportTask::getStartTime, LocalDateTime.of(2021, 5, 26, 0, 0, 0)));*/ .lt(EbayAccountReportTask::getStartTime, LocalDateTime.of(2021, 5, 27, 0, 0, 0)));
//获取账号信息 //获取账号信息
List<Integer> accountIdList = ebayAccountReportTaskList.stream().map(x -> x.getAccountId()).distinct().collect(Collectors.toList()); List<Integer> accountIdList = ebayAccountReportTaskList.stream().map(x -> x.getAccountId()).distinct().collect(Collectors.toList());
List<DcBaseCompanyAccount> accountList = dcBaseCompanyAccountService.list( List<DcBaseCompanyAccount> accountList = dcBaseCompanyAccountService.list(
...@@ -148,6 +154,7 @@ public class SyncEbayFeeServiceImpl implements SyncEbayFeeService { ...@@ -148,6 +154,7 @@ public class SyncEbayFeeServiceImpl implements SyncEbayFeeService {
x.setReferencesJson(JSON.toJSONString(transaction.getReferences())); x.setReferencesJson(JSON.toJSONString(transaction.getReferences()));
} }
if (x.getTransactionDate() != null) { if (x.getTransactionDate() != null) {
x.setTransactionDateBj(x.getTransactionDate().minusHours(15L));
x.setTransactionDateShort(x.getTransactionDate().toLocalDate()); x.setTransactionDateShort(x.getTransactionDate().toLocalDate());
} }
...@@ -155,6 +162,13 @@ public class SyncEbayFeeServiceImpl implements SyncEbayFeeService { ...@@ -155,6 +162,13 @@ public class SyncEbayFeeServiceImpl implements SyncEbayFeeService {
x.setCurrency(transaction.getAmount().getCurrency()); x.setCurrency(transaction.getAmount().getCurrency());
x.setUsername(transaction.getBuyer() == null ? "" : transaction.getBuyer().getUsername()); x.setUsername(transaction.getBuyer() == null ? "" : transaction.getBuyer().getUsername());
x.setAccountId(accountId); x.setAccountId(accountId);
try {
x.setExchangeRate(oaApi.getExchangeRateByCurAndDate(x.getCurrency(), "CNY", x.getTransactionDateBj().toLocalDate()).getRate());
x.setExchangeRateUsd(oaApi.getExchangeRateByCurAndDate(x.getCurrency(), "USD", x.getTransactionDateBj().toLocalDate()).getRate());
}
catch (Exception ex){
log.info(ex.toString());
}
}); });
dcBaseEbayTransactionMapper.insertIgnoreExist(dcBaseEbayTransactionList); dcBaseEbayTransactionMapper.insertIgnoreExist(dcBaseEbayTransactionList);
......
package com.bailuntec.job.service; package com.bailuntec.job.service;
import com.alibaba.fastjson.JSON;
import com.bailuntec.api.bailuntec.cw.CwApi; import com.bailuntec.api.bailuntec.cw.CwApi;
import com.bailuntec.api.bailuntec.cw.response.BankAccountBalanceDTO; import com.bailuntec.api.bailuntec.cw.response.BankAccountBalanceDTO;
import com.bailuntec.api.bailuntec.cw.response.BorrowBalanceDTO; import com.bailuntec.api.bailuntec.cw.response.BorrowBalanceDTO;
...@@ -669,25 +670,28 @@ public class BalanceSheetService { ...@@ -669,25 +670,28 @@ public class BalanceSheetService {
* </p> * </p>
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void syncSemiInventoryBalance(){ public void syncSemiInventoryBalance() {
DcJobConfig dcJobConfig = dcJobConfigMapper.selectByName(baseSyncSemiStock); DcJobConfig dcJobConfig = dcJobConfigMapper.selectByName(baseSyncSemiStock);
boolean isOk = true; boolean isOk = true;
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String startDate = dcJobConfig.getStartTime().toLocalDate().format(dtf); String startDate = dcJobConfig.getStartTime().toLocalDate().format(dtf);
String endDate = dcJobConfig.getEndTime().toLocalDate().format(dtf); String endDate = dcJobConfig.getEndTime().toLocalDate().format(dtf);
try { try {
MjgysResult<List<SupofferLogResp>> supofferLogs = mjgysApi.supofferLog(startDate,endDate); MjgysResult<List<SupofferLogResp>> supofferLogs = mjgysApi.supofferLog(startDate, endDate);
log.info("获取半成品存货mjgysApi:" + JSON.toJSONString(supofferLogs));
if (supofferLogs.isSuccess() && supofferLogs.getData().size() > 0) { if (supofferLogs.isSuccess() && supofferLogs.getData().size() > 0) {
dcSemiSupplierOfferLogMapper.insertOrUpdateSemiSupplierOfferLog(supofferLogs.getData()); dcSemiSupplierOfferLogMapper.insertOrUpdateSemiSupplierOfferLog(supofferLogs.getData());
} }
} catch (Exception e) { } catch (Exception e) {
log.info(e.toString());
e.printStackTrace(); e.printStackTrace();
isOk = false; isOk = false;
} }
int rows = 5000; int rows = 5000;
int page = 1; int page = 1;
try { try {
MjzzResult<MjzzPage<StockLogResp>> stockLogResult = mjzzApi.stockLog(page,rows,startDate,endDate); MjzzResult<MjzzPage<StockLogResp>> stockLogResult = mjzzApi.stockLog(page, rows, startDate, endDate);
log.info("获取半成品存货mjzzApi:" + JSON.toJSONString(stockLogResult));
if (stockLogResult.getSuccess() && stockLogResult.getData().getTotalItems() > 0) { if (stockLogResult.getSuccess() && stockLogResult.getData().getTotalItems() > 0) {
dcSemiStockLogMapper.insertOrUpdateSemiStockLog(stockLogResult.getData().getItems()); dcSemiStockLogMapper.insertOrUpdateSemiStockLog(stockLogResult.getData().getItems());
int totalPages = stockLogResult.getData().getTotalPages(); int totalPages = stockLogResult.getData().getTotalPages();
...@@ -695,7 +699,7 @@ public class BalanceSheetService { ...@@ -695,7 +699,7 @@ public class BalanceSheetService {
while (page < totalPages) { while (page < totalPages) {
page += 1; page += 1;
try { try {
stockLogResult = mjzzApi.stockLog(page,rows,startDate,endDate); stockLogResult = mjzzApi.stockLog(page, rows, startDate, endDate);
if (stockLogResult.getData() != null && stockLogResult.getData().getItems() != null) { if (stockLogResult.getData() != null && stockLogResult.getData().getItems() != null) {
dcSemiStockLogMapper.insertOrUpdateSemiStockLog(stockLogResult.getData().getItems()); dcSemiStockLogMapper.insertOrUpdateSemiStockLog(stockLogResult.getData().getItems());
} }
...@@ -708,7 +712,7 @@ public class BalanceSheetService { ...@@ -708,7 +712,7 @@ public class BalanceSheetService {
} }
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); log.info(e.toString());
isOk = false; isOk = false;
} }
// 生成半成品每日存货 // 生成半成品每日存货
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment