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 |   72 +++++++++++++++++++++++++++--------
 1 files changed, 55 insertions(+), 17 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 dd8c7e6..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
@@ -12,6 +12,7 @@
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.common.security.utils.MD5Generator;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.order.feignClient.OrderClient;
 import com.ruoyi.order.vo.VerifiableShopVo;
@@ -173,7 +174,8 @@
             user.setRoleType(2);
             user.setObjectId(shopId);
             user.setAppUserId(appUser.getId());
-            user.setPassword(phone.substring(5));
+            String s = MD5Generator.generateMD5(phone.substring(5));
+            user.setPassword(s);
             user.setCreateTime(new Date());
             Long userId = sysUserClient.saveShopUser(user).getData();
 
@@ -206,8 +208,11 @@
     @GetMapping("/getDetailById")
     @ApiOperation(value = "门店详情", tags = {"管理后台-门店管理"})
     public R<Shop> getDetailById(@RequestParam("id") Integer id){
-        Shop byId = shopService.getById(id);
-        return R.ok(byId);
+        Shop shop = shopService.getById(id);
+        if (null != shop.getPid() && shop.getPid()==0){
+            shop.setPid(null);
+        }
+        return R.ok(shop);
     }
 
     @DeleteMapping("/deleteShop")
@@ -413,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();
     }
 
@@ -466,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();
@@ -788,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