From 8acc98732aba58ad5c710f92d72e6fa5bf888d11 Mon Sep 17 00:00:00 2001
From: luofl <1442745593@qq.com>
Date: 星期一, 24 二月 2025 01:08:06 +0800
Subject: [PATCH] 修改物流信息导入模板

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
index d4e3f19..438422a 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java
@@ -863,5 +863,70 @@
         return R.ok(map);
     }
 
+    /**
+     * 获取指定用户的服务商
+     * @param userId
+     * @return
+     */
+    @GetMapping("/getServiceProvider")
+    public R<Shop> getServiceProvider(Long userId){
+        List<AppUser> allSuperiors = getAllSuperiors(userId);
+        //当前绑定门店的店铺信息(服务商)
+        Shop serviceProvider = null;
+        for (AppUser allSuperior : allSuperiors) {
+            List<Shop> shopList = shopService.lambdaQuery().eq(Shop::getAppUserId, allSuperior.getId()).eq(Shop::getDelFlag,0).list();
+            if (!CollectionUtils.isEmpty(shopList)){
+                serviceProvider = shopList.get(0);
+                break;
+            }
+        }
+        return R.ok(serviceProvider);
+    }
+
+    /**
+     * 获取指定用户的高级服务商
+     * @return
+     */
+    @GetMapping("/getSuperiorServiceProvider")
+    public R<Shop> getSuperiorServiceProvider(Long userId){
+        List<AppUser> allSuperiors = getAllSuperiors(userId);
+        Long techerId = null;
+        for (AppUser allSuperior : allSuperiors) {
+            List<Shop> shopList = shopService.lambdaQuery().eq(Shop::getAppUserId, allSuperior.getId()).eq(Shop::getDelFlag,0).list();
+            if (!CollectionUtils.isEmpty(shopList)){
+                techerId = allSuperior.getId();
+                break;
+            }
+        }
+        if (techerId == null){
+            return R.fail("暂无高级服务商");
+        }
+        List<AppUser> allSuperiors1 = getAllSuperiors(techerId);
+        for (AppUser allSuperior : allSuperiors1) {
+            List<Shop> shopList = shopService.lambdaQuery().eq(Shop::getAppUserId, allSuperior.getId()).eq(Shop::getDelFlag,0).list();
+            if (!CollectionUtils.isEmpty(shopList)){
+                return R.ok(shopList.get(0));
+            }
+        }
+        return R.fail("暂无高级服务商");
+    }
+
+
+    public List<AppUser> getAllSuperiors(Long userId) {
+        List<AppUser> allSuperiors = new ArrayList<>();
+
+        // 获取当前用户的直接上级
+        AppUser currentUser = appUserClient.getAppUserById(userId);
+        if (currentUser != null && currentUser.getInviteUserId() != null) {
+            AppUser superior = appUserClient.getAppUserById(currentUser.getInviteUserId());
+            if (superior != null) {
+                allSuperiors.add(superior); // 添加直接上级
+                allSuperiors.addAll(getAllSuperiors(superior.getId())); // 递归添加上级的上级
+            }
+        }
+
+        return allSuperiors;
+    }
+
 }
 

--
Gitblit v1.7.1