From f69551e872c63a76b1f71a7815edc5aca31de115 Mon Sep 17 00:00:00 2001 From: chenlw <874313221@qq.com> Date: Thu, 15 Dec 2016 10:09:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=93=E8=BF=81=E7=A7=BB=E5=88=B0=E5=86=B7?= =?UTF-8?q?=E5=8C=BA=E6=97=B6=E4=B8=8D=E8=AE=B0=E5=BD=95srId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/thread/ThreadMoveData.java | 35 ++++++++++++++----- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/src/com/platform/service/thread/ThreadMoveData.java b/src/com/platform/service/thread/ThreadMoveData.java index fc0542c5..f83e6a7c 100644 --- a/src/com/platform/service/thread/ThreadMoveData.java +++ b/src/com/platform/service/thread/ThreadMoveData.java @@ -17,8 +17,10 @@ import org.springframework.stereotype.Component; import com.base.TaskOperateData; import com.platform.dao.DataInfoDao; import com.platform.dao.DataInfoMoveTmpDao; +import com.platform.dao.VolumeDao; import com.platform.entities.DataInfoEntity; import com.platform.entities.DataInfoEntityMoveTmp; +import com.platform.entities.VolumeInitEntity; import com.platform.glusterfs.CheckoutMD5; import com.platform.http.gfs.CopyData; import com.platform.glusterfs.ShowData; @@ -52,6 +54,9 @@ public class ThreadMoveData{ @Resource(name = "dataInfoMoveTmpDao") private DataInfoMoveTmpDao dataInfoMoveTmpDao; + @Resource(name = "volumeDao") + private VolumeDao volumeDao; + /** * 查看数据 */ @@ -67,7 +72,15 @@ public class ThreadMoveData{ @Scheduled(fixedDelay = 4000) public void moveDataByWebGfs(){ List result = new ArrayList(); - + Map volumeMap = new HashMap(); + try { + List volumeList = volumeDao.findAll(); + for (VolumeInitEntity volumeInitEntity : volumeList) { + volumeMap.put(volumeInitEntity.getPath(), volumeInitEntity.getMark()); + } + } catch (Exception e1) { + log.error(e1); + } try { result = dataInfoMoveTmpDao.findAll(); } catch (Exception e) { @@ -77,7 +90,7 @@ public class ThreadMoveData{ List insertData = this.doMoveService(result); if (insertData.size() > 0) { for (DataInfoEntityMoveTmp dataInfoEntityMoveTmp : insertData) { - this.makeDataInfo(dataInfoEntityMoveTmp); + this.makeDataInfo(dataInfoEntityMoveTmp, volumeMap); } } } catch (Exception e) { @@ -374,7 +387,7 @@ public class ThreadMoveData{ return data4Insert; } - private int makeDataInfo(DataInfoEntityMoveTmp dataMove){ + private int makeDataInfo(DataInfoEntityMoveTmp dataMove, Map volumeMap){ try{ // 判断 迁移数据的status是否改为 2 DataInfoEntityMoveTmp movetmp = dataInfoMoveTmpDao.findById(dataMove.getId()); @@ -398,15 +411,19 @@ public class ThreadMoveData{ data.setVolumePath(dataMove.getDstPath()); }else { data.setVolumePath(dataMove.getDstVolumePath()); + String mark = volumeMap.get(dataMove.getDstVolumePath()); + // hot :0 + if("0".equals(mark)){ + if (movetmp.getFkid() > 0) { + data.setSrcId(movetmp.getFkid()); + } + else { + data.setSrcId(dataMove.getFkid()); + } + } } data.setPayResult(dataMove.getPayResult()); data.setExecResult(dataMove.getExecResult()); - if (movetmp.getFkid() > 0) { - data.setSrcId(movetmp.getFkid()); - } - else { - data.setSrcId(dataMove.getFkid()); - } data.setId(0); try { if (dataInfoDao.countByDataPath(data) == 0) {