From c0a9b1a1dd3f2f0c71414e6cb4b0b5d7822da7d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=AE=E9=86=BA?= <14463847+zmw770157181@user.noreply.gitee.com> Date: Mon, 7 Oct 2024 14:25:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?1.feat():=20=E6=B7=BB=E5=8A=A0:=20swagger?= =?UTF-8?q?=E6=96=87=E6=A1=A3=202.fix():=20=E4=BF=AE=E5=A4=8D=E4=BA=86:=20?= =?UTF-8?q?=E4=BC=81=E4=B8=9A=E8=A1=A8=E7=9A=84=E5=AE=9E=E4=BD=93=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新时间09301928 --- cloud-common/cloud-common-swagger/pom.xml | 32 ++ .../annotation/EnableCustomSwagger2.java | 22 ++ .../config/SwaggerAutoConfiguration.java | 118 +++++++ .../config/SwaggerBeanPostProcessor.java | 47 +++ .../swagger/config/SwaggerProperties.java | 303 ++++++++++++++++++ .../config/SwaggerWebConfiguration.java | 20 ++ cloud-common/pom.xml | 1 + .../cache/CarMessageCacheService.java | 2 - ...ot.autoconfigure.AutoConfiguration.imports | 6 +- .../muyu/enterprise/domain/CarCompany.java | 4 +- .../com/muyu/enterprise/domain/CarManage.java | 2 +- .../muyu/enterprise/domain/dto/CarDTO.java | 2 +- .../com/muyu/enterprise/domain/vo/CarVO.java | 2 +- .../cloud-modules-enterprise-server/pom.xml | 6 + .../OpenFen/SysEntFallbackFactory.java | 17 + .../controller/CarCompanyController.java | 10 +- .../controller/CarManageController.java | 1 + .../controller/CarMessageController.java | 1 - .../enterprise/service/CarCompanyService.java | 5 +- .../service/impl/CarCompanyServiceImpl.java | 6 +- .../service/impl/CarManageServiceImpl.java | 15 +- pom.xml | 7 + 22 files changed, 607 insertions(+), 22 deletions(-) create mode 100644 cloud-common/cloud-common-swagger/pom.xml create mode 100644 cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/annotation/EnableCustomSwagger2.java create mode 100644 cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerAutoConfiguration.java create mode 100644 cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerBeanPostProcessor.java create mode 100644 cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerProperties.java create mode 100644 cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerWebConfiguration.java create mode 100644 cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/OpenFen/SysEntFallbackFactory.java diff --git a/cloud-common/cloud-common-swagger/pom.xml b/cloud-common/cloud-common-swagger/pom.xml new file mode 100644 index 0000000..5926b1d --- /dev/null +++ b/cloud-common/cloud-common-swagger/pom.xml @@ -0,0 +1,32 @@ + + + + com.muyu + cloud-common + 3.6.3 + + 4.0.0 + + cloud-common-swagger + + + cloud-common-swagger api接口文档 + + + + + + org.springframework.boot + spring-boot-starter-web + + + + + io.springfox + springfox-swagger2 + + + + diff --git a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/annotation/EnableCustomSwagger2.java b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/annotation/EnableCustomSwagger2.java new file mode 100644 index 0000000..1693eea --- /dev/null +++ b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/annotation/EnableCustomSwagger2.java @@ -0,0 +1,22 @@ +package com.muyu.common.swagger.annotation; + +import com.muyu.common.swagger.config.SwaggerAutoConfiguration; +import org.springframework.context.annotation.Import; + +import java.lang.annotation.*; + +/** + * @ClassName EnableCustomSwagger2 + * @Description EnableCustomSwagger2:类的描述 + * @Date 2024/10/6 22:16 + * @author MingWei.Zong + */ + +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Inherited +@Import({SwaggerAutoConfiguration.class}) +public @interface EnableCustomSwagger2 { + +} diff --git a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerAutoConfiguration.java b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerAutoConfiguration.java new file mode 100644 index 0000000..2fd91bf --- /dev/null +++ b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerAutoConfiguration.java @@ -0,0 +1,118 @@ +package com.muyu.common.swagger.config; + +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import springfox.documentation.builders.ApiInfoBuilder; +import springfox.documentation.builders.PathSelectors; +import springfox.documentation.builders.RequestHandlerSelectors; +import springfox.documentation.service.*; +import springfox.documentation.spi.DocumentationType; +import springfox.documentation.spi.service.contexts.SecurityContext; +import springfox.documentation.spring.web.plugins.ApiSelectorBuilder; +import springfox.documentation.spring.web.plugins.Docket; +import springfox.documentation.swagger2.annotations.EnableSwagger2; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.function.Predicate; + + +/** + * @ClassName SwaggerAutoConfiguration + * @Description SwaggerAutoConfiguration:类的描述 + * @Date 2024/10/6 22:16 + * @author MingWei.Zong + */ +@Configuration +@EnableSwagger2 +@EnableConfigurationProperties(SwaggerProperties.class) +@ConditionalOnProperty(name = "swagger.enabled", matchIfMissing = true) +@Import({SwaggerBeanPostProcessor.class, SwaggerWebConfiguration.class}) +public class SwaggerAutoConfiguration { + /** + * 默认的排除路径,排除Spring Boot默认的错误处理路径和端点 + */ + private static final List DEFAULT_EXCLUDE_PATH = Arrays.asList("/error", "/actuator/**"); + + private static final String BASE_PATH = "/**"; + + @Bean + public Docket api (SwaggerProperties swaggerProperties) { + // base-path处理 + if (swaggerProperties.getBasePath().isEmpty()) { + swaggerProperties.getBasePath().add(BASE_PATH); + } + // noinspection unchecked + List> basePath = new ArrayList>(); + swaggerProperties.getBasePath().forEach(path -> basePath.add(PathSelectors.ant(path))); + + // exclude-path处理 + if (swaggerProperties.getExcludePath().isEmpty()) { + swaggerProperties.getExcludePath().addAll(DEFAULT_EXCLUDE_PATH); + } + + List> excludePath = new ArrayList<>(); + swaggerProperties.getExcludePath().forEach(path -> excludePath.add(PathSelectors.ant(path))); + + ApiSelectorBuilder builder = new Docket(DocumentationType.SWAGGER_2).host(swaggerProperties.getHost()) + .apiInfo(apiInfo(swaggerProperties)).select() + .apis(RequestHandlerSelectors.basePackage(swaggerProperties.getBasePackage())); + + swaggerProperties.getBasePath().forEach(p -> builder.paths(PathSelectors.ant(p))); + swaggerProperties.getExcludePath().forEach(p -> builder.paths(PathSelectors.ant(p).negate())); + + return builder.build().securitySchemes(securitySchemes()).securityContexts(securityContexts()).pathMapping("/"); + } + + /** + * 安全模式,这里指定token通过Authorization头请求头传递 + */ + private List securitySchemes () { + List apiKeyList = new ArrayList(); + apiKeyList.add(new ApiKey("Authorization", "Authorization", "header")); + return apiKeyList; + } + + /** + * 安全上下文 + */ + private List securityContexts () { + List securityContexts = new ArrayList<>(); + securityContexts.add( + SecurityContext.builder() + .securityReferences(defaultAuth()) + .operationSelector(o -> o.requestMappingPattern().matches("/.*")) + .build()); + return securityContexts; + } + + /** + * 默认的全局鉴权策略 + * + * @return + */ + private List defaultAuth () { + AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything"); + AuthorizationScope[] authorizationScopes = new AuthorizationScope[1]; + authorizationScopes[0] = authorizationScope; + List securityReferences = new ArrayList<>(); + securityReferences.add(new SecurityReference("Authorization", authorizationScopes)); + return securityReferences; + } + + private ApiInfo apiInfo (SwaggerProperties swaggerProperties) { + return new ApiInfoBuilder() + .title(swaggerProperties.getTitle()) + .description(swaggerProperties.getDescription()) + .license(swaggerProperties.getLicense()) + .licenseUrl(swaggerProperties.getLicenseUrl()) + .termsOfServiceUrl(swaggerProperties.getTermsOfServiceUrl()) + .contact(new Contact(swaggerProperties.getContact().getName(), swaggerProperties.getContact().getUrl(), swaggerProperties.getContact().getEmail())) + .version(swaggerProperties.getVersion()) + .build(); + } +} diff --git a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerBeanPostProcessor.java b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerBeanPostProcessor.java new file mode 100644 index 0000000..231dcc6 --- /dev/null +++ b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerBeanPostProcessor.java @@ -0,0 +1,47 @@ +package com.muyu.common.swagger.config; + +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.BeanPostProcessor; +import org.springframework.util.ReflectionUtils; +import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping; +import springfox.documentation.spring.web.plugins.WebFluxRequestHandlerProvider; +import springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider; + +import java.lang.reflect.Field; +import java.util.List; +import java.util.stream.Collectors; + + +/** + * @ClassName SwaggerBeanPostProcessor + * @Description SwaggerBeanPostProcessor:类的描述 + * @Date 2024/10/6 22:16 + * @author MingWei.Zong + */ +public class SwaggerBeanPostProcessor implements BeanPostProcessor { + @Override + public Object postProcessAfterInitialization (Object bean, String beanName) throws BeansException { + if (bean instanceof WebMvcRequestHandlerProvider || bean instanceof WebFluxRequestHandlerProvider) { + customizeSpringfoxHandlerMappings(getHandlerMappings(bean)); + } + return bean; + } + + private void customizeSpringfoxHandlerMappings (List mappings) { + List copy = mappings.stream().filter(mapping -> mapping.getPatternParser() == null) + .collect(Collectors.toList()); + mappings.clear(); + mappings.addAll(copy); + } + + @SuppressWarnings("unchecked") + private List getHandlerMappings (Object bean) { + try { + Field field = ReflectionUtils.findField(bean.getClass(), "handlerMappings"); + field.setAccessible(true); + return (List) field.get(bean); + } catch (IllegalArgumentException | IllegalAccessException e) { + throw new IllegalStateException(e); + } + } +} diff --git a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerProperties.java b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerProperties.java new file mode 100644 index 0000000..af09304 --- /dev/null +++ b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerProperties.java @@ -0,0 +1,303 @@ +package com.muyu.common.swagger.config; + +import org.springframework.boot.context.properties.ConfigurationProperties; + +import java.util.ArrayList; +import java.util.List; + + +/** + * @ClassName SwaggerProperties + * @Description SwaggerProperties:类的描述 + * @Date 2024/10/6 22:16 + * @author MingWei.Zong + */ +@ConfigurationProperties("swagger") +public class SwaggerProperties { + /** + * 是否开启swagger + */ + private Boolean enabled; + + /** + * swagger会解析的包路径 + **/ + private String basePackage = ""; + + /** + * swagger会解析的url规则 + **/ + private List basePath = new ArrayList<>(); + + /** + * 在basePath基础上需要排除的url规则 + **/ + private List excludePath = new ArrayList<>(); + + /** + * 标题 + **/ + private String title = ""; + + /** + * 描述 + **/ + private String description = ""; + + /** + * 版本 + **/ + private String version = ""; + + /** + * 许可证 + **/ + private String license = ""; + + /** + * 许可证URL + **/ + private String licenseUrl = ""; + + /** + * 服务条款URL + **/ + private String termsOfServiceUrl = ""; + + /** + * host信息 + **/ + private String host = ""; + + /** + * 联系人信息 + */ + private Contact contact = new Contact(); + + /** + * 全局统一鉴权配置 + **/ + private Authorization authorization = new Authorization(); + + public Boolean getEnabled () { + return enabled; + } + + public void setEnabled (Boolean enabled) { + this.enabled = enabled; + } + + public String getBasePackage () { + return basePackage; + } + + public void setBasePackage (String basePackage) { + this.basePackage = basePackage; + } + + public List getBasePath () { + return basePath; + } + + public void setBasePath (List basePath) { + this.basePath = basePath; + } + + public List getExcludePath () { + return excludePath; + } + + public void setExcludePath (List excludePath) { + this.excludePath = excludePath; + } + + public String getTitle () { + return title; + } + + public void setTitle (String title) { + this.title = title; + } + + public String getDescription () { + return description; + } + + public void setDescription (String description) { + this.description = description; + } + + public String getVersion () { + return version; + } + + public void setVersion (String version) { + this.version = version; + } + + public String getLicense () { + return license; + } + + public void setLicense (String license) { + this.license = license; + } + + public String getLicenseUrl () { + return licenseUrl; + } + + public void setLicenseUrl (String licenseUrl) { + this.licenseUrl = licenseUrl; + } + + public String getTermsOfServiceUrl () { + return termsOfServiceUrl; + } + + public void setTermsOfServiceUrl (String termsOfServiceUrl) { + this.termsOfServiceUrl = termsOfServiceUrl; + } + + public String getHost () { + return host; + } + + public void setHost (String host) { + this.host = host; + } + + public Contact getContact () { + return contact; + } + + public void setContact (Contact contact) { + this.contact = contact; + } + + public Authorization getAuthorization () { + return authorization; + } + + public void setAuthorization (Authorization authorization) { + this.authorization = authorization; + } + + public static class Contact { + /** + * 联系人 + **/ + private String name = ""; + /** + * 联系人url + **/ + private String url = ""; + /** + * 联系人email + **/ + private String email = ""; + + public String getName () { + return name; + } + + public void setName (String name) { + this.name = name; + } + + public String getUrl () { + return url; + } + + public void setUrl (String url) { + this.url = url; + } + + public String getEmail () { + return email; + } + + public void setEmail (String email) { + this.email = email; + } + } + + public static class Authorization { + /** + * 鉴权策略ID,需要和SecurityReferences ID保持一致 + */ + private String name = ""; + + /** + * 需要开启鉴权URL的正则 + */ + private String authRegex = "^.*$"; + + /** + * 鉴权作用域列表 + */ + private List authorizationScopeList = new ArrayList<>(); + + private List tokenUrlList = new ArrayList<>(); + + public String getName () { + return name; + } + + public void setName (String name) { + this.name = name; + } + + public String getAuthRegex () { + return authRegex; + } + + public void setAuthRegex (String authRegex) { + this.authRegex = authRegex; + } + + public List getAuthorizationScopeList () { + return authorizationScopeList; + } + + public void setAuthorizationScopeList (List authorizationScopeList) { + this.authorizationScopeList = authorizationScopeList; + } + + public List getTokenUrlList () { + return tokenUrlList; + } + + public void setTokenUrlList (List tokenUrlList) { + this.tokenUrlList = tokenUrlList; + } + } + + public static class AuthorizationScope { + /** + * 作用域名称 + */ + private String scope = ""; + + /** + * 作用域描述 + */ + private String description = ""; + + public String getScope () { + return scope; + } + + public void setScope (String scope) { + this.scope = scope; + } + + public String getDescription () { + return description; + } + + public void setDescription (String description) { + this.description = description; + } + } +} diff --git a/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerWebConfiguration.java b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerWebConfiguration.java new file mode 100644 index 0000000..4195a64 --- /dev/null +++ b/cloud-common/cloud-common-swagger/src/main/java/com/muyu/common/swagger/config/SwaggerWebConfiguration.java @@ -0,0 +1,20 @@ +package com.muyu.common.swagger.config; + +import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + + +/** + * @ClassName SwaggerWebConfiguration + * @Description SwaggerWebConfiguration:类的描述 + * @Date 2024/10/6 22:16 + * @author MingWei.Zong + */ +public class SwaggerWebConfiguration implements WebMvcConfigurer { + @Override + public void addResourceHandlers (ResourceHandlerRegistry registry) { + /** swagger-ui 地址 */ + registry.addResourceHandler("/swagger-ui/**") + .addResourceLocations("classpath:/META-INF/resources/webjars/springfox-swagger-ui/"); + } +} diff --git a/cloud-common/pom.xml b/cloud-common/pom.xml index a99da4c..435eb6c 100644 --- a/cloud-common/pom.xml +++ b/cloud-common/pom.xml @@ -22,6 +22,7 @@ cloud-common-xxl cloud-common-rabbit cloud-common-cache + cloud-common-swagger cloud-common diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarMessageCacheService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarMessageCacheService.java index 79d8323..8610fc8 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarMessageCacheService.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/java/com/muyu/enterprise/cache/CarMessageCacheService.java @@ -1,7 +1,6 @@ package com.muyu.enterprise.cache; import com.muyu.common.cache.config.CacheAbsBasic; -import com.muyu.enterprise.domain.CarManage; import com.muyu.enterprise.domain.CarMessage; /** @@ -11,7 +10,6 @@ import com.muyu.enterprise.domain.CarMessage; * @Date 2024/9/30 11:42 * @author MingWei.Zong */ - public class CarMessageCacheService extends CacheAbsBasic { @Override public String keyPre() { diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 74d44ab..5061455 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,2 +1,6 @@ +com.muyu.enterprise.cache.CarCompanyCacheService +com.muyu.enterprise.cache.CarFaultCacheService com.muyu.enterprise.cache.CarManageCacheService - +com.muyu.enterprise.cache.CarMessageCacheService +com.muyu.enterprise.cache.CarTemplateCacheService +com.muyu.enterprise.cache.CarWarnCacheService diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarCompany.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarCompany.java index 64be725..b7c6c6a 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarCompany.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarCompany.java @@ -25,8 +25,8 @@ public class CarCompany { /** * 企业表 */ - @TableId(value = "company_id",type = IdType.AUTO) - private Long companyId; + @TableId(value = "enterprise_id",type = IdType.AUTO) + private Long enterpriseId; /** * 企业名称 */ diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarManage.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarManage.java index ac5dce5..ba29ecf 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarManage.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/CarManage.java @@ -105,7 +105,7 @@ public class CarManage { /** * 汽车所属企业id */ - private Long companyId; + private Long enterpriseId; } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/dto/CarDTO.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/dto/CarDTO.java index 5887849..317b82e 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/dto/CarDTO.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/dto/CarDTO.java @@ -22,7 +22,7 @@ public class CarDTO { /** * 车辆企业 */ - private Long companyId; + private Long enterpriseId; /** * 车辆配置 */ diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/vo/CarVO.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/vo/CarVO.java index 0167013..c52f4d1 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/vo/CarVO.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-common/src/main/java/com/muyu/enterprise/domain/vo/CarVO.java @@ -94,7 +94,7 @@ public class CarVO { /** 所属企业 */ - private Long companyId; + private Long enterpriseId; diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/pom.xml b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/pom.xml index 633496c..1b8d85c 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/pom.xml +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/pom.xml @@ -83,6 +83,12 @@ cloud-modules-enterprise-cache + + + org.springframework.cloud + spring-cloud-starter-openfeign + + com.muyu diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/OpenFen/SysEntFallbackFactory.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/OpenFen/SysEntFallbackFactory.java new file mode 100644 index 0000000..305b08e --- /dev/null +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/OpenFen/SysEntFallbackFactory.java @@ -0,0 +1,17 @@ +package com.muyu.enterprise.OpenFen; + + +import org.springframework.stereotype.Component; + +/** + * 企业远调 + * @ClassName SysEntOpenFen + * @Description SysEntOpenFen:类的描述 + * @Date 2024/10/7 11:52 + * @author MingWei.Zong(微醺) + */ + +@Component +public class SysEntFallbackFactory { + +} diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarCompanyController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarCompanyController.java index 8e86b37..817f58d 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarCompanyController.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarCompanyController.java @@ -33,15 +33,19 @@ public class CarCompanyController extends BaseController { @PostMapping("selectCompany") public Result> selectCompany(){ startPage(); - return Result.success(sysCarCompanyService.list()); + List list = sysCarCompanyService.list(); + list.forEach(carCompany -> { + + }); + return Result.success(list); } /** * 通过ID查询企业 */ @PostMapping("selectCompanyByCompanyId") - public Result selectCompanyByCompanyId(@RequestParam("companyId") Long companyId){ - return Result.success(sysCarCompanyService.selectCompanyByCompanyId(companyId)); + public Result selectCompanyByCompanyId(@RequestParam("enterpriseId") Long enterpriseId){ + return Result.success(sysCarCompanyService.selectCompanyByCompanyId(enterpriseId)); } } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java index 9388b53..2f2399f 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java @@ -50,6 +50,7 @@ public class CarManageController extends BaseController { @PostMapping("/carListShow2") public Result> carListShow2(@RequestBody CarDTO carDTO){ startPage(); + // 存到缓存中去 return Result.success(sysCarService.carListShow2(carDTO)); } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarMessageController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarMessageController.java index 9f2271a..ed37436 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarMessageController.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarMessageController.java @@ -9,7 +9,6 @@ import com.muyu.enterprise.domain.CarMessage; import com.muyu.enterprise.service.CarMessageService; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarCompanyService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarCompanyService.java index 5e8977b..e09aaf0 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarCompanyService.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarCompanyService.java @@ -11,11 +11,10 @@ import com.muyu.enterprise.domain.CarCompany; */ public interface CarCompanyService extends IService { /** - * - * @param companyId + * @param enterpriseId * @return */ - CarCompany selectCompanyByCompanyId(Long companyId); + CarCompany selectCompanyByCompanyId(Long enterpriseId); diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarCompanyServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarCompanyServiceImpl.java index 2ce1df0..ecd3afa 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarCompanyServiceImpl.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarCompanyServiceImpl.java @@ -33,12 +33,12 @@ public class CarCompanyServiceImpl extends ServiceImpl 0, CarManage::getCarStatus, carManage.getCarStatus()) - .eq(carManage.getCompanyId() != null && carManage.getCompanyId() > 0, CarManage::getCompanyId, carManage.getCompanyId()) + .eq(carManage.getEnterpriseId() != null && carManage.getEnterpriseId() > 0, CarManage::getEnterpriseId, carManage.getEnterpriseId()) .list(); // List list = list(); @@ -69,9 +72,13 @@ public class CarManageServiceImpl extends ServiceImpl 0, CarManage::getCarStatus, carManage.getCarStatus()) - .eq(carManage.getCompanyId() != null && carManage.getCompanyId() > 0, CarManage::getCompanyId, carManage.getCompanyId()) + .eq(carManage.getEnterpriseId() != null && carManage.getEnterpriseId() > 0, CarManage::getEnterpriseId, carManage.getEnterpriseId()) ); diff --git a/pom.xml b/pom.xml index 473f6f4..ff352ab 100644 --- a/pom.xml +++ b/pom.xml @@ -218,6 +218,13 @@ ${muyu.version} + + + io.springfox + springfox-swagger2 + ${swagger.fox.version} + + com.muyu From 293e58809cb51f770f78c66853da0e9ab2dfdb52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=AE=E9=86=BA?= <14463847+zmw770157181@user.noreply.gitee.com> Date: Mon, 7 Oct 2024 19:38:31 +0800 Subject: [PATCH 2/2] =?UTF-8?q?1.feat():=20=E6=B7=BB=E5=8A=A0:=202.fix():?= =?UTF-8?q?=20=E4=BF=AE=E5=A4=8D=E4=BA=86:=20=E4=B9=8B=E5=89=8D=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=9A=84=E5=B0=81=E8=A3=85=E7=9A=84=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新时间10071938 --- .../common/cache/config/CacheAbsBasic.java | 42 ------------------- .../muyu/common/cache/config/CacheBasic.java | 29 ------------- .../controller/CarManageController.java | 6 +-- .../enterprise/service/CarManageService.java | 10 +++-- .../service/impl/CarManageServiceImpl.java | 7 ++++ 5 files changed, 15 insertions(+), 79 deletions(-) diff --git a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheAbsBasic.java b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheAbsBasic.java index a09d865..165845e 100644 --- a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheAbsBasic.java +++ b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheAbsBasic.java @@ -24,48 +24,6 @@ public abstract class CacheAbsBasic implements CacheBasic { redisService.setCacheObject(encode(key),value); } - /** - * 获取缓存中车辆的数据 - * @param key - * @return - */ - @Override - public V getManage(K key) { - return redisService.getCacheObject(encode(key)); - } - - /** - * 将数据存入缓存 - * @param key - * @param value - */ - @Override - public void putManage(K key, V value) { - redisService.setCacheObject(encode(key),value); - } - - - /** - * 获取缓存中故障的数据 - * @param key - * @return - */ - @Override - public V getFault(K key) { - return redisService.getCacheObject(encode(key)); - } - - /** - * 将数据存入故障缓存 - * @param key - * @param value - */ - @Override - public void putFault(K key, V value) { - redisService.setCacheObject(encode(key),value); - } - - @Override public V get(K key) { return redisService.getCacheObject(encode(key)); diff --git a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheBasic.java b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheBasic.java index 98018eb..7ce9015 100644 --- a/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheBasic.java +++ b/cloud-common/cloud-common-cache/src/main/java/com/muyu/common/cache/config/CacheBasic.java @@ -12,35 +12,6 @@ import java.awt.image.Kernel; public interface CacheBasic extends PrimaryKeyBasic{ - /** - * 将数据存入车辆缓存 - * @param key - * @param value - */ - void putManage(K key,V value); - - /** - * 获取缓存中故障的数据 - * @param key - * @return - */ - V getFault(K key); - - /** - * 将数据存入故障缓存 - * @param key - * @param value - */ - void putFault(K key,V value); - - /** - * 获取缓存中车辆的数据 - * @param key - * @return - */ - V getManage(K key); - - void put(K key,V value); V get(K key); diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java index 2f2399f..6921566 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/controller/CarManageController.java @@ -88,10 +88,8 @@ public class CarManageController extends BaseController { // 随机生成VIN码 String key2 = RandomUtil.randomNumbers(17); carVO.setCarVin(key2); - sysCarService.save(carVO); - // 存到缓存中去 - carManageCacheService.putManage(carVO.getCarVin(),new CarManage()); - return Result.success("车辆添加成功"); + sysCarService.insertCar(carVO); + return Result.success("添加成功"); } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarManageService.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarManageService.java index 58ff3ad..c04c6fd 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarManageService.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/CarManageService.java @@ -28,8 +28,10 @@ public interface CarManageService extends IService { */ List CarListShow(CarDTO carDTO); - - - - + /** + * 车辆添加 + * @param carVO + * @return + */ + void insertCar(CarManage carVO); } diff --git a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarManageServiceImpl.java b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarManageServiceImpl.java index 300928b..72f550c 100644 --- a/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarManageServiceImpl.java +++ b/cloud-modules/cloud-modules-enterprise/cloud-modules-enterprise-server/src/main/java/com/muyu/enterprise/service/impl/CarManageServiceImpl.java @@ -103,5 +103,12 @@ public class CarManageServiceImpl extends ServiceImpl