Przeglądaj źródła

山东冠翔智能表接口对接

lihaoli 2 tygodni temu
rodzic
commit
3a109dd4e9

+ 17 - 9
collect_fees_hdx_api/fees-hdx-api/src/main/java/com/tofly/feesapi/sfgl/service/impl/YyQfmxServiceImpl.java

@@ -229,8 +229,8 @@ public class YyQfmxServiceImpl extends ServiceImpl<YyQfmxMapper, YyQfmx> impleme
             throw new FeesException("抄表本编码为空", FeesErrorCode.BUSINESS_ERROR);
         }
 
-        // 莱阳无总分表
-        //ZfborZmb("cbb", cbbSf.getCbbs());
+        //总分表水量计算
+        ZfborZmb("cbb", cbbSf.getCbbs());
 
         TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);
         transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
@@ -262,8 +262,8 @@ public class YyQfmxServiceImpl extends ServiceImpl<YyQfmxMapper, YyQfmx> impleme
         if (CollectionUtil.isEmpty(cbkids)) {
             throw new FeesException("抄表卡ID为空", FeesErrorCode.BUSINESS_ERROR);
         }
-        // 莱阳无总分表
-        //ZfborZmb("cbkid", cbkids);
+        //总分表水量计算
+        ZfborZmb("cbkid", cbkids);
         TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);
         transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
         return transactionTemplate.execute(status -> {
@@ -2757,7 +2757,8 @@ public class YyQfmxServiceImpl extends ServiceImpl<YyQfmxMapper, YyQfmx> impleme
                 .eq(YyCblr::getJsbz, JsbzEnum.未算费)
                 .eq(YyCblr::getShbz, ShbzEnum.审核通过)
                 .inSql(YyCblr::getCbkid, "select a.yhbh||a.cbkh cbkid from yh_bjfl_zb a " + " where a.type_id='1' and a.isdisabled='1'")
-                .orderByAsc(YyCblr::getYhbh, YyCblr::getCbkh).list().stream().map(e -> {
+                .orderByAsc(YyCblr::getYhbh, YyCblr::getCbkh)
+                .list().stream().map(e -> {
                     Map<String, String> map = new HashMap<>();
                     map.put("cbkid", e.getCbkid());
                     return map;
@@ -2769,17 +2770,24 @@ public class YyQfmxServiceImpl extends ServiceImpl<YyQfmxMapper, YyQfmx> impleme
                 String cbkid = item.get("cbkid");
                 if (StringUtils.isNotBlank(cbkid)) {
                     Map map = cblrService.getZfCblrMap(cbkid);
-                    if (Integer.valueOf(map.get("fbs").toString()) > Integer.valueOf(map.get("fbycs").toString())) {
+                    if (Integer.parseInt(map.get("fbs").toString()) > Integer.parseInt(map.get("fbycs").toString())) {
                         cblrService.lambdaUpdate().set(YyCblr::getSl, -1).eq(YyCblr::getCbkid, cbkid).update();
                     } else {
-                        cblrService.lambdaUpdate().setSql("SL=BCDS-SCDS-" + map.get("fbhjsl")).setSql("JJL=0-" + map.get("fbhjsl")).eq(YyCblr::getCbkid, cbkid).update();
+                        cblrService.lambdaUpdate().setSql("SL=BCDS-SCDS-" + map.get("fbhjsl")).setSql("JJL=0-" + map.get("fbhjsl"))
+                                .eq(YyCblr::getCbkid, cbkid).update();
                     }
                 }
             });
         }
 
         //查询母表
-        List<Map<String, String>> listzmcblr = eq.select(YyCblr::getCbkid).eq(YyCblr::getCbbz, CbbzEnum.已抄表).eq(YyCblr::getJsbz, JsbzEnum.未算费).eq(YyCblr::getShbz, ShbzEnum.审核通过).inSql(YyCblr::getCbkid, "select a.yhbh||a.cbkh cbkid from yh_bjfl_zb a " + " where a.type_id='2' and a.isdisabled='1'").orderByAsc(YyCblr::getYhbh, YyCblr::getCbkh).list().stream().map(e -> {
+        List<Map<String, String>> listzmcblr = eq.select(YyCblr::getCbkid)
+                .eq(YyCblr::getCbbz, CbbzEnum.已抄表)
+                .eq(YyCblr::getJsbz, JsbzEnum.未算费)
+                .eq(YyCblr::getShbz, ShbzEnum.审核通过)
+                .inSql(YyCblr::getCbkid, "select a.yhbh||a.cbkh cbkid from yh_bjfl_zb a " + " where a.type_id='2' and a.isdisabled='1'")
+                .orderByAsc(YyCblr::getYhbh, YyCblr::getCbkh)
+                .list().stream().map(e -> {
             Map<String, String> map = new HashMap<>();
             map.put("cbkid", e.getCbkid());
             return map;
@@ -2790,7 +2798,7 @@ public class YyQfmxServiceImpl extends ServiceImpl<YyQfmxMapper, YyQfmx> impleme
                 String cbkid = item.get("cbkid");
                 if (StringUtils.isNotBlank(cbkid)) {
                     Map map = cblrService.getZmCblrMap(cbkid);
-                    if (Integer.valueOf(map.get("zbs").toString()) > Integer.valueOf(map.get("zbycs").toString())) {
+                    if (Integer.parseInt(map.get("zbs").toString()) > Integer.parseInt(map.get("zbycs").toString())) {
                         cblrService.lambdaUpdate().set(YyCblr::getSl, -1).eq(YyCblr::getCbkid, cbkid).update();
                     } else {
                         cblrService.lambdaUpdate().setSql("SL=BCDS-SCDS+" + map.get("zbhjsl")).setSql("JJL=" + map.get("zbhjsl")).eq(YyCblr::getCbkid, cbkid).update();

+ 8 - 4
collect_fees_hdx_api/third-system-service/src/main/java/com/tofly/third/config/QdjcznbConfig.java → collect_fees_hdx_api/third-system-service/src/main/java/com/tofly/third/config/Znbconfig.java

@@ -10,9 +10,13 @@ import org.springframework.stereotype.Component;
  */
 @Data
 @Component
-@ConfigurationProperties(prefix = "qdjcznbconfig")
-public class QdjcznbConfig {
-    private String baseUrl;
+@ConfigurationProperties(prefix = "znbconfig")
+public class Znbconfig {
 
-    private String sign;
+    private SdgxZnbConfig sdgxznbconfig;
+
+    @Data
+    public static class SdgxZnbConfig {
+        private String baseUrl;
+    }
 }

+ 54 - 55
collect_fees_hdx_api/third-system-service/src/main/java/com/tofly/third/service/ZnbZlLogService.java

@@ -5,9 +5,8 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.tofly.common.core.util.StringUtil;
-import com.tofly.third.common.res.ResultRespone;
 import com.tofly.third.common.util.HttpRequestUtil;
-import com.tofly.third.config.QdjcznbConfig;
+import com.tofly.third.config.Znbconfig;
 import com.tofly.third.entity.YhCbkxx;
 import com.tofly.third.entity.ZnbCbLog;
 import com.tofly.third.entity.ZnbZlLog;
@@ -27,7 +26,7 @@ import java.util.stream.Collectors;
 @Service
 public class ZnbZlLogService extends ServiceImpl<ZnbZlLogMapper, ZnbZlLog> {
     @Autowired
-    private QdjcznbConfig qdjcznbConfig;
+    private Znbconfig znbconfig;
     @Autowired
     private YhCbkxxService yhCbkxxService;
 
@@ -64,7 +63,7 @@ public class ZnbZlLogService extends ServiceImpl<ZnbZlLogMapper, ZnbZlLog> {
                 .eq(ZnbZlLog::getClLock, "0")
                 .eq(ZnbZlLog::getClCljg, "0")
                 .lt(ZnbZlLog::getQqNum, 5)//请求次数小于五
-                .in(ZnbZlLog::getSccj, "7")
+                .in(ZnbZlLog::getSccj, "2", "3", "4")
                 .orderByAsc(ZnbZlLog::getCzsj)
                 .list();
         if (znbZlLogs.isEmpty()) {
@@ -77,15 +76,21 @@ public class ZnbZlLogService extends ServiceImpl<ZnbZlLogMapper, ZnbZlLog> {
                     .setSql("QQ_NUM=nvl(QQ_NUM,0)+1")
                     .in(ZnbZlLog::getId, znbZlLogs.stream().map(ZnbZlLog::getId).collect(Collectors.toList()))
                     .update();
-            //查询出青岛积成的阀控指令
-            List<ZnbZlLog> znbZlLogs_qdjc = znbZlLogs.stream().filter(o -> "7".equals(o.getSccj())).collect(Collectors.toList());
-            if (!znbZlLogs_qdjc.isEmpty()) {
-                qdjckgf(znbZlLogs_qdjc);
+            //查询出山东冠翔的阀控指令
+            List<ZnbZlLog> znbZlLogs_sdgx = znbZlLogs.stream().filter(o -> "2".equals(o.getSccj())).collect(Collectors.toList());
+            if (!znbZlLogs_sdgx.isEmpty()) {
+                sdgxkgf(znbZlLogs_sdgx);
+            }
+            //查询出山东晨晖的阀控指令
+            List<ZnbZlLog> znbZlLogs_sdch = znbZlLogs.stream().filter(o -> "3".equals(o.getSccj())).collect(Collectors.toList());
+            if (!znbZlLogs_sdch.isEmpty()) {
+
+            }
+            //查询出成都优艾特的阀控指令
+            List<ZnbZlLog> znbZlLogs_cdyat = znbZlLogs.stream().filter(o -> "4".equals(o.getSccj())).collect(Collectors.toList());
+            if (!znbZlLogs_cdyat.isEmpty()) {
+
             }
-            //查询出其他积成的阀控指令
-//            znbZlLogs.stream().filter(o -> !"3".equals(o.getSccj())).forEach(o -> {
-//
-//            });
 
         } catch (Exception e) {
             log.error("执行开关阀命令失败");
@@ -93,44 +98,33 @@ public class ZnbZlLogService extends ServiceImpl<ZnbZlLogMapper, ZnbZlLog> {
     }
 
     /**
-     * 青岛积成水表开关阀指令发送
+     * 山东冠翔开关阀指令发送
      *
      * @param list
      */
-    private void qdjckgf(List<ZnbZlLog> list) {
-        String baseUrl = qdjcznbConfig.getBaseUrl() + "/ws/laiyang/valveControl";
-        List<Map> mapList = new ArrayList<>();
+    private void sdgxkgf(List<ZnbZlLog> list) {
+        String baseUrl = znbconfig.getSdgxznbconfig().getBaseUrl();
         for (ZnbZlLog item : list) {
             Map map = new HashMap();
-            map.put("steal_no", item.getBjbh());//水表钢印号,用于唯一标识水表
-            map.put("zlId", item.getId());//指令ID
-            map.put("type", "0".equals(item.getZlvalue()) ? "1" : "0");//阀门操作类型:0 = 开阀1 = 关阀
-            map.put("sign", qdjcznbConfig.getSign());//公司签名标识,用于验证调用方身份
-            mapList.add(map);
-        }
-        String params = JSONObject.toJSONString(mapList);
-        log.info("指令发送参数:" + params);
-        String result = HttpRequestUtil.POSTRequest(baseUrl, params);
-        log.info("指令发送结果:" + result);
-        if (StringUtil.isEmpty(result)) {
-            this.lambdaUpdate()
-                    .set(ZnbZlLog::getClLock, "0")
-                    .set(ZnbZlLog::getClCljg, "0")
-                    .set(ZnbZlLog::getClRemessage, "指令发送失败")
-                    .set(ZnbZlLog::getClClsj, new Date())
-                    .in(ZnbZlLog::getId, list.stream().map(ZnbZlLog::getId).collect(Collectors.toList()))
-                    .update();
-        } else {
-            log.info("指令发送成功:" + result);
-            JSONArray jsonArray = JSONArray.parseArray(result);
-            if (!jsonArray.isEmpty()) {
-                List<ZnbZlLog> updates = new ArrayList<>();
-                jsonArray.forEach(item -> {
-                    JSONObject info = (JSONObject) item;
-                    ZnbZlLog znbZlLog = list.stream().filter(o -> o.getId().equals(info.getString("zlId"))).findFirst().get();
+            map.put("bjbh", item.getBjbh());//水表钢印号,用于唯一标识水表
+            map.put("zlID", item.getId());//指令ID
+            map.put("zlvalue", item.getZlvalue());//阀门操作类型:1 = 开阀  0= 关阀
+            String params = JSONObject.toJSONString(map);
+            log.info("指令发送参数:" + params);
+            String result = HttpRequestUtil.POSTRequest(baseUrl, params);
+            log.info("指令发送结果:" + result);
+            if (StringUtil.isEmpty(result)) {
+                updateZllog(item.getId());
+            } else {
+                log.info("指令发送成功:" + result);
+                //成功返回{"code":0,"message":"Success","timestamp":"2026-05-29 11:11:01","result":null}
+                //失败返回{"code":1,"message":"操作失败","timestamp":"2026-05-29 11:13:19","result":null}
+                JSONObject info = JSONObject.parseObject(result);
+                if (info != null) {
+                    List<ZnbZlLog> updates = new ArrayList<>();
                     ZnbZlLog updateLog = new ZnbZlLog();
-                    updateLog.setId(znbZlLog.getId()); // 必须 set ID
-                    if ("0".equals(info.getString("returnvalue"))) {
+                    updateLog.setId(item.getId()); // 必须 set ID
+                    if ("0".equals(info.getString("code"))) {
                         updateLog.setClCljg("8");
                         updateLog.setClLock("0");
                         updateLog.setClRemessage("指令已发送等待回传");
@@ -138,7 +132,7 @@ public class ZnbZlLogService extends ServiceImpl<ZnbZlLogMapper, ZnbZlLog> {
                         updates.add(updateLog);
                         yhCbkxxService.lambdaUpdate()
                                 .set(YhCbkxx::getFmzt, "1")
-                                .in(YhCbkxx::getCbkid, znbZlLog.getCbkid())
+                                .in(YhCbkxx::getCbkid, item.getCbkid())
                                 .update();
                     } else {
                         updateLog.setClCljg("0");
@@ -147,17 +141,22 @@ public class ZnbZlLogService extends ServiceImpl<ZnbZlLogMapper, ZnbZlLog> {
                         updateLog.setClClsj(LocalDateTime.now());
                         updates.add(updateLog);
                     }
-                });
-                this.updateBatchById(updates);
-            } else {
-                this.lambdaUpdate()
-                        .set(ZnbZlLog::getClLock, "0")
-                        .set(ZnbZlLog::getClCljg, "0")
-                        .set(ZnbZlLog::getClRemessage, "指令发送失败")
-                        .set(ZnbZlLog::getClClsj, new Date())
-                        .in(ZnbZlLog::getId, list.stream().map(ZnbZlLog::getId).collect(Collectors.toList()))
-                        .update();
+                    this.updateBatchById(updates);
+                } else {
+                    updateZllog(item.getId());
+                }
             }
         }
     }
+
+
+    private void updateZllog(String id) {
+        this.lambdaUpdate()
+                .set(ZnbZlLog::getClLock, "0")
+                .set(ZnbZlLog::getClCljg, "0")
+                .set(ZnbZlLog::getClRemessage, "指令发送失败")
+                .set(ZnbZlLog::getClClsj, new Date())
+                .eq(ZnbZlLog::getId, id)
+                .update();
+    }
 }

+ 2 - 21
collect_fees_hdx_api/third-system-service/target/classes/bootstrap.yml

@@ -1,22 +1,3 @@
 spring:
-  application:
-    name: third-system-service
-  cloud:
-    nacos:
-      config:
-        server-addr: http://192.168.2.3:8848
-        namespace: e7f2f68f-bf2e-4836-8127-5ee5f1ae5bf5
-        file-extension: yaml
-        shared-configs:
-          - data-id: public_config_public.yaml
-          - data-id: public_config_oracle.yaml
-          - data-id: public_config_redis.yaml
-          - data-id: public_config_ftp.yaml
-        group: DEFAULT_GROUP
-      discovery:
-        server-addr: http://192.168.2.3:8848
-        namespace: e7f2f68f-bf2e-4836-8127-5ee5f1ae5bf5
-        group: DEFAULT_GROUP
-logging:
-  level:
-    com.alibaba.nacos: warn
+  profiles:
+    active: bd