From c90a8ac772937f8f084356ea1f04c5dba1d9e5d5 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期五, 24 一月 2025 11:15:33 +0800
Subject: [PATCH] 12.18

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShopController.java |   65 ++++++++++++++++++++++++--------
 1 files changed, 49 insertions(+), 16 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 bb4826d..23a591e 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
@@ -175,7 +175,7 @@
             user.setObjectId(shopId);
             user.setAppUserId(appUser.getId());
             String s = MD5Generator.generateMD5(phone.substring(5));
-            user.setPassword(SecurityUtils.encryptPassword(s));
+            user.setPassword(s);
             user.setCreateTime(new Date());
             Long userId = sysUserClient.saveShopUser(user).getData();
 
@@ -209,7 +209,7 @@
     @ApiOperation(value = "门店详情", tags = {"管理后台-门店管理"})
     public R<Shop> getDetailById(@RequestParam("id") Integer id){
         Shop shop = shopService.getById(id);
-        if (shop.getPid()==0){
+        if (null != shop.getPid() && shop.getPid()==0){
             shop.setPid(null);
         }
         return R.ok(shop);
@@ -418,20 +418,52 @@
         shop.setStatus(status);
         shopService.updateById(shop);
         //处理员工等数据
-        UserShop userSh = new UserShop();
-        userSh.setShopId(id);
-        List<UserShop> data = userShopClient.getUserShop(userSh).getData();
-        for (UserShop datum : data) {
-            UserShop userShop = new UserShop();
-            userShop.setUserId(datum.getUserId());
-            List<UserShop> data1 = userShopClient.getUserShop(userShop).getData();
-            long count = data1.stream().filter(s -> !s.getShopId().equals(id)).count();
-            if(0 == count){
+        if(status == 1){
+            UserShop userSh = new UserShop();
+            userSh.setShopId(id);
+            List<UserShop> data = userShopClient.getUserShop(userSh).getData();
+            for (UserShop datum : data) {
                 SysUser sysUser = sysUserClient.getSysUser(datum.getUserId()).getData();
-                sysUser.setStatus(status == 1 ? "0" : "1");
+                sysUser.setStatus("0");
                 sysUserClient.updateUser(sysUser);
             }
+        }else{
+            //查询门店所有关联数据
+            UserShop userSh = new UserShop();
+            userSh.setShopId(id);
+            List<UserShop> data = userShopClient.getUserShop(userSh).getData();
+            for (UserShop datum : data) {
+                //查询用户关联的其他店铺
+                UserShop userShop = new UserShop();
+                userShop.setUserId(datum.getUserId());
+                List<UserShop> data1 = userShopClient.getUserShop(userShop).getData();
+                List<UserShop> collect = data1.stream().filter(s -> !s.getShopId().equals(id)).collect(Collectors.toList());
+                if(collect.size() == 0){
+                    //如果没有其他店铺,则将用户禁用
+                    SysUser sysUser = sysUserClient.getSysUser(datum.getUserId()).getData();
+                    sysUser.setStatus("1");
+                    sysUserClient.updateUser(sysUser);
+                }else{
+                    List<Integer> shopIds = collect.stream().map(UserShop::getShopId).collect(Collectors.toList());
+                    List<Shop> list = shopService.list(new LambdaQueryWrapper<Shop>().eq(Shop::getDelFlag, 0).eq(Shop::getStatus, 1)
+                            .in(Shop::getId, shopIds));
+                    //如果用户关联的其他门店都禁用了,将用户禁用
+                    if(list.size() == 0){
+                        SysUser sysUser = sysUserClient.getSysUser(datum.getUserId()).getData();
+                        sysUser.setStatus("1");
+                        sysUserClient.updateUser(sysUser);
+                    }else{
+                        //修改默认门店
+                        SysUser sysUser = sysUserClient.getSysUser(datum.getUserId()).getData();
+                        if(sysUser.getObjectId().equals(id)){
+                            sysUser.setObjectId(list.get(0).getId());
+                            sysUserClient.updateUser(sysUser);
+                        }
+                    }
+                }
+            }
         }
+        
         return R.ok();
     }
 
@@ -471,7 +503,8 @@
             userShop.setRoleType(1);
             List<UserShop> data = userShopClient.getUserShop(userShop).getData();
             SysUser userData = sysUserClient.getSysUser(data.get(0).getUserId()).getData();
-            userData.setPassword(userData.getPhonenumber().substring(5));
+            String s = MD5Generator.generateMD5(userData.getPhonenumber().substring(5));
+            userData.setPassword(s);
             sysUserClient.resetPassword(userData);
         }
         return R.ok();
@@ -793,14 +826,14 @@
     public R<Map<String, BigDecimal> > getShopStatistics(){
         List<Shop> shopList = shopService.list();
         BigDecimal serverGiveawayMoney = BigDecimal.ZERO;
-        BigDecimal lowerLevelGiveawayMoney = BigDecimal.ZERO;
+        BigDecimal giveawayMoney = BigDecimal.ZERO;
         for (Shop shop : shopList) {
             serverGiveawayMoney = serverGiveawayMoney.add(shop.getServerGiveawayMoney());
-            lowerLevelGiveawayMoney = lowerLevelGiveawayMoney.add(shop.getLowerLevelGiveawayMoney());
+            giveawayMoney = giveawayMoney.add(shop.getGiveawayMoney());
         }
         Map<String, BigDecimal> map = new HashMap<>();
         map.put("serverGiveawayMoney", serverGiveawayMoney);
-        map.put("lowerLevelGiveawayMoney", lowerLevelGiveawayMoney);
+        map.put("giveawayMoney", giveawayMoney);
         return R.ok(map);
     }
 

--
Gitblit v1.7.1