|
@@ -90,59 +90,66 @@ public class MeterWorkMonitorServiceImpl extends BaseServiceImpl<MeterWorkMonito
|
|
|
return model.getPointNo();
|
|
return model.getPointNo();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+// @Override
|
|
|
|
|
+// public String doUpdateWf(MeterWorkMonitor model) {
|
|
|
|
|
+// long start = System.currentTimeMillis();
|
|
|
|
|
+// try {
|
|
|
|
|
+// Assert.isTrue(model != null && StringUtils.isNotEmpty(model.getPointNo()), "秤点编号为空");
|
|
|
|
|
+// boolean rtdbEnabled = isRtdbWriteEnabled();
|
|
|
|
|
+// log.info("[MonitorRTDB] doUpdateWf service start pointNo={} rtdbEnabled={}",
|
|
|
|
|
+// model.getPointNo(), rtdbEnabled);
|
|
|
|
|
+// if (rtdbEnabled) {
|
|
|
|
|
+// try {
|
|
|
|
|
+// MeterWorkMonitor existing = meterWorkMonitorRtdbRepository.getByPointNo(model.getPointNo());
|
|
|
|
|
+// String source;
|
|
|
|
|
+// if (existing == null || existing.getPointNo() == null) {
|
|
|
|
|
+// existing = meterWorkMonitorMapper.selectByPrimaryKey(model.getPointNo());
|
|
|
|
|
+// if (existing == null || existing.getPointNo() == null) {
|
|
|
|
|
+// existing = model;
|
|
|
|
|
+// source = "request";
|
|
|
|
|
+// } else {
|
|
|
|
|
+// source = "oracle";
|
|
|
|
|
+// }
|
|
|
|
|
+// } else {
|
|
|
|
|
+// source = "tarantool";
|
|
|
|
|
+// }
|
|
|
|
|
+// if (!"request".equals(source)) {
|
|
|
|
|
+// MeterWorkMonitorTupleCodec.mergeNonNull(existing, model);
|
|
|
|
|
+// }
|
|
|
|
|
+// log.info("[MonitorRTDB] doUpdateWf replace Tarantool pointNo={} baseSource={} dirty=true",
|
|
|
|
|
+// existing.getPointNo(), source);
|
|
|
|
|
+// existing.setLastTime(new Date());
|
|
|
|
|
+// meterWorkMonitorRtdbRepository.replace(existing, true);
|
|
|
|
|
+// log.info("[MonitorRTDB] doUpdateWf Tarantool ok pointNo={} costMs={}",
|
|
|
|
|
+// existing.getPointNo(), System.currentTimeMillis() - start);
|
|
|
|
|
+// return existing.getPointNo();
|
|
|
|
|
+// } catch (Exception rtdbEx) {
|
|
|
|
|
+// log.error("[MonitorRTDB] doUpdateWf Tarantool failed pointNo={} fallbackOracle={} costMs={}",
|
|
|
|
|
+// model.getPointNo(), isFallbackOracle(), System.currentTimeMillis() - start, rtdbEx);
|
|
|
|
|
+//// if (isFallbackOracle()) {
|
|
|
|
|
+//// meterWorkMonitorMapper.updateByPrimaryKeySelective(model);
|
|
|
|
|
+//// log.warn("[MonitorRTDB] doUpdateWf fallback Oracle ok pointNo={} costMs={}",
|
|
|
|
|
+//// model.getPointNo(), System.currentTimeMillis() - start);
|
|
|
|
|
+//// return model.getPointNo();
|
|
|
|
|
+//// }
|
|
|
|
|
+// return "";
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+// log.info("[MonitorRTDB] doUpdateWf write Oracle (rtdb disabled) pointNo={}", model.getPointNo());
|
|
|
|
|
+// meterWorkMonitorMapper.updateByPrimaryKeySelective(model);
|
|
|
|
|
+// return model.getPointNo();
|
|
|
|
|
+// } catch (Exception ex) {
|
|
|
|
|
+// log.error("[MonitorRTDB] doUpdateWf failed pointNo={} costMs={}",
|
|
|
|
|
+// model == null ? null : model.getPointNo(), System.currentTimeMillis() - start, ex);
|
|
|
|
|
+// return "";
|
|
|
|
|
+// }
|
|
|
|
|
+// }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public String doUpdateWf(MeterWorkMonitor model) {
|
|
public String doUpdateWf(MeterWorkMonitor model) {
|
|
|
- long start = System.currentTimeMillis();
|
|
|
|
|
- try {
|
|
|
|
|
- Assert.isTrue(model != null && StringUtils.isNotEmpty(model.getPointNo()), "秤点编号为空");
|
|
|
|
|
- boolean rtdbEnabled = isRtdbWriteEnabled();
|
|
|
|
|
- log.info("[MonitorRTDB] doUpdateWf service start pointNo={} rtdbEnabled={}",
|
|
|
|
|
- model.getPointNo(), rtdbEnabled);
|
|
|
|
|
- if (rtdbEnabled) {
|
|
|
|
|
- try {
|
|
|
|
|
- MeterWorkMonitor existing = meterWorkMonitorRtdbRepository.getByPointNo(model.getPointNo());
|
|
|
|
|
- String source;
|
|
|
|
|
- if (existing == null || existing.getPointNo() == null) {
|
|
|
|
|
- existing = meterWorkMonitorMapper.selectByPrimaryKey(model.getPointNo());
|
|
|
|
|
- if (existing == null || existing.getPointNo() == null) {
|
|
|
|
|
- existing = model;
|
|
|
|
|
- source = "request";
|
|
|
|
|
- } else {
|
|
|
|
|
- source = "oracle";
|
|
|
|
|
- }
|
|
|
|
|
- } else {
|
|
|
|
|
- source = "tarantool";
|
|
|
|
|
- }
|
|
|
|
|
- if (!"request".equals(source)) {
|
|
|
|
|
- MeterWorkMonitorTupleCodec.mergeNonNull(existing, model);
|
|
|
|
|
- }
|
|
|
|
|
- log.info("[MonitorRTDB] doUpdateWf replace Tarantool pointNo={} baseSource={} dirty=true",
|
|
|
|
|
- existing.getPointNo(), source);
|
|
|
|
|
- existing.setLastTime(new Date());
|
|
|
|
|
- meterWorkMonitorRtdbRepository.replace(existing, true);
|
|
|
|
|
- log.info("[MonitorRTDB] doUpdateWf Tarantool ok pointNo={} costMs={}",
|
|
|
|
|
- existing.getPointNo(), System.currentTimeMillis() - start);
|
|
|
|
|
- return existing.getPointNo();
|
|
|
|
|
- } catch (Exception rtdbEx) {
|
|
|
|
|
- log.error("[MonitorRTDB] doUpdateWf Tarantool failed pointNo={} fallbackOracle={} costMs={}",
|
|
|
|
|
- model.getPointNo(), isFallbackOracle(), System.currentTimeMillis() - start, rtdbEx);
|
|
|
|
|
-// if (isFallbackOracle()) {
|
|
|
|
|
-// meterWorkMonitorMapper.updateByPrimaryKeySelective(model);
|
|
|
|
|
-// log.warn("[MonitorRTDB] doUpdateWf fallback Oracle ok pointNo={} costMs={}",
|
|
|
|
|
-// model.getPointNo(), System.currentTimeMillis() - start);
|
|
|
|
|
-// return model.getPointNo();
|
|
|
|
|
-// }
|
|
|
|
|
- return "";
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- log.info("[MonitorRTDB] doUpdateWf write Oracle (rtdb disabled) pointNo={}", model.getPointNo());
|
|
|
|
|
- meterWorkMonitorMapper.updateByPrimaryKeySelective(model);
|
|
|
|
|
- return model.getPointNo();
|
|
|
|
|
- } catch (Exception ex) {
|
|
|
|
|
- log.error("[MonitorRTDB] doUpdateWf failed pointNo={} costMs={}",
|
|
|
|
|
- model == null ? null : model.getPointNo(), System.currentTimeMillis() - start, ex);
|
|
|
|
|
- return "";
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ model.setLastTime(new Date());
|
|
|
|
|
+ meterWorkMonitorMapper.updateByPrimaryKeySelective(model);
|
|
|
|
|
+ return "更新成功";
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|