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/YwCustomerH5BizServiceImpl.java | 33 +++++++++++++++++++++++----------
1 files changed, 23 insertions(+), 10 deletions(-)
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerH5BizServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerH5BizServiceImpl.java
index 5e55186..d9494ab 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerH5BizServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwCustomerH5BizServiceImpl.java
@@ -29,6 +29,8 @@
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.MultifileMapper;
import com.doumee.dao.system.model.Multifile;
+import com.doumee.service.business.YwCustomerDeviceAutoBindService;
+import com.doumee.service.business.YwCustomerH5AuthService;
import com.doumee.service.business.YwCustomerH5BizService;
import com.doumee.service.business.YwCustomerRechargeBizService;
import com.doumee.service.business.YwElectricalBizService;
@@ -57,6 +59,8 @@
@Autowired
private YwCustomerRechargeBizService ywCustomerRechargeBizService;
@Autowired
+ private YwCustomerDeviceAutoBindService ywCustomerDeviceAutoBindService;
+ @Autowired
private YwCustomerElectricalMapper ywCustomerElectricalMapper;
@Autowired
private YwElectricalMapper ywElectricalMapper;
@@ -78,6 +82,8 @@
private MultifileMapper multifileMapper;
@Autowired
private SystemDictDataBiz systemDictDataBiz;
+ @Autowired
+ private YwCustomerH5AuthService ywCustomerH5AuthService;
@Override
public List<YwH5Banner> listBanners() {
@@ -85,11 +91,14 @@
}
@Override
- public Map<String, Object> home(Integer customerId) {
+ public Map<String, Object> home(Integer customerId, Integer memberId) {
YwCustomer customer = requireCustomer(customerId);
+ LoginUserInfo loginUser = ywCustomerH5AuthService.buildLoginUserInfo(customerId, memberId);
YwCustomerRechargeDetailVO detail = ywCustomerRechargeBizService.getDetail(customerId);
Map<String, Object> map = new LinkedHashMap<>();
- map.put("customerName", customer.getName());
+ map.put("customerName", loginUser.getCustomerName() != null ? loginUser.getCustomerName() : customer.getName());
+ map.put("memberName", loginUser.getMemberName());
+ map.put("displayName", loginUser.getDisplayName());
map.put("electricalCount", detail.getElectricalList() != null ? detail.getElectricalList().size() : 0);
map.put("conditionerCount", detail.getConditionerList() != null ? detail.getConditionerList().size() : 0);
map.put("gsConfig", detail.getGsConfig());
@@ -100,6 +109,7 @@
@Override
public PageData<CustomerDeviceH5VO> devicePage(PageWrap<CustomerDeviceQueryDTO> pageWrap, Integer customerId) {
requireCustomer(customerId);
+ ywCustomerDeviceAutoBindService.refreshCustomerDevices(customerId, systemUser());
CustomerDeviceQueryDTO q = pageWrap.getModel() != null ? pageWrap.getModel() : new CustomerDeviceQueryDTO();
List<CustomerDeviceH5VO> all = new ArrayList<>();
if (q.getDeviceType() == null || q.getDeviceType() == 0) {
@@ -254,10 +264,8 @@
if (Objects.equals(customer.getFirstRechargeDone(), Constants.ONE)) {
return;
}
- List<Integer> electricalIds = ywCustomerElectricalMapper.selectList(new QueryWrapper<YwCustomerElectrical>().lambda()
- .eq(YwCustomerElectrical::getCustomerId, customerId)
- .eq(YwCustomerElectrical::getIsdeleted, Constants.ZERO))
- .stream().map(YwCustomerElectrical::getElectricalId).collect(Collectors.toList());
+ ywCustomerDeviceAutoBindService.refreshCustomerDevices(customerId, user != null ? user : systemUser());
+ List<Integer> electricalIds = ywCustomerDeviceAutoBindService.listElectricalIdsByActiveContracts(customerId);
for (Integer eid : electricalIds) {
YwCustomerRechargeElectricalDTO dto = new YwCustomerRechargeElectricalDTO();
dto.setCustomerId(customerId);
@@ -280,10 +288,7 @@
}
private List<CustomerDeviceH5VO> buildElectricalDevices(Integer customerId) {
- List<Integer> ids = ywCustomerElectricalMapper.selectList(new QueryWrapper<YwCustomerElectrical>().lambda()
- .eq(YwCustomerElectrical::getCustomerId, customerId)
- .eq(YwCustomerElectrical::getIsdeleted, Constants.ZERO))
- .stream().map(YwCustomerElectrical::getElectricalId).collect(Collectors.toList());
+ List<Integer> ids = ywCustomerDeviceAutoBindService.listElectricalIdsByActiveContracts(customerId);
if (ids.isEmpty()) {
return Collections.emptyList();
}
@@ -297,6 +302,7 @@
vo.setDeviceId(e.getId());
vo.setDeviceName(e.getName());
vo.setMeterAccountNo(e.getParamId());
+ vo.setMeterAddress(e.getAddress());
vo.setRoomInfo(e.getRoomNames());
vo.setBalance(e.getBalance());
vo.setBalanceLow(e.getBalance() != null && e.getBalance().compareTo(new BigDecimal("50")) < 0);
@@ -345,6 +351,13 @@
return true;
}
+ private LoginUserInfo systemUser() {
+ LoginUserInfo user = new LoginUserInfo();
+ user.setId(1);
+ user.setRealname("system");
+ return user;
+ }
+
private YwCustomer requireCustomer(Integer customerId) {
YwCustomer c = ywCustomerMapper.selectById(customerId);
if (c == null || Objects.equals(c.getIsdeleted(), Constants.ONE)) {
--
Gitblit v1.9.3