From d0b12d09ad3ac8e9a26d24eac018ac2bb73d3c32 Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Thu, 8 Jun 2017 10:25:07 +0800 Subject: [PATCH] commit --- .../main/java/com/lyms/platform/biz/dal/ArchiveDataDao.java | 8 ++++++++ .../com/lyms/platform/biz/dal/impl/ArchiveDataDaoImpl.java | 11 +++++++++++ .../com/lyms/platform/biz/service/ArchiveDataServicer.java | 12 ++++++++++++ .../lyms/platform/job/index/restore/data/SyncDataWork.java | 5 +++-- .../platform/operate/web/controller/RemoteController.java | 2 +- 5 files changed, 35 insertions(+), 3 deletions(-) diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ArchiveDataDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ArchiveDataDao.java index f6fae48..390fc1f 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ArchiveDataDao.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/ArchiveDataDao.java @@ -1,7 +1,10 @@ package com.lyms.platform.biz.dal; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.pojo.ArchiveData; +import com.lyms.platform.pojo.Patients; import java.util.List; @@ -12,4 +15,9 @@ public interface ArchiveDataDao { List query(MongoQuery query); void saveArchiveData(ArchiveData data); + + long count(MongoQuery query); + + + void updatePatient(ArchiveData obj, String id); } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/ArchiveDataDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/ArchiveDataDaoImpl.java index e0bd1a1..75fb42c 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/ArchiveDataDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/ArchiveDataDaoImpl.java @@ -3,9 +3,12 @@ package com.lyms.platform.biz.dal.impl; import com.lyms.platform.biz.dal.ArchiveDataDao; import com.lyms.platform.biz.dal.IAntExChuDao; import com.lyms.platform.common.dao.BaseMongoDAOImpl; +import com.lyms.platform.common.dao.operator.MongoCondition; +import com.lyms.platform.common.dao.operator.MongoOper; import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.pojo.AntExChuModel; import com.lyms.platform.pojo.ArchiveData; +import com.lyms.platform.pojo.Patients; import org.springframework.stereotype.Repository; import java.util.List; @@ -24,4 +27,12 @@ public class ArchiveDataDaoImpl extends BaseMongoDAOImpl implements public void saveArchiveData(ArchiveData data) { save(data); } + + public long count(MongoQuery query) { + return (int) count(query.convertToMongoQuery()); + } + + public void updatePatient(ArchiveData data, String id) { + update(new MongoQuery(new MongoCondition("id", id, MongoOper.IS)).convertToMongoQuery(), data); + } } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ArchiveDataServicer.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ArchiveDataServicer.java index 8706b95..c0d4339 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ArchiveDataServicer.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/ArchiveDataServicer.java @@ -3,6 +3,7 @@ package com.lyms.platform.biz.service; import com.lyms.platform.biz.dal.ArchiveDataDao; import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.pojo.ArchiveData; +import com.lyms.platform.query.ArchiveDataQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -21,8 +22,19 @@ public class ArchiveDataServicer { return archiveDataDao.query(query); } + public void saveArchiveData(ArchiveData data) { archiveDataDao.saveArchiveData(data); } + public void addOrUpdate(ArchiveData data) { + ArchiveDataQuery archiveDataQuery = new ArchiveDataQuery(); + archiveDataQuery.setId(data.getId()); + MongoQuery query = archiveDataQuery.convertToQuery(); + if (archiveDataDao.count(query) == 0) { + saveArchiveData(data); + } else { + archiveDataDao.updatePatient(data, data.getId()); + } + } } diff --git a/platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/SyncDataWork.java b/platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/SyncDataWork.java index 4775140..a66b546 100644 --- a/platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/SyncDataWork.java +++ b/platform-job-index/src/main/java/com/lyms/platform/job/index/restore/data/SyncDataWork.java @@ -180,11 +180,12 @@ public class SyncDataWork private long readLastSyncTime() { + long time = 900000L; try { if (-1 != lastSyncTime) { - return lastSyncTime; + return lastSyncTime -time; } RandomAccessFile randomAccessFile = new RandomAccessFile(new File(FILE_PATH), "rw"); String line = randomAccessFile.readLine(); @@ -196,7 +197,7 @@ public class SyncDataWork { logger.error("read last sync time error.", e); } - return lastSyncTime; + return lastSyncTime -time; } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java index 6c3289d..2677516 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java @@ -65,7 +65,7 @@ public class RemoteController extends BaseController { data.setCardNum(cardNum); data.setPhone(phone); data.setJsonData(jsonData); - archiveDataServicer.saveArchiveData(data); + archiveDataServicer.addOrUpdate(data); writeString(response,"success"); } -- 1.8.3.1