commit 555698236d0ff321c98cdd5255a7edaf1da5c573
Author: 冯凯 <371894675@qq.com>
Date: Tue Nov 21 14:17:36 2023 +0800
add
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..09bdfea
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,46 @@
+######################################################################
+# Build Tools
+
+.gradle
+/build/
+!gradle/wrapper/gradle-wrapper.jar
+
+target/
+!.mvn/wrapper/maven-wrapper.jar
+
+######################################################################
+# IDE
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### JRebel ###
+rebel.xml
+### NetBeans ###
+nbproject/private/
+build/*
+nbbuild/
+dist/
+nbdist/
+.nb-gradle/
+
+######################################################################
+# Others
+*.log
+*.xml.versionsBackup
+*.swp
+
+!*/build/*.java
+!*/build/*.html
+!*/build/*.xml
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..38606cd
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,18 @@
+#起始镜像
+FROM anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/openjdk:17-8.6
+#暴露端口号
+EXPOSE 10014
+#挂载目录的位置
+VOLUME /home/logs/vehicle-firm-server
+#构建复制外部文件到docker
+COPY vehicle-firm-server/target/vehicle-firm-server.jar /home/app.jar
+#工作目录 exec -it 进入容器内部后的默认的起始目录
+WORKDIR /home
+ENV TIME_ZONE Asia/Shanghai
+#指定东八区
+RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
+
+#启动java 程序
+ENTRYPOINT ["java","-Dfile.encoding=UTF-8","-jar","/home/app.jar"]
+
+
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..dfbd5af
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+ com.dragon
+ dragon-modules
+ 3.6.3
+
+ com.dragon
+ dragon-vehicle-firm
+ 3.6.3
+ pom
+ dragon-vehicle-firm车辆公司管理模块
+
+ vehicle-firm-common
+ vehicle-firm-remote
+ vehicle-firm-server
+
+
+ 17
+ 17
+ UTF-8
+
+
+
diff --git a/vehicle-firm-common/pom.xml b/vehicle-firm-common/pom.xml
new file mode 100644
index 0000000..fe00b68
--- /dev/null
+++ b/vehicle-firm-common/pom.xml
@@ -0,0 +1,26 @@
+
+
+ 4.0.0
+
+ com.dragon
+ dragon-vehicle-firm
+ 3.6.3
+
+ 3.6.3
+ vehicle-firm-common
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+ com.dragon
+ dragon-common-core
+ 3.6.3
+
+
+
diff --git a/vehicle-firm-common/src/main/java/com/dragon/vehicle/firm/domain/cache/FirmInfoCache.java b/vehicle-firm-common/src/main/java/com/dragon/vehicle/firm/domain/cache/FirmInfoCache.java
new file mode 100644
index 0000000..ec40123
--- /dev/null
+++ b/vehicle-firm-common/src/main/java/com/dragon/vehicle/firm/domain/cache/FirmInfoCache.java
@@ -0,0 +1,85 @@
+package com.dragon.vehicle.firm.domain.cache;
+
+import com.dragon.common.core.annotation.Excel;
+import com.dragon.common.core.web.domain.BaseEntity;
+import com.dragon.vehicle.firm.domain.common.FirmInfo;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author 冯凯
+ * @version 1.0
+ * @description: 公司信息缓存
+ * @date 2023/11/21 10:51
+ */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class FirmInfoCache{
+
+ /**
+ * 编号
+ */
+ private String firmId;
+ /**
+ * 企业名称
+ */
+ private String firmName;
+ /**
+ * 企业联系方式
+ */
+ private String firmTel;
+ /**
+ * 企业联系地址
+ */
+ @Excel(name = "企业联系地址")
+ private String firmAddress;
+ /**
+ * 法定代表人
+ */
+ private String firmRepresentative;
+ /**
+ * 法人联系方式
+ */
+ private String firmRepresentativePhone;
+ /**
+ * 法人身份证号
+ */
+ private String firmRepresentativeId;
+ /**
+ * 公司开户银行
+ */
+ private String firmBank;
+ /**
+ * 开户行支行
+ */
+ private String firmBankBranch;
+ /**
+ * 银行账户
+ */
+ private String firmBankAccount;
+ /**
+ * 企业营业执照号
+ */
+ private String firmBusinessLicense;
+ /**
+ * 统一社会信用代码
+ */
+ private String firmSocialCredit;
+
+ /**
+ * 创建人id
+ */
+ private Long createBy;
+
+ public static FirmInfoCache getCache(FirmInfo firmInfo) {
+ return FirmInfoCache.builder()
+ .firmName(firmInfo.getFirmName())
+ .firmTel(firmInfo.getFirmTel())
+ .firmAddress(firmInfo.getFirmAddress()).
+ build();
+ }
+}
diff --git a/vehicle-firm-common/src/main/java/com/dragon/vehicle/firm/domain/common/FirmInfo.java b/vehicle-firm-common/src/main/java/com/dragon/vehicle/firm/domain/common/FirmInfo.java
new file mode 100644
index 0000000..c205507
--- /dev/null
+++ b/vehicle-firm-common/src/main/java/com/dragon/vehicle/firm/domain/common/FirmInfo.java
@@ -0,0 +1,85 @@
+package com.dragon.vehicle.firm.domain.common;
+
+import com.dragon.common.core.annotation.Excel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author 冯凯
+ * @version 1.0
+ * @description: 企业信息
+ * @date 2023/11/21 10:41
+ */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class FirmInfo {
+ /**
+ *编号
+ */
+ @Excel(name = "编号")
+ private String firmId;
+ /**
+ *企业名称
+ */
+ @Excel(name = "企业名称")
+ private String firmName;
+ /**
+ *企业联系方式
+ */
+ @Excel(name = "企业联系方式")
+ private String firmTel;
+ /**
+ *企业联系地址
+ */
+ @Excel(name = "企业联系地址")
+ private String firmAddress;
+ /**
+ *法定代表人
+ */
+ @Excel(name = "法定代表人")
+ private String firmRepresentative;
+ /**
+ *法人联系方式
+ */
+ @Excel(name = "法人联系方式")
+ private String firmRepresentativePhone;
+ /**
+ *法人身份证号
+ */
+ @Excel(name = "法人身份证号")
+ private String firmRepresentativeId;
+ /**
+ *公司开户银行
+ */
+ @Excel(name = "公司开户银行")
+ private String firmBank;
+ /**
+ *开户行支行
+ */
+ @Excel(name = "开户行支行")
+ private String firmBankBranch;
+ /**
+ *银行账户
+ */
+ @Excel(name = "银行账户")
+ private String firmBankAccount;
+ /**
+ *企业营业执照号
+ */
+ @Excel(name = "企业营业执照号")
+ private String firmBusinessLicense;
+ /**
+ *统一社会信用代码
+ */
+ @Excel(name = "统一社会信用代码")
+ private String firmSocialCredit;
+
+ /**
+ *创建人id
+ */
+ private Long createBy;
+}
diff --git a/vehicle-firm-remote/pom.xml b/vehicle-firm-remote/pom.xml
new file mode 100644
index 0000000..84d4032
--- /dev/null
+++ b/vehicle-firm-remote/pom.xml
@@ -0,0 +1,26 @@
+
+
+ 4.0.0
+
+ com.dragon
+ dragon-vehicle-firm
+ 3.6.3
+
+ 3.6.3
+ vehicle-firm-remote
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+ com.dragon
+ vehicle-firm-common
+ 3.6.3
+
+
+
diff --git a/vehicle-firm-remote/src/main/java/dragon/vehicle/firm/remote/RemoteFirmService.java b/vehicle-firm-remote/src/main/java/dragon/vehicle/firm/remote/RemoteFirmService.java
new file mode 100644
index 0000000..0e6989a
--- /dev/null
+++ b/vehicle-firm-remote/src/main/java/dragon/vehicle/firm/remote/RemoteFirmService.java
@@ -0,0 +1,10 @@
+package dragon.vehicle.firm.remote;
+
+/**
+ * @author 冯凯
+ * @version 1.0
+ * @description:
+ * @date 2023/11/20 13:40
+ */
+public interface RemoteFirmService {
+}
diff --git a/vehicle-firm-remote/src/main/java/dragon/vehicle/firm/remote/factory/RemoteFirmServiceFallbackFactory.java b/vehicle-firm-remote/src/main/java/dragon/vehicle/firm/remote/factory/RemoteFirmServiceFallbackFactory.java
new file mode 100644
index 0000000..30b9ca5
--- /dev/null
+++ b/vehicle-firm-remote/src/main/java/dragon/vehicle/firm/remote/factory/RemoteFirmServiceFallbackFactory.java
@@ -0,0 +1,14 @@
+package dragon.vehicle.firm.remote.factory;
+
+import dragon.vehicle.firm.remote.RemoteFirmService;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author 冯凯
+ * @version 1.0
+ * @description:
+ * @date 2023/11/20 13:40
+ */
+@Component
+public class RemoteFirmServiceFallbackFactory implements RemoteFirmService {
+}
diff --git a/vehicle-firm-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/vehicle-firm-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
new file mode 100644
index 0000000..076a912
--- /dev/null
+++ b/vehicle-firm-remote/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -0,0 +1 @@
+dragon.vehicle.firm.remote.factory.RemoteFirmServiceFallbackFactory
diff --git a/vehicle-firm-server/pom.xml b/vehicle-firm-server/pom.xml
new file mode 100644
index 0000000..9d62337
--- /dev/null
+++ b/vehicle-firm-server/pom.xml
@@ -0,0 +1,118 @@
+
+
+ 4.0.0
+
+ com.dragon
+ dragon-vehicle-firm
+ 3.6.3
+
+ 3.6.3
+ vehicle-firm-server
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+ com.dragon
+ vehicle-firm-common
+ 3.6.3
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-config
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-sentinel
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+
+
+
+
+ io.springfox
+ springfox-swagger-ui
+ ${swagger.fox.version}
+
+
+
+
+ com.mysql
+ mysql-connector-j
+
+
+
+
+ com.dragon
+ dragon-common-datasource
+
+
+
+
+ com.dragon
+ dragon-common-datascope
+
+
+
+
+ com.dragon
+ dragon-common-log
+
+
+
+ com.dragon
+ dragon-common-swagger
+
+
+ com.dragon
+ dragon-file-remote
+
+
+ com.dragon
+ dragon-system-remote
+
+
+
+
+ ${project.artifactId}
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+
+ true
+
+
+ org.apache.maven.pluginsmaven-compiler-plugin1616
+
+
+
diff --git a/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/DragonVehicleFirmApplication.java b/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/DragonVehicleFirmApplication.java
new file mode 100644
index 0000000..ab6a578
--- /dev/null
+++ b/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/DragonVehicleFirmApplication.java
@@ -0,0 +1,24 @@
+package dragon.vehicle.firm.server;
+
+import com.dragon.common.security.annotation.EnableCustomConfig;
+import com.dragon.common.security.annotation.EnableDragonFeignClients;
+import com.dragon.common.swagger.annotation.EnableCustomSwagger2;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * @author 冯凯
+ * @version 1.0
+ * @description:
+ * @date 2023/11/20 9:01
+ */
+@EnableCustomConfig
+@EnableCustomSwagger2
+@EnableDragonFeignClients
+@SpringBootApplication
+public class DragonVehicleFirmApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(DragonVehicleFirmApplication.class, args);
+ System.out.println("车辆firm模块启动成功=====================");
+ }
+}
diff --git a/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/controller/FirmController.java b/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/controller/FirmController.java
new file mode 100644
index 0000000..5b7ce90
--- /dev/null
+++ b/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/controller/FirmController.java
@@ -0,0 +1,41 @@
+package dragon.vehicle.firm.server.controller;
+
+import com.dragon.common.core.domain.Result;
+import com.dragon.common.security.utils.SecurityUtils;
+import com.dragon.vehicle.firm.domain.cache.FirmInfoCache;
+import dragon.vehicle.firm.server.service.FirmService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author 冯凯
+ * @version 1.0
+ * @description: 公司控制层
+ * @date 2023/11/21 13:52
+ */
+@RestController
+@RequestMapping("/firm")
+public class FirmController {
+
+ /**
+ *注入公司service
+ */
+ @Autowired
+ private FirmService firmService;
+
+ /***
+ * @description: 通过userId获取用户的公司
+ * @param: * @param userId
+ * @return: Result
+ * @author 冯凯
+ * @date: 2023/11/21 13:55
+ */
+ @GetMapping("/by/userId")
+ public Result getFirmInfoByUserId(){
+ Long userId = SecurityUtils.getUserId();
+ FirmInfoCache firmInfoCache=firmService.getFirmInfoByUserId(userId);
+ return Result.success(firmInfoCache);
+ }
+}
diff --git a/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/mapper/FirmMapper.java b/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/mapper/FirmMapper.java
new file mode 100644
index 0000000..0b3efac
--- /dev/null
+++ b/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/mapper/FirmMapper.java
@@ -0,0 +1,15 @@
+package dragon.vehicle.firm.server.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.dragon.vehicle.firm.domain.common.FirmInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author 冯凯
+ * @version 1.0
+ * @description:
+ * @date 2023/11/21 13:57
+ */
+@Mapper
+public interface FirmMapper extends BaseMapper {
+}
diff --git a/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/service/FirmService.java b/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/service/FirmService.java
new file mode 100644
index 0000000..73f5eb8
--- /dev/null
+++ b/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/service/FirmService.java
@@ -0,0 +1,24 @@
+package dragon.vehicle.firm.server.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.dragon.vehicle.firm.domain.cache.FirmInfoCache;
+import com.dragon.vehicle.firm.domain.common.FirmInfo;
+
+/**
+ * @author 冯凯
+ * @version 1.0
+ * @description:
+ * @date 2023/11/21 13:57
+ */
+public interface FirmService extends IService {
+
+
+ /***
+ * @description: 通过userId获取用户的公司
+ * @param: * @param userId
+ * @return: Result
+ * @author 冯凯
+ * @date: 2023/11/21 13:55
+ */
+ FirmInfoCache getFirmInfoByUserId(Long userId);
+}
diff --git a/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/service/impl/FirmServiceImpl.java b/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/service/impl/FirmServiceImpl.java
new file mode 100644
index 0000000..50075f4
--- /dev/null
+++ b/vehicle-firm-server/src/main/java/dragon/vehicle/firm/server/service/impl/FirmServiceImpl.java
@@ -0,0 +1,48 @@
+package dragon.vehicle.firm.server.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dragon.common.redis.service.RedisService;
+import com.dragon.vehicle.firm.domain.cache.FirmInfoCache;
+import com.dragon.vehicle.firm.domain.common.FirmInfo;
+import dragon.vehicle.firm.server.mapper.FirmMapper;
+import dragon.vehicle.firm.server.service.FirmService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.Assert;
+
+/**
+ * @author 冯凯
+ * @version 1.0
+ * @description:
+ * @date 2023/11/21 13:57
+ */
+@Service
+public class FirmServiceImpl extends ServiceImpl implements FirmService {
+
+ @Autowired
+ private FirmMapper firmMapper;
+
+ @Autowired
+ private RedisService redisService;
+
+ /***
+ * @description: 通过userId获取用户的公司
+ * @param: * @param userId
+ * @return: Result
+ * @author 冯凯
+ * @date: 2023/11/21 13:55
+ */
+ @Override
+ public FirmInfoCache getFirmInfoByUserId(Long userId) {
+ FirmInfoCache firmInfoCache=null;
+ if (redisService.hasKey("firm"+userId)){
+ firmInfoCache=redisService.getCacheObject("firm"+userId);
+ }
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ Assert.notNull(userId,"用户不能为空");
+ queryWrapper.eq(FirmInfo::getCreateBy,userId);
+ firmInfoCache= FirmInfoCache.getCache(firmMapper.selectOne(queryWrapper));
+ return firmInfoCache;
+ }
+}
diff --git a/vehicle-firm-server/src/main/resources/banner.txt b/vehicle-firm-server/src/main/resources/banner.txt
new file mode 100644
index 0000000..0dd5eee
--- /dev/null
+++ b/vehicle-firm-server/src/main/resources/banner.txt
@@ -0,0 +1,2 @@
+Spring Boot Version: ${spring-boot.version}
+Spring Application Name: ${spring.application.name}
diff --git a/vehicle-firm-server/src/main/resources/bootstrap.yml b/vehicle-firm-server/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..085e61b
--- /dev/null
+++ b/vehicle-firm-server/src/main/resources/bootstrap.yml
@@ -0,0 +1,28 @@
+# Tomcat
+server:
+ port: 10014
+
+# Spring
+spring:
+ application:
+ # 应用名称
+ name: dragon-vehicle-firm
+ profiles:
+ # 环境配置
+ active: dev
+ cloud:
+ nacos:
+ discovery:
+ # 服务注册地址
+ server-addr: 10.100.1.5:8848
+ config:
+ # 配置中心地址
+ server-addr: 10.100.1.5:8848
+ # 配置文件格式
+ file-extension: yml
+ # 共享配置
+ shared-configs:
+ - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
+mybatis-plus:
+ configuration:
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
diff --git a/vehicle-firm-server/src/main/resources/logback.xml b/vehicle-firm-server/src/main/resources/logback.xml
new file mode 100644
index 0000000..ff77a60
--- /dev/null
+++ b/vehicle-firm-server/src/main/resources/logback.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ ${log.pattern}
+
+
+
+
+
+ ${log.path}/info.log
+
+
+
+ ${log.path}/info.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ INFO
+
+ ACCEPT
+
+ DENY
+
+
+
+
+ ${log.path}/error.log
+
+
+
+ ${log.path}/error.%d{yyyy-MM-dd}.log
+
+ 60
+
+
+ ${log.pattern}
+
+
+
+ ERROR
+
+ ACCEPT
+
+ DENY
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+