Commit 9bd94162 by liyanlin

fix

parent 7c5418b0
......@@ -3,6 +3,8 @@ package com.bailuntec.application;
import com.bailuntec.domain.DcBaseFinanceEbay;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* ebay费用详情表 gmt_date、item_id、account_entry_type、ref_number作为唯一键 服务类
......@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface IDcBaseFinanceEbayService extends IService<DcBaseFinanceEbay> {
void BatchInsertIgnoreExist(List<DcBaseFinanceEbay> list);
}
......@@ -6,6 +6,9 @@ import com.bailuntec.application.IDcBaseFinanceEbayService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* <p>
* ebay费用详情表 gmt_date、item_id、account_entry_type、ref_number作为唯一键 服务实现类
......@@ -17,4 +20,11 @@ import org.springframework.stereotype.Service;
@Service
public class DcBaseFinanceEbayServiceImpl extends ServiceImpl<DcBaseFinanceEbayMapper, DcBaseFinanceEbay> implements IDcBaseFinanceEbayService {
@Resource
private DcBaseFinanceEbayMapper dcBaseFinanceEbayMapper;
@Override
public void BatchInsertIgnoreExist(List<DcBaseFinanceEbay> list) {
dcBaseFinanceEbayMapper.BatchInsertIgnoreExist(list);
}
}
......@@ -2,6 +2,9 @@ package com.bailuntec.infrastructure.mapper;
import com.bailuntec.domain.DcBaseFinanceEbay;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Insert;
import java.util.List;
/**
* <p>
......@@ -13,4 +16,18 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface DcBaseFinanceEbayMapper extends BaseMapper<DcBaseFinanceEbay> {
@Insert("<script>" +
"insert IGNORE into dc_base_finance_ebay(bj_create ,bj_modified ,account_entry_type ,description ,gmt_date " +
",bj_date ,gross_amount ,item_id ,memo ,net_amount ,ref_number ,vat_percent ,title ,order_line_id " +
",transaction_id ,company_id ,received_top_rated_discount ,account_id ,currency ,exchange_rate " +
",exchange_rate_usd ,report_date) values" +
"<foreach collection='list' item='item' index='index' separator=','>" +
"(#{item.bjCreate},#{item.bjModified},#{item.accountEntryType},#{item.description},#{item.gmtDate}" +
",#{item.bjDate},#{item.grossAmount},#{item.itemId},#{item.memo},#{item.netAmount},#{item.refNumber}" +
",#{item.vatPercent},#{item.title},#{item.orderLineId},#{item.transactionId},#{item.companyId}" +
",#{item.receivedTopRatedDiscount},#{item.accountId},#{item.currency},#{item.exchangeRate}" +
",#{item.exchangeRateUsd},#{item.reportDate})" +
"</foreach>" +
"</script>")
void BatchInsertIgnoreExist(List<DcBaseFinanceEbay> list);
}
package com.bailuntec.job;
import com.alibaba.fastjson.JSON;
import com.bailuntec.application.IDcBaseFinanceEbayService;
import com.bailuntec.domain.DcBaseFinanceEbay;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.batch.item.ItemWriter;
import org.springframework.lang.NonNull;
......@@ -42,12 +39,6 @@ public class EbayFinanceWriter implements ItemWriter<DcBaseFinanceEbay> {
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DcBaseFinanceEbay::getRefNumber)))
, ArrayList::new)
);
list.forEach(x -> {
int total = dcBaseFinanceEbayService.count(new LambdaQueryWrapper<DcBaseFinanceEbay>()
.eq(DcBaseFinanceEbay::getRefNumber,x.getRefNumber()));
if(total <= 0){
dcBaseFinanceEbayService.save(x);
}
});
dcBaseFinanceEbayService.BatchInsertIgnoreExist(list);
}
}
......@@ -4,12 +4,12 @@ spring:
name: base-sync-ebay
# 数据配置
datasource-biz:
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datecenter_test?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datecenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
dataflow-datasource:
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datecenter_test?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
url: jdbc:mysql://gz-cdb-kp7s5i79.sql.tencentcdb.com:61691/bailun_datecenter?serverTimezone=GMT%2B8&characterEncoding=utf-8&rewriteBatchedStatements=true
username: root
password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver
......
package com.bailuntec.job.service;
import com.bailuntec.BalanceSheetApp;
import com.bailuntec.domain.DcJobConfig;
import com.bailuntec.infrastructure.mapper.DcJobConfigMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import javax.annotation.Resource;
import java.text.ParseException;
import java.time.LocalDate;
import java.util.Date;
/**
* <p>
......@@ -22,10 +25,14 @@ import java.time.LocalDate;
@ActiveProfiles("test")
@RunWith(SpringRunner.class)
@SpringBootTest(classes = BalanceSheetApp.class)
@WebAppConfiguration
public class BalanceSheetServiceTest {
@Autowired
private BalanceSheetService balanceSheetService;
@Resource
BalanceSheetService balanceSheetService;
@Resource
DcJobConfigMapper dcJobConfigMapper;
@Test
public void syncBankAccount() {
......@@ -59,6 +66,14 @@ public class BalanceSheetServiceTest {
@Test
public void test(){
System.out.println(LocalDate.now().toString());
/*System.out.println("----------------------------------");
DcJobConfig dcJobConfig = dcJobConfigMapper.selectByName("finance-generate-balance-sheet");
dcJobConfig.setStartTime(LocalDateTime.of(2021,3,18,0,0));
balanceSheetService.getSemiInventoryBalance(dcJobConfig);*/
DcJobConfig dcJobConfig = dcJobConfigMapper.selectByName("finance-generate-balance-sheet");
//Date lastDay = Date.from(dcJobConfig.getStartTime().toInstant(ZoneOffset.ofHours(8)));
dcJobConfig.setStartTime(dcJobConfig.getStartTime().plusHours(-5));
Date lastDay = java.sql.Date.valueOf(dcJobConfig.getStartTime().toLocalDate());
System.out.println(lastDay);
}
}
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