feat(每月作价):优化住宅售价计算
1. 成交案例下载和清洗 2. 挂牌案例下载、上传、清洗 3. 编写单元测试 4. 批量导入性能优化
This commit is contained in:
71
ruoyi/src/test/java/com/uvaluation/GenerateTableTests.java
Normal file
71
ruoyi/src/test/java/com/uvaluation/GenerateTableTests.java
Normal file
@ -0,0 +1,71 @@
|
||||
package com.uvaluation;
|
||||
|
||||
|
||||
import com.ruoyi.project.data.price.domain.ComputeResidenceSaleBasePrice;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
public class GenerateTableTests {
|
||||
|
||||
@Test
|
||||
public void getELTableColumn() {
|
||||
Class<?> targetClass = ComputeResidenceSaleBasePrice.class;
|
||||
|
||||
Stream.of(targetClass.getDeclaredFields()).forEach(x -> {
|
||||
if (x.isAnnotationPresent(com.ruoyi.framework.aspectj.lang.annotation.Excel.class)) {
|
||||
com.ruoyi.framework.aspectj.lang.annotation.Excel excel =
|
||||
x.getAnnotation(com.ruoyi.framework.aspectj.lang.annotation.Excel.class);
|
||||
System.out.println(String.format("<el-table-column label=\"%s\" align=\"center\" " +
|
||||
"prop=\"%s\" />", excel.name(), x.getName()));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateUserTableType() {
|
||||
Class<?> targetClass = ComputeResidenceSaleBasePrice.class;
|
||||
Stream.of(targetClass.getDeclaredFields()).forEach(x -> {
|
||||
if (x.isAnnotationPresent(com.ruoyi.framework.aspectj.lang.annotation.Excel.class)) {
|
||||
if ("java.lang.String".equals(x.getType().getName()))
|
||||
System.out.println(String.format("sourceDataTable.addColumnMetadata(\"%s\", java.sql.Types" +
|
||||
".NVARCHAR);", x.getName()));
|
||||
else if ("java.lang.Integer".equals(x.getType().getName()))
|
||||
System.out.println(String.format("sourceDataTable.addColumnMetadata(\"%s\", java.sql.Types" +
|
||||
".INT);", x.getName()));
|
||||
else if ("java.math.BigDecimal".equals(x.getType().getName()))
|
||||
System.out.println(String.format("sourceDataTable.addColumnMetadata(\"%s\", java.sql.Types" +
|
||||
".DECIMAL);", x.getName()));
|
||||
else if ("java.util.Date".equals(x.getType().getName()))
|
||||
System.out.println(String.format("sourceDataTable.addColumnMetadata(\"%s\", java.sql.Types" +
|
||||
".DATE);", x.getName()));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void generateUserTableScript() {
|
||||
Class<?> targetClass = ComputeResidenceSaleBasePrice.class;
|
||||
Stream.of(targetClass.getDeclaredFields()).forEach(x -> {
|
||||
if (x.isAnnotationPresent(com.ruoyi.framework.aspectj.lang.annotation.Excel.class)) {
|
||||
System.out.println(x.getName() + ",");
|
||||
// System.out.println(x.getName() + " nvarchar(200) null ,");
|
||||
// if ("java.lang.String".equals(x.getType().getName()))
|
||||
// System.out.println(String.format("sourceDataTable.addColumnMetadata(\"%s\", java.sql.Types" +
|
||||
// ".NVARCHAR);", x.getName()));
|
||||
// else if ("java.lang.Integer".equals(x.getType().getName()))
|
||||
// System.out.println(String.format("sourceDataTable.addColumnMetadata(\"%s\", java.sql.Types" +
|
||||
// ".INT);", x.getName()));
|
||||
// else if ("java.math.BigDecimal".equals(x.getType().getName()))
|
||||
// System.out.println(String.format("sourceDataTable.addColumnMetadata(\"%s\", java.sql.Types" +
|
||||
// ".DECIMAL);", x.getName()));
|
||||
// else if ("java.util.Date".equals(x.getType().getName()))
|
||||
// System.out.println(String.format("sourceDataTable.addColumnMetadata(\"%s\", java.sql.Types" +
|
||||
// ".DATE);", x.getName()));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
@ -3,11 +3,18 @@ package com.uvaluation.compute;
|
||||
import com.ruoyi.RuoYiApplication;
|
||||
import com.ruoyi.project.data.cases.service.IOriginalResidenceSaleClosingCaseService;
|
||||
import com.ruoyi.project.data.cases.service.IOriginalResidenceSaleOpeningCaseService;
|
||||
import com.ruoyi.project.data.price.domain.ComputeResidenceSaleBasePrice;
|
||||
import com.ruoyi.project.data.price.service.IArtificialResidenceSalePriceService;
|
||||
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.junit4.SpringRunner;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(classes = RuoYiApplication.class)
|
||||
@ -16,6 +23,8 @@ public class ResidenceSaleBasePriceTests {
|
||||
@Autowired
|
||||
private IOriginalResidenceSaleOpeningCaseService originalResidenceOpeningCaseService;
|
||||
@Autowired
|
||||
private IArtificialResidenceSalePriceService artificialResidenceSalePriceService;
|
||||
@Autowired
|
||||
private IOriginalResidenceSaleClosingCaseService originalResidenceClosingCaseService;
|
||||
|
||||
@Test
|
||||
@ -28,5 +37,14 @@ public class ResidenceSaleBasePriceTests {
|
||||
originalResidenceClosingCaseService.pullData();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBatchImport() {
|
||||
List<ComputeResidenceSaleBasePrice> list = new LinkedList<>();
|
||||
ComputeResidenceSaleBasePrice computeResidenceSaleBasePrice = new ComputeResidenceSaleBasePrice();
|
||||
computeResidenceSaleBasePrice.setCommunityId("10101");
|
||||
computeResidenceSaleBasePrice.setBasePriceDraft(new BigDecimal(12222));
|
||||
list.add(computeResidenceSaleBasePrice);
|
||||
artificialResidenceSalePriceService.batchImport(202007, list);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user