| | |
| | | shop.setStatus(status); |
| | | shopService.updateById(shop); |
| | | //处理员工等数据 |
| | | 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("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(); |
| | | long count = data1.stream().filter(s -> !s.getShopId().equals(id)).count(); |
| | | if(0 == count){ |
| | | 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(status == 1 ? "0" : "1"); |
| | | 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(); |
| | | } |
| | | |