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

View File

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