From e46bfa3ff94a8a1b4daf37c7fcb79c2fab22a72c Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 29 五月 2026 17:10:00 +0800
Subject: [PATCH] 新增智能电表、空调管理

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalServiceImpl.java |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalServiceImpl.java
index 9bd17e6..da8d93c 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalServiceImpl.java
@@ -20,6 +20,7 @@
 import com.doumee.dao.business.model.DeviceData;
 import com.doumee.dao.business.model.YwDevice;
 import com.doumee.dao.business.model.YwElectrical;
+import com.doumee.dao.business.model.YwElectricalParam;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.YwElectricalMapper;
 import com.doumee.service.business.YwElectricalBizService;
@@ -36,6 +37,7 @@
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.doumee.core.model.LoginUserInfo;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Date;
@@ -130,7 +132,12 @@
         IPage<YwElectrical> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<YwElectrical> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        queryWrapper.eq(YwElectrical::getIsdeleted, Constants.ZERO);
+        queryWrapper.selectAll(YwElectrical.class)
+                .selectAs(YwElectricalParam::getName, YwElectrical::getParamName)
+                .leftJoin(YwElectricalParam.class, on -> on
+                        .eq(YwElectricalParam::getId, YwElectrical::getElectricalParamId)
+                        .eq(YwElectricalParam::getIsdeleted, Constants.ZERO))
+                .eq(YwElectrical::getIsdeleted, Constants.ZERO);
         if (StringUtils.isNotBlank(pageWrap.getModel().getMeterKeyword())) {
             String kw = pageWrap.getModel().getMeterKeyword().trim();
             queryWrapper.and(w -> w.like(YwElectrical::getName, kw).or().like(YwElectrical::getAddress, kw));
@@ -354,7 +361,6 @@
         model.setName(door.getDescription());
         model.setCId(door.getCid());
         model.setDId(door.getId());
-        model.setAccountStatus(Constants.TWO);
         model.setPriceid(door.getPriceid());
         model.setParamId(door.getParam_id());
         model.setDeviceType(door.getDevice_type());
@@ -364,9 +370,23 @@
         model.setType(door.getType());
         model.setRelayStatus(door.getRelay_state());
         model.setCsq(door.getCsq());
+        model.setAccountStatus(resolveAccountStatusByPurchaseCount(door.getCount()));
         model.setRemark(JSONObject.toJSONString(device));
         return  model;
     }
+
+    /** 璐拱娆℃暟澶т簬 0 瑙嗕负宸插紑鎴� */
+    private Integer resolveAccountStatusByPurchaseCount(String purchaseCount) {
+        if (StringUtils.isBlank(purchaseCount)) {
+            return Constants.ZERO;
+        }
+        try {
+            return new BigDecimal(purchaseCount.trim()).compareTo(BigDecimal.ZERO) > 0
+                    ? Constants.ONE : Constants.ZERO;
+        } catch (NumberFormatException e) {
+            return Constants.ZERO;
+        }
+    }
     private MeterInfoResponse getDeviceByid(String indexCode, List<MeterInfoResponse> allHkList ) {
         if(allHkList!=null && allHkList.size()>0){
             for(MeterInfoResponse info : allHkList){

--
Gitblit v1.9.3