Commit 9bd94162 by liyanlin

fix

parent 7c5418b0
...@@ -3,6 +3,8 @@ package com.bailuntec.application; ...@@ -3,6 +3,8 @@ package com.bailuntec.application;
import com.bailuntec.domain.DcBaseFinanceEbay; import com.bailuntec.domain.DcBaseFinanceEbay;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/** /**
* <p> * <p>
* ebay费用详情表 gmt_date、item_id、account_entry_type、ref_number作为唯一键 服务类 * ebay费用详情表 gmt_date、item_id、account_entry_type、ref_number作为唯一键 服务类
...@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface IDcBaseFinanceEbayService extends IService<DcBaseFinanceEbay> { public interface IDcBaseFinanceEbayService extends IService<DcBaseFinanceEbay> {
void BatchInsertIgnoreExist(List<DcBaseFinanceEbay> list);
} }
...@@ -6,6 +6,9 @@ import com.bailuntec.application.IDcBaseFinanceEbayService; ...@@ -6,6 +6,9 @@ import com.bailuntec.application.IDcBaseFinanceEbayService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/** /**
* <p> * <p>
* ebay费用详情表 gmt_date、item_id、account_entry_type、ref_number作为唯一键 服务实现类 * ebay费用详情表 gmt_date、item_id、account_entry_type、ref_number作为唯一键 服务实现类
...@@ -17,4 +20,11 @@ import org.springframework.stereotype.Service; ...@@ -17,4 +20,11 @@ import org.springframework.stereotype.Service;
@Service @Service
public class DcBaseFinanceEbayServiceImpl extends ServiceImpl<DcBaseFinanceEbayMapper, DcBaseFinanceEbay> implements IDcBaseFinanceEbayService { 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; ...@@ -2,6 +2,9 @@ package com.bailuntec.infrastructure.mapper;
import com.bailuntec.domain.DcBaseFinanceEbay; import com.bailuntec.domain.DcBaseFinanceEbay;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Insert;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +16,18 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +16,18 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface DcBaseFinanceEbayMapper extends BaseMapper<DcBaseFinanceEbay> { 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; package com.bailuntec.job;
import com.alibaba.fastjson.JSON;
import com.bailuntec.application.IDcBaseFinanceEbayService; import com.bailuntec.application.IDcBaseFinanceEbayService;
import com.bailuntec.domain.DcBaseFinanceEbay; 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 lombok.extern.slf4j.Slf4j;
import org.springframework.batch.item.ItemWriter; import org.springframework.batch.item.ItemWriter;
import org.springframework.lang.NonNull; import org.springframework.lang.NonNull;
...@@ -42,12 +39,6 @@ public class EbayFinanceWriter implements ItemWriter<DcBaseFinanceEbay> { ...@@ -42,12 +39,6 @@ public class EbayFinanceWriter implements ItemWriter<DcBaseFinanceEbay> {
Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DcBaseFinanceEbay::getRefNumber))) Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(DcBaseFinanceEbay::getRefNumber)))
, ArrayList::new) , ArrayList::new)
); );
list.forEach(x -> { dcBaseFinanceEbayService.BatchInsertIgnoreExist(list);
int total = dcBaseFinanceEbayService.count(new LambdaQueryWrapper<DcBaseFinanceEbay>()
.eq(DcBaseFinanceEbay::getRefNumber,x.getRefNumber()));
if(total <= 0){
dcBaseFinanceEbayService.save(x);
}
});
} }
} }
...@@ -4,12 +4,12 @@ spring: ...@@ -4,12 +4,12 @@ spring:
name: base-sync-ebay name: base-sync-ebay
# 数据配置 # 数据配置
datasource-biz: 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 username: root
password: '#7kfnymAM$Y9-Ntf' password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver
dataflow-datasource: 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 username: root
password: '#7kfnymAM$Y9-Ntf' password: '#7kfnymAM$Y9-Ntf'
driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver
......
package com.bailuntec.job.service; package com.bailuntec.job.service;
import com.bailuntec.BalanceSheetApp; import com.bailuntec.BalanceSheetApp;
import com.bailuntec.domain.DcJobConfig;
import com.bailuntec.infrastructure.mapper.DcJobConfigMapper;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import javax.annotation.Resource;
import java.text.ParseException; import java.text.ParseException;
import java.time.LocalDate; import java.util.Date;
/** /**
* <p> * <p>
...@@ -22,10 +25,14 @@ import java.time.LocalDate; ...@@ -22,10 +25,14 @@ import java.time.LocalDate;
@ActiveProfiles("test") @ActiveProfiles("test")
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
@SpringBootTest(classes = BalanceSheetApp.class) @SpringBootTest(classes = BalanceSheetApp.class)
@WebAppConfiguration
public class BalanceSheetServiceTest { public class BalanceSheetServiceTest {
@Autowired @Resource
private BalanceSheetService balanceSheetService; BalanceSheetService balanceSheetService;
@Resource
DcJobConfigMapper dcJobConfigMapper;
@Test @Test
public void syncBankAccount() { public void syncBankAccount() {
...@@ -59,6 +66,14 @@ public class BalanceSheetServiceTest { ...@@ -59,6 +66,14 @@ public class BalanceSheetServiceTest {
@Test @Test
public void 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