Ver código fonte

Merge branch 'feature/v1' into dev/shenliang

# Conflicts:
#	pom.xml
Huanyi 2 semanas atrás
pai
commit
297a0f7c30

+ 14 - 0
pom.xml

@@ -92,6 +92,20 @@
                 <nacos.ip>127.0.0.1</nacos.ip>
             </properties>
         </profile>
+        <profile>
+            <id>test</id>
+            <properties>
+                <profiles.active>test</profiles.active>
+                <nacos.server>127.0.0.1:8848</nacos.server>
+                <nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group>
+                <nacos.config.group>DEFAULT_GROUP</nacos.config.group>
+                <nacos.username>nacos</nacos.username>
+                <nacos.password>nacos</nacos.password>
+                <logstash.address>127.0.0.1:4560</logstash.address>
+                <discovery.ip>127.0.0.1</discovery.ip>
+                <nacos.ip>127.0.0.1</nacos.ip>
+            </properties>
+        </profile>
     </profiles>
 
     <!-- 依赖声明 -->

+ 6 - 1
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/UserAreaStationServiceImpl.java

@@ -2,6 +2,7 @@ package org.dromara.system.service.impl;
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.dromara.system.domain.SysAreaStation;
 import org.dromara.system.domain.SysUserAreaStation;
 import org.dromara.system.domain.bo.SysAreaStationBo;
@@ -19,6 +20,7 @@ import java.util.Map;
 
 @Service
 @RequiredArgsConstructor
+@Slf4j
 public class UserAreaStationServiceImpl implements IUserAreaStationService {
 
     private final SysUserAreaStationMapper baseMapper;
@@ -56,13 +58,16 @@ public class UserAreaStationServiceImpl implements IUserAreaStationService {
     }
 
     private void buildSites(SysAreaStationVo currentStation, List<Long> siteIds, Map<Long, List<SysAreaStationVo>> parentMap) {
-        if (currentStation == null) {
+        if (currentStation == null || currentStation.getType() == null) {
             return;
         }
         if (currentStation.getType().equals(AreaStationTypeEnum.STATION.getValue())) {
             siteIds.add(currentStation.getId());
         } else {
             List<SysAreaStationVo> stations = parentMap.get(currentStation.getId());
+            if (stations == null || stations.isEmpty()) {
+                return;
+            }
             for (SysAreaStationVo station : stations) {
                 buildSites(station, siteIds, parentMap);
             }

+ 13 - 4
ruoyi-modules/yingpaipay-archieves/src/main/java/org/dromara/archieves/service/impl/UsrPetServiceImpl.java

@@ -23,6 +23,7 @@ import org.dromara.common.platform.PlatformUtils;
 import org.dromara.common.satoken.utils.LoginHelper;
 import org.dromara.common.tenant.helper.TenantHelper;
 import org.dromara.order.api.RemoteSubOrderService;
+import org.dromara.system.api.RemoteAreaStationService;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.dromara.archieves.domain.bo.UsrPetBo;
@@ -31,10 +32,7 @@ import org.dromara.archieves.domain.vo.SysTagVo;
 import org.dromara.archieves.service.IArcChangeLogService;
 import org.dromara.archieves.service.IUsrPetService;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Collection;
-import java.util.Collections;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -58,6 +56,8 @@ public class UsrPetServiceImpl implements IUsrPetService {
 
     @DubboReference
     private final RemoteSubOrderService remoteSubOrderService;
+    @DubboReference
+    private final RemoteAreaStationService remoteAreaStationService;
 
     @Override
     public UsrPetVo queryById(Long id) {
@@ -95,6 +95,15 @@ public class UsrPetServiceImpl implements IUsrPetService {
 
     private LambdaQueryWrapper<UsrPet> buildQueryWrapper(UsrPetBo bo) {
         LambdaQueryWrapper<UsrPet> lqw = Wrappers.lambdaQuery();
+
+        if (Platform.isAdmin()) {
+            List<Long> customerIds = new ArrayList<>();
+            customerMapper.selectList(Wrappers.lambdaQuery(UsrCustomer.class).select(UsrCustomer::getId)
+                    .in(UsrCustomer::getStationId, WrapperUtils.convertIds(remoteAreaStationService.listByUserId(LoginHelper.getUserId()))))
+                .forEach(e -> customerIds.add(e.getId()));
+            lqw.in(UsrPet::getUserId, WrapperUtils.convertIds(customerIds));
+        }
+
         if (StringUtils.isNotBlank(bo.getKeyword())) {
             // 先查匹配主人名/手机号的userId列表
             List<Long> matchUserIds = customerMapper.selectList(