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 + + + + + + + + + + + + + + + + + +