Commit 4fa3c872 authored by 周健威's avatar 周健威

添加订单相关

parent 1e356f01
......@@ -65,6 +65,10 @@ public class EntityUtils {
Object [] value = null;
if(field!=null&&field.getType().equals(Date.class)){
value = new Object []{name,id,hostIp,new Date()};
}else if(field!=null&&field.getType().equals(Long.class)) {
value = new Object []{name,id,hostIp, System.currentTimeMillis()};
}else {
value = new Object []{name,id,hostIp, null};
}
// 填充默认属性值
setDefaultValues(entity, fields, value);
......@@ -96,11 +100,15 @@ public class EntityUtils {
}
// 默认属性
String[] fields = {"updName","updUser","updHost","updTime"};
String[] fields = {"updName", "updUser", "updHost", "updTime"};
Field field = ReflectionUtils.getAccessibleField(entity, "updTime");
Object [] value = null;
if(field!=null&&field.getType().equals(Date.class)){
value = new Object []{name,id,hostIp,new Date()};
value = new Object []{name,id,hostIp, new Date()};
}else if(field!=null&&field.getType().equals(Long.class)) {
value = new Object []{name,id,hostIp, System.currentTimeMillis()};
}else {
value = new Object []{name,id,hostIp, null};
}
// 填充默认属性值
setDefaultValues(entity, fields, value);
......
......@@ -10,7 +10,7 @@ spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://10.5.52.3:3306/vehicle?useUnicode=true&characterEncoding=UTF-8
url: jdbc:mysql://10.5.52.3:3306/xxfc_order?useUnicode=true&characterEncoding=UTF-8
username: root
password: sslcloud123*()
jackson:
......
......@@ -3,6 +3,8 @@ package ${package}.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
#if(${hasBigDecimal})
import java.math.BigDecimal;
#end
......@@ -15,6 +17,7 @@ import java.math.BigDecimal;
* @email ${email}
* @date ${datetime}
*/
@Data
@Table(name = "${tableName}")
public class ${className} implements Serializable {
private static final long serialVersionUID = 1L;
......@@ -23,27 +26,30 @@ public class ${className} implements Serializable {
#if($column.columnName == $pk.columnName)
//$column.comments
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("$column.comments")
private $column.attrType $column.attrname;
#else
//$column.comments
@Column(name = "$column.columnName")
@ApiModelProperty(value = "$column.comments"#if($column.columnName == "crt_time"||$column.columnName == "upd_time"), hidden = true #end)
private $column.attrType $column.attrname;
#end
#end
#foreach ($column in $columns)
/**
* 设置:${column.comments}
*/
public void set${column.attrName}($column.attrType $column.attrname) {
this.$column.attrname = $column.attrname;
}
/**
* 获取:${column.comments}
*/
public $column.attrType get${column.attrName}() {
return $column.attrname;
}
#end
###foreach ($column in $columns)
## /**
## * 设置:${column.comments}
## */
## public void set${column.attrName}($column.attrType $column.attrname) {
## this.$column.attrname = $column.attrname;
## }
## /**
## * 获取:${column.comments}
## */
## public $column.attrType get${column.attrName}() {
## return $column.attrname;
## }
###end
}
......@@ -41,7 +41,7 @@
<module>xx-third-party</module>
<module>xx-third-party-api</module>
<module>vehicle</module>
<module>application</module>
<!-- <module>application</module>-->
<module>xx-common</module>
<module>xx-order</module>
<module>xx-vehicle</module>
......
......@@ -16,6 +16,7 @@
<properties>
<java.version>1.8</java.version>
<poi.version>3.15</poi.version>
<version.swagger>2.7.0</version.swagger>
</properties>
<dependencies>
......@@ -88,5 +89,11 @@
<artifactId>jpinyin</artifactId>
<version>1.1.8</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.13</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -10,7 +10,7 @@
<groupId>com.xxfc.platform</groupId>
<modelVersion>4.0.0</modelVersion>
<packaging>pom</packaging>
<artifactId>order</artifactId>
<artifactId>xx-order</artifactId>
<modules>
<module>xx-order-server</module>
......
package com.xxfc.platform.order.entity;
import com.github.wxiaoqi.security.common.entity.BaseEntity;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
/**
*
*
*
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-05-15 21:30:33
* @date 2019-05-24 21:56:10
*/
@Table(name = "base_order")
@Data
public class BaseOrder extends BaseEntity {
public class BaseOrder implements Serializable {
private static final long serialVersionUID = 1L;
//主键
@Id
@ApiModelProperty("主键")
private Integer id;
//订单号
@Column(name = "no")
@ApiModelProperty(value = "订单号")
private String no;
//订单类型
@Column(name = "type")
@ApiModelProperty(value = "订单类型")
private Integer type;
//订单详情id
@Column(name = "detail_id")
@ApiModelProperty(value = "订单详情id")
private Integer detailId;
//订单状态
@Column(name = "status")
@ApiModelProperty(value = "订单状态")
private Integer status;
//商品价格
@Column(name = "product_amount")
@ApiModelProperty(value = "商品价格")
private BigDecimal productAmount;
//实际价格
@Column(name = "order_amount")
@ApiModelProperty(value = "实际价格")
private BigDecimal orderAmount;
//详情json信息
@Column(name = "detail_json")
@ApiModelProperty(value = "详情json信息")
private String detailJson;
//第三方类型(支付渠道)
@Column(name = "third_type")
@ApiModelProperty(value = "第三方类型(支付渠道)")
private Integer thirdType;
//流水号
@Column(name = "out_trade_no")
@ApiModelProperty(value = "流水号")
private String outTradeNo;
//创建时间
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true )
private Date crtTime;
//创建者id
@Column(name = "crt_user")
@ApiModelProperty(value = "创建者id")
private String crtUser;
//创建者名称
@Column(name = "crt_name")
@ApiModelProperty(value = "创建者名称")
private String crtName;
//创建者ip
@Column(name = "crt_host")
@ApiModelProperty(value = "创建者ip")
private String crtHost;
//更新时间
@Column(name = "upd_time")
@ApiModelProperty(value = "更新时间", hidden = true )
private Date updTime;
//更新者id
@Column(name = "upd_user")
@ApiModelProperty(value = "更新者id")
private String updUser;
//更新者名称
@Column(name = "upd_name")
@ApiModelProperty(value = "更新者名称")
private String updName;
//更新者ip
@Column(name = "upd_host")
@ApiModelProperty(value = "更新者ip")
private String updHost;
//主键
@Id
private Integer id;
//订单号
@Column(name = "no")
private String no;
//订单类型
@Column(name = "type")
private Integer type;
//订单详情id
@Column(name = "detail_id")
private Integer detailId;
//订单状态
@Column(name = "status")
private Integer status;
//商品价格
@Column(name = "product_amount")
private BigDecimal productAmount;
//实际价格
@Column(name = "order_amount")
private BigDecimal orderAmount;
//详情json信息
@Column(name = "detail_json")
private String detailJson;
//第三方类型(支付渠道)
@Column(name = "third_type")
private Integer thirdType;
//流水号
@Column(name = "out_trade_no")
private String outTradeNo;
//创建时间
@Column(name = "crt_time")
private Date crtTime;
//创建者id
@Column(name = "crt_user")
private String crtUser;
//创建者名称
@Column(name = "crt_name")
private String crtName;
//创建者ip
@Column(name = "crt_host")
private String crtHost;
//更新时间
@Column(name = "upd_time")
private Date updTime;
//更新者id
@Column(name = "upd_user")
private String updUser;
//更新者名称
@Column(name = "upd_name")
private String updName;
//更新者ip
@Column(name = "upd_host")
private String updHost;
/**
* 设置:主键
*/
public void setId(Integer id) {
this.id = id;
}
/**
* 获取:主键
*/
public Integer getId() {
return id;
}
/**
* 设置:订单号
*/
public void setNo(String no) {
this.no = no;
}
/**
* 获取:订单号
*/
public String getNo() {
return no;
}
/**
* 设置:订单类型
*/
public void setType(Integer type) {
this.type = type;
}
/**
* 获取:订单类型
*/
public Integer getType() {
return type;
}
/**
* 设置:订单详情id
*/
public void setDetailId(Integer detailId) {
this.detailId = detailId;
}
/**
* 获取:订单详情id
*/
public Integer getDetailId() {
return detailId;
}
/**
* 设置:订单状态
*/
public void setStatus(Integer status) {
this.status = status;
}
/**
* 获取:订单状态
*/
public Integer getStatus() {
return status;
}
/**
* 设置:商品价格
*/
public void setProductAmount(BigDecimal productAmount) {
this.productAmount = productAmount;
}
/**
* 获取:商品价格
*/
public BigDecimal getProductAmount() {
return productAmount;
}
/**
* 设置:实际价格
*/
public void setOrderAmount(BigDecimal orderAmount) {
this.orderAmount = orderAmount;
}
/**
* 获取:实际价格
*/
public BigDecimal getOrderAmount() {
return orderAmount;
}
/**
* 设置:详情json信息
*/
public void setDetailJson(String detailJson) {
this.detailJson = detailJson;
}
/**
* 获取:详情json信息
*/
public String getDetailJson() {
return detailJson;
}
/**
* 设置:第三方类型(支付渠道)
*/
public void setThirdType(Integer thirdType) {
this.thirdType = thirdType;
}
/**
* 获取:第三方类型(支付渠道)
*/
public Integer getThirdType() {
return thirdType;
}
/**
* 设置:流水号
*/
public void setOutTradeNo(String outTradeNo) {
this.outTradeNo = outTradeNo;
}
/**
* 获取:流水号
*/
public String getOutTradeNo() {
return outTradeNo;
}
/**
* 设置:创建时间
*/
public void setCrtTime(Date crtTime) {
this.crtTime = crtTime;
}
/**
* 获取:创建时间
*/
public Date getCrtTime() {
return crtTime;
}
/**
* 设置:创建者id
*/
public void setCrtUser(String crtUser) {
this.crtUser = crtUser;
}
/**
* 获取:创建者id
*/
public String getCrtUser() {
return crtUser;
}
/**
* 设置:创建者名称
*/
public void setCrtName(String crtName) {
this.crtName = crtName;
}
/**
* 获取:创建者名称
*/
public String getCrtName() {
return crtName;
}
/**
* 设置:创建者ip
*/
public void setCrtHost(String crtHost) {
this.crtHost = crtHost;
}
/**
* 获取:创建者ip
*/
public String getCrtHost() {
return crtHost;
}
/**
* 设置:更新时间
*/
public void setUpdTime(Date updTime) {
this.updTime = updTime;
}
/**
* 获取:更新时间
*/
public Date getUpdTime() {
return updTime;
}
/**
* 设置:更新者id
*/
public void setUpdUser(String updUser) {
this.updUser = updUser;
}
/**
* 获取:更新者id
*/
public String getUpdUser() {
return updUser;
}
/**
* 设置:更新者名称
*/
public void setUpdName(String updName) {
this.updName = updName;
}
/**
* 获取:更新者名称
*/
public String getUpdName() {
return updName;
}
/**
* 设置:更新者ip
*/
public void setUpdHost(String updHost) {
this.updHost = updHost;
}
/**
* 获取:更新者ip
*/
public String getUpdHost() {
return updHost;
}
}
package com.xxfc.platform.order.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
/**
* 租车订单详情
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-05-16 14:36:45
*/
@Table(name = "order_rent_car")
public class OrderRentCar implements Serializable {
private static final long serialVersionUID = 1L;
//主键
@Id
private Integer id;
//基础订单id
@Column(name = "order_id")
private Integer orderId;
//创建时间
@Column(name = "crt_time")
private Date crtTime;
//创建者id
@Column(name = "crt_user")
private String crtUser;
//创建者名称
@Column(name = "crt_name")
private String crtName;
//varchar(255)
@Column(name = "crt_host")
private String crtHost;
//datetime
@Column(name = "upd_time")
private Date updTime;
//varchar(255)
@Column(name = "upd_user")
private String updUser;
//varchar(255)
@Column(name = "upd_name")
private String updName;
//varchar(255)
@Column(name = "upd_host")
private String updHost;
/**
* 设置:主键
*/
public void setId(Integer id) {
this.id = id;
}
/**
* 获取:主键
*/
public Integer getId() {
return id;
}
/**
* 设置:基础订单id
*/
public void setOrderId(Integer orderId) {
this.orderId = orderId;
}
/**
* 获取:基础订单id
*/
public Integer getOrderId() {
return orderId;
}
/**
* 设置:创建时间
*/
public void setCrtTime(Date crtTime) {
this.crtTime = crtTime;
}
/**
* 获取:创建时间
*/
public Date getCrtTime() {
return crtTime;
}
/**
* 设置:创建者id
*/
public void setCrtUser(String crtUser) {
this.crtUser = crtUser;
}
/**
* 获取:创建者id
*/
public String getCrtUser() {
return crtUser;
}
/**
* 设置:创建者名称
*/
public void setCrtName(String crtName) {
this.crtName = crtName;
}
/**
* 获取:创建者名称
*/
public String getCrtName() {
return crtName;
}
/**
* 设置:varchar(255)
*/
public void setCrtHost(String crtHost) {
this.crtHost = crtHost;
}
/**
* 获取:varchar(255)
*/
public String getCrtHost() {
return crtHost;
}
/**
* 设置:datetime
*/
public void setUpdTime(Date updTime) {
this.updTime = updTime;
}
/**
* 获取:datetime
*/
public Date getUpdTime() {
return updTime;
}
/**
* 设置:varchar(255)
*/
public void setUpdUser(String updUser) {
this.updUser = updUser;
}
/**
* 获取:varchar(255)
*/
public String getUpdUser() {
return updUser;
}
/**
* 设置:varchar(255)
*/
public void setUpdName(String updName) {
this.updName = updName;
}
/**
* 获取:varchar(255)
*/
public String getUpdName() {
return updName;
}
/**
* 设置:varchar(255)
*/
public void setUpdHost(String updHost) {
this.updHost = updHost;
}
/**
* 获取:varchar(255)
*/
public String getUpdHost() {
return updHost;
}
}
package com.xxfc.platform.order.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 租车订单详情
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-05-24 21:56:10
*/
@Data
@Table(name = "order_rent_vehicle_item")
public class OrderRentVehicleItem implements Serializable {
private static final long serialVersionUID = 1L;
//主键
@Id
@ApiModelProperty("主键")
private Integer id;
//基础订单id
@Column(name = "order_id")
@ApiModelProperty(value = "基础订单id")
private Integer orderId;
//创建时间
@Column(name = "crt_time")
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
//更新时间
@Column(name = "upd_time")
@ApiModelProperty(value = "更新时间", hidden = true )
private Long updTime;
//开始时间
@Column(name = "start_time")
@ApiModelProperty(value = "开始时间")
private Long startTime;
//结束时间
@Column(name = "end_time")
@ApiModelProperty(value = "结束时间")
private Long endTime;
//天数
@Column(name = "day_num")
@ApiModelProperty(value = "天数")
private Integer dayNum;
//取车地点
@Column(name = "start_addr")
@ApiModelProperty(value = "取车地点")
private String startAddr;
//还车地点
@Column(name = "end_addr")
@ApiModelProperty(value = "还车地点")
private String endAddr;
//车辆id
@Column(name = "vehicle_id")
@ApiModelProperty(value = "车辆id")
private Integer vehicleId;
//取车城市
@Column(name = "start_city")
@ApiModelProperty(value = "取车城市")
private Integer startCity;
//还车城市
@Column(name = "end_city")
@ApiModelProperty(value = "还车城市")
private Integer endCity;
//取车城市名称
@Column(name = "start_city_name")
@ApiModelProperty(value = "取车城市名称")
private String startCityName;
//还车城市名称
@Column(name = "end_city_name")
@ApiModelProperty(value = "还车城市名称")
private String endCityName;
//司机类型 1--公司司机;2--自己司机
@Column(name = "driver_type")
@ApiModelProperty(value = "司机类型 1--公司司机;2--自己司机")
private Integer driverType;
//自己司机ids
@Column(name = "my_driver_ids")
@ApiModelProperty(value = "自己司机ids")
private String myDriverIds;
}
......@@ -6,7 +6,8 @@ import lombok.Data;
import java.util.List;
@Data
public class OrderVO<OrderDetail> {
public class OrderVO {
//<OrderItem> {
BaseOrder baseOrder;
List<OrderDetail> orderDetails;
// List<OrderItem> orderItems;
}
......@@ -8,9 +8,9 @@
<version>2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>order-server</artifactId>
<artifactId>xx-order-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>order-server</name>
<name>xx-order-server</name>
<description>订单管理</description>
<properties>
......@@ -28,34 +28,35 @@
</dependencies>
<build>
<finalName>order-server</finalName>
<finalName>xx-order-server</finalName>
<plugins>
<!-- 此插件用来生成通用mapper的代码 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<configurationFile>
${basedir}/src/main/resources/builder/generatorConfig.xml
</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>${mapper.version}</version>
</dependency>
</dependencies>
</plugin>
<!-- &lt;!&ndash; 此插件用来生成通用mapper的代码 &ndash;&gt;-->
<!-- <plugin>-->
<!-- <groupId>org.mybatis.generator</groupId>-->
<!-- <artifactId>mybatis-generator-maven-plugin</artifactId>-->
<!-- <version>1.3.2</version>-->
<!-- <configuration>-->
<!-- <configurationFile>-->
<!-- ${basedir}/src/main/resources/builder/generatorConfig.xml-->
<!-- </configurationFile>-->
<!-- <overwrite>true</overwrite>-->
<!-- <verbose>true</verbose>-->
<!-- </configuration>-->
<!-- <dependencies>-->
<!-- <dependency>-->
<!-- <groupId>mysql</groupId>-->
<!-- <artifactId>mysql-connector-java</artifactId>-->
<!-- <version>5.1.30</version>-->
<!-- <scope>runtime</scope>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>tk.mybatis</groupId>-->
<!-- <artifactId>mapper</artifactId>-->
<!-- <version>${mapper.version}</version>-->
<!-- </dependency>-->
<!-- </dependencies>-->
<!-- </plugin>-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
......@@ -68,30 +69,6 @@
<target>1.8</target>
</configuration>
</plugin>
<!--<plugin>-->
<!--<groupId>com.spotify</groupId>-->
<!--<artifactId>docker-maven-plugin</artifactId>-->
<!--<version>${docker.plugin.version}</version>-->
<!--<executions>-->
<!--<execution>-->
<!--<phase>package</phase>-->
<!--<goals>-->
<!--<goal>build</goal>-->
<!--</goals>-->
<!--</execution>-->
<!--</executions>-->
<!--<configuration>-->
<!--<imageName>${docker.image.prefix}/${project.build.finalName}</imageName>-->
<!--<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>-->
<!--<resources>-->
<!--<resource>-->
<!--<targetPath>/</targetPath>-->
<!--<directory>${project.build.directory}</directory>-->
<!--<include>${project.build.finalName}.jar</include>-->
<!--</resource>-->
<!--</resources>-->
<!--</configuration>-->
<!--</plugin>-->
</plugins>
</build>
</project>
\ No newline at end of file
......@@ -16,8 +16,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@EnableAceAuthClient
@EnableFeignClients({"com.github.wxiaoqi.security.auth.client.feign", "com.xxfc.platform.order.feign"})
@EnableAceCache
@MapperScan("com.xxfc.platform.order.mapper")
@EnableSwagger2Doc
@tk.mybatis.spring.annotation.MapperScan(basePackages = "com.xxfc.platform.order.mapper")
public class OrderApplication {
public static void main(String[] args) {
......
package com.xxfc.platform.order.biz;
import com.xxfc.platform.order.mapper.OrderRentCarMapper;
import org.springframework.stereotype.Service;
import com.xxfc.platform.order.entity.OrderRentCar;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
/**
* 租车订单详情
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-05-16 14:36:45
*/
@Service
public class OrderRentCarBiz extends BaseBiz<OrderRentCarMapper,OrderRentCar> {
}
\ No newline at end of file
package com.xxfc.platform.order.biz;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.mapper.OrderRentVehicleItemMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.xxfc.platform.order.entity.OrderRentVehicleItem;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.springframework.transaction.annotation.Transactional;
/**
* 租车订单详情
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-05-16 14:36:45
*/
@Service
public class OrderRentVehicleBiz extends BaseBiz<OrderRentVehicleItemMapper, OrderRentVehicleItem> {
@Autowired
BaseOrderBiz baseOrderBiz;
@Transactional
public void createOrder(OrderRentVehicleItem item) {
BaseOrder baseOrder = baseOrderBiz.createOrder();
item.setOrderId(baseOrder.getId());
insertSelective(item);
}
}
\ No newline at end of file
package com.xxfc.platform.order.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
@Configuration
public class RestConfiguration {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
package com.xxfc.platform.order.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
import java.util.List;
/**
* @Description : swagger配置配置
* @Author : Mars
* @Date : 2017年9月6日
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
/**
* Every Docket bean is picked up by the swagger-mvc framework - allowing for multiple
* swagger groups i.e. same code base multiple swagger resource listings.
*/
@Bean
public Docket customDocket(){
ParameterBuilder ticketPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<Parameter>();
ticketPar.name("Authorization").description("user Authorization")
.modelRef(new ModelRef("string")).parameterType("header")
.required(false).build(); //header中的ticket参数非必填,传空也可以
pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.xxfc.platform.order"))
//.apis(RequestHandlerSelectors.any())
.build()
.globalOperationParameters(pars)
.apiInfo(apiInfo());
}
ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("api swagger document")
.description("前后端联调swagger api 文档")
.version("2.1.5.5")
.build();
}
}
\ No newline at end of file
package com.xxfc.platform.order.config;
import com.github.wxiaoqi.security.auth.client.interceptor.ServiceAuthRestInterceptor;
import com.github.wxiaoqi.security.auth.client.interceptor.UserAuthRestInterceptor;
import com.github.wxiaoqi.security.common.handler.GlobalExceptionHandler;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.ArrayList;
import java.util.Collections;
@Configuration("orderWebConfig")
@Primary
public class WebConfiguration implements WebMvcConfigurer {
@Bean
GlobalExceptionHandler getGlobalExceptionHandler() {
return new GlobalExceptionHandler();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(getServiceAuthRestInterceptor()).
addPathPatterns(getIncludePathPatterns()).addPathPatterns("/3p/**");
registry.addInterceptor(getUserAuthRestInterceptor()).
addPathPatterns(getIncludePathPatterns());
}
@Bean
ServiceAuthRestInterceptor getServiceAuthRestInterceptor() {
return new ServiceAuthRestInterceptor();
}
@Bean
UserAuthRestInterceptor getUserAuthRestInterceptor() {
return new UserAuthRestInterceptor();
}
/**
* 需要用户和服务认证判断的路径
* @return
*/
private ArrayList<String> getIncludePathPatterns() {
ArrayList<String> list = new ArrayList<>();
String[] urls = {
"/3p/**"
};
Collections.addAll(list, urls);
return list;
}
}
package com.xxfc.platform.order.mapper;
import com.xxfc.platform.order.entity.OrderRentCar;
import com.xxfc.platform.order.entity.OrderRentVehicleItem;
import tk.mybatis.mapper.common.Mapper;
/**
......@@ -10,6 +10,6 @@ import tk.mybatis.mapper.common.Mapper;
* @email nishijjo@qq.com
* @date 2019-05-16 14:36:45
*/
public interface OrderRentCarMapper extends Mapper<OrderRentCar> {
public interface OrderRentVehicleItemMapper extends Mapper<OrderRentVehicleItem> {
}
package com.xxfc.platform.order.rest;
import cn.hutool.db.sql.Order;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.xxfc.platform.order.entity.OrderRentCar;
import com.xxfc.platform.order.service.OrderRentCarService;
import com.xxfc.platform.order.biz.OrderRentVehicleBiz;
import com.xxfc.platform.order.entity.OrderRentVehicleItem;
import com.xxfc.platform.order.service.OrderRentVehicleService;
import com.xxfc.platform.order.vo.OrderVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -13,16 +18,26 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("orderRentCar")
public class OrderRentCarController extends CommonBaseController {
@RequestMapping("orderRentVehicle")
@Api(value="租车订单",tags={"租车订单"})
public class OrderRentVehicleController extends CommonBaseController {
@Autowired
OrderRentCarService orderRentCarService;
OrderRentVehicleService orderRentCarService;
@Autowired
OrderRentVehicleBiz orderRentVehicleBiz;
public class AAA {
@ApiModelProperty
String sss;
}
@RequestMapping(value = "add",method = RequestMethod.POST)
@ResponseBody
public ObjectRestResponse<OrderRentCar> add(@RequestBody OrderVO<OrderRentCar> vo){
orderRentCarService.createOrder(vo);
return new ObjectRestResponse<OrderRentCar>();
@ApiOperation(value = "确认租车订单")
public ObjectRestResponse<OrderRentVehicleItem> add(@RequestBody OrderRentVehicleItem item){
orderRentVehicleBiz.createOrder(item);
return new ObjectRestResponse<OrderRentVehicleItem>();
}
}
\ No newline at end of file
......@@ -2,23 +2,27 @@ package com.xxfc.platform.order.service;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.order.biz.BaseOrderBiz;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.vo.OrderVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
public abstract class AbstractOrderHandle<Biz extends BaseBiz, VO extends OrderVO> implements OrderHandle {
public abstract class AbstractOrderHandle<Biz extends BaseBiz> implements OrderHandle {
@Autowired
protected Biz DetailOrderBiz;
protected Biz detailOrderBiz;
@Autowired
protected BaseOrderBiz baseOrderBiz;
public void createOrder(VO vo) {
baseOrderBiz.insertSelective(vo.getBaseOrder());
}
// public void createOrder(VO vo) {
// baseOrderBiz.insertSelective(vo.getBaseOrder());
// }
public void modifyOrder(VO vo) {
baseOrderBiz.updateSelectiveById(vo.getBaseOrder());
}
//public void createOrder(List<OrderVO> o)
// public void modifyOrder(VO vo) {
// baseOrderBiz.updateSelectiveById(vo.getBaseOrder());
// }
// abstract void createOrderMakeUp(BaseOrder baseOrder);
}
package com.xxfc.platform.order.service;
import org.springframework.stereotype.Service;
@Service
public class OrderRentCarService extends AbstractOrderHandle {
}
package com.xxfc.platform.order.service;
import com.xxfc.platform.order.biz.OrderRentVehicleBiz;
import com.xxfc.platform.order.entity.BaseOrder;
import com.xxfc.platform.order.entity.OrderRentVehicleItem;
import com.xxfc.platform.order.vo.OrderVO;
import org.springframework.stereotype.Service;
@Service
public class OrderRentVehicleService extends AbstractOrderHandle<OrderRentVehicleBiz> {
// @Override
// public void createOrder(OrderVO<OrderRentVehicleItem> vo) {
// super.createOrder(vo);
// this.detailOrderBiz.insertSelective(vo.getOrderItems().get(0));
// }
// public void createOrder(OrderRentVehicleItem item) {
// super.createOrder();
// this.detailOrderBiz.insertSelective(item);
// }
// @Override
// void createOrderMakeUp(BaseOrder order) {
// OrderRentVehicleItem orderRentVehicleItem
// }
}
server:
port: 8091
tomcat:
uri-encoding: UTF-8
logging:
level:
com.xxfc.platform.order.mapper: debug
spring:
application:
name: order-server
datasource:
database: xxfc_order
name: test
url: jdbc:mysql://${MYSQL_HOST:10.5.52.3}:${MYSQL_PORT:3306}/xxfc_order?useUnicode=true&characterEncoding=UTF8
username: root
password: sslcloud123*()
# 使用druid数据源
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
filters: stat
maxActive: 20
initialSize: 1
maxWait: 60000
minIdle: 1
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select 'x'
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxOpenPreparedStatements: 20
cloud:
nacos:
discovery:
server-addr: localhost:8848
sentinel:
transport:
dashboard: localhost:8080
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
default-property-inclusion: non_null
#--------------------以下为redis相关配置----------------------
redis:
database: 2
host: ${REDIS_HOST:10.5.52.3}
port: ${REDIS_PORT:6379}
password: xx2019fc
jedis:
pool:
max-active: 20
#--------------------以下为mybatis相关配置----------------------
mybatis:
type-aliases-package: com.xxfc.platform.order.entity
mapper-locations: classpath*:mapper/*.xml
basepackage: com.xxfc.platform.order.mapper
xmlLocation: classpath*:mapper/*.xml
configuration:
map-underscore-to-camel-case: true
#--------------------以下为开源项目验证相关配置----------------------
auth:
serviceId: order-server
user:
token-header: Authorization
client:
token-header: x-client-token
#不填则默认读取spring.application.name
id: order-server
secret: 123456
#--------------------#redis-cache 相关----------------------
redis:
pool:
maxActive: 300
maxIdle: 100
maxWait: 1000
host: ${REDIS_HOST:10.5.52.3}
port: ${REDIS_PORT:6379}
password: xx2019fc
timeout: 2000
# 服务或应用名
sysName: order-server
enable: true
database: 0
......@@ -2,7 +2,7 @@ spring:
profiles:
active: dev
application:
name: order-server
name: xx-order
cloud:
nacos:
config:
......@@ -15,10 +15,10 @@ spring:
config:
server-addr: 127.0.0.1:8848
---
spring:
profiles: pro
cloud:
nacos:
config:
server-addr: 10.5.52.2:8848
\ No newline at end of file
#---
#spring:
# profiles: pro
# cloud:
# nacos:
# config:
# server-addr: 10.5.52.2:8848
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxfc.platform.order.mapper.OrderRentCarMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.xxfc.platform.order.entity.OrderRentCar" id="orderRentCarMap">
<result property="id" column="id"/>
<result property="orderId" column="order_id"/>
<result property="crtTime" column="crt_time"/>
<result property="crtUser" column="crt_user"/>
<result property="crtName" column="crt_name"/>
<result property="crtHost" column="crt_host"/>
<result property="updTime" column="upd_time"/>
<result property="updUser" column="upd_user"/>
<result property="updName" column="upd_name"/>
<result property="updHost" column="upd_host"/>
</resultMap>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxfc.platform.order.mapper.OrderRentVehicleItemMapper">
</mapper>
\ No newline at end of file
......@@ -16,5 +16,6 @@ public class UsableVeicleDTO {
String endDate;
String priceStart;
String priceEnd;
String catasStr;
List<Integer> catas;
}
\ No newline at end of file
......@@ -20,6 +20,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
public class VehicleApplication {
public static void main(String[] args) {
System.out.println("123123");
SpringApplication.run(VehicleApplication.class, args);
}
......
......@@ -22,6 +22,7 @@ import com.xxfc.platform.vehicle.vo.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
......@@ -30,7 +31,10 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@RestController
@RequestMapping("/vehicleInfo")
......@@ -261,8 +265,9 @@ public class VehicleController extends BaseController<VehicleBiz> {
public ObjectRestResponse<PageDataVO<UsableVehicleVO>> rentUsableVehicle(UsableVeicleDTO dto) throws Exception {
//根据时间 获得 可用车辆
//结合车型
//vehicleBiz.searchUsable(dto);
if(StringUtils.isNotBlank(dto.getCatasStr())) {
dto.setCatas(Pattern.compile(",").splitAsStream(dto.getCatasStr()).map((s)-> Integer.parseInt(s)).collect(Collectors.toList()));
}
return new ObjectRestResponse<>().data(vehicleBiz.searchUsable(dto)).rel(true);
}
}
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