Commit 1ca04f19 by huluobin

异常处理取消

parent 5c8b2561
......@@ -28,6 +28,7 @@ import okhttp3.Response;
import org.apache.commons.beanutils.BeanUtils;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.time.LocalDateTime;
......@@ -85,9 +86,9 @@ public class AmazonAdDownloadReportJob implements SimpleJob {
Gson gson = new Gson();
Type type = new TypeToken<List<AmazonAdProduct>>() {
}.getType();
// List<AmazonAdProduct> amazonAdProductList = gson.fromJson(new InputStreamReader(gzin), type);
List<AmazonAdProduct> amazonAdProductList = JSON.parseObject(gzin, new TypeReference<List<AmazonAdProduct>>() {
}.getType());
List<AmazonAdProduct> amazonAdProductList = gson.fromJson(new InputStreamReader(gzin), type);
// List<AmazonAdProduct> amazonAdProductList = JSON.parseObject(gzin, new TypeReference<List<AmazonAdProduct>>() {
// }.getType());
log.warn("账号Id" + jobAmazonAdLog.getAccountId() + "的Report解析完成");
gzin.close();
......
......@@ -32,10 +32,12 @@ public class CalculateCostFirstJob extends PointJob {
} finally {
SessionUtil.closeSession();
}
int totalPage = getChannelOrderPage(countChannelOrder,jobPointLog);
int totalPage = getChannelOrderPage(countChannelOrder, jobPointLog);
do {
List<CostFirstOrder> channelOrderIdList = null;
try {
log.info("当前第:{}页", jobPointLog.getPageIndex());
log.info("总共:{}页", totalPage);
DcBaseCostFirstMapper dcBaseCostFirstMapper = SessionUtil.getSession().getMapper(DcBaseCostFirstMapper.class);
//拿到物流单号,调拨单号, 将物流单-调拨单中每个SKU的费用算出来
channelOrderIdList = dcBaseCostFirstMapper.listChannelOrderId(jobPointLog.getPageIndex() * jobPointLog.getPageSize(), jobPointLog.getPageSize());
......@@ -44,7 +46,7 @@ public class CalculateCostFirstJob extends PointJob {
jobPointLogMapper.upsertSelective(jobPointLog);
}*/
} catch (Exception e) {
throw new RuntimeException("MYBATIS操作DB分页失败", e);
log.error("MYBATIS操作DB分页失败", e);
} finally {
SessionUtil.closeSession();
}
......@@ -70,14 +72,14 @@ public class CalculateCostFirstJob extends PointJob {
try {
DcMidCostFirstOrderMapper dcMidCostFirstOrderMapper = SessionUtil.getSession().getMapper(DcMidCostFirstOrderMapper.class);
// DcMidCostFirstConfigMapper dcMidCostFirstConfigMapper = SessionUtil.getSession().getMapper(DcMidCostFirstConfigMapper.class);
// DcMidCostFirstConfigMapper dcMidCostFirstConfigMapper = SessionUtil.getSession().getMapper(DcMidCostFirstConfigMapper.class);
DcMidCostFirstMapper dcMidCostFirsMapper = SessionUtil.getSession().getMapper(DcMidCostFirstMapper.class);
DcBaseStockMapper dcBaseStockMapper = SessionUtil.getSession().getMapper(DcBaseStockMapper.class);
int countSkuWarehouse = dcMidCostFirstOrderMapper.countSkuWarehouse();
int skuWarehouseTotalPage = getSkuWarehouseTotalPage(countSkuWarehouse);
int index = 0;
do {
List<MidCostFirst> midCostFirstList = dcMidCostFirstOrderMapper.listSkuWarehouse(index * Constant.PAGE_SIZE,Constant.PAGE_SIZE);
List<MidCostFirst> midCostFirstList = dcMidCostFirstOrderMapper.listSkuWarehouse(index * Constant.PAGE_SIZE, Constant.PAGE_SIZE);
if (midCostFirstList != null && midCostFirstList.size() > 0) {
DcMidCostFirst dcMidCostFirst = new DcMidCostFirst();
for (MidCostFirst midCostFirst : midCostFirstList) {
......@@ -86,16 +88,16 @@ public class CalculateCostFirstJob extends PointJob {
dcMidCostFirst.setBailunSku(midCostFirst.getBailunSku());
dcMidCostFirst.setWarehouseCode(midCostFirst.getWarehouseCode());
BigDecimal costFirst = BigDecimal.ZERO;
if(dcMidCostFirst1 != null) {
costFirst = (midCostFirst.getTotalCostFirst().add(dcMidCostFirst1.getCostFirst().multiply(BigDecimal.valueOf(dcMidCostFirst1.getCostCount())))).divide(BigDecimal.valueOf(midCostFirst.getTotalCount()).add(BigDecimal.valueOf(dcMidCostFirst1.getCostCount())), 3 , RoundingMode.HALF_EVEN);
}else {
costFirst = midCostFirst.getTotalCostFirst().divide(BigDecimal.valueOf(midCostFirst.getTotalCount()), 3 , RoundingMode.HALF_EVEN);
if (dcMidCostFirst1 != null) {
costFirst = (midCostFirst.getTotalCostFirst().add(dcMidCostFirst1.getCostFirst().multiply(BigDecimal.valueOf(dcMidCostFirst1.getCostCount())))).divide(BigDecimal.valueOf(midCostFirst.getTotalCount()).add(BigDecimal.valueOf(dcMidCostFirst1.getCostCount())), 3, RoundingMode.HALF_EVEN);
} else {
costFirst = midCostFirst.getTotalCostFirst().divide(BigDecimal.valueOf(midCostFirst.getTotalCount()), 3, RoundingMode.HALF_EVEN);
}
dcMidCostFirst.setCostFirst(costFirst);
if(dcBaseStock != null) {
if (dcBaseStock != null) {
dcMidCostFirst.setCostCount(dcBaseStock.getUsableStock() + dcBaseStock.getOccupyStock());
}else {
} else {
dcMidCostFirst.setCostCount(midCostFirst.getTotalCount());
}
/*if (dcMidCostFirstConfig != null) {
......@@ -108,7 +110,7 @@ public class CalculateCostFirstJob extends PointJob {
if (i == 0) {
dcMidCostFirsMapper.insertSelective(dcMidCostFirst);
}
// dcMidCostFirstOrderMapper.deleteByExample(DcMidCostFirstOrderExample.newAndCreateCriteria().andBailunSkuEqualTo(midCostFirst.getBailunSku()).andWarehouseCodeEqualTo(midCostFirst.getWarehouseCode()).example());
// dcMidCostFirstOrderMapper.deleteByExample(DcMidCostFirstOrderExample.newAndCreateCriteria().andBailunSkuEqualTo(midCostFirst.getBailunSku()).andWarehouseCodeEqualTo(midCostFirst.getWarehouseCode()).example());
dcMidCostFirstOrderMapper.updateHasCalculation(midCostFirst);
}
......@@ -128,18 +130,18 @@ public class CalculateCostFirstJob extends PointJob {
//物流单的总重量
BigDecimal totalWeight = BigDecimal.ZERO;
for (DcBaseCostFirst dcBaseCostFirst : dcBaseCostFirsts) {
log.warn(dcBaseCostFirst.getBailunSku()+"---" +dcBaseCostFirst.getChannelOrderId()+"---" +dcBaseCostFirst.getTransferOrderId()+"---"+dcBaseCostFirst.getBoxId()+"---"+dcBaseCostFirst.getWarehouseCode());
log.warn(dcBaseCostFirst.getBailunSku() + "---" + dcBaseCostFirst.getChannelOrderId() + "---" + dcBaseCostFirst.getTransferOrderId() + "---" + dcBaseCostFirst.getBoxId() + "---" + dcBaseCostFirst.getWarehouseCode());
DcBaseSku dcBaseSku = null;
try {
DcBaseSkuMapper dcBaseSkuMapper = SessionUtil.getSession().getMapper(DcBaseSkuMapper.class);
dcBaseSku = dcBaseSkuMapper.selectOneByExample(DcBaseSkuExample.newAndCreateCriteria().andBailunSkuEqualTo(dcBaseCostFirst.getBailunSku()).example());
} catch (Exception e) {
throw new RuntimeException("MYBATIS操作DB查询SKU失败");
throw new RuntimeException("MYBATIS操作DB查询SKU失败");
} finally {
SessionUtil.closeSession();
}
//物流单内单位SKU多个quantity的总重量
BigDecimal skuTotalWeight = (dcBaseSku != null?dcBaseSku.getWeight() : BigDecimal.ZERO).multiply(BigDecimal.valueOf(dcBaseCostFirst.getQuantity()));
BigDecimal skuTotalWeight = (dcBaseSku != null ? dcBaseSku.getWeight() : BigDecimal.ZERO).multiply(BigDecimal.valueOf(dcBaseCostFirst.getQuantity()));
totalWeight = totalWeight.add(skuTotalWeight);
DcBaseCostFirst dcBaseCostFirstInMap = map.get(dcBaseCostFirst.getBailunSku());
if (dcBaseCostFirstInMap == null) {
......@@ -180,7 +182,7 @@ public class CalculateCostFirstJob extends PointJob {
dcMidCostFirstOrderMapper.insertSelective(dcMidCostFirstOrder);
}
} catch (Exception e) {
throw new RuntimeException("MYBATIS操作DB失败");
log.error("失败", e);
} finally {
SessionUtil.closeSession();
}
......
package com.bailuntec.job;
import com.bailuntec.domain.entity.JobPointLog;
import org.junit.jupiter.api.Test;
/**
* <p>
*
* </p>
*
* @author robbendev
* @since 2020/8/20 6:56 下午
*/
class CalculateCostFirstJobTest {
@Test
void executeJob() {
CalculateCostFirstJob calculateCostFirstJob = new CalculateCostFirstJob();
JobPointLog jobPointLog = new JobPointLog();
jobPointLog.setPageSize(1000);
jobPointLog.setPageIndex(1);
calculateCostFirstJob.executeJob(null, jobPointLog);
}
}
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