yangys
2024-04-04 ed4a5236bab800094be4a8378f5098eebe3de6ac
smart-man-boot/src/main/java/com/qianwen/smartman/modules/system/service/impl/TenantServiceImpl.java
@@ -1,21 +1,17 @@
package com.qianwen.smartman.modules.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import java.lang.invoke.SerializedLambda;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.stream.Collectors;
import com.qianwen.smartman.common.cache.ParamCache;
import com.qianwen.smartman.common.cache.RegionCache;
import com.qianwen.smartman.common.constant.TenantConstant;
import com.qianwen.smartman.common.utils.CommonUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.qianwen.core.cache.utils.CacheUtil;
import com.qianwen.core.log.exception.ServiceException;
import com.qianwen.core.mp.base.BaseServiceImpl;
@@ -25,6 +21,9 @@
import com.qianwen.core.tool.support.Kv;
import com.qianwen.core.tool.utils.DesUtil;
import com.qianwen.core.tool.utils.Func;
import com.qianwen.smartman.common.cache.ParamCache;
import com.qianwen.smartman.common.constant.TenantConstant;
import com.qianwen.smartman.common.utils.CommonUtil;
import com.qianwen.smartman.modules.auth.enums.UserEnum;
import com.qianwen.smartman.modules.system.entity.Dept;
import com.qianwen.smartman.modules.system.entity.DictBiz;
@@ -43,11 +42,8 @@
import com.qianwen.smartman.modules.system.service.IRoleService;
import com.qianwen.smartman.modules.system.service.ITenantService;
import com.qianwen.smartman.modules.system.service.IUserService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/system/service/impl/TenantServiceImpl.class */
public class TenantServiceImpl extends BaseServiceImpl<TenantMapper, Tenant> implements ITenantService {
    private final TenantId tenantId;
    private final IRoleService roleService;
@@ -58,164 +54,6 @@
    private final IDictBizService dictBizService;
    private final IUserService userService;
    private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) {
        String implMethodName = lambda.getImplMethodName();
        boolean z = true;
        switch (implMethodName.hashCode()) {
            case -2129004512:
                if (implMethodName.equals("getAccountNumber")) {
                    z = true;
                    break;
                }
                break;
            case -1703909804:
                if (implMethodName.equals("getLicenseKey")) {
                    z = true;
                    break;
                }
                break;
            case -1132473214:
                if (implMethodName.equals("getExpireTime")) {
                    z = true;
                    break;
                }
                break;
            case -1041904421:
                if (implMethodName.equals("getParentId")) {
                    z = true;
                    break;
                }
                break;
            case -75622813:
                if (implMethodName.equals("getCode")) {
                    z = true;
                    break;
                }
                break;
            case 98245393:
                if (implMethodName.equals("getId")) {
                    z = true;
                    break;
                }
                break;
            case 771206363:
                if (implMethodName.equals("getTenantId")) {
                    z = true;
                    break;
                }
                break;
            case 961079513:
                if (implMethodName.equals("getIsDeleted")) {
                    z = false;
                    break;
                }
                break;
        }
        switch (z) {
            case false:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getIsDeleted();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/Menu") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getIsDeleted();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/Menu") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getIsDeleted();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/DictBiz") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getIsDeleted();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/DictBiz") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getIsDeleted();
                    };
                }
                break;
            case true:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/Tenant") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getLicenseKey();
                    };
                }
                break;
            case true:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/Tenant") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getAccountNumber();
                    };
                }
                break;
            case true:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                break;
            case true:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/Tenant") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getTenantId();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/tenant/mp/TenantEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getTenantId();
                    };
                }
                break;
            case RegionCache.VILLAGE_LEVEL /* 5 */:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/Tenant") && lambda.getImplMethodSignature().equals("()Ljava/util/Date;")) {
                    return (v0) -> {
                        return v0.getExpireTime();
                    };
                }
                break;
            case true:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/Menu") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getCode();
                    };
                }
                break;
            case true:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/Menu") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getParentId();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/DictBiz") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getParentId();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/system/entity/DictBiz") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getParentId();
                    };
                }
                break;
        }
        throw new IllegalArgumentException("Invalid lambda deserialization");
    }
    public TenantServiceImpl(final TenantId tenantId, final IRoleService roleService, final IMenuService menuService, final IDataScopeManagerService deptService, final IPostService postService, final IRoleMenuService roleMenuService, final IDictBizService dictBizService, final IUserService userService) {
        this.tenantId = tenantId;
@@ -235,21 +73,22 @@
    @Override // org.springblade.modules.system.service.ITenantService
    public Tenant getByTenantId(String tenantId) {
        return (Tenant) getOne((Wrapper) Wrappers.query().lambda().eq((v0) -> {
            return v0.getTenantId();
        }, tenantId));
        return getOne(Wrappers.<Tenant>query().lambda().eq(Tenant::getTenantId, tenantId));
    }
    @Override // org.springblade.modules.system.service.ITenantService
    @Transactional(rollbackFor = {Exception.class})
    public boolean submitTenant(Tenant tenant) {
        if (Func.isEmpty(tenant.getId())) {
           List<Tenant> tenants = this.baseMapper.selectList(Wrappers.<Tenant>query().lambda().eq(Tenant::getIsDeleted, 0));
            List<String> codes = tenants.stream().map(Tenant::getTenantId).collect(Collectors.toList());
            /*
            List<Tenant> tenants = ((TenantMapper) this.baseMapper).selectList((Wrapper) Wrappers.query().lambda().eq((v0) -> {
                return v0.getIsDeleted();
            }, 0));
            List<String> codes = (List) tenants.stream().map((v0) -> {
                return v0.getTenantId();
            }).collect(Collectors.toList());
            }).collect(Collectors.toList());*/
            String tenantId = getTenantId(codes);
            tenant.setTenantId(tenantId);
            int accountNumber = Func.toInt(ParamCache.getValue(TenantConstant.ACCOUNT_NUMBER_KEY), TenantConstant.DEFAULT_ACCOUNT_NUMBER.intValue());
@@ -315,33 +154,43 @@
    @Override // org.springblade.modules.system.service.ITenantService
    @Transactional(rollbackFor = {Exception.class})
    public boolean removeTenant(List<Long> ids) {
       List<String> tenantIds = list(Wrappers.<Tenant>query().lambda().in(Tenant::getId, ids)).stream().map(tenant -> Func.toStr(tenant.getTenantId())).distinct().collect(Collectors.toList());
       /*
        List<String> tenantIds = (List) list((Wrapper) Wrappers.query().lambda().in((v0) -> {
            return v0.getId();
        }, ids)).stream().map(tenant -> {
            return Func.toStr(tenant.getTenantId());
        }).distinct().collect(Collectors.toList());
        }).distinct().collect(Collectors.toList());*/
        CacheUtil.clear("blade:sys", tenantIds);
        if (tenantIds.contains("000000")) {
            throw new ServiceException("不可删除管理租户!");
        }
        boolean tenantTemp = deleteLogic(ids);
        boolean userTemp = this.userService.remove(Wrappers.<User>query().lambda().in(User::getTenantId, tenantIds));
        /*
        boolean userTemp = this.userService.remove((Wrapper) Wrappers.query().lambda().in((v0) -> {
            return v0.getTenantId();
        }, tenantIds));
        }, tenantIds));*/
        return tenantTemp && userTemp;
    }
    @Override // org.springblade.modules.system.service.ITenantService
    public boolean setting(Integer accountNumber, Date expireTime, String ids) {
       List<String> tenantIds = list(Wrappers.<Tenant>query().lambda().in(Tenant::getId, new Object[] { ids })).stream().map(tenant -> Func.toStr(tenant.getTenantId())).distinct().collect(Collectors.toList());
       /*
        List<String> tenantIds = (List) list((Wrapper) Wrappers.query().lambda().in((v0) -> {
            return v0.getId();
        }, new Object[]{ids})).stream().map(tenant -> {
            return Func.toStr(tenant.getTenantId());
        }).distinct().collect(Collectors.toList());
        }).distinct().collect(Collectors.toList());*/
        CacheUtil.clear("blade:sys", tenantIds);
        Func.toLongList(ids).forEach(id -> {
            Kv kv = Kv.create().set("accountNumber", accountNumber).set("expireTime", expireTime).set("id", id);
            String licenseKey = DesUtil.encryptToHex(JsonUtil.toJson(kv), TenantConstant.DES_KEY);
            update(Wrappers.<Tenant>update().lambda().set(Tenant::getAccountNumber, accountNumber)
                  .set(Tenant::getExpireTime, expireTime)
                  .set(Tenant::getLicenseKey, licenseKey).eq(Tenant::getId, id));
            /*
            update((Wrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) ((LambdaUpdateWrapper) Wrappers.update().lambda().set((v0) -> {
                return v0.getAccountNumber();
            }, accountNumber)).set((v0) -> {
@@ -350,7 +199,7 @@
                return v0.getLicenseKey();
            }, licenseKey)).eq((v0) -> {
                return v0.getId();
            }, id));
            }, id));*/
        });
        return true;
    }
@@ -365,11 +214,13 @@
    private List<Menu> getMenus(List<String> codes, LinkedList<Menu> menus) {
        codes.forEach(code -> {
           Menu menu = this.menuService.getOne(Wrappers.<Menu>query().lambda().eq(Menu::getCode, code).eq(Menu::getIsDeleted, 0));
           /*
            Menu menu = (Menu) this.menuService.getOne((Wrapper) ((LambdaQueryWrapper) Wrappers.query().lambda().eq((v0) -> {
                return v0.getCode();
            }, code)).eq((v0) -> {
                return v0.getIsDeleted();
            }, 0));
            }, 0));*/
            if (menu != null) {
                menus.add(menu);
                recursionMenu(menu.getId(), menus);
@@ -379,11 +230,13 @@
    }
    private void recursionMenu(Long parentId, LinkedList<Menu> menus) {
       List<Menu> menuList = this.menuService.list(Wrappers.<Menu>query().lambda().eq(Menu::getParentId, parentId).eq(Menu::getIsDeleted, 0));
       /*
        List<Menu> menuList = this.menuService.list((Wrapper) ((LambdaQueryWrapper) Wrappers.query().lambda().eq((v0) -> {
            return v0.getParentId();
        }, parentId)).eq((v0) -> {
            return v0.getIsDeleted();
        }, 0));
        }, 0));*/
        menus.addAll(menuList);
        menuList.forEach(menu -> {
            recursionMenu(menu.getId(), menus);
@@ -391,11 +244,15 @@
    }
    private List<DictBiz> getDictBizs(String tenantId, LinkedList<DictBiz> dictBizs) {
       List<DictBiz> dictBizList = this.dictBizService.list(Wrappers.<DictBiz>query().lambda()
             .eq(DictBiz::getParentId, BladeConstant.TOP_PARENT_ID)
             .eq(DictBiz::getIsDeleted, 0));
       /*
        List<DictBiz> dictBizList = this.dictBizService.list((Wrapper) ((LambdaQueryWrapper) Wrappers.query().lambda().eq((v0) -> {
            return v0.getParentId();
        }, BladeConstant.TOP_PARENT_ID)).eq((v0) -> {
            return v0.getIsDeleted();
        }, 0));
        }, 0));*/
        dictBizList.forEach(dictBiz -> {
            Long oldParentId = dictBiz.getId();
            Long newParentId = Long.valueOf(IdWorker.getId());
@@ -408,11 +265,15 @@
    }
    private void recursionDictBiz(String tenantId, Long oldParentId, Long newParentId, LinkedList<DictBiz> dictBizs) {
       List<DictBiz> dictBizList = this.dictBizService.list(Wrappers.<DictBiz>query().lambda()
             .eq(DictBiz::getParentId, oldParentId)
             .eq(DictBiz::getIsDeleted, 0));
       /*
        List<DictBiz> dictBizList = this.dictBizService.list((Wrapper) ((LambdaQueryWrapper) Wrappers.query().lambda().eq((v0) -> {
            return v0.getParentId();
        }, oldParentId)).eq((v0) -> {
            return v0.getIsDeleted();
        }, 0));
        }, 0));*/
        dictBizList.forEach(dictBiz -> {
            Long oldSubParentId = dictBiz.getId();
            Long newSubParentId = Long.valueOf(IdWorker.getId());