Commit 0f0b4c7f by wutong

修复同步SKU出现空指针异常的问题

parent bd4bc55b
...@@ -96,7 +96,6 @@ public class SkuMSSyncJob extends PointJob { ...@@ -96,7 +96,6 @@ public class SkuMSSyncJob extends PointJob {
DcBaseSkuWarehouseMapper dcBaseSkuWarehouseMapper = SessionUtil.getSession().getMapper(DcBaseSkuWarehouseMapper.class); DcBaseSkuWarehouseMapper dcBaseSkuWarehouseMapper = SessionUtil.getSession().getMapper(DcBaseSkuWarehouseMapper.class);
for (SkuInfo skuInfo : data) { for (SkuInfo skuInfo : data) {
if (StringUtils.isNotBlank(skuInfo.getBailunSku())) { if (StringUtils.isNotBlank(skuInfo.getBailunSku())) {
String bailunSku = skuInfo.getBailunSku();
//逻辑删除仓库 //逻辑删除仓库
dcBaseSkuWarehouseMapper.logicDeleteWarehouse(skuInfo.getBailunSku(),skuInfo.getCompanyId()); dcBaseSkuWarehouseMapper.logicDeleteWarehouse(skuInfo.getBailunSku(),skuInfo.getCompanyId());
try { try {
...@@ -105,19 +104,21 @@ public class SkuMSSyncJob extends PointJob { ...@@ -105,19 +104,21 @@ public class SkuMSSyncJob extends PointJob {
throw new RuntimeException("BeanUtils.copyProperties失败"); throw new RuntimeException("BeanUtils.copyProperties失败");
} }
List<WarehouseInfo> warehouseList = skuInfo.getWarehouseList(); List<WarehouseInfo> warehouseList = skuInfo.getWarehouseList();
for (WarehouseInfo warehouseInfo : warehouseList) { if (warehouseList != null && warehouseList.size() > 0) {
try { for (WarehouseInfo warehouseInfo : warehouseList) {
BeanUtils.copyProperties(dcBaseSkuWarehouse, warehouseInfo); try {
} catch (Exception e) { BeanUtils.copyProperties(dcBaseSkuWarehouse, warehouseInfo);
throw new RuntimeException("BeanUtils.copyProperties失败"); } catch (Exception e) {
} throw new RuntimeException("BeanUtils.copyProperties失败");
dcBaseSkuWarehouse.setBailunSku(skuInfo.getBailunSku()); }
dcBaseSkuWarehouse.setCompanyId(skuInfo.getCompanyId()); dcBaseSkuWarehouse.setBailunSku(skuInfo.getBailunSku());
dcBaseSkuWarehouse.setStatus(0); dcBaseSkuWarehouse.setCompanyId(skuInfo.getCompanyId());
dcBaseSkuWarehouse.setGmtModified(LocalDateTime.now()); dcBaseSkuWarehouse.setStatus(0);
int i = dcBaseSkuWarehouseMapper.updateByExampleSelective(dcBaseSkuWarehouse, DcBaseSkuWarehouseExample.newAndCreateCriteria().andBailunSkuEqualTo(dcBaseSkuWarehouse.getBailunSku()).andCompanyIdEqualTo(dcBaseSkuWarehouse.getCompanyId()).andWarehouseCodeEqualTo(dcBaseSkuWarehouse.getWarehouseCode()).example()); dcBaseSkuWarehouse.setGmtModified(LocalDateTime.now());
if (i == 0) { int i = dcBaseSkuWarehouseMapper.updateByExampleSelective(dcBaseSkuWarehouse, DcBaseSkuWarehouseExample.newAndCreateCriteria().andBailunSkuEqualTo(dcBaseSkuWarehouse.getBailunSku()).andCompanyIdEqualTo(dcBaseSkuWarehouse.getCompanyId()).andWarehouseCodeEqualTo(dcBaseSkuWarehouse.getWarehouseCode()).example());
dcBaseSkuWarehouseMapper.insertSelective(dcBaseSkuWarehouse); if (i == 0) {
dcBaseSkuWarehouseMapper.insertSelective(dcBaseSkuWarehouse);
}
} }
} }
dcBaseSku.setGmtModified(LocalDateTime.now()); dcBaseSku.setGmtModified(LocalDateTime.now());
......
...@@ -9,8 +9,8 @@ public class SyncSkuTest { ...@@ -9,8 +9,8 @@ public class SyncSkuTest {
public void test() { public void test() {
SkuMSSyncJob skuSyncJob = new SkuMSSyncJob(); SkuMSSyncJob skuSyncJob = new SkuMSSyncJob();
skuSyncJob.executeJob(null, new JobPointLog("base-sku",1 ,1000,1,1, skuSyncJob.executeJob(null, new JobPointLog("base-sku",1 ,1000,1,1,
LocalDateTime.of(2019,6,4,18,51), LocalDateTime.of(2019,5,29,0,0),
LocalDateTime.of(2019,6,5,18,52))); LocalDateTime.of(2019,5,30,0,0)));
} }
} }
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