杜洪波
16 小时以前 bb229d0324c082a85b14c72ddf7ef1a46622266d
定时任务-租户扫描
已修改2个文件
49 ■■■■ 文件已修改
src/main/java/com/product/saas/service/SaasClientService.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/saas/service/TenantApplyService.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/saas/service/SaasClientService.java
@@ -2,17 +2,21 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.product.admin.service.SaasUserService;
import com.product.core.dao.BaseDao;
import com.product.core.entity.DataTableEntity;
import com.product.core.entity.FieldSetEntity;
import com.product.core.message.MessageFactory;
import com.product.core.service.support.AbstractBaseService;
import com.product.core.spring.context.SpringMVCContextHolder;
import com.product.core.transfer.Transactional;
import com.product.module.sys.entity.SystemUser;
import com.product.saas.config.SaasConst;
import com.product.saas.service.idel.ISaasClientService;
import com.product.util.BaseUtil;
@@ -20,12 +24,35 @@
 *    租户信息 
 *
 */
@Service
@Service("saasClientService")
public class SaasClientService extends AbstractBaseService implements ISaasClientService{
    @Autowired
    BaseDao baseDao;
    
    @Autowired
    MessageFactory messageFactory;
    @Autowired
    SaasUserService saasUserService;
    /**
     * 定时任务扫描没有租户管理员的租户
     */
    public void autoDetectTenant() {
        DataTableEntity dt = baseDao.listTable(SaasConst.PRODUCT_SYS_CLIENTS, "platform_admin IS NULL OR platform_admin = ''");
        if (!BaseUtil.dataTableIsEmpty(dt)) {
            String clientName = BaseUtil.joinObjectArray(dt.getFieldAllValues(SaasConst.CLIENT_NAME), ",");
            Set<String> platformDirector = saasUserService.getPlatformSuperAdmin();
            // 发送消息给平台主管
            messageFactory.sendMessage(String.join(",", platformDirector),
                    "【" + clientName + "】等租户没有平台管理员",
                    "租户缺乏平台管理员", 1, "5", null,
                    SaasConst.PRODUCT_SYS_CLIENTS, "23432432423", 1, new String[] {"system"}, null);
        }
    }
    /**
     * 租户列表
     * @param fse
src/main/java/com/product/saas/service/TenantApplyService.java
@@ -50,6 +50,8 @@
    @Autowired
    FileManagerService fileManagerService;
    
    /**
     *     租户信息读取和验证
     * @param fse
@@ -71,11 +73,11 @@
        }
        // 情况2:只存在手机号 -> 手机号已申请
        if (fseTenantByPhone != null && fseTenantByName == null) {
            throw new BaseException(SaasCode.TENANT_APPLY_VALID_UNIT_HAS_APPLY.getValue(), SaasCode.TENANT_APPLY_VALID_UNIT_HAS_APPLY.getText());
            throw new BaseException(SaasCode.TENANT_APPLY_VALID_PHONE_HAS_APPLY.getValue(), SaasCode.TENANT_APPLY_VALID_PHONE_HAS_APPLY.getText());
        }
        // 情况3:只存在单位名 -> 单位已申请
        if (fseTenantByPhone == null && fseTenantByName != null) {
            throw new BaseException(SaasCode.TENANT_APPLY_VALID_PHONE_HAS_APPLY.getValue(), SaasCode.TENANT_APPLY_VALID_PHONE_HAS_APPLY.getText());
            throw new BaseException(SaasCode.TENANT_APPLY_VALID_UNIT_HAS_APPLY.getValue(), SaasCode.TENANT_APPLY_VALID_UNIT_HAS_APPLY.getText());
        }
        // 情况4:都存在 -> 检查是否是同一条记录
        if (fseTenantByPhone.getUUID().equals(fseTenantByName.getUUID())) {
@@ -215,7 +217,7 @@
        fseClient.setValue("client_address_city_id", fseApply.getString("area_city"));
        fseClient.setValue("client_address_county_id", fseApply.getString("area_county"));
        fseClient.setValue("client_address_line_one", fseApply.getString("address"));
        fseClient.setValue(CmnConst.CREATED_BY, "1");
        fseClient.setValue(CmnConst.CREATED_BY, 1);
        fseClient.setValue(CmnConst.CREATED_UTC_DATETIME, new Date());
        baseDao.add(fseClient);
        // 复制license到web模块
@@ -229,8 +231,9 @@
        fseOrgUnit.setValue("org_level_code", codeService.createCode("product_sys_org_levels", "org_level_code", "001"));
        fseOrgUnit.setValue("org_level_code_parent", "001");
        fseOrgUnit.setValue("org_level_type", 0);
        fseOrgUnit.setValue("org_level_status", 0);
        fseOrgUnit.setValue("sequence", 1);
        fseOrgUnit.setValue(CmnConst.CREATED_BY, "1");
        fseOrgUnit.setValue(CmnConst.CREATED_BY, 1);
        fseOrgUnit.setValue(CmnConst.CREATED_UTC_DATETIME, new Date());
        baseDao.add(fseOrgUnit);
        // 创建租户管理员用户信息
@@ -242,7 +245,7 @@
        fseUser.setValue(CmnConst.USER_PWD, userService.createPassWord(fseApply.getString("applicant_phone"), fseApply.getString("applicant_pwd")));
        fseUser.setValue(CmnConst.IS_MANAGER, 1);
        fseUser.setValue(CmnConst.STATUS, 1);
        fseUser.setValue(CmnConst.CREATED_BY, "1");
        fseUser.setValue(CmnConst.CREATED_BY, 1);
        fseUser.setValue(CmnConst.CREATED_UTC_DATETIME, new Date());
        baseDao.add(fseUser);
        FieldSetEntity fseUserInfo = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_USERS, fseUser.getUUID(), false);
@@ -254,10 +257,15 @@
        fseManager.setValue(CmnConst.ROLE_UUIDS, "eabb00f3-2118-4165-967b-a7d88f472f67-notchange");
        fseManager.setValue(CmnConst.IS_USED, 1);
        fseManager.setValue(CmnConst.CLIENT_UUID, fseClient.getUUID());
        fseManager.setValue(CmnConst.CREATED_BY, "1");
        fseManager.setValue(CmnConst.CREATED_BY, 1);
        fseManager.setValue(CmnConst.CREATED_UTC_DATETIME, new Date());
        baseDao.add(fseManager);
        baseDao.executeUpdate("UPDATE product_sys_tenant_apply SET client_uuid = ? WHERE uuid = ?", new Object[] {fseClient.getUUID(), fseApply.getUUID()});
        // 发送信息给租户管理员
        FieldSetEntity fse = new FieldSetEntity("temp");
        fse.setValue("applicant_phone", fseApply.getString("applicant_phone"));
        loginAuthService.sendMessage(fse, "租户注册成功", "temp");
    }
    
    /**