From 93de43267e1663031fe5dc2f5ae40d128a182a76 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 18 六月 2026 17:24:51 +0800
Subject: [PATCH] 新增智能电表、空调管理

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalBizServiceImpl.java |   31 +++++++++++++++++++++++++++++++
 1 files changed, 31 insertions(+), 0 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalBizServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalBizServiceImpl.java
index 2a76435..e39073e 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalBizServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwElectricalBizServiceImpl.java
@@ -625,6 +625,7 @@
         charge.setStatusInfo("鍏呭�间腑");
         charge.setBanlance(e.getBalance());
         charge.setRoomNames(e.getRoomNames());
+        applyRechargeOperator(charge, user);
         if (dto.getCustomerId() != null) {
             charge.setCustomerId(dto.getCustomerId());
         }
@@ -1401,4 +1402,34 @@
     private String newOprId() {
         return UUID.randomUUID().toString().replace("-", "");
     }
+
+    private void applyRechargeOperator(YwElectricalCharge charge, LoginUserInfo user) {
+        if (charge == null || user == null) {
+            return;
+        }
+        if (user.getMemberId() != null) {
+            charge.setMemberId(user.getMemberId());
+        }
+        String operatorName = resolveRechargeUserName(user);
+        if (StringUtils.isNotBlank(operatorName)) {
+            charge.setRechargeUserName(operatorName);
+        }
+    }
+
+    private String resolveRechargeUserName(LoginUserInfo user) {
+        if (user == null) {
+            return null;
+        }
+        if (StringUtils.isNotBlank(user.getMemberName())) {
+            return user.getMemberName();
+        }
+        if (Constants.equalsInteger(user.getH5UserType(), LoginUserInfo.H5_USER_CUSTOMER)
+                && StringUtils.isNotBlank(user.getDisplayName())) {
+            int idx = user.getDisplayName().lastIndexOf('-');
+            if (idx >= 0 && idx < user.getDisplayName().length() - 1) {
+                return user.getDisplayName().substring(idx + 1).trim();
+            }
+        }
+        return StringUtils.trimToNull(user.getRealname());
+    }
 }

--
Gitblit v1.9.3