浏览代码

Update 数据上传

Yue 2 年之前
父节点
当前提交
c6d8319b73

+ 16 - 4
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-datacollect/src/main/java/cn/vbdsm/hj212/datacollect/biz/impl/OnlineDataEnergyImpl.java

@@ -71,6 +71,18 @@ public class OnlineDataEnergyImpl implements IOnlineDataEnergyBiz {
         String newkey = KeyUtils.mergeRedisKey(Constants.REDIS_TERMIANL_SYNC2DB_KEY_PRIFIX, time);
         // String newkey = KeyUtils.mergeRedisKey(Constants.REDIS_TERMIANL_ONLINE_KEY_PRIFIX);
         // redisTemplate.opsForList();
+        //if (redisTemplate.hasKey(newkey)) {
+        //    List<OnlineTerminal> terminals = new ArrayList<>();
+        //    for (long i = 0; i < 5; i++) {
+        //        OnlineTerminal ot = (OnlineTerminal) redisTemplate.opsForList().index(newkey, i);
+        //        terminals.add(ot);
+        //        redisTemplate.opsForList().remove(newkey, 0, ot);
+        //    }
+        //    if (!terminals.isEmpty()) {
+        //        insertData(terminals, time);
+        //    }
+        //} else
+
         if (redisTemplate.hasKey(newkey)) {
             long size = redisTemplate.opsForList().size(newkey);
             List<OnlineTerminal> terminals = new ArrayList<>();
@@ -99,7 +111,7 @@ public class OnlineDataEnergyImpl implements IOnlineDataEnergyBiz {
         List<OnlineDataHarmonicU> harmonicUList1 = new ArrayList<>();
         List<OnlineDataHarmonicU> harmonicUList2 = new ArrayList<>();
         List<OnlineDataHarmonicU> harmonicUList3 = new ArrayList<>();
-        List<String> termianls = new ArrayList<>();
+        List<String> terminalIds = new ArrayList<>();
         for (OnlineTerminal entity : terminals) {
             LOG.info(entity.getTerminalId());
             if (entity.getEnergy() != null) {
@@ -107,7 +119,7 @@ public class OnlineDataEnergyImpl implements IOnlineDataEnergyBiz {
             }
             if (entity.getPower() != null) {
                 powerList.add(entity.getPower());
-                termianls.add(entity.getPower().getTerminalId());
+                terminalIds.add(entity.getPower().getTerminalId());
             }
             if (entity.getQty() != null) {
                 qtyList.add(entity.getQty());
@@ -134,9 +146,9 @@ public class OnlineDataEnergyImpl implements IOnlineDataEnergyBiz {
                 analData24hEnergyList.add(entity.getAnalData());
             }
         }
-        if (termianls.size() > 0) {
+        if (terminalIds.size() > 0) {
             Monitor monitor = new Monitor();
-            monitor.setTermianlIds(termianls);
+            monitor.setTermianlIds(terminalIds);
             monitor.setOnlineTime(Long.valueOf(time));
             monitorMapper.update(monitor);
         }

+ 2 - 1
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modle/src/main/java/cn/vbdsm/hj212/modle/NxBody.java → VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modle/src/main/java/cn/vbdsm/hj212/modle/VbDsmBody.java

@@ -7,7 +7,7 @@ import java.math.BigDecimal;
 
 @Getter
 @Setter
-public class NxBody {
+public class VbDsmBody {
 
     private BigDecimal p;
     private BigDecimal pa;
@@ -31,6 +31,7 @@ public class NxBody {
     private BigDecimal uab;
     private BigDecimal ubc;
     private BigDecimal uca;
+    private BigDecimal dp;
     private BigDecimal pv;
 
 

+ 4 - 4
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-modle/src/main/java/cn/vbdsm/hj212/utils/Constants.java

@@ -6,10 +6,10 @@ public class Constants {
     public static final String PARAM_KEY_SPLITCHAR = "tid";
     public static final String PARAM_INNER_SPLITCHAR = ",";
     public static final String PARAM_KEY_DATETIME = "dataTime";
-    public static final String REDIS_TERMIANL_BASE_KEY_PRIFIX = "nx:online:terminal:base";
-    public static final String REDIS_TERMIANL_ONLINE_KEY_PRIFIX = "nx:online:terminal:online";
-    public static final String REDIS_TERMIANL_SYNC2DB_KEY_PRIFIX = "nx:online:terminal:sync2db";
-    public static final String REDIS_TERMIANL_STATUS_KEY_PRIFIX = "nx:online:terminal:status";
+    public static final String REDIS_TERMIANL_BASE_KEY_PRIFIX = "vbdsm:online:terminal:base";
+    public static final String REDIS_TERMIANL_ONLINE_KEY_PRIFIX = "vbdsm:online:terminal:online";
+    public static final String REDIS_TERMIANL_SYNC2DB_KEY_PRIFIX = "vbdsm:online:terminal:sync2db";
+    public static final String REDIS_TERMIANL_STATUS_KEY_PRIFIX = "vbdsm:online:terminal:status";
     public static final String REDIS_KEY_SPLIT = ":";
     public static final String TER_KEY_SPLITCHAR = "\\$";
     public static final String ELE_KEY_SPLITCHAR = "&";

+ 3 - 3
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-rpc/src/main/java/cn/vbdsm/hj212/rpc/DataUploadRequest.java

@@ -1,7 +1,7 @@
 package cn.vbdsm.hj212.rpc;
 
-import cn.vbdsm.hj212.modle.NxBody;
 import cn.vbdsm.hj212.modle.OnlineDataQty;
+import cn.vbdsm.hj212.modle.VbDsmBody;
 import cn.vbdsm.hj212.utils.Constants;
 import com.alibaba.fastjson.JSONObject;
 import lombok.Getter;
@@ -47,9 +47,9 @@ public class DataUploadRequest {
         return request;
     }
 
-    public NxBody getBody(String factor) {
+    public VbDsmBody getBody(String factor) {
         String jsonString = factors.get(factor).toJSONString();
-        return JSONObject.parseObject(jsonString.toLowerCase(), NxBody.class);
+        return JSONObject.parseObject(jsonString.toLowerCase(), VbDsmBody.class);
     }
 
     public OnlineDataQty getDataQty(String factor) {

+ 154 - 95
VB_DSM_V2.1/vbdsm-data-upload/vbdsm-hj212/vbdsm-hj212-server/src/main/java/cn/vbdsm/hj212/server/executor/ReaTimeExector.java

@@ -50,6 +50,8 @@ public class ReaTimeExector implements IExecutor {
             request.getCtx().channel().writeAndFlush(response);
             return;
         }
+        time = time - time % 500;
+
         log.debug(cp);
         DataUploadRequest dataUpload = DataUploadRequest.parse(cp);
         Boolean flag = false;
@@ -59,51 +61,54 @@ public class ReaTimeExector implements IExecutor {
             OnlineTerminal onlineTerminal = new OnlineTerminal();
             onlineTerminal.setTerminalId(tid);
             MonitorCache entity = dataBiz.getMonitorByPk(cn, tid);
+            //Long entity = 20L;
+            //Long entity = null;
             if (entity != null) {
-                NxBody nxBody = dataUpload.getBody(tid);
-                if (nxBody.getP() != null) {
+                VbDsmBody body = dataUpload.getBody(tid);
+                if (body.getP() != null) {
                     //p
                     OnlineDataPower power = new OnlineDataPower();
                     power.setTerminalId(tid);
                     power.setGetTime(time);
-                    power.setPa(nxBody.getPa());
-                    power.setPb(nxBody.getPb());
-                    power.setPc(nxBody.getPc());
-                    power.setP(nxBody.getP());
-                    power.setQa(nxBody.getQa());
-                    power.setQb(nxBody.getQb());
-                    power.setQc(nxBody.getQc());
-                    power.setQ(nxBody.getQ());
-                    power.setPfa(nxBody.getPfa());
-                    power.setPfb(nxBody.getPfb());
-                    power.setPfc(nxBody.getPfc());
-                    power.setPf(nxBody.getPf());
-                    power.setIa(nxBody.getIa());
-                    power.setIb(nxBody.getIb());
-                    power.setIc(nxBody.getIc());
-                    power.setIz(nxBody.getIz());
-                    power.setUa(nxBody.getUa());
-                    power.setUb(nxBody.getUb());
-                    power.setUc(nxBody.getUc());
-                    power.setUab(nxBody.getUab());
-                    power.setUbc(nxBody.getUbc());
-                    power.setUca(nxBody.getUca());
-                    power.setPv(nxBody.getPv());
+                    power.setPa(body.getPa());
+                    power.setPb(body.getPb());
+                    power.setPc(body.getPc());
+                    power.setP(body.getP());
+                    power.setQa(body.getQa());
+                    power.setQb(body.getQb());
+                    power.setQc(body.getQc());
+                    power.setQ(body.getQ());
+                    power.setPfa(body.getPfa());
+                    power.setPfb(body.getPfb());
+                    power.setPfc(body.getPfc());
+                    power.setPf(body.getPf());
+                    power.setIa(body.getIa());
+                    power.setIb(body.getIb());
+                    power.setIc(body.getIc());
+                    power.setIz(body.getIz());
+                    power.setUa(body.getUa());
+                    power.setUb(body.getUb());
+                    power.setUc(body.getUc());
+                    power.setUab(body.getUab());
+                    power.setUbc(body.getUbc());
+                    power.setUca(body.getUca());
+                    power.setDp(body.getDp());
+                    power.setPv(body.getPv());
                     onlineTerminal.setPower(power);
                 }
                 //tps
-                if (nxBody.getTps() != null) {
+                if (body.getTps() != null) {
                     OnlineDataEnergy energy = new OnlineDataEnergy();
                     energy.setTerminalId(tid);
                     energy.setGetTime(time);
-                    energy.setTpe(nxBody.getTpe());
-                    energy.setTqe(nxBody.getTqe());
-                    energy.setFpe(nxBody.getFpe());
-                    energy.setFqe(nxBody.getFqe());
-                    energy.setTps(nxBody.getTps());
-                    energy.setTqs(nxBody.getTqs());
-                    energy.setFps(nxBody.getFps());
-                    energy.setFqs(nxBody.getFqs());
+                    energy.setTpe(body.getTpe());
+                    energy.setTqe(body.getTqe());
+                    energy.setFpe(body.getFpe());
+                    energy.setFqe(body.getFqe());
+                    energy.setTps(body.getTps());
+                    energy.setTqs(body.getTqs());
+                    energy.setFps(body.getFps());
+                    energy.setFqs(body.getFqs());
                     onlineTerminal.setEnergy(energy);
                 }
 
@@ -115,70 +120,82 @@ public class ReaTimeExector implements IExecutor {
                     onlineTerminal.setQty(dataQty);
                 }
                 //
-                String hia = nxBody.getHia();
-                String iahar = nxBody.getIahar();
-                if (!StringUtils.isEmpty(iahar)) {
-                    OnlineDataHarmonicI entity1 = getOnlineI(hia, "IA", time, tid, nxBody.getBaseia(), iahar);
-                    if (entity1 != null) {
-                        onlineTerminal.setHia(entity1);
-                    }
-                }
-                String hib = nxBody.getHib();
-                String ibhar = nxBody.getIbhar();
-                if (!StringUtils.isEmpty(ibhar)) {
-                    OnlineDataHarmonicI entity1 = getOnlineI(hib, "IB", time, tid, nxBody.getBaseib(), ibhar);
-                    if (entity1 != null) {
-                        onlineTerminal.setHib(entity1);
-                    }
-                }
-                String hic = nxBody.getHic();
-                String ichar = nxBody.getIchar();
-                if (!StringUtils.isEmpty(ichar)) {
-                    OnlineDataHarmonicI entity1 = getOnlineI(hic, "IC", time, tid, nxBody.getBaseic(), ichar);
-                    if (entity1 != null) {
-                        onlineTerminal.setHic(entity1);
-                    }
-                }
+                String hia = body.getHia();
+                //String iahar = body.getIahar();
+                //if (!StringUtils.isEmpty(iahar)) {
+                //    OnlineDataHarmonicI entity1 = getOnlineI(hia, "IA", time, tid, body.getBaseia(), iahar);
+                //    if (entity1 != null) {
+                //        onlineTerminal.setHia(entity1);
+                //    }
+                //}
+                String hib = body.getHib();
+                //String ibhar = body.getIbhar();
+                //if (!StringUtils.isEmpty(ibhar)) {
+                //    OnlineDataHarmonicI entity1 = getOnlineI(hib, "IB", time, tid, body.getBaseib(), ibhar);
+                //    if (entity1 != null) {
+                //        onlineTerminal.setHib(entity1);
+                //    }
+                //}
+                String hic = body.getHic();
+                OnlineDataHarmonicI entity_ia = getOnlineI(hia, "IA", time, tid);
+                if (entity_ia != null && entity_ia.getHall() != null) onlineTerminal.setHia(entity_ia);
+                OnlineDataHarmonicI entity_ib = getOnlineI(hib, "IB", time, tid);
+                if (entity_ib != null && entity_ib.getHall() != null) onlineTerminal.setHib(entity_ib);
+                OnlineDataHarmonicI entity_ic = getOnlineI(hic, "IC", time, tid);
+                if (entity_ic != null && entity_ic.getHall() != null) onlineTerminal.setHic(entity_ic);
+                //String ichar = body.getIchar();
+                //if (!StringUtils.isEmpty(ichar)) {
+                //    OnlineDataHarmonicI entity1 = getOnlineI(hic, "IC", time, tid, body.getBaseic(), ichar);
+                //    if (entity1 != null) {
+                //        onlineTerminal.setHic(entity1);
+                //    }
+                //}
 
-                String hua = nxBody.getHua();
-                String uahar = nxBody.getUahar();
-                if (!StringUtils.isEmpty(uahar)) {
-                    OnlineDataHarmonicU entity1 = getOnlineU(hua, "UA", time, tid, nxBody.getBaseua(), uahar);
-                    if (entity1 != null) {
-                        onlineTerminal.setHua(entity1);
-                    }
-                }
-                String hub = nxBody.getHub();
-                String ubhar = nxBody.getUbhar();
-                if (!StringUtils.isEmpty(ubhar)) {
-                    OnlineDataHarmonicU entity1 = getOnlineU(hub, "UB", time, tid, nxBody.getBaseub(), ubhar);
-                    if (entity1 != null) {
-                        onlineTerminal.setHub(entity1);
-                    }
-                }
-                String huc = nxBody.getHuc();
-                String uchar = nxBody.getUchar();
-                if (!StringUtils.isEmpty(uchar)) {
-                    OnlineDataHarmonicU entity1 = getOnlineU(huc, "UC", time, tid, nxBody.getBaseuc(), uchar);
-                    if (entity1 != null) {
-                        onlineTerminal.setHuc(entity1);
-                    }
-                }
-                String hour = nxBody.getHour();
+                String hua = body.getHua();
+                //String uahar = body.getUahar();
+                //if (!StringUtils.isEmpty(uahar)) {
+                //    OnlineDataHarmonicU entity1 = getOnlineU(hua, "UA", time, tid, body.getBaseua(), uahar);
+                //    if (entity1 != null) {
+                //        onlineTerminal.setHua(entity1);
+                //    }
+                //}
+                String hub = body.getHub();
+                //String ubhar = body.getUbhar();
+                //if (!StringUtils.isEmpty(ubhar)) {
+                //    OnlineDataHarmonicU entity1 = getOnlineU(hub, "UB", time, tid, body.getBaseub(), ubhar);
+                //    if (entity1 != null) {
+                //        onlineTerminal.setHub(entity1);
+                //    }
+                //}
+                String huc = body.getHuc();
+                OnlineDataHarmonicU entity_ua = getOnlineU(hua, "UA", time, tid);
+                if (entity_ua != null && entity_ua.getHall() != null) onlineTerminal.setHua(entity_ua);
+                OnlineDataHarmonicU entity_ub = getOnlineU(hub, "UB", time, tid);
+                if (entity_ub != null && entity_ub.getHall() != null) onlineTerminal.setHub(entity_ub);
+                OnlineDataHarmonicU entity_uc = getOnlineU(huc, "UC", time, tid);
+                if (entity_uc != null && entity_uc.getHall() != null) onlineTerminal.setHuc(entity_uc);
+                //String uchar = body.getUchar();
+                //if (!StringUtils.isEmpty(uchar)) {
+                //    OnlineDataHarmonicU entity1 = getOnlineU(huc, "UC", time, tid, body.getBaseuc(), uchar);
+                //    if (entity1 != null) {
+                //        onlineTerminal.setHuc(entity1);
+                //    }
+                //}
+                String hour = body.getHour();
                 if (!StringUtils.isEmpty(hour)) {
                     AnalData24hEnergy analEnergy = new AnalData24hEnergy();
                     analEnergy.setTerminalId(tid);
                     Long getDate = Long.valueOf(dataTime.substring(0, 8));
                     analEnergy.setGetDate(getDate);
-                    analEnergy.setFpe(nxBody.getHourfpe());
-                    analEnergy.setFqe(nxBody.getHourfqe());
-                    analEnergy.setFps(nxBody.getHourfps());
-                    analEnergy.setFqs(nxBody.getHourfqs());
-                    analEnergy.setTpe(nxBody.getHourtpe());
-                    analEnergy.setTqe(nxBody.getHourtqe());
-                    analEnergy.setTps(nxBody.getHourtps());
-                    analEnergy.setTqs(nxBody.getHourtqs());
-                    analEnergy.setHour(Integer.valueOf(nxBody.getHour()));
+                    analEnergy.setFpe(body.getHourfpe());
+                    analEnergy.setFqe(body.getHourfqe());
+                    analEnergy.setFps(body.getHourfps());
+                    analEnergy.setFqs(body.getHourfqs());
+                    analEnergy.setTpe(body.getHourtpe());
+                    analEnergy.setTqe(body.getHourtqe());
+                    analEnergy.setTps(body.getHourtps());
+                    analEnergy.setTqs(body.getHourtqs());
+                    analEnergy.setHour(Integer.valueOf(body.getHour()));
                     onlineTerminal.setAnalData(analEnergy);
                 }
                 dataBiz.insertOnlineData(onlineTerminal);
@@ -186,7 +203,7 @@ public class ReaTimeExector implements IExecutor {
                 flag = true;
             }
         }
-        //zuihou
+
         RpcRemoterStruct response = new RpcRemoterStruct(st, msg.getCn(), msg.getDataTime(), "00");
         if (flag) {
             response.setCp("02");
@@ -195,7 +212,28 @@ public class ReaTimeExector implements IExecutor {
         log.debug(response.toString());
     }
 
-    public OnlineDataHarmonicU getOnlineU(String hia, String type, Long time, String tid, String base, String hall) {
+    public OnlineDataHarmonicU getOnlineU(String hia, String type, Long time, String tid) {
+        JSONObject jsonObject = new JSONObject();
+        OnlineDataHarmonicU onlineDataHu = new OnlineDataHarmonicU();
+        if (!StringUtils.isEmpty(hia)) {
+            String[] temps = hia.split(",");
+            for (String str : temps) {
+                String[] ele = str.split(":");
+                if (ele.length > 1 && !StringUtils.isEmpty(ele[1])) {
+                    jsonObject.put(ele[0], new BigDecimal(ele[1]));
+                }
+            }
+            String jsonString = JSONObject.toJSONString(jsonObject);
+            onlineDataHu = JSONObject.parseObject(jsonString, OnlineDataHarmonicU.class);
+        }
+        onlineDataHu.setGetTime(time);
+        onlineDataHu.setTerminalId(tid);
+        onlineDataHu.setHtype(type);
+
+        return onlineDataHu;
+    }
+
+    public OnlineDataHarmonicU getOnlineU_bak(String hia, String type, Long time, String tid, String base, String hall) {
         JSONObject jsonObject = new JSONObject();
         OnlineDataHarmonicU onlineDataHarmonicI = new OnlineDataHarmonicU();
         if (!StringUtils.isEmpty(hia)) {
@@ -220,7 +258,28 @@ public class ReaTimeExector implements IExecutor {
     }
 
 
-    public OnlineDataHarmonicI getOnlineI(String hia, String type, Long time, String tid, String base, String hall) {
+    public OnlineDataHarmonicI getOnlineI(String hia, String type, Long time, String tid) {
+        JSONObject jsonObject = new JSONObject();
+        OnlineDataHarmonicI onlineDataHarmonicI = new OnlineDataHarmonicI();
+        if (!StringUtils.isEmpty(hia)) {
+            String[] temps = hia.split(",");
+            for (String str : temps) {
+                String[] ele = str.split(":");
+                if (ele.length > 1 && !StringUtils.isEmpty(ele[1])) {
+                    jsonObject.put(ele[0], new BigDecimal(ele[1]));
+                }
+            }
+            String jsonString = JSONObject.toJSONString(jsonObject);
+            onlineDataHarmonicI = JSONObject.parseObject(jsonString, OnlineDataHarmonicI.class);
+        }
+        onlineDataHarmonicI.setGetTime(time);
+        onlineDataHarmonicI.setTerminalId(tid);
+        onlineDataHarmonicI.setHtype(type);
+
+        return onlineDataHarmonicI;
+    }
+
+    public OnlineDataHarmonicI getOnlineI_bak(String hia, String type, Long time, String tid, String base, String hall) {
         JSONObject jsonObject = new JSONObject();
         OnlineDataHarmonicI onlineDataHarmonicI = new OnlineDataHarmonicI();
         if (!StringUtils.isEmpty(hia)) {