Commit 23a37a19 authored by 周健威's avatar 周健威

调整项目+添加给app的分店接口

parent 4227c8d1
...@@ -3,12 +3,12 @@ ...@@ -3,12 +3,12 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<artifactId>platform-common</artifactId>
<groupId>com.xxfc.common</groupId> <groupId>com.xxfc.common</groupId>
<artifactId>xx-common-platform</artifactId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.xxfc.platform</groupId> <groupId>com.xxfc.platform</groupId>
<artifactId>application-api</artifactId> <artifactId>app-api</artifactId>
</project> </project>
\ No newline at end of file
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<artifactId>platform-web-common</artifactId>
<groupId>com.xxfc.common</groupId> <groupId>com.xxfc.common</groupId>
<artifactId>xx-common-platform-web</artifactId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>application-server</artifactId> <artifactId>app-server</artifactId>
<properties> <properties>
<mapper.version>3.4.0</mapper.version> <mapper.version>3.4.0</mapper.version>
...@@ -19,14 +19,14 @@ ...@@ -19,14 +19,14 @@
<!-- 自己项目 --> <!-- 自己项目 -->
<dependency> <dependency>
<groupId>com.xxfc.platform</groupId> <groupId>com.xxfc.platform</groupId>
<artifactId>application-api</artifactId> <artifactId>app-api</artifactId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<finalName>application-server</finalName> <finalName>app-server</finalName>
<plugins> <plugins>
<!-- 此插件用来生成通用mapper的代码 --> <!-- 此插件用来生成通用mapper的代码 -->
<plugin> <plugin>
......
package com.xxfc.platform.application; package com.xxfc.platform.app;
import com.ace.cache.EnableAceCache; import com.ace.cache.EnableAceCache;
import com.github.wxiaoqi.security.auth.client.EnableAceAuthClient; import com.github.wxiaoqi.security.auth.client.EnableAceAuthClient;
...@@ -14,14 +14,14 @@ import org.springframework.scheduling.annotation.EnableScheduling; ...@@ -14,14 +14,14 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@EnableDiscoveryClient @EnableDiscoveryClient
@EnableScheduling @EnableScheduling
@EnableAceAuthClient @EnableAceAuthClient
@EnableFeignClients({"com.github.wxiaoqi.security.auth.client.feign", "com.xxfc.platform.order.feign"}) @EnableFeignClients({"com.github.wxiaoqi.security.auth.client.feign", "com.xxfc.platform.app.feign"})
@EnableAceCache @EnableAceCache
@MapperScan("com.xxfc.platform.order.mapper") @MapperScan("com.xxfc.platform.app.mapper")
@EnableSwagger2Doc @EnableSwagger2Doc
public class ApplicationApplication { public class AppApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(ApplicationApplication.class, args); SpringApplication.run(AppApplication.class, args);
} }
......
...@@ -9,12 +9,12 @@ ...@@ -9,12 +9,12 @@
</parent> </parent>
<groupId>com.xxfc.platform</groupId> <groupId>com.xxfc.platform</groupId>
<modules> <modules>
<module>application-api</module> <module>app-api</module>
<module>application-server</module> <module>app-server</module>
</modules> </modules>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging> <packaging>pom</packaging>
<artifactId>application</artifactId> <artifactId>app</artifactId>
</project> </project>
\ No newline at end of file
...@@ -42,8 +42,9 @@ ...@@ -42,8 +42,9 @@
<module>xx-third-party-api</module> <module>xx-third-party-api</module>
<module>vehicle</module> <module>vehicle</module>
<module>application</module> <module>application</module>
<module>common</module> <module>xx-common</module>
<module>order</module> <module>xx-order</module>
<module>xx-vehicle</module>
</modules> </modules>
<packaging>pom</packaging> <packaging>pom</packaging>
<developers> <developers>
......
...@@ -62,9 +62,6 @@ ...@@ -62,9 +62,6 @@
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency> </dependency>
<!--nacos相关配置--> <!--nacos相关配置-->
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
......
...@@ -12,7 +12,7 @@ spring: ...@@ -12,7 +12,7 @@ spring:
profiles: profiles:
active: dev active: dev
application: application:
name: vehicle name: xx-vehicle
cloud: cloud:
nacos: nacos:
config: config:
......
...@@ -9,14 +9,12 @@ ...@@ -9,14 +9,12 @@
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>com.xxfc</groupId> <groupId>com.xxfc</groupId>
<artifactId>common</artifactId> <artifactId>xx-common</artifactId>
<packaging>pom</packaging> <packaging>pom</packaging>
<modules> <modules>
<module>platform-common</module> <module>xx-common-platform</module>
<module>platform-web-common</module> <module>xx-common-platform-web</module>
</modules> </modules>
</project> </project>
\ No newline at end of file
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<artifactId>platform-common</artifactId> <artifactId>xx-common-platform</artifactId>
<groupId>com.xxfc.common</groupId> <groupId>com.xxfc.common</groupId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>platform-web-common</artifactId> <artifactId>xx-common-platform-web</artifactId>
<properties> <properties>
<java.version>1.8</java.version> <java.version>1.8</java.version>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
</targetResourcesProject> </targetResourcesProject>
<targetXMLPackage>mapper</targetXMLPackage> <targetXMLPackage>mapper</targetXMLPackage>
<!-- 依赖版本 --> <!-- 依赖版本 -->
<mapper.version>3.4.0</mapper.version> <!-- <mapper.version>3.4.0</mapper.version>-->
<mybatis.version>3.3.1</mybatis.version> <mybatis.version>3.3.1</mybatis.version>
<mybatis.spring.version>1.2.4</mybatis.spring.version> <mybatis.spring.version>1.2.4</mybatis.spring.version>
<poi.version>3.15</poi.version> <poi.version>3.15</poi.version>
...@@ -51,11 +51,7 @@ ...@@ -51,11 +51,7 @@
<dependency> <dependency>
<groupId>org.mybatis.spring.boot</groupId> <groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId> <artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version> <version>1.3.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency> </dependency>
<!-- druid --> <!-- druid -->
<dependency> <dependency>
...@@ -67,7 +63,7 @@ ...@@ -67,7 +63,7 @@
<dependency> <dependency>
<groupId>tk.mybatis</groupId> <groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId> <artifactId>mapper-spring-boot-starter</artifactId>
<version>1.1.2</version> <version>2.1.5</version>
</dependency> </dependency>
<!-- 缓存 --> <!-- 缓存 -->
...@@ -100,16 +96,6 @@ ...@@ -100,16 +96,6 @@
</dependency> </dependency>
<!--引入开源后台项目的公共包--> <!--引入开源后台项目的公共包-->
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-common</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-interface</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
<dependency> <dependency>
<groupId>com.github.wxiaoqi</groupId> <groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-auth-client</artifactId> <artifactId>ace-auth-client</artifactId>
......
...@@ -8,27 +8,72 @@ ...@@ -8,27 +8,72 @@
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>platform-common</artifactId> <artifactId>xx-common-platform</artifactId>
<groupId>com.xxfc.common</groupId> <groupId>com.xxfc.common</groupId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<properties> <properties>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<poi.version>3.15</poi.version>
</properties> </properties>
<dependencies> <dependencies>
<!-- ace --> <!-- 引入开源后台项目的公共包 ace -->
<dependency> <dependency>
<groupId>com.github.wxiaoqi</groupId> <groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-common</artifactId> <artifactId>ace-common</artifactId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.github.wxiaoqi</groupId>
<artifactId>ace-interface</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency> </dependency>
<!-- 持久层 --> <!-- 持久层 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.github.pagehelper</groupId> <groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId> <artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version> <version>1.2.10</version>
</dependency>
<!-- excel 组件 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>${poi.version}</version>
<exclusions>
<exclusion>
<artifactId>stax-api</artifactId>
<groupId>stax</groupId>
</exclusion>
</exclusions>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>
\ No newline at end of file
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
<artifactId>order</artifactId> <artifactId>order</artifactId>
<modules> <modules>
<module>order-server</module> <module>xx-order-server</module>
<module>order-api</module> <module>xx-order-api</module>
</modules> </modules>
</project> </project>
\ No newline at end of file
...@@ -3,12 +3,12 @@ ...@@ -3,12 +3,12 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<artifactId>platform-common</artifactId> <artifactId>xx-common-platform</artifactId>
<groupId>com.xxfc.common</groupId> <groupId>com.xxfc.common</groupId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
<groupId>com.xxfc.platform</groupId> <groupId>com.xxfc.platform</groupId>
<artifactId>order-api</artifactId> <artifactId>xx-order-api</artifactId>
</project> </project>
\ No newline at end of file
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<artifactId>platform-web-common</artifactId> <artifactId>xx-common-platform-web</artifactId>
<groupId>com.xxfc.common</groupId> <groupId>com.xxfc.common</groupId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
</parent> </parent>
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<!-- 自己项目 --> <!-- 自己项目 -->
<dependency> <dependency>
<groupId>com.xxfc.platform</groupId> <groupId>com.xxfc.platform</groupId>
<artifactId>order-api</artifactId> <artifactId>xx-order-api</artifactId>
<version>2.0-SNAPSHOT</version> <version>2.0-SNAPSHOT</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
......
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ace-security</artifactId>
<groupId>com.github.wxiaoqi</groupId>
<version>2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>xx-vehicle</artifactId>
<packaging>pom</packaging>
<modules>
<module>xx-vehicle-api</module>
<module>xx-vehicle-server</module>
</modules>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>com.xxfc.common</groupId>
<artifactId>xx-common-platform</artifactId>
<version>2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>com.xxfc.platform</groupId>
<artifactId>xx-vehicle-api</artifactId>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
</dependencies>
</project>
\ No newline at end of file
package com.xxfc.platform.vehicle.common;
public class CustomIllegalParamException extends RuntimeException {
public CustomIllegalParamException(String msg){
super(msg);
}
}
package com.xxfc.platform.vehicle.common;
/**
* 以Integer代表布尔值时使用
*/
public class Int4Boolean {
public static final Integer TRUE = 1;
public static final Integer FALSE = 0;
}
package com.xxfc.platform.vehicle.common;
import com.github.wxiaoqi.security.common.msg.BaseResponse;
public class RestResponse<T> extends BaseResponse {
public static final Integer SUC_CODE = 1;
T data;
Integer code;
public RestResponse(){
code = SUC_CODE;
}
public static <M> RestResponse<M> sucResponse(){
return new RestResponse<M>();
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public static <M> RestResponse<M> data(M data){
RestResponse<M> restResponse = new RestResponse<M>();
restResponse.setData(data);
return restResponse;
}
public static <M> RestResponse<M> suc(){
return new RestResponse<M>();
}
public static <M> RestResponse<M> suc(M data){
RestResponse<M> restResponse = new RestResponse<M>();
restResponse.setData(data);
return restResponse;
}
public static <M> RestResponse<M> code(Integer code){
RestResponse<M> restResponse = new RestResponse<M>();
restResponse.setCode(code);
return restResponse;
}
public static <M> RestResponse<M> codeAndData(Integer code,M data){
RestResponse<M> restResponse = new RestResponse<M>();
restResponse.setCode(code);
restResponse.setData(data);
return restResponse;
}
public static <M> RestResponse<M> codeAndMessage(Integer code,String msg){
RestResponse<M> restResponse = new RestResponse<M>();
restResponse.setCode(code);
restResponse.setMessage(msg);
return restResponse;
}
}
package com.xxfc.platform.vehicle.constant;
import java.util.HashMap;
import java.util.Map;
public enum AccompanyingItemStatus {
NORMAL(1,"正常"),//这一类型不存在db中,只是用于查询所有国家
DELETED(2,"已删除"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
//Maps.newHashMap();
static{
for(AccompanyingItemStatus constantType : AccompanyingItemStatus.values()){
codeAndDesc.put(constantType.getCode(),constantType.getDesc());
}
}
AccompanyingItemStatus(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
package com.xxfc.platform.vehicle.constant;
import java.util.HashMap;
import java.util.Map;
public enum AccompanyingItemType {
TOOL(1,"随车工具"),//这一类型不存在db中,只是用于查询所有国家
EQUIPMENT(2,"随车配备"),
EQUIPABLE_ITEM(3,"可配物品"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
//Maps.newHashMap();
static{
for(AccompanyingItemType constantType : AccompanyingItemType.values()){
codeAndDesc.put(constantType.getCode(),constantType.getDesc());
}
}
AccompanyingItemType(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
package com.xxfc.platform.vehicle.constant;
import java.util.HashMap;
import java.util.Map;
public enum BookType {
USER_RENT(1,"用户租赁"),
EMPLOYEE_APPLY(2,"内部员工申请"),
REPAIRING(3,"维修"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
//Maps.newHashMap();
static{
for(BookType constantType : BookType.values()){
codeAndDesc.put(constantType.getCode(),constantType.getDesc());
}
}
BookType(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
package com.xxfc.platform.vehicle.constant;
import java.util.HashMap;
import java.util.Map;
public enum BranchCompanyStatus {
PREPARING(1,"筹备中"),
SOFT_OPING(2,"试业中"),
ADD_SELECTION(3,"选址中"),
OPEN(4,"已开业"),
RENOVATION(5,"装修中"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
//Maps.newHashMap();
static{
for(VehicleBookRecordStatus constantType : VehicleBookRecordStatus.values()){
codeAndDesc.put(constantType.getCode(),constantType.getDesc());
}
}
BranchCompanyStatus(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
package com.xxfc.platform.vehicle.constant;
/**
* 分公司股权购买申请状态
*/
public enum BranchCompanyStockApplyState {
Cancel(-1, "取消申请,放弃购买"),
Apply(0, "申请中"),
Buy(1, "确认购买");
private Integer code;
private String msg;
BranchCompanyStockApplyState(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
package com.xxfc.platform.vehicle.constant;
import java.util.HashMap;
import java.util.Map;
public enum ConstantType {
VEHICLE_BRAND(1,"车辆品牌"),
VEHICLE_USE(2,"车辆用途"),
INSURANCE_COMPANY(3,"保险公司"),
ZONE(4,"片区"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
//Maps.newHashMap();
static{
for(ConstantType constantType :ConstantType.values()){
codeAndDesc.put(constantType.getCode(),constantType.getDesc());
}
}
ConstantType(Integer code,String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
package com.xxfc.platform.vehicle.constant;
public class DbColumnConstant {
/**
* 字段
*/
public static final String ID ="id";
public static final String COMPANY_ZONE_ID ="zoneId";
public static final String COMPANY_COMPANY_ID ="companyId";
}
package com.xxfc.platform.vehicle.constant;
public class RedisKey {
/**
* 常量缓存key前缀
*/
public static final String CONSTANT_CACHE_PREFIX ="cache:constant:";
/**
* 地区常量缓存key前缀(子读取列表)
*/
public static final String SYS_REGION_SONS_CACHE_PREFIX ="cache:sysRegion:sons:";
/**
* 地区常量缓存key前缀(子读取列表)
*/
public static final String SYS_REGION_CACHE_PREFIX ="cache:sysRegion:";
/**
* 刷新常量缓存乐观锁前缀
*/
public static final String CONSTANT_REFRESH_LOCK_PREFIX ="lock:constant:";
/**
* 地区常量缓存key前缀
*/
public static final String SYS_REGION_REFRESH_LOCK ="lock:sysRegion:";
/**
* 迁移预定信息rediseky
*/
public static final String DEL_BOOK_INFO_LOCK_PREFIX ="lock:del:bookInfo:";
/**
* 迁移预定记录rediseky
*/
public static final String TRANSFER_BOOK_RECORD_LOCK_PREFIX ="lock:bookRecord:transfer";
/**
* 子公司列表缓存key前缀
*/
public static final String BRANCH_COMPANY_CACHE ="cache:brachCompany";
/**
* 子公司列表缓存key前缀
*/
public static final String BRANCH_COMPANY_CACHE_ALL = BRANCH_COMPANY_CACHE + ":all";
/**
* 片区对应的子公司缓存key前缀
*/
public static final String BRANCH_COMPANY_CACHE_DATAZONE = BRANCH_COMPANY_CACHE + ":dataZone{1}";
/**
* 营地列表缓存key前缀
*/
public static final String CAMPSITE_CACHE ="cache:campsite";
/**
* 营地列表缓存key前缀
*/
public static final String CAMPSITE_CACHE_ALL = CAMPSITE_CACHE + ":all";
/**
* 片区对应的营地缓存key前缀
*/
public static final String CAMPSITE_CACHE_DATAZONE = CAMPSITE_CACHE + ":dataZone{1}";
// 随车物品相关key
public static final String ACCOMPANYING_ITEM_CACHE_ALL ="cache:accompanyItem:all";
/**
* 服务器上传文件序号
*/
public static final String UPLOAD_FILE_NO_PREFIX ="upload:file:no:";
/**
* 预警信息检查乐观锁
*/
public static final String LOCK_VEHICLE_WARNING_MSG ="lock:vehicle:warningMsg";
/**
* 车辆预警,前一天检查的里程数redisKey前缀
*/
public static final String MILEAGE_LAST_DAY_PREFIX ="mileage:last_day:";
}
package com.xxfc.platform.vehicle.constant;
import java.util.HashMap;
import java.util.Map;
public enum RegionType {
ALL(-1,"全国"),//这一类型不存在db中,只是用于查询所有国家
COUNTRY(0,"国家"),
PROVINCE(1,"省/直辖市"),
CITY(2,"市"),
TOWN(3,"镇/县"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
//Maps.newHashMap();
static{
for(RegionType constantType : RegionType.values()){
codeAndDesc.put(constantType.getCode(),constantType.getDesc());
}
}
RegionType(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
package com.xxfc.platform.vehicle.constant.ResCode;
public enum ResCode {
AUTH_FAIL(-1,"权限验证不通过"),
INVALID_REST_REQ_PARAM(100000,"rest请求参数非法"),
//车辆信息相关返回码-预定信息
VEHICLE_BOOKED_INFO_ALREADY_CHANGED(101001,"车辆预定信息已更改,请刷新后继续操作"),
//车辆信息相关返回码-车辆信息
VEHICLE_INFO_SAME_NUM_PLATE_EXISTS(102001,"该车牌车辆已经存在"),
VEHICLE_INFO_BRANCH_NOT_EXIST(102002,"分公司信息非法"),
VEHICLE_INFO_CODE_EXIST(102003,"车辆编码已存在"),
//车辆信息相关返回码-预定申请信息
VEHICLE_BOOKED_RECORD_ALREADY_CHANGED(103001,"车辆预定申请已被审批,请刷新后继续操作"),
VEHICLE_BOOKED_RECORD_STATUS_CHANGED(103002,"车辆预定申请状态已变更,请刷新后继续操作"),
VEHICLE_DEPARTURE_VEHICLE_UNEXIST(104001,"车辆不存在"),
VEHICLE_DEPARTURE_VEHICLE_DISABLE(104002,"车辆不可用"),
VEHICLE_DEPARTURE_VEHICLE_UNDEPARTURE(104003,"车辆未出车"),
BRANCH_COMPANY_UNEXIST(105001, "分公司信息不存在"),
BRANCH_COMPANY_STOCK_EXISTED(105002, "分公司股权信息已存在"),
BRANCH_COMPANY_STOCK_UNEXIST(105003, "分公司股权信息不存在"),
BRANCH_COMPANY_STOCK_NO_BALANCE(105004, "分公司股权已售完"),
BRANCH_COMPANY_STOCK_BALANCE_NOT_ENOUGH(105005, "分公司股权剩余份额不足"),
BRANCH_COMPANY_STOCK_APPLY_INFO_UNEXIST(105006, "分公司股权购买申请信息不存在"),
BRANCH_COMPANY_STOCK_APPLY_INFO_STATE_LOCKED(105007, "分公司股权购买申请信息已确认"),
VEHICLE_UPKEEP_VEHICLE_UNEXIST(106001,"车辆不存在"),
VEHICLE_UPKEEP_VEHICLE_DISABLE(106002,"车辆不可用"),
VEHICLE_UPKEEP_ITEM_UNEXIST(106003, "保养项目不存在"),
VEHICLE_UPKEEP_VEHICLE_UNUPKEEP(106004, "车辆不在保养中"),
;
/**
* 返回码
*/
private Integer code;
/**
* 描述
*/
private String desc;
ResCode(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
package com.xxfc.platform.vehicle.constant;
/**
* 车辆活动类型
*/
public enum VehicleActiveType {
Departure(1, "出车"),
REPAIRING(2,"维修"),
DISCARD(3,"报废"),
UPKEEP(4, "保养");
Integer code;
String msg;
VehicleActiveType(Integer code, String msg) {
this.code = code;
this.msg = msg;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
package com.xxfc.platform.vehicle.constant;
import java.util.HashMap;
import java.util.Map;
public enum VehicleBelong2Type {
OWN(1,"欣新房车有限公司"),//自有
TRUST(2,"托管"),
RENTAL(3,"租赁"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
//Maps.newHashMap();
static{
for(VehicleBelong2Type constantType : VehicleBelong2Type.values()){
codeAndDesc.put(constantType.getCode(),constantType.getDesc());
}
}
VehicleBelong2Type(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
package com.xxfc.platform.vehicle.constant;
import java.util.HashMap;
import java.util.Map;
public enum VehicleBookRecordStatus {
APPLY(1,"申请中"),
APPROVE(2,"已通过"),
RETURNED(3,"已归还"),
REJECTED(4,"拒绝"),
RETURNED_OUT_DATE(5,"逾期归还"),
CANCEL_APPLY(6,"取消预订"),
LIFTED(7,"已提车"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
//Maps.newHashMap();
static{
for(VehicleBookRecordStatus constantType : VehicleBookRecordStatus.values()){
codeAndDesc.put(constantType.getCode(),constantType.getDesc());
}
}
VehicleBookRecordStatus(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
package com.xxfc.platform.vehicle.constant;
public class VehicleConstant {
}
package com.xxfc.platform.vehicle.constant;
/**
* 出车状态
*/
public enum VehicleDepartureState {
DEPARTURE(0, "出车"),
END(1, "结束");
private int code;
private String msg;
VehicleDepartureState(int code, String msg) {
this.code = code;
this.msg = msg;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
package com.xxfc.platform.vehicle.constant;
//import com.google.common.collect.Maps;
import java.util.HashMap;
import java.util.Map;
public enum VehicleMsgStatus {
NOT_PROCESSED(0,"未处理"),
PROCESSED(1,"已处理"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
//Maps.newHashMap();
static{
for(VehicleMsgStatus constantType : VehicleMsgStatus.values()){
codeAndDesc.put(constantType.getCode(),constantType.getDesc());
}
}
VehicleMsgStatus(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
package com.xxfc.platform.vehicle.constant;
import java.util.HashMap;
import java.util.Map;
public enum VehicleMsgType {
MAINTENANCE(1,"汽车保养提醒"),
REPAIR(2,"汽车维修提醒"),
CUSTOM(3,"自定义"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
//Maps.newHashMap();
static{
for(VehicleMsgType constantType : VehicleMsgType.values()){
codeAndDesc.put(constantType.getCode(),constantType.getDesc());
}
}
VehicleMsgType(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
package com.xxfc.platform.vehicle.constant;
import java.util.HashMap;
import java.util.Map;
public enum VehicleStatus {
NORMAL(1,"正常运行"),
REPAIRING(2,"维修"),
DISCARD(3,"报废"),
DEPARTURE(4, "出车"),
UPKEEP(5, "保养"),
;
/**
* 编码
*/
private Integer code;
/**
* 类型描述
*/
private String desc;
private static Map<Integer,String> codeAndDesc = new HashMap<Integer, String>();
//Maps.newHashMap();
static{
for(VehicleStatus constantType : VehicleStatus.values()){
codeAndDesc.put(constantType.getCode(),constantType.getDesc());
}
}
VehicleStatus(Integer code, String desc){
this.code=code;
this.desc=desc;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public static Boolean exists(Integer code){
return codeAndDesc.containsKey(code);
}
}
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Id;
import java.util.Date;
@Data
public class AccompanyingItem {
public static final Integer NO_AMOUNT_LIMIT = -1;
@Id
private Integer id;
/**
* 物品名称
*/
@Column(name = "name")
private String name;
/**
* 物品类型,详见AccompanyingItemType
*/
@Column(name = "type" )
private Integer type;
/**
* 备注
*/
private String remark;
private Date createTime;
private Date updateTime;
}
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
import javax.persistence.Id;
@Data
public class BookRecordAccItem {
/**
* 主键
*/
@Id
private Long id;
/**
* 订车记录
*/
private Long bookRecordId;
/**
* 随行物品id
*/
private Integer accItemId;
/**
* 数量
*/
private Integer amount;
}
\ No newline at end of file
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
@Data
@Table(name = "branch_company")
public class BranchCompany {
@Id
@GeneratedValue(generator = "JDBC")
private Integer id;
/**
* 分公司名称
*/
private String name;
/**
* 分支机构类型
*/
@Column(name = "branch_type")
private Integer branchType;
/**
* 分支机构所属机构
*/
@Column(name = "subordinate_branch")
private Integer subordinateBranch;
/**
* 地址-省/直辖市(编码)
*/
@Column(name = "addr_province")
private Integer addrProvince;
/**
* 地址-市(编码)
*/
@Column(name = "addr_city")
private Integer addrCity;
/**
* 地址-镇/县(编码)
*/
@Column(name = "addr_town")
private Integer addrTown;
/**
* 详细地址
*/
@Column(name = "addr_detail")
private String addrDetail;
private Date createTime;
private Date updateTime;
/**
* 负责人
*/
private String leader;
/**
* 负责人联系方式
*/
private String leaderContactInfo;
/**
* 分公司状态
*/
private Integer status;
/**
*公司地址-纬度
*/
private BigDecimal latitude;
/**
* 公司地址-经度
*/
private BigDecimal longitude;
private String companyPic;
private Integer zoneId;
}
\ No newline at end of file
package com.xxfc.platform.vehicle.entity;
import javax.persistence.*;
import java.util.Date;
@Table(name = "branch_company_stock_apply_info")
public class BranchCompanyStockApplyInfo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "JDBC")
private Integer id;
@Column(name = "company_id")
private Integer companyId;
/**
* 姓名
*/
private String name;
/**
* 电话
*/
private String tel;
/**
* 购买数量
*/
private Integer count;
/**
* 状态(-1,放弃购买0:申请,1:确认购买)
*/
private Integer state;
@Column(name = "create_time")
private Date createTime;
@Column(name = "update_time")
private Date updateTime;
/**
* @return id
*/
public Integer getId() {
return id;
}
/**
* @param id
*/
public void setId(Integer id) {
this.id = id;
}
public Integer getCompanyId() {
return companyId;
}
public void setCompanyId(Integer companyId) {
this.companyId = companyId;
}
/**
* 获取姓名
*
* @return name - 姓名
*/
public String getName() {
return name;
}
/**
* 设置姓名
*
* @param name 姓名
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取电话
*
* @return tel - 电话
*/
public String getTel() {
return tel;
}
/**
* 设置电话
*
* @param tel 电话
*/
public void setTel(String tel) {
this.tel = tel;
}
/**
* 获取购买数量
*
* @return count - 购买数量
*/
public Integer getCount() {
return count;
}
/**
* 设置购买数量
*
* @param count 购买数量
*/
public void setCount(Integer count) {
this.count = count;
}
/**
* 获取状态(-1,放弃购买0:申请,1:确认购买)
*
* @return state - 状态(-1,放弃购买0:申请,1:确认购买)
*/
public Integer getState() {
return state;
}
/**
* 设置状态(-1,放弃购买0:申请,1:确认购买)
*
* @param state 状态(-1,放弃购买0:申请,1:确认购买)
*/
public void setState(Integer state) {
this.state = state;
}
/**
* @return create_time
*/
public Date getCreateTime() {
return createTime;
}
/**
* @param createTime
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* @return update_time
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* @param updateTime
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
@Data
@Table(name = "branch_company_stock_info")
public class BranchCompanyStockInfo {
/**
* 分公司ID
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "JDBC")
private Integer id;
/**
* 剩余股份
*/
private Integer balance;
/**
* 股份总数
*/
private Integer total;
/**
* 股份单价
*/
private BigDecimal price;
private String companyName;
private Integer addrProvince;
private Integer addrCity;
private Integer state;
private String companyPic;
/**
* 详情
*/
private String info;
}
\ No newline at end of file
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
@Table(name = "campsite")
@Data
public class Campsite {
@Id
// @GeneratedValue(generator = "JDBC")
private Integer id;
/**
* 分公司名称
*/
private String name;
/**
* 分支机构类型
*/
@Column(name = "branch_type")
private Integer branchType;
/**
* 分支机构所属机构
*/
@Column(name = "subordinate_branch")
private Integer subordinateBranch;
/**
* 地址-省/直辖市(编码)
*/
@Column(name = "addr_province")
private Integer addrProvince;
/**
* 地址-市(编码)
*/
@Column(name = "addr_city")
private Integer addrCity;
/**
* 地址-镇/县(编码)
*/
@Column(name = "addr_town")
private Integer addrTown;
/**
* 详细地址
*/
@Column(name = "addr_detail")
private String addrDetail;
private Date createTime;
private Date updateTime;
/**
* 负责人
*/
private String leader;
/**
* 负责人联系方式
*/
private String leaderContactInfo;
/**
* 分公司状态
*/
private Integer status;
/**
*公司地址-纬度
*/
private BigDecimal latitude;
/**
* 公司地址-经度
*/
private BigDecimal longitude;
private String companyPic;
private Integer zoneId;
}
\ No newline at end of file
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
@Data
public class Constant {
@Id
@GeneratedValue(generator = "JDBC")
private Integer id;
/**
* 常量类型
*/
private Integer type;
/**
* 常量编码
*/
private Integer code;
/**
* 值
*/
private String val;
}
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
@Data
public class SysRegion {
private Long id;
/**
* 所属父地区id
*/
private Long parentId;
private String name;
/**
* 地区类型 0-国家 1-省/直辖市 2-市 3 - 镇、县
*/
private Integer type;
/**
* 从左往右,第1,2位代表省代码,3、4为代表市代码,5-6位代表镇或县代码
*/
private Integer agencyId;
}
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Id;
import java.util.Date;
@Data
public class Vehicle {
/**
* 主键(uuid)
*/
@Id
private String id;
/**
* 车辆编号,0-没有
*/
private Integer code;
/**
* 车辆状态: 1-正常运行 2-维修 3-报废
*/
private Integer status;
/**
* 车牌号,空字符串-没有
*/
@Column(name = "number_plate")
private String numberPlate;
/**
* 品牌(编码,对应关系见相关常量),0-未填写
*/
private Integer brand;
/**
* 所属分支机构(id)
*/
@Column(name = "subordinate_branch")
private Integer subordinateBranch;
/**
* 用途类型:租赁房车(1)、展车等,对应关系见车辆常量表
*/
@Column(name = "use_type")
private Integer useType;
/**
* 备注信息
*/
private String remark;
/**
* 车架号
*/
private String vin;
/**
* 保险公司,见常量表
*/
private Integer insuranceCompany;
/**
* 保险单号
*/
private String insuranceNo;
/**
* 保险开始时间
*/
private Date insuranceStartDate;
/**
* 保险结束时间
*/
private Date insuranceEndDate;
/**
* 年审时间
*/
private Date annualVerificationDate;
/**
* 保养时间
*/
private Date maintenanceDate;
/**
* 保养里程数
*/
private Integer maintenanceMileage;
/**
* 车辆所属人-类型
*/
private Integer belongTo;
/**
* 所属人 名称
*/
private String belongToName;
/**
* 行驶证路径
*/
private String drivingLicensePath;
/**
* 发动机号
*/
private String engineNum;
/**
* 生产商
*/
private String manufacturer;
/**
* 收车时间
*/
private Date receiveTime;
/**
* 最后更新里程数
*/
private Integer mileageLastUpdate;
/**
* 停车分公司id
*/
private Integer parkBranchCompanyId;
/**
* 预计目的地分公司id
*/
private Integer expectDestinationBranchCompanyId;
}
\ No newline at end of file
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
/**
* 车辆活动日志
*/
@Table(name = "vehicle_active_log")
@Data
public class VehicleActiveLog {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "JDBC")
Integer id;
/**
* 车辆ID
*/
String vehicleId;
/**
* 活动类型
* VehicleActiveType
*/
Integer activeType;
/**
* 开始时间
*/
Date startTime;
/**
* 结束时间
*/
Date endTime;
/**
* 创建时间
*/
Date createTime;
/**
* 修改时间
*/
Date updateTime;
}
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
@Table(name = "vehicle_book_info")
@Data
public class VehicleBookInfo {
@Id
private Long id;
/**
* 车辆id
*/
private String vehicle;
/**
* 预定信息所属年月(格式yyyy-MM)
*/
@Column(name = "year_month")
private String yearMonth;
/**
* 预定信息,int格式保存,当作位图使用(从左到右每位代表每个月1-31号)
*/
@Column(name = "booked_date")
private Integer bookedDate;
}
\ No newline at end of file
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
import javax.persistence.*;
import java.util.Date;
@Table(name = "vehicle_book_record")
@Data
public class VehicleBookRecord {
/**
* 主键
*/
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
/**
* 车辆id
*/
private String vehicle;
/**
* 申请状态:1-申请中 2-已通过 3-已归还 4-拒绝 5-逾期归还
*/
private Integer status;
/**
* 预定类型,1-用户租赁、2-分公司使用、3-维修
*/
@Column(name = "book_type")
private Integer bookType;
/**
* 预定用户id
*/
@Column(name = "book_user")
private Integer bookUser;
/**
* 预定用户姓名
*/
@Column(name = "book_user_name")
private String bookUserName;
/**
* 联系信息,比如电话、联系人姓名等(json)
*/
@Column(name = "contact_info")
private String contactInfo;
/**
* 申请开始日期
*/
@Column(name = "book_start_date")
private Date bookStartDate;
/**
* 提车地点(经纬度)
*/
@Column(name = "lift_location")
private String liftLocation;
/**
* 提车地址
*/
@Column(name = "lift_addr")
private String liftAddr;
private String remark;
/**
* 目的地
*/
private String destination;
/**
* 申请审核人,-1代表系统
*/
@Column(name = "reviewer_apply")
private Integer reviewerApply;
/**
* 申请审核人姓名
*/
@Column(name = "reviewer_name_apply")
private String reviewerNameApply;
/**
* 归还审核人,-1代表系统
*/
@Column(name = "reviewer_return")
private Integer reviewerReturn;
/**
* 归还审核人姓名
*/
@Column(name = "reviewer_name_return")
private String reviewerNameReturn;
/**
* 取消人,-1代表系统
*/
@Column(name = "reviewer_cancel")
private Integer reviewerCancel;
/**
* 取消人姓名
*/
@Column(name = "reviewer_name_cancel")
private String reviewerNameCancel;
/**
* 提车审核人,-1代表系统
*/
private Integer reviewerLift;
/**
* 提车审核人姓名
*/
private String reviewerNameLift;
/**
* 申请结束日期
*/
@Column(name = "book_end_date")
private Date bookEndDate;
/**
* 实际开始日期
*/
@Column(name = "actual_start_date")
private Date actualStartDate;
/**
* 实际结束日期
*/
@Column(name = "actual_end_date")
private Date actualEndDate;
/**
* 提车公司
*/
private Integer liftCompany;
/**
* 提车备注
*/
private String liftRemark;
/**
* 还车公司
*/
private Integer retCompany;
/**
* 还车备注
*/
private String retRemark;
/**
* 提车阶段里程数
*/
private Integer mileageLift;
/**
* 还车阶段里程数
*/
private Integer mileageRet;
/**
* 是否违章
*/
private Integer haveViolation;
}
\ No newline at end of file
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
import java.util.Date;
import javax.persistence.*;
/**
* 出车记录
*/
@Table(name = "vehicle_departure_log")
@Data
public class VehicleDepartureLog {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "JDBC")
Integer id;
/**
* 车辆ID
*/
String vehicleId;
/**
* 用途
*/
@Column(name = "`use`")
String use;
/**
* 使用人
*/
@Column(name = "`user`")
String user;
/**
* 使用人电话
*/
String userTel;
/**
* 验车人
*/
String checkMan;
/**
* 验车人电话
*/
String checkManTel;
/**
* 收车人
*/
String recycleMan;
/**
* 收车人电话
*/
String recycleManTel;
/**
* 出车时间
*/
Date departureTime;
/**
* 还车时间
*/
Date arrivalTime;
/**
* 出车开始的公里数
*/
Integer mileageStart;
/**
* 出车结束的公里数
*/
Integer mileageEnd;
/**
* 出车分公司
*/
Integer departureBranchCompanyId;
/**
* 预计还车分公司
*/
Integer expectArrivalBranchCompanyId;
/**
* 还车分公司
*/
Integer arrivalBranchCompanyId;
Date createTime;
Date updateTime;
Integer state;
}
package com.xxfc.platform.vehicle.entity;
import javax.persistence.*;
@Table(name = "vehicle_upkeep_item")
public class VehicleUpkeepItem {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "JDBC")
private Integer id;
/**
* 保养项目名称
*/
private String name;
/**
* @return id
*/
public Integer getId() {
return id;
}
/**
* @param id
*/
public void setId(Integer id) {
this.id = id;
}
/**
* 获取保养项目名称
*
* @return name - 保养项目名称
*/
public String getName() {
return name;
}
/**
* 设置保养项目名称
*
* @param name 保养项目名称
*/
public void setName(String name) {
this.name = name;
}
}
\ No newline at end of file
package com.xxfc.platform.vehicle.entity;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
@Table(name = "vehicle_upkeep_log")
public class VehicleUpkeepLog {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "JDBC")
private Integer id;
/**
* 车辆ID
*/
@Column(name = "vehicle_id")
private String vehicleId;
/**
* 保养人
*/
private String operator;
/**
* 保养日期
*/
private Date date;
/**
* 公里数
*/
private Integer mileage;
/**
* 花费
*/
private BigDecimal amount;
/**
* 审批人
*/
private String approvers;
/**
* 分公司ID
*/
@Column(name = "branch_company_id")
private Integer branchCompanyId;
@Column(name = "create_time")
private Date createTime;
/**
* @return id
*/
public Integer getId() {
return id;
}
/**
* @param id
*/
public void setId(Integer id) {
this.id = id;
}
/**
* 获取车辆ID
*
* @return vehicle_id - 车辆ID
*/
public String getVehicleId() {
return vehicleId;
}
/**
* 设置车辆ID
*
* @param vehicleId 车辆ID
*/
public void setVehicleId(String vehicleId) {
this.vehicleId = vehicleId;
}
/**
* 获取保养人
*
* @return operator - 保养人
*/
public String getOperator() {
return operator;
}
/**
* 设置保养人
*
* @param operator 保养人
*/
public void setOperator(String operator) {
this.operator = operator;
}
/**
* 获取保养日期
*
* @return date - 保养日期
*/
public Date getDate() {
return date;
}
/**
* 设置保养日期
*
* @param date 保养日期
*/
public void setDate(Date date) {
this.date = date;
}
/**
* 获取公里数
*
* @return mileage - 公里数
*/
public Integer getMileage() {
return mileage;
}
/**
* 设置公里数
*
* @param mileage 公里数
*/
public void setMileage(Integer mileage) {
this.mileage = mileage;
}
/**
* 获取花费
*
* @return amount - 花费
*/
public BigDecimal getAmount() {
return amount;
}
/**
* 设置花费
*
* @param amount 花费
*/
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
/**
* 获取审批人
*
* @return approvers - 审批人
*/
public String getApprovers() {
return approvers;
}
/**
* 设置审批人
*
* @param approvers 审批人
*/
public void setApprovers(String approvers) {
this.approvers = approvers;
}
/**
* 获取分公司ID
*
* @return branch_company_id - 分公司ID
*/
public Integer getBranchCompanyId() {
return branchCompanyId;
}
/**
* 设置分公司ID
*
* @param branchCompanyId 分公司ID
*/
public void setBranchCompanyId(Integer branchCompanyId) {
this.branchCompanyId = branchCompanyId;
}
/**
* @return create_time
*/
public Date getCreateTime() {
return createTime;
}
/**
* @param createTime
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}
\ No newline at end of file
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.util.Date;
/**
*车辆相关预警消息
*
*/
@Data
public class VehicleWarningMsg {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
public Integer id;
/**
* 消息类型,详见VehicleMsgType
*/
public Integer type;
/**
* 消息类型,详见VehicleMsgStatus
*/
public Integer status;
/**
* 消息内容
*/
private String msg;
/**
* 对应规则ID
*/
private Integer ruleId;
/**
* 对应车辆ID
*/
private String vehicleId;
/**
* 消息key,用于去重
*/
private String msgKey;
/**
* 备注
*/
private String remark;
private Date createTime;
private Date updateTime;
}
package com.xxfc.platform.vehicle.entity;
import lombok.Data;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.util.Date;
/**
*车辆相关预警消息
*
*/
@Data
public class VehicleWarningRule {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private Integer id;
/**
* 消息类型,详见VehicleMsgType
*/
private Integer msgType;
/**
* js函数用于检查是否符合规则
*/
private String jsFunctionCheck;
/**
* js表达式用于拼接消息内容
*/
private String jsExpressionMsg;
/**
* js表达式用于生成消息唯一键
*/
private String jsFunctionMsgKey;
/**
* 备注
*/
private String remark;
private Date createTime;
private Date updateTime;
}
package com.xxfc.platform.vehicle.feign;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.xxfc.platform.vehicle.feign.dto.UserDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* Created by ace on 2017/9/15.
*/
//@FeignClient(value = "${auth.serviceId}",configuration = {})
@FeignClient("ace-admin")
public interface UserFeign {
@RequestMapping(value = "/public/userinfo-by-token")
public ObjectRestResponse<UserDTO> userinfoByToken(@RequestParam("token") String token);
}
package com.xxfc.platform.vehicle.feign.dto;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@Data
public class UserDTO {
private Integer id;
private String username;
private String password;
private String name;
private String birthday;
private String address;
private String mobilePhone;
private String telPhone;
private String email;
private String sex;
private String type;
private Integer status;
private String description;
private Date crtTime;
private String crtUser;
private String crtName;
private String crtHost;
private Date updTime;
private String updUser;
private String updName;
private String updHost;
private Integer dataAll;
private String dataZone;
private String dataCompany;
public List<Integer> dataZone2List() {
return str2List(this.dataZone);
}
public List<Integer> dataCompany2List() {
return str2List(this.dataCompany);
}
private List<Integer> str2List(String str) {
if(StringUtils.isNotBlank(str)) {
return Arrays.asList(str.split(",")).parallelStream().map(s -> Integer.valueOf(s)).collect(Collectors.toList());
}else {
return new ArrayList<Integer>();
}
}
}
\ No newline at end of file
package com.xxfc.platform.vehicle.util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import java.util.Map;
public class JSUtil {
public static final ScriptEngineManager manager = new ScriptEngineManager();
public static final ThreadLocal<ScriptEngine> engine = new ThreadLocal<ScriptEngine>() {
@Override
protected ScriptEngine initialValue() {
return manager.getEngineByName("javascript");
}
};
public static final Logger logger = LoggerFactory.getLogger(Object.class);
/**
* 执行js函数(注意,js的脚本引擎不是线程安全的,不要使用全局变量)
* @param functionCode 函数代码,只包含块中内容
* @param params 参数params
* @return
*/
public static Object evalJsFunction(String functionName,String functionCode,Map<String,Object> params){
try{
engine.get().eval("function "+functionName +"(params){" +
functionCode +
"};");
if (engine.get() instanceof Invocable) {
Invocable in = (Invocable) engine.get();
return in.invokeFunction(functionName,params);
}
}catch(Exception e){
logger.error(e.getMessage());
}
return null;
}
/**
* 执行js表达式
* @param jsExpression js表达式
* @param params 参数,供表达式调用
* @return
*/
public static Object eval(String jsExpression, Map<String,Object> params){
try{
engine.get().eval("function evalJSExpression(params){" +
"return eval(\""+ jsExpression +"\");" +
"}");
if (engine.get() instanceof Invocable) {
Invocable in = (Invocable) engine.get();
return in.invokeFunction("evalJSExpression",params);
}
}catch(Exception e){
logger.error(e.getMessage());
}
return null;
}
}
package com.xxfc.platform.vehicle.util.excel;
import org.apache.poi.hssf.eventusermodel.EventWorkbookBuilder.SheetRecordCollectingListener;
import org.apache.poi.hssf.eventusermodel.*;
import org.apache.poi.hssf.eventusermodel.dummyrecord.LastCellOfRowDummyRecord;
import org.apache.poi.hssf.eventusermodel.dummyrecord.MissingCellDummyRecord;
import org.apache.poi.hssf.model.HSSFFormulaParser;
import org.apache.poi.hssf.record.*;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Excel2003格式解析
*
* @author lipengjun
* @email 939961241@qq.com
* @date 2017年10月28日 13:11:27
*/
public class Excel2003Reader implements HSSFListener {
private int minColumns = -1;
private POIFSFileSystem fs;
/**
* 最后一行行号
*/
private int lastRowNumber;
/**
* 最后一列列号
*/
private int lastColumnNumber;
/**
* Should we output the formula, or the value it has?
*/
private boolean outputFormulaValues = true;
/**
* For parsing Formulas
*/
private SheetRecordCollectingListener workbookBuildingListener;
// 工作薄
private HSSFWorkbook stubWorkbook;
// Records we pick up as we process
private SSTRecord sstRecord;
private FormatTrackingHSSFListener formatListener;
// 表索引
private int sheetIndex = -1;
private BoundSheetRecord[] orderedBSRs;
@SuppressWarnings("rawtypes")
private ArrayList boundSheetRecords = new ArrayList();
// For handling formulas with string results
private int nextRow;
private int nextColumn;
private boolean outputNextStringRecord;
// 存储行记录的容器
private List<String> rowlist = new ArrayList<String>();
;
// 单Sheet数据
private List<String[]> sheetData = new ArrayList<String[]>();
// 多Sheet数据
private Map<Integer, List<String[]>> workData = new HashMap<Integer, List<String[]>>();
/**
* 遍历excel下所有的sheet
*
* @param fileStream 处理文件流
* @throws IOException 抛出IO异常
*/
public void process(InputStream fileStream)
throws IOException {
this.fs = new POIFSFileSystem(fileStream);
MissingRecordAwareHSSFListener listener = new MissingRecordAwareHSSFListener(
this);
formatListener = new FormatTrackingHSSFListener(listener);
HSSFEventFactory factory = new HSSFEventFactory();
HSSFRequest request = new HSSFRequest();
if (outputFormulaValues) {
request.addListenerForAllRecords(formatListener);
} else {
workbookBuildingListener = new SheetRecordCollectingListener(
formatListener);
request.addListenerForAllRecords(workbookBuildingListener);
}
factory.processWorkbookEvents(request, fs);
}
/**
* HSSFListener 监听方法,处理 Record
*
* @param record 行记录
*/
@SuppressWarnings("unchecked")
@Override
public void processRecord(Record record) {
int thisRow = -1;
int thisColumn = -1;
String thisStr = null;
String value = null;
switch (record.getSid()) {
case BoundSheetRecord.sid:
boundSheetRecords.add(record);
break;
case BOFRecord.sid:
BOFRecord br = (BOFRecord) record;
if (br.getType() == BOFRecord.TYPE_WORKSHEET) {
// 如果有需要,则建立子工作薄
if (workbookBuildingListener != null && stubWorkbook == null) {
stubWorkbook = workbookBuildingListener.getStubHSSFWorkbook();
}
if (sheetIndex >= 0) {
List<String[]> data = new ArrayList<String[]>();
data.addAll(sheetData);
workData.put(sheetIndex, data);
sheetData.clear();
}
sheetIndex++;
if (orderedBSRs == null) {
orderedBSRs = BoundSheetRecord.orderByBofPosition(boundSheetRecords);
}
}
break;
case SSTRecord.sid:
sstRecord = (SSTRecord) record;
break;
case BlankRecord.sid:
BlankRecord brec = (BlankRecord) record;
thisRow = brec.getRow();
thisColumn = brec.getColumn();
thisStr = "";
rowlist.add(thisColumn, thisStr);
break;
case BoolErrRecord.sid: // 单元格为布尔类型
BoolErrRecord berec = (BoolErrRecord) record;
thisRow = berec.getRow();
thisColumn = berec.getColumn();
thisStr = berec.getBooleanValue() + "";
rowlist.add(thisColumn, thisStr);
break;
case FormulaRecord.sid: // 单元格为公式类型
FormulaRecord frec = (FormulaRecord) record;
thisRow = frec.getRow();
thisColumn = frec.getColumn();
if (outputFormulaValues) {
if (Double.isNaN(frec.getValue())) {
// Formula result is a string
// This is stored in the next record
outputNextStringRecord = true;
nextRow = frec.getRow();
nextColumn = frec.getColumn();
} else {
thisStr = formatListener.formatNumberDateCell(frec);
}
} else {
thisStr = '"' + HSSFFormulaParser.toFormulaString(
stubWorkbook, frec.getParsedExpression()) + '"';
}
rowlist.add(thisColumn, thisStr);
break;
case StringRecord.sid:// 单元格中公式的字符串
if (outputNextStringRecord) {
// String for formula
StringRecord srec = (StringRecord) record;
thisStr = srec.getString();
thisRow = nextRow;
thisColumn = nextColumn;
outputNextStringRecord = false;
}
break;
case LabelRecord.sid:
LabelRecord lrec = (LabelRecord) record;
thisColumn = lrec.getColumn();
value = lrec.getValue().trim();
value = value.equals("") ? " " : value;
this.rowlist.add(thisColumn, value);
break;
case LabelSSTRecord.sid: // 单元格为字符串类型
LabelSSTRecord lsrec = (LabelSSTRecord) record;
thisColumn = lsrec.getColumn();
if (sstRecord == null) {
rowlist.add(thisColumn, " ");
} else {
value = sstRecord.getString(lsrec.getSSTIndex()).toString().trim();
value = value.equals("") ? " " : value;
rowlist.add(thisColumn, value);
}
break;
case NumberRecord.sid: // 单元格为数字类型
NumberRecord numrec = (NumberRecord) record;
thisColumn = numrec.getColumn();
value = formatListener.formatNumberDateCell(numrec).trim();
value = value.equals("") ? " " : value;
// 向容器加入列值
rowlist.add(thisColumn, value);
break;
default:
break;
}
// 遇到新行的操作
if (thisRow != -1 && thisRow != lastRowNumber) {
lastColumnNumber = -1;
}
// 空值的操作
if (record instanceof MissingCellDummyRecord) {
MissingCellDummyRecord mc = (MissingCellDummyRecord) record;
thisColumn = mc.getColumn();
rowlist.add(thisColumn, "");
}
// 更新行和列的值
if (thisRow > -1) {
lastRowNumber = thisRow;
}
if (thisColumn > -1) {
lastColumnNumber = thisColumn;
}
// 行结束时的操作
if (record instanceof LastCellOfRowDummyRecord) {
if (minColumns > 0) {
// 列值重新置空
if (lastColumnNumber == -1) {
lastColumnNumber = 0;
}
}
lastColumnNumber = -1;
// 每行结束时, 数据写入集合
sheetData.add(rowlist.toArray(new String[]{}));
// 清空容器
rowlist.clear();
}
}
/**
* 获取数据(单Sheet)
*
* @param sheetIndex sheet下标
* @return List<String[]> 数据
*/
public List<String[]> getSheetData(Integer sheetIndex) {
return workData.get(sheetIndex);
}
/**
* 获取数据(多Sheet)
*
* @return Map<Integer, List<String[]>> 多sheet的数据
*/
public Map<Integer, List<String[]>> getSheetData() {
return workData;
}
}
\ No newline at end of file
package com.xxfc.platform.vehicle.util.excel;
/**
* XSSFDataType
*
* @author lipengjun
* @email 939961241@qq.com
* @date 2017年10月28日 13:11:27
*/
public enum XssfDataType {
BOOL, ERROR, FORMULA, INLINESTR, SSTINDEX, NUMBER, DATE, DATETIME, TIME,
}
package com.xxfc.platform.vehicle.vo;
import lombok.Data;
@Data
public class AddOrUpdateAccompanyingItem {
private Integer id;
/**
* 物品名称
*/
private String name;
/**
* 物品类型,详见AccompanyingItemType
*/
private Integer type;
/**
* 备注
*/
private String remark;
}
package com.xxfc.platform.vehicle.vo;
import lombok.Data;
/**
*车辆相关预警消息
*
*/
@Data
public class AddVehicleWarningMsgVo {
/**
* 消息内容
*/
private String msg;
/**
* 对应车辆ID
*/
private String vehicleId;
/**
* 备注
*/
private String remark;
}
package com.xxfc.platform.vehicle.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
@Data
public class BranchCompanyStockApplyInfoVo {
Integer id;
Integer companyId;
String companyName;
String name;
String tel;
Integer count;
Integer state;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
Date createTime;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
Date updateTime;
}
package com.xxfc.platform.vehicle.vo;
import lombok.Data;
/**
* 申请购买股权
*/
@Data
public class BranchCompanyStockApplyVo {
Integer companyId;
String name;
String tel;
Integer count;
}
package com.xxfc.platform.vehicle.vo;
import lombok.Data;
import java.math.BigDecimal;
/**
* 分公司股份信息
*/
@Data
public class BranchCompanyStockInfoVo {
Integer id;
String companyName;
Integer balance;
Integer total;
BigDecimal price;
Integer addrProvince;
Integer addrCity;
Integer state;
String companyPic;
}
package com.xxfc.platform.vehicle.vo;
import lombok.Data;
@Data
public class CompanySearchDTO {
Integer page;
Integer limit;
Integer addrCity;
String lon;
String lat;
}
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment