Commit 76487375 by wutong

头程费处理及时关闭sqlSession

parent e31e3ab1
...@@ -24,28 +24,34 @@ public class CalculateCostFirstListener implements ElasticJobListener { ...@@ -24,28 +24,34 @@ public class CalculateCostFirstListener implements ElasticJobListener {
@Override @Override
public void afterJobExecuted(ShardingContexts shardingContexts) { public void afterJobExecuted(ShardingContexts shardingContexts) {
DcMidCostFirstOrderMapper dcMidCostFirstOrderMapper = SessionUtil.getSession().getMapper(DcMidCostFirstOrderMapper.class); try {
DcMidCostFirstMapper dcMidCostFirsMapper = SessionUtil.getSession().getMapper(DcMidCostFirstMapper.class); DcMidCostFirstOrderMapper dcMidCostFirstOrderMapper = SessionUtil.getSession().getMapper(DcMidCostFirstOrderMapper.class);
int countSkuWarehouse = dcMidCostFirstOrderMapper.countSkuWarehouse(); DcMidCostFirstMapper dcMidCostFirsMapper = SessionUtil.getSession().getMapper(DcMidCostFirstMapper.class);
int skuWarehouseTotalPage = getSkuWarehouseTotalPage(countSkuWarehouse); int countSkuWarehouse = dcMidCostFirstOrderMapper.countSkuWarehouse();
int index = 0; int skuWarehouseTotalPage = getSkuWarehouseTotalPage(countSkuWarehouse);
do { int index = 0;
List<MidCostFirst> midCostFirstList = dcMidCostFirstOrderMapper.listSkuWarehouse(index * Constant.PAGE_SIZE,Constant.PAGE_SIZE); do {
if (midCostFirstList != null && midCostFirstList.size() > 0) { List<MidCostFirst> midCostFirstList = dcMidCostFirstOrderMapper.listSkuWarehouse(index * Constant.PAGE_SIZE,Constant.PAGE_SIZE);
DcMidCostFirst dcMidCostFirst = new DcMidCostFirst(); if (midCostFirstList != null && midCostFirstList.size() > 0) {
for (MidCostFirst midCostFirst : midCostFirstList) { DcMidCostFirst dcMidCostFirst = new DcMidCostFirst();
dcMidCostFirst.setBailunSku(midCostFirst.getBailunSku()); for (MidCostFirst midCostFirst : midCostFirstList) {
dcMidCostFirst.setWarehouseCode(midCostFirst.getWarehouseCode()); dcMidCostFirst.setBailunSku(midCostFirst.getBailunSku());
BigDecimal costFirst = midCostFirst.getTotalCostFirst().divide(BigDecimal.valueOf(midCostFirst.getTotalCount()), 3 , RoundingMode.HALF_EVEN); dcMidCostFirst.setWarehouseCode(midCostFirst.getWarehouseCode());
dcMidCostFirst.setCostFirst(costFirst); BigDecimal costFirst = midCostFirst.getTotalCostFirst().divide(BigDecimal.valueOf(midCostFirst.getTotalCount()), 3 , RoundingMode.HALF_EVEN);
int i = dcMidCostFirsMapper.updateByExampleSelective(dcMidCostFirst,DcMidCostFirstExample.newAndCreateCriteria().andBailunSkuEqualTo(dcMidCostFirst.getBailunSku()).andWarehouseCodeEqualTo(dcMidCostFirst.getWarehouseCode()).example()); dcMidCostFirst.setCostFirst(costFirst);
if (i == 0) { int i = dcMidCostFirsMapper.updateByExampleSelective(dcMidCostFirst,DcMidCostFirstExample.newAndCreateCriteria().andBailunSkuEqualTo(dcMidCostFirst.getBailunSku()).andWarehouseCodeEqualTo(dcMidCostFirst.getWarehouseCode()).example());
dcMidCostFirsMapper.insertSelective(dcMidCostFirst); if (i == 0) {
dcMidCostFirsMapper.insertSelective(dcMidCostFirst);
}
} }
} }
} index++;
index++; } while (index < skuWarehouseTotalPage);
} while (index < skuWarehouseTotalPage); } catch (Exception e) {
throw new RuntimeException("在计算头程费到DcMidCostFirst时失败");
} finally {
SessionUtil.closeSession();
}
} }
private int getSkuWarehouseTotalPage(int countSkuWarehouse) { private int getSkuWarehouseTotalPage(int countSkuWarehouse) {
......
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