saas模块更新

dev
刘武 2024-09-24 10:40:34 +08:00
parent fce189d87f
commit 895a4efab3
10 changed files with 129 additions and 7 deletions

View File

@ -25,4 +25,9 @@ public class ServiceNameConstants {
*
*/
public static final String SMART_SERVICE = "cloud-smart-car";
public static final String SAAS_SERVICE = "cloud-saas";
}

View File

@ -11,7 +11,9 @@ import com.muyu.cloud.common.saas.domain.model.EntInfo;
import com.muyu.cloud.common.saas.exception.SaaSException;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.SpringUtils;
import com.muyu.common.system.domain.Datasource;
import com.muyu.common.system.domain.SysUser;
import com.muyu.common.system.remote.RemoteSaaSService;
import com.muyu.common.system.remote.RemoteUserService;
import lombok.extern.log4j.Log4j2;
import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration;
@ -37,15 +39,15 @@ import java.util.Map;
@AutoConfiguration(before = {MybatisPlusAutoConfiguration.class, MybatisAutoConfiguration.class})
public class ManyDataSource implements ApplicationRunner{
private List<EntInfo> dataSourceInfoList(){
RemoteUserService remoteUserService = SpringUtils.getBean(RemoteUserService.class);
Result<List<SysUser>> tableDataInfoResult = remoteUserService.companyList();
RemoteSaaSService remoteSaaSService = SpringUtils.getBean(RemoteSaaSService.class);
Result<List<Datasource>> tableDataInfoResult = remoteSaaSService.findDatabaseList();
if (tableDataInfoResult==null){
throw new SaaSException("saas远调数据源错误");
}
List<SysUser> data = tableDataInfoResult.getData();
List<Datasource> data = tableDataInfoResult.getData();
if (tableDataInfoResult.getCode() ==Result.SUCCESS && data !=null){
List<EntInfo> list = new ArrayList<>();
for (SysUser row : data) {
for (Datasource row : data) {
list.add(
EntInfo.builder()
.entCode(row.getDatabaseName())

View File

@ -0,0 +1,26 @@
package com.muyu.cloud.common.saas.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "datasource", autoResultMap = true)
public class Datasource {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
public String firmName;
public String databaseName;
}

View File

@ -25,5 +25,8 @@
<groupId>com.muyu</groupId>
<artifactId>cloud-common-core</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,26 @@
package com.muyu.common.system.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "datasource", autoResultMap = true)
public class Datasource {
@TableId(value = "id",type = IdType.AUTO)
private Integer id;
public String firmName;
public String databaseName;
}

View File

@ -0,0 +1,29 @@
package com.muyu.common.system.remote;
import com.muyu.common.core.constant.SecurityConstants;
import com.muyu.common.core.constant.ServiceNameConstants;
import com.muyu.common.core.domain.Result;
import com.muyu.common.system.domain.Datasource;
import com.muyu.common.system.domain.LoginUser;
import com.muyu.common.system.domain.SysUser;
import com.muyu.common.system.remote.factory.RemoteSaaSFallbackFactory;
import com.muyu.common.system.remote.factory.RemoteUserFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*
*
* @author muyu
*/
@FeignClient(contextId = "SaasService", value = ServiceNameConstants.SAAS_SERVICE, fallbackFactory = RemoteSaaSFallbackFactory.class)
public interface RemoteSaaSService {
@GetMapping("/saas/findDatabaseList")
public Result<List<Datasource>> findDatabaseList();
}

View File

@ -0,0 +1,33 @@
package com.muyu.common.system.remote.factory;
import com.muyu.common.core.domain.Result;
import com.muyu.common.system.domain.Datasource;
import com.muyu.common.system.domain.LoginUser;
import com.muyu.common.system.domain.SysUser;
import com.muyu.common.system.remote.RemoteSaaSService;
import com.muyu.common.system.remote.RemoteUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
*
*
* @author muyu
*/
@Component
public class RemoteSaaSFallbackFactory implements FallbackFactory<RemoteSaaSService> {
@Override
public RemoteSaaSService create(Throwable cause) {
return new RemoteSaaSService() {
@Override
public Result<List<Datasource>> findDatabaseList() {
return Result.error("查询数据库失败:" + cause.getMessage());
}
};
}
}

View File

@ -1,3 +1,4 @@
com.muyu.common.system.remote.factory.RemoteUserFallbackFactory
com.muyu.common.system.remote.factory.RemoteLogFallbackFactory
com.muyu.common.system.remote.factory.RemoteFileFallbackFactory
com.muyu.common.system.remote.factory.RemoteSaaSFallbackFactory

View File

@ -85,8 +85,6 @@
<artifactId>cloud-common-saas</artifactId>
</dependency>
</dependencies>
<build>

View File

@ -15,7 +15,6 @@
<module>cloud-modules-file</module>
<module>cloud-modules-template</module>
<module>cloud-modules-fence</module>
<module>cloud-modules-car</module>
<module>cloud-modules-wechat</module>
<module>cloud-modules-breakdown</module>
<module>cloud-modules-warn</module>