diff --git a/SpringBootOrder/SpringBootOrder.iml b/SpringBootOrder/SpringBootOrder.iml
new file mode 100644
index 0000000..3517d3b
--- /dev/null
+++ b/SpringBootOrder/SpringBootOrder.iml
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SpringBootOrder/pom.xml b/SpringBootOrder/pom.xml
new file mode 100644
index 0000000..d85c9c2
--- /dev/null
+++ b/SpringBootOrder/pom.xml
@@ -0,0 +1,89 @@
+
+
+
+ SpringBoot2
+ zz
+ 0.0.1-SNAPSHOT
+
+ 4.0.0
+
+ SpringBootOrder
+
+
+
+ UTF-8
+ UTF-8
+ 1.8
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-devtools
+ runtime
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.6
+ true
+
+
+
+ mysql
+ mysql-connector-java
+ 8.0.15
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-jpa
+
+
+
+ com.google.code.gson
+ gson
+
+
+
+ javax.servlet
+ servlet-api
+ 2.5
+
+
+
+
+
+
+ alimaven
+ aliyun maven
+ http://maven.aliyun.com/nexus/content/groups/public/
+
+
+
+ core
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
+
\ No newline at end of file
diff --git a/SpringBootOrder/src/main/java/com/zz/Application.java b/SpringBootOrder/src/main/java/com/zz/Application.java
new file mode 100644
index 0000000..ec757ab
--- /dev/null
+++ b/SpringBootOrder/src/main/java/com/zz/Application.java
@@ -0,0 +1,23 @@
+package com.zz;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+import org.springframework.boot.web.servlet.ServletComponentScan;
+
+import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
+/**
+ * Created by Bsea
+ * 2019-05-6 18:30
+ */
+@SpringBootApplication
+@ServletComponentScan //如果使用过滤器,必须添加这个注解
+@EnableJpaAuditing //用户 插入数据的时候,插入默认系统时间
+public class Application {
+
+
+ public static void main(String[] args) {
+ SpringApplication.run(Application.class, args);
+ }
+
+}
diff --git a/SpringBootOrder/src/main/java/com/zz/config/CORSConfiguration.java b/SpringBootOrder/src/main/java/com/zz/config/CORSConfiguration.java
new file mode 100644
index 0000000..5960d4a
--- /dev/null
+++ b/SpringBootOrder/src/main/java/com/zz/config/CORSConfiguration.java
@@ -0,0 +1,18 @@
+package com.zz.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+
+@Configuration
+public class CORSConfiguration extends WebMvcConfigurerAdapter {
+ @Override
+ public void addCorsMappings(CorsRegistry registry) {
+ registry.addMapping("/**")
+ .allowedMethods("*")
+ .allowedOrigins("*")
+ .allowedHeaders("*");
+ super.addCorsMappings(registry);
+ }
+}
+
diff --git a/SpringBootOrder/src/main/java/com/zz/dto/OrderDTO.java b/SpringBootOrder/src/main/java/com/zz/dto/OrderDTO.java
new file mode 100644
index 0000000..55750e2
--- /dev/null
+++ b/SpringBootOrder/src/main/java/com/zz/dto/OrderDTO.java
@@ -0,0 +1,60 @@
+package com.zz.dto;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.zz.order.entity.ShopRecord;
+import com.zz.util.Date2LongSerializer;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by Bsea
+ * 2017-06-11 18:30
+ */
+@Data
+//@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
+//@JsonInclude(JsonInclude.Include.NON_NULL)
+public class OrderDTO {
+
+ private Long shopOrderId;
+
+ private String shopOrderUser;
+
+ private String shopOrderCreateman;
+
+ private Date shopOrderCreatetime;
+
+ private String shopOrderCode;
+
+ private String shopOrderRemarks;
+
+ private Byte shopOrderStatus;
+
+ private String shopOrderCompanyid;
+
+ private String shopOrderName;
+
+ private String shopOrderCarnumber;
+
+ private String shopOrderPhone;
+
+ private String shopOrderCartype;
+
+ private String shopOrderCarbrand;
+
+ private BigDecimal shopOrderTotalprice;
+
+ private String shopOrderUserCard;
+
+ private Byte shopOrderPaytype;
+
+ private String shopOrderUpdateman;
+ @JsonSerialize(using = Date2LongSerializer.class)
+ private Date shopOrderUpdatetime;
+
+ List orderDetailList;
+
+}
+
diff --git a/SpringBootOrder/src/main/java/com/zz/enums/CodeEnum.java b/SpringBootOrder/src/main/java/com/zz/enums/CodeEnum.java
new file mode 100644
index 0000000..81af85d
--- /dev/null
+++ b/SpringBootOrder/src/main/java/com/zz/enums/CodeEnum.java
@@ -0,0 +1,9 @@
+package com.zz.enums;
+
+/**
+ * Created by Bsea
+ * 2017-07-16 18:16
+ */
+public interface CodeEnum {
+ Integer getCode();
+}
diff --git a/SpringBootOrder/src/main/java/com/zz/enums/OrderStatusEnum.java b/SpringBootOrder/src/main/java/com/zz/enums/OrderStatusEnum.java
new file mode 100644
index 0000000..5d033fa
--- /dev/null
+++ b/SpringBootOrder/src/main/java/com/zz/enums/OrderStatusEnum.java
@@ -0,0 +1,24 @@
+package com.zz.enums;
+
+import lombok.Getter;
+
+/**
+ * Created by Bsea
+ * 2017-06-11 17:12
+ */
+@Getter
+public enum OrderStatusEnum implements CodeEnum {
+ NEW(0, "新订单"),
+ FINISHED(1, "完结"),
+ CANCEL(2, "已取消"),
+ ;
+
+ private Integer code;
+
+ private String message;
+
+ OrderStatusEnum(Integer code, String message) {
+ this.code = code;
+ this.message = message;
+ }
+}
diff --git a/SpringBootOrder/src/main/java/com/zz/enums/PayStatusEnum.java b/SpringBootOrder/src/main/java/com/zz/enums/PayStatusEnum.java
new file mode 100644
index 0000000..10d3ed3
--- /dev/null
+++ b/SpringBootOrder/src/main/java/com/zz/enums/PayStatusEnum.java
@@ -0,0 +1,25 @@
+package com.zz.enums;
+
+import lombok.Getter;
+
+/**
+ * Created by Bsea
+ * 2017-06-11 17:16
+ */
+@Getter
+public enum PayStatusEnum implements CodeEnum {
+
+ WAIT(0, "等待支付"),
+ SUCCESS(1, "支付成功"),
+
+ ;
+
+ private Integer code;
+
+ private String message;
+
+ PayStatusEnum(Integer code, String message) {
+ this.code = code;
+ this.message = message;
+ }
+}
diff --git a/SpringBootOrder/src/main/java/com/zz/enums/ProductStatusEnum.java b/SpringBootOrder/src/main/java/com/zz/enums/ProductStatusEnum.java
new file mode 100644
index 0000000..2449389
--- /dev/null
+++ b/SpringBootOrder/src/main/java/com/zz/enums/ProductStatusEnum.java
@@ -0,0 +1,26 @@
+package com.zz.enums;
+
+import lombok.Getter;
+
+/**
+ * 商品状态
+ * Created by Bsea
+ * 2017-05-09 17:33
+ */
+@Getter
+public enum ProductStatusEnum implements CodeEnum {
+ UP(0, "在架"),
+ DOWN(1, "下架")
+ ;
+
+ private Integer code;
+
+ private String message;
+
+ ProductStatusEnum(Integer code, String message) {
+ this.code = code;
+ this.message = message;
+ }
+
+
+}
diff --git a/SpringBootOrder/src/main/java/com/zz/enums/ResultEnum.java b/SpringBootOrder/src/main/java/com/zz/enums/ResultEnum.java
new file mode 100644
index 0000000..e978b9f
--- /dev/null
+++ b/SpringBootOrder/src/main/java/com/zz/enums/ResultEnum.java
@@ -0,0 +1,59 @@
+package com.zz.enums;
+
+import lombok.Getter;
+
+/**
+ * Created by Bsea
+ * 2017-06-11 18:56
+ */
+@Getter
+public enum ResultEnum {
+
+ SUCCESS(0, "成功"),
+
+ PARAM_ERROR(1, "参数不正确"),
+
+ PRODUCT_NOT_EXIST(10, "商品不存在"),
+
+ PRODUCT_STOCK_ERROR(11, "商品库存不正确"),
+
+ ORDER_NOT_EXIST(12, "订单不存在"),
+
+ ORDERDETAIL_NOT_EXIST(13, "订单详情不存在"),
+
+ ORDER_STATUS_ERROR(14, "订单状态不正确"),
+
+ ORDER_UPDATE_FAIL(15, "订单更新失败"),
+
+ ORDER_DETAIL_EMPTY(16, "订单详情为空"),
+
+ ORDER_PAY_STATUS_ERROR(17, "订单支付状态不正确"),
+
+ CART_EMPTY(18, "购物车为空"),
+
+ ORDER_OWNER_ERROR(19, "该订单不属于当前用户"),
+
+ WECHAT_MP_ERROR(20, "微信公众账号方面错误"),
+
+ WXPAY_NOTIFY_MONEY_VERIFY_ERROR(21, "微信支付异步通知金额校验不通过"),
+
+ ORDER_CANCEL_SUCCESS(22, "订单取消成功"),
+
+ ORDER_FINISH_SUCCESS(23, "订单完结成功"),
+
+ PRODUCT_STATUS_ERROR(24, "商品状态不正确"),
+
+ LOGIN_FAIL(25, "登录失败, 登录信息不正确"),
+
+ LOGOUT_SUCCESS(26, "登出成功"),
+ ;
+
+ private Integer code;
+
+ private String message;
+
+ ResultEnum(Integer code, String message) {
+ this.code = code;
+ this.message = message;
+ }
+}
diff --git a/SpringBootOrder/src/main/java/com/zz/exception/DataValidationException.java b/SpringBootOrder/src/main/java/com/zz/exception/DataValidationException.java
new file mode 100644
index 0000000..43692b7
--- /dev/null
+++ b/SpringBootOrder/src/main/java/com/zz/exception/DataValidationException.java
@@ -0,0 +1,8 @@
+package com.zz.exception;
+
+public class DataValidationException extends RuntimeException {
+
+ public DataValidationException(String msg){
+ super(msg);
+ }
+}
diff --git a/SpringBootOrder/src/main/java/com/zz/exception/GlobExceptionHandler.java b/SpringBootOrder/src/main/java/com/zz/exception/GlobExceptionHandler.java
new file mode 100644
index 0000000..6454445
--- /dev/null
+++ b/SpringBootOrder/src/main/java/com/zz/exception/GlobExceptionHandler.java
@@ -0,0 +1,22 @@
+package com.zz.exception;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.HashMap;
+import java.util.Map;
+@Slf4j
+@ControllerAdvice
+public class GlobExceptionHandler {
+ //没有匹配的错误处理方法的时候,就被这个处理
+ @ExceptionHandler(Exception.class)
+ @ResponseBody
+ public Map handle2(Exception e) {
+ Map map = new HashMap<>();
+ map.put("message", e.getMessage());
+ log.error(e.getMessage());
+ return map;
+ }
+}
diff --git a/SpringBootOrder/src/main/java/com/zz/form/OrderForm.java b/SpringBootOrder/src/main/java/com/zz/form/OrderForm.java
new file mode 100644
index 0000000..2abbd9a
--- /dev/null
+++ b/SpringBootOrder/src/main/java/com/zz/form/OrderForm.java
@@ -0,0 +1,56 @@
+package com.zz.form;
+
+import lombok.Data;
+import org.hibernate.validator.constraints.NotEmpty;
+
+/**
+ * Created by Bsea
+ * 2017-06-18 23:31
+ */
+@Data
+public class OrderForm {
+
+ /**
+ * 买家手机号码
+ */
+ @NotEmpty(message = "手机号码必填")
+ private String shopOrderCode;
+
+ /**
+ * 桌号
+ */
+ @NotEmpty(message = "桌号必填")
+ private String shopOrderRemarks;
+
+ /**
+ * 买家姓名
+ */
+ @NotEmpty(message = "姓名必填")
+ private String shopOrderUser;
+
+ /**
+ * 总价
+ */
+
+ private String shopOrderTotalprice;
+
+ /**
+ * 订单状态
+ */
+
+ private Byte shopOrderStatus;
+ /**
+ * 订单内容
+ */
+ private String shopOrderName;
+ /**
+ * 商户id
+ */
+ @NotEmpty(message = "商户号码必填")
+ private String shopOrderCompanyid;
+ /**
+ * 购物车
+ */
+ @NotEmpty(message = "购物车不能为空")
+ private String shopRecordList;
+}
diff --git a/SpringBootOrder/src/main/java/com/zz/order/controller/OrderController.java b/SpringBootOrder/src/main/java/com/zz/order/controller/OrderController.java
new file mode 100644
index 0000000..5ba9d23
--- /dev/null
+++ b/SpringBootOrder/src/main/java/com/zz/order/controller/OrderController.java
@@ -0,0 +1,54 @@
+package com.zz.order.controller;
+
+import com.zz.dto.OrderDTO;
+import com.zz.exception.DataValidationException;
+import com.zz.form.OrderForm;
+import com.zz.order.service.OrderService;
+import com.zz.util.OrderForm2OrderDTOConverter;
+import com.zz.util.ResultVOUtil;
+import com.zz.vo.ResultVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.util.CollectionUtils;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.util.HashMap;
+import java.util.Map;
+/**
+ * Created by Bsea
+ * 2019-05-6 18:30
+ */
+@RequestMapping("/order")
+@Slf4j
+@RestController
+public class OrderController {
+
+ @Resource
+ OrderService orderService;
+ //创建订单
+ @PostMapping("/create")
+ public ResultVO