提交 07e9ef26 authored 作者: sin's avatar sin

- 联调订单流程

上级 77c6edef
......@@ -109,29 +109,13 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source> <!-- or higher, depending on your project -->
<target>1.8</target> <!-- or higher, depending on your project -->
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<!-- 打包 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
......
......@@ -33,4 +33,12 @@ public class MVCConfiguration implements WebMvcConfigurer {
registry.addResourceHandler("webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
// TODO 芋艿,允许跨域
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedHeaders("*")
.allowedMethods("*")
.allowedOrigins("*");
}
}
\ No newline at end of file
......@@ -8,10 +8,10 @@ import cn.iocoder.mall.order.api.bo.OrderRecipientBO;
import cn.iocoder.mall.order.api.dto.*;
import cn.iocoder.mall.order.application.convert.OrderConvertAPP;
import cn.iocoder.mall.order.application.convert.OrderDeliveryConvert;
import cn.iocoder.mall.order.application.po.OrderDeliverPO;
import cn.iocoder.mall.order.application.po.OrderItemUpdatePO;
import cn.iocoder.mall.order.application.po.OrderLogisticsPO;
import cn.iocoder.mall.order.application.po.OrderPageQueryPO;
import cn.iocoder.mall.order.application.po.admin.OrderDeliverPO;
import cn.iocoder.mall.order.application.po.admin.OrderItemUpdatePO;
import cn.iocoder.mall.order.application.po.admin.OrderLogisticsPO;
import cn.iocoder.mall.order.application.po.admin.OrderPageQueryPO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -37,7 +37,7 @@ public class AdminsOrderController {
@GetMapping("page")
@ApiOperation("订单列表")
public CommonResult<OrderPageBO> getOrderPage(@Validated OrderPageQueryPO orderPageQueryVO) {
OrderQueryDTO orderQueryDTO = OrderConvertAPP.INSTANCE.convertPageBO(orderPageQueryVO);
OrderQueryDTO orderQueryDTO = OrderConvertAPP.INSTANCE.convert(orderPageQueryVO);
return orderService.getOrderPage(orderQueryDTO);
}
......@@ -86,14 +86,14 @@ public class AdminsOrderController {
@PutMapping("order_item/update")
@ApiOperation("更新-订单item")
public CommonResult updateOrderItem(@RequestBody @Validated OrderItemUpdatePO orderItemUpdateVO) {
OrderItemUpdateDTO dto = OrderConvertAPP.INSTANCE.convertPageBO(orderItemUpdateVO);
OrderItemUpdateDTO dto = OrderConvertAPP.INSTANCE.convert(orderItemUpdateVO);
return orderService.updateOrderItem(dto);
}
@PutMapping("logistics/update")
@ApiOperation("更新-订单物流")
public CommonResult updateLogistics(@RequestBody @Validated OrderLogisticsPO orderLogisticsVO) {
OrderLogisticsUpdateDTO dto = OrderConvertAPP.INSTANCE.convertPageBO(orderLogisticsVO);
OrderLogisticsUpdateDTO dto = OrderConvertAPP.INSTANCE.convert(orderLogisticsVO);
return orderService.updateLogistics(dto);
}
}
package cn.iocoder.mall.order.application.controller.users;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.iocoder.common.framework.vo.CommonResult;
import cn.iocoder.mall.order.api.OrderService;
import cn.iocoder.mall.order.api.bo.OrderCreateBO;
import cn.iocoder.mall.order.api.bo.OrderPageBO;
import cn.iocoder.mall.order.api.dto.OrderCreateDTO;
import cn.iocoder.mall.order.api.dto.OrderQueryDTO;
import cn.iocoder.mall.order.api.dto.OrderUserPageDTO;
import cn.iocoder.mall.order.application.convert.OrderConvertAPP;
import cn.iocoder.mall.order.application.po.user.OrderCreatePO;
import cn.iocoder.mall.user.sdk.context.UserSecurityContextHolder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* 订单API(users)
......@@ -12,4 +23,22 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("users/order")
public class UsersOrderController {
@Autowired
private OrderService orderService;
@GetMapping("order_page")
public CommonResult<OrderPageBO> getOrderPage(@Validated OrderQueryDTO orderQueryDTO) {
Integer userId = UserSecurityContextHolder.getContext().getUserId();
orderQueryDTO.setUserId(userId);
return orderService.getOrderPage(orderQueryDTO);
}
@PostMapping("create_order")
public CommonResult<OrderCreateBO> createOrder(@RequestBody @Validated OrderCreatePO orderCreatePO) {
Integer userId = UserSecurityContextHolder.getContext().getUserId();
OrderCreateDTO orderCreateDTO = OrderConvertAPP.INSTANCE.convert(orderCreatePO);
orderCreateDTO.setUserId(1);
return orderService.createOrder(orderCreateDTO);
}
}
package cn.iocoder.mall.order.application.convert;
import cn.iocoder.mall.order.api.dto.OrderCreateDTO;
import cn.iocoder.mall.order.api.dto.OrderItemUpdateDTO;
import cn.iocoder.mall.order.api.dto.OrderLogisticsUpdateDTO;
import cn.iocoder.mall.order.api.dto.OrderQueryDTO;
import cn.iocoder.mall.order.application.po.OrderItemUpdatePO;
import cn.iocoder.mall.order.application.po.OrderPageQueryPO;
import cn.iocoder.mall.order.application.po.OrderLogisticsPO;
import cn.iocoder.mall.order.application.po.admin.OrderItemUpdatePO;
import cn.iocoder.mall.order.application.po.admin.OrderLogisticsPO;
import cn.iocoder.mall.order.application.po.admin.OrderPageQueryPO;
import cn.iocoder.mall.order.application.po.user.OrderCreatePO;
import org.mapstruct.Mapper;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
......@@ -24,11 +26,14 @@ public interface OrderConvertAPP {
OrderConvertAPP INSTANCE = Mappers.getMapper(OrderConvertAPP.class);
@Mappings({})
OrderQueryDTO convertPageBO(OrderPageQueryPO orderPageQueryVO);
OrderQueryDTO convert(OrderPageQueryPO orderPageQueryVO);
@Mappings({})
OrderLogisticsUpdateDTO convertPageBO(OrderLogisticsPO orderLogisticsVO);
OrderLogisticsUpdateDTO convert(OrderLogisticsPO orderLogisticsVO);
@Mappings({})
OrderItemUpdateDTO convertPageBO(OrderItemUpdatePO orderItemUpdateVO);
OrderItemUpdateDTO convert(OrderItemUpdatePO orderItemUpdateVO);
@Mappings({})
OrderCreateDTO convert(OrderCreatePO orderCreatePO);
}
package cn.iocoder.mall.order.application.convert;
import cn.iocoder.mall.order.api.dto.OrderDeliveryDTO;
import cn.iocoder.mall.order.application.po.OrderDeliverPO;
import cn.iocoder.mall.order.application.po.admin.OrderDeliverPO;
import org.mapstruct.Mapper;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
......
package cn.iocoder.mall.order.application.po;
package cn.iocoder.mall.order.application.po.admin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......
package cn.iocoder.mall.order.application.po;
package cn.iocoder.mall.order.application.po.admin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......
package cn.iocoder.mall.order.application.po;
package cn.iocoder.mall.order.application.po.admin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......
package cn.iocoder.mall.order.application.po;
package cn.iocoder.mall.order.application.po.admin;
import cn.iocoder.mall.order.api.bo.OrderBO;
import io.swagger.annotations.ApiModel;
......
package cn.iocoder.mall.order.application.po;
package cn.iocoder.mall.order.application.po.admin;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......
package cn.iocoder.mall.order.application.po.user;
import cn.iocoder.mall.order.api.dto.OrderCreateItemDTO;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;
/**
* 订单创建
*
* @author Sin
* @time 2019-03-16 14:42
*/
@Data
@Accessors(chain = true)
public class OrderCreatePO implements Serializable {
/**
* 收件手机号
*/
@NotNull(message = "用户地址id不能为空!")
private Integer userAddressId;
/**
* 备注
*/
private String remark;
///
/// order item
@NotNull()
@Size(max = 1000, min = 1, message = "用户订单中没有商品!")
private List<OrderCreateItemDTO> orderItems;
}
......@@ -11,10 +11,6 @@
<artifactId>order-service-api</artifactId>
<properties>
<org.projectlombok.version>1.16.14</org.projectlombok.version>
</properties>
<dependencies>
<dependency>
<groupId>cn.iocoder.mall</groupId>
......@@ -26,10 +22,17 @@
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId> <!-- use mapstruct-jdk8 for Java 8 or higher -->
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${org.projectlombok.version}</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -44,11 +44,10 @@ public interface OrderService {
/**
* 订单 - 创建
*
* @param userId
* @param orderCreateDTO
* @return
*/
CommonResult<OrderCreateBO> createOrder(Integer userId, OrderCreateDTO orderCreateDTO);
CommonResult<OrderCreateBO> createOrder(OrderCreateDTO orderCreateDTO);
/**
* 订单item - 更新
......
package cn.iocoder.mall.order.api.bo;
import java.io.Serializable;
/**
* 订单支付信息返回
*
* @author Sin
* @time 2019-04-08 19:39
*/
public class OrderPayBO implements Serializable {
}
......@@ -17,9 +17,16 @@ public enum OrderErrorCodeEnum {
ORDER_PAY_AMOUNT_NOT_NEGATIVE(1008000003, "支付金额不能为负数!"),
ORDER_STATUS_NOT_CANCEL(1008000004, "订单状态不能取消!"),
ORDER_DELIVERY_INCORRECT_DATA(1008000005, "订单发货数据不正确!"),
ORDER_INSUFFICIENT_INVENTORY(1008000006, "库存不足!"),
ORDER_GOODS_AMOUNT_INCORRECT(1008000007, "商品金额非法!"),
ORDER_GET_GOODS_INFO_INCORRECT(1008000008, "获取额商品信息不正确!"),
ORDER_GET_USER_ADDRESS_FAIL(1008000009, "获取用户地址失败!"),
ORDER_GET_PAY_FAIL(1008000009, "调用pay失败!"),
// order item
ORDER_ITEM_ONLY_ONE(1008000004, "订单Item只有一个!"),
;
private final int code;
......
......@@ -6,7 +6,7 @@ package cn.iocoder.mall.order.api.constant;
* @author Sin
* @time 2019-03-16 14:32
*/
public enum OrderPayStatusEnum {
public enum OrderPayStatus {
WAITING_PAYMENT(0, "等待支付"),
SUCCESSFUL_PAYMENT(1, "支付成功"),
......@@ -19,7 +19,7 @@ public enum OrderPayStatusEnum {
private final String name;
OrderPayStatusEnum(int value, String name) {
OrderPayStatus(int value, String name) {
this.value = value;
this.name = name;
}
......
package cn.iocoder.mall.order.api.constant;
/**
* 支付 AppId
*
* @author Sin
* @time 2019-04-08 19:54
*/
public class PayAppId {
/**
* 电商
*/
public static final String APP_ID_1024 = "1024";
}
......@@ -3,8 +3,6 @@ package cn.iocoder.mall.order.api.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;
......@@ -23,34 +21,20 @@ public class OrderCreateDTO implements Serializable {
*/
private Integer userId;
/**
* 收件区域编号
* 用户地址
*/
@NotNull
private String areaNo;
/**
* 收件人名称
*/
@NotNull
private String name;
/**
* 收件手机号
*/
@NotNull
private String mobile;
/**
* 收件详细地址
*/
@NotNull
private String address;
private Integer userAddressId;
/**
* 备注
*/
private String remark;
/**
* ip信息
*/
private String ip;
///
/// order item
@NotNull
@Size(max = 1000, min = 1)
private List<OrderCreateItemDTO> orderItems;
}
package cn.iocoder.mall.order.api.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
......@@ -7,6 +10,8 @@ import javax.validation.constraints.NotNull;
* @author Sin
* @time 2019-03-17 09:37
*/
@Data
@Accessors(chain = true)
public class OrderCreateItemDTO {
/**
......
package cn.iocoder.mall.order.api.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
......@@ -9,6 +12,8 @@ import java.util.List;
* @author Sin
* @time 2019-03-30 22:31
*/
@Data
@Accessors(chain = true)
public class OrderDeliveryDTO implements Serializable {
/**
......
package cn.iocoder.mall.order.api.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
......@@ -7,6 +10,8 @@ import java.util.List;
* @author Sin
* @time 2019-03-23 10:22
*/
@Data
@Accessors(chain = true)
public class OrderItemDeletedDTO implements Serializable {
/**
......
package cn.iocoder.mall.order.api.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
......@@ -9,6 +12,8 @@ import java.io.Serializable;
* @author Sin
* @time 2019-03-16 14:46
*/
@Data
@Accessors(chain = true)
public class OrderItemUpdateDTO implements Serializable {
/**
......
package cn.iocoder.mall.order.api.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
......@@ -10,6 +13,8 @@ import java.io.Serializable;
* @author Sin
* @time 2019-03-17 20:22
*/
@Data
@Accessors(chain = true)
public class OrderLogisticsUpdateDTO implements Serializable {
/**
......
package cn.iocoder.mall.order.api.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
......@@ -9,6 +12,8 @@ import java.util.Date;
* @author Sin
* @time 2019-03-23 14:15
*/
@Data
@Accessors(chain = true)
public class OrderQueryDTO implements Serializable {
/**
......
package cn.iocoder.mall.order.api.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
......@@ -8,6 +11,8 @@ import java.io.Serializable;
* @author Sin
* @time 2019-03-30 15:34
*/
@Data
@Accessors(chain = true)
public class OrderReturnCreateDTO implements Serializable {
/**
......
package cn.iocoder.mall.order.api.dto;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* 用户订单 page
*
* @author Sin
* @time 2019-04-08 17:50
*/
@Data
@Accessors(chain = true)
public class OrderUserPageDTO implements Serializable {
/**
* id
*/
private Integer id;
/**
* 订单号
*/
private String orderNo;
/**
* 用户 id
*/
private Integer userId;
/**
* 付款时间(待发货)
*/
private Date startPaymentTime;
private Date endPaymentTime;
/**
* 创建时间
*/
private Date startCreateTime;
private Date endCreateTime;
/**
* 状态
*/
private Integer status;
}
......@@ -11,11 +11,6 @@
<artifactId>order-service-impl</artifactId>
<properties>
<org.mapstruct.version>1.3.0.Final</org.mapstruct.version>
<org.projectlombok.version>1.16.14</org.projectlombok.version>
</properties>
<dependencies>
<dependency>
<groupId>cn.iocoder.mall</groupId>
......@@ -28,6 +23,19 @@
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>cn.iocoder.mall</groupId>
<artifactId>pay-service-api</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>cn.iocoder.mall</groupId>
<artifactId>user-service-api</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
......@@ -47,43 +55,27 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>${org.mapstruct.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${org.projectlombok.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.0.1-jre</version>
</dependency>
<dependency>
<groupId>Pingplusplus</groupId>
<artifactId>pingpp-java</artifactId>
<version>2.2.4</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-spring-boot-starter</artifactId>
......@@ -108,6 +100,12 @@
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>cn.iocoder.mall</groupId>
<artifactId>pay-service-api</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
......@@ -116,23 +114,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source> <!-- or higher, depending on your project -->
<target>1.8</target> <!-- or higher, depending on your project -->
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${org.projectlombok.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
......
......@@ -3,6 +3,7 @@ package cn.iocoder.mall.order.biz.convert;
import cn.iocoder.mall.order.api.bo.OrderRecipientBO;
import cn.iocoder.mall.order.api.dto.OrderCreateDTO;
import cn.iocoder.mall.order.biz.dataobject.OrderRecipientDO;
import cn.iocoder.mall.user.api.bo.UserAddressBO;
import org.mapstruct.Mapper;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;
......@@ -23,6 +24,9 @@ public interface OrderRecipientConvert {
@Mappings({})
OrderRecipientDO convert(OrderCreateDTO orderCreateDTO);
@Mappings({})
OrderRecipientDO convert(UserAddressBO userAddressBO);
@Mappings({})
OrderRecipientBO convert(OrderRecipientDO orderRecipientDO);
......
......@@ -32,6 +32,10 @@ public class OrderItemDO extends DeletableDO {
* 商品编号
*/
private Integer skuId;
/**
* 物流id
*/
private Integer orderLogisticsId;
/**
* 商品名称
*/
......@@ -52,10 +56,6 @@ public class OrderItemDO extends DeletableDO {
* 支付金额(实付金额)
*/
private Integer payAmount;
/**
* 物流id
*/
private Integer orderLogisticsId;
///
/// 时间信息
......
......@@ -3,9 +3,11 @@
<mapper namespace="cn.iocoder.mall.order.biz.dao.OrderItemMapper">
<sql id="FIELDS">
id, order_id, order_no, sku_id, sku_name, sku_image, quantity, price, pay_amount,
id, order_id, order_no, sku_id, sku_name, sku_image, order_logistics_id,
quantity, price, pay_amount,
payment_time, delivery_time, receiver_time, closing_time,
has_return_exchange, delivery_type, status, create_time, update_time, deleted
has_return_exchange, delivery_type, status,
create_time, update_time, deleted
</sql>
<!--
......@@ -13,11 +15,14 @@
-->
<insert id="insert" parameterType="OrderItemDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
INSERT INTO `order_item` (
order_id, order_no, sku_id, sku_name, sku_image, quantity, price, pay_amount,
order_id, order_no, sku_id, sku_name, sku_image, order_logistics_id,
quantity, price, pay_amount,
payment_time, delivery_time, receiver_time, closing_time,
has_return_exchange, delivery_type, status, create_time, update_time, deleted
has_return_exchange, delivery_type, status,
create_time, update_time, deleted
) VALUES (
#{orderId}, #{orderNo}, #{skuId}, #{quantity}, #{price},
#{orderId}, #{orderNo}, #{skuId}, #{skuName}, #{skuImage}, #{orderLogisticsId},
#{quantity}, #{price}, #{payAmount},
#{paymentTime}, #{deliveryTime}, #{receiverTime}, #{closingTime},
#{hasReturnExchange}, #{deliveryType}, #{status},
#{createTime}, #{updateTime}, #{deleted}
......
......@@ -14,15 +14,15 @@
-->
<insert id="insert" parameterType="OrderDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
INSERT INTO `order` (
user_id, order_no, price, payment_time,
user_id, order_no, pay_amount, payment_time,
delivery_time, receiver_time, closing_time,
has_return_exchange, status, remark,
create_time, update_time, `deleted`
has_return_exchange,
status, remark, create_time, update_time, `deleted`
) VALUES (
#{userId}, #{orderNo}, #{price}, #{paymentTime},
#{userId}, #{orderNo}, #{payAmount}, #{paymentTime},
#{deliveryTime}, #{receiverTime}, #{closingTime},
#{hasReturnExchange}, #{status}, #{remark},
#{createTime}, #{updateTime}, #{deleted}
#{hasReturnExchange},
#{status}, #{remark}, #{createTime}, #{updateTime}, #{deleted}
)
</insert>
......
......@@ -36,24 +36,24 @@ public class OrderServiceImplTest {
@Test
public void createOrderTest() {
Integer userId = 1;
OrderCreateItemDTO orderCreateItemDTO
= new OrderCreateItemDTO()
.setSkuId(1)
.setQuantity(1);
CommonResult<OrderCreateBO> result = orderService.createOrder(
userId,
new OrderCreateDTO()
.setRemark("")
.setName("张三")
.setMobile("13301926050")
.setAddress("深圳市福田区")
.setAreaNo("1000100")
.setOrderItems(Arrays.asList(orderCreateItemDTO)));
OrderDO orderDO = orderMapper.selectById(result.getData().getId());
Assert.assertNotNull("创建的订单不存在!", orderDO);
//
// Integer userId = 1;
// OrderCreateItemDTO orderCreateItemDTO
// = new OrderCreateItemDTO()
// .setSkuId(1)
// .setQuantity(1);
//
// CommonResult<OrderCreateBO> result = orderService.createOrder(
// userId,
// new OrderCreateDTO()
// .setRemark("")
// .setName("张三")
// .setMobile("13301926050")
// .setAddress("深圳市福田区")
// .setAreaNo("1000100")
// .setOrderItems(Arrays.asList(orderCreateItemDTO)));
//
// OrderDO orderDO = orderMapper.selectById(result.getData().getId());
// Assert.assertNotNull("创建的订单不存在!", orderDO);
}
}
......@@ -3,13 +3,15 @@ package cn.iocoder.mall.user.api.bo;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @author Sin
* @time 2019-04-06 13:28
*/
@Data
@Accessors(chain = true)
public class UserAddressBO {
public class UserAddressBO implements Serializable {
/**
......
......@@ -3,11 +3,12 @@ package cn.iocoder.mall.user.api.bo;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
@Data
@Accessors(chain = true)
public class UserBO {
public class UserBO implements Serializable {
/**
* 用户编号
......
......@@ -3,11 +3,12 @@ package cn.iocoder.mall.user.api.bo;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
@Data
@Accessors(chain = true)
public class UserPageBO {
public class UserPageBO implements Serializable {
/**
* 用户数组
......
......@@ -24,6 +24,7 @@ import java.util.List;
* @time 2019-04-06 13:26
*/
@Service
@com.alibaba.dubbo.config.annotation.Service(validation = "true")
public class UserAddressServiceImpl implements UserAddressService {
@Autowired
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论