- 添加订单 创建、更新收件人信息 操作

pull/1/head
sin 2019-03-17 21:08:14 +08:00
parent ba7669f3a2
commit b1b70318dc
18 changed files with 496 additions and 50 deletions

View File

@ -2,6 +2,7 @@ package cn.iocoder.mall.order.api;
import cn.iocoder.mall.order.api.bo.OrderBO; import cn.iocoder.mall.order.api.bo.OrderBO;
import cn.iocoder.mall.order.api.dto.OrderCreateDTO; import cn.iocoder.mall.order.api.dto.OrderCreateDTO;
import cn.iocoder.mall.order.api.dto.OrderReceiverInformationDTO;
import cn.iocoder.mall.order.api.dto.OrderUpdateDTO; import cn.iocoder.mall.order.api.dto.OrderUpdateDTO;
/** /**
@ -27,12 +28,23 @@ public interface OrderService {
*/ */
void updateOrder(OrderUpdateDTO orderUpdateDTO); void updateOrder(OrderUpdateDTO orderUpdateDTO);
/**
* -
*
*
* -
* -
* -
* -
*/
void updateOrderReceiverInformation(OrderReceiverInformationDTO orderReceiverInfoDTO);
/** /**
* *
* *
* @param orderId * @param id
*/ */
void deleteOrder(String orderId); void deleteOrder(Integer id);
/** /**
* *

View File

@ -9,4 +9,53 @@ import java.io.Serializable;
* @time 2019-03-16 14:38 * @time 2019-03-16 14:38
*/ */
public class OrderBO implements Serializable { public class OrderBO implements Serializable {
/**
*
*/
private Integer id;
/**
*
*/
private String orderNo;
/**
*
*/
private Integer price;
@Override
public String toString() {
return "OrderBO{" +
"id=" + id +
", orderNo='" + orderNo + '\'' +
", price=" + price +
'}';
}
public Integer getId() {
return id;
}
public OrderBO setId(Integer id) {
this.id = id;
return this;
}
public String getOrderNo() {
return orderNo;
}
public OrderBO setOrderNo(String orderNo) {
this.orderNo = orderNo;
return this;
}
public Integer getPrice() {
return price;
}
public OrderBO setPrice(Integer price) {
this.price = price;
return this;
}
} }

View File

@ -0,0 +1,31 @@
package cn.iocoder.mall.order.api.constants;
/**
* deleteStatus
*
* @author Sin
* @time 2019-03-17 20:58
*/
public enum OrderDeleteStatusEnum {
DELETE_NO(0, "正常"),
DELETE_YES(1, "已删除")
;
private final int value;
private final String name;
OrderDeleteStatusEnum(int value, String name) {
this.value = value;
this.name = name;
}
public int getValue() {
return value;
}
public String getName() {
return name;
}
}

View File

@ -17,10 +17,18 @@ public enum OrderPayStatusEnum {
private final int value; private final int value;
private final String text; private final String name;
OrderPayStatusEnum(int value, String text) { OrderPayStatusEnum(int value, String name) {
this.value = value; this.value = value;
this.text = text; this.name = name;
}
public int getValue() {
return value;
}
public String getName() {
return name;
} }
} }

View File

@ -28,9 +28,18 @@ public enum OrderStatusEnum {
private final int value; private final int value;
private final String text; private final String name;
OrderStatusEnum(int value, String text) { OrderStatusEnum(int value, String name) {
this.value = value; this.value = value;
this.text = text; this.name = name;
}} }
public int getValue() {
return value;
}
public String getName() {
return name;
}
}

View File

@ -18,6 +18,11 @@ public class OrderCreateDTO implements Serializable {
*/ */
@NotNull @NotNull
private String receiverAreaNo; private String receiverAreaNo;
/**
*
*/
@NotNull
private String receiverName;
/** /**
* *
*/ */
@ -44,6 +49,7 @@ public class OrderCreateDTO implements Serializable {
public String toString() { public String toString() {
return "OrderCreateDTO{" + return "OrderCreateDTO{" +
"receiverAreaNo='" + receiverAreaNo + '\'' + "receiverAreaNo='" + receiverAreaNo + '\'' +
", receiverName='" + receiverName + '\'' +
", receiverMobile='" + receiverMobile + '\'' + ", receiverMobile='" + receiverMobile + '\'' +
", receiverAddress='" + receiverAddress + '\'' + ", receiverAddress='" + receiverAddress + '\'' +
", remark='" + remark + '\'' + ", remark='" + remark + '\'' +
@ -60,6 +66,15 @@ public class OrderCreateDTO implements Serializable {
return this; return this;
} }
public String getReceiverName() {
return receiverName;
}
public OrderCreateDTO setReceiverName(String receiverName) {
this.receiverName = receiverName;
return this;
}
public String getReceiverMobile() { public String getReceiverMobile() {
return receiverMobile; return receiverMobile;
} }

View File

@ -0,0 +1,99 @@
package cn.iocoder.mall.order.api.dto;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
/**
*
*
* @author Sin
* @time 2019-03-17 20:22
*/
public class OrderReceiverInformationDTO implements Serializable {
/**
* id
*/
private Integer id;
/**
*
*/
@NotNull
private String receiverAreaNo;
/**
*
*/
@NotNull
private String receiverName;
/**
*
*/
@NotNull
@Size(max = 11, min = 11)
// TODO: 2019-03-17 Sin 此处需要添加 手机号校验,需要添加新的注解
private String receiverMobile;
/**
*
*/
@NotNull
@Size(max = 250, min = 10, message = "收件地址应该在 10 ~ 250 个字符之间")
private String receiverAddress;
@Override
public String toString() {
return "OrderReceiverInformationDTO{" +
"id=" + id +
", receiverAreaNo='" + receiverAreaNo + '\'' +
", receiverName='" + receiverName + '\'' +
", receiverMobile='" + receiverMobile + '\'' +
", receiverAddress='" + receiverAddress + '\'' +
'}';
}
public Integer getId() {
return id;
}
public OrderReceiverInformationDTO setId(Integer id) {
this.id = id;
return this;
}
public String getReceiverAreaNo() {
return receiverAreaNo;
}
public OrderReceiverInformationDTO setReceiverAreaNo(String receiverAreaNo) {
this.receiverAreaNo = receiverAreaNo;
return this;
}
public String getReceiverName() {
return receiverName;
}
public OrderReceiverInformationDTO setReceiverName(String receiverName) {
this.receiverName = receiverName;
return this;
}
public String getReceiverMobile() {
return receiverMobile;
}
public OrderReceiverInformationDTO setReceiverMobile(String receiverMobile) {
this.receiverMobile = receiverMobile;
return this;
}
public String getReceiverAddress() {
return receiverAddress;
}
public OrderReceiverInformationDTO setReceiverAddress(String receiverAddress) {
this.receiverAddress = receiverAddress;
return this;
}
}

View File

@ -9,4 +9,8 @@ import java.io.Serializable;
* @time 2019-03-16 14:46 * @time 2019-03-16 14:46
*/ */
public class OrderUpdateDTO implements Serializable { public class OrderUpdateDTO implements Serializable {
} }

View File

@ -2,6 +2,7 @@ package cn.iocoder.mall.order.convert;
import cn.iocoder.mall.order.api.dto.OrderCreateDTO; import cn.iocoder.mall.order.api.dto.OrderCreateDTO;
import cn.iocoder.mall.order.api.dto.OrderCreateItemDTO; import cn.iocoder.mall.order.api.dto.OrderCreateItemDTO;
import cn.iocoder.mall.order.api.dto.OrderReceiverInformationDTO;
import cn.iocoder.mall.order.dataobject.OrderDO; import cn.iocoder.mall.order.dataobject.OrderDO;
import cn.iocoder.mall.order.dataobject.OrderItemDO; import cn.iocoder.mall.order.dataobject.OrderItemDO;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
@ -22,7 +23,7 @@ public interface OrderConvert {
OrderConvert INSTANCE = Mappers.getMapper(OrderConvert.class); OrderConvert INSTANCE = Mappers.getMapper(OrderConvert.class);
/** /**
* OrderDO * OrderDO - OrderCreateDTO
* *
* @param orderCreateDTO * @param orderCreateDTO
* @return * @return
@ -31,11 +32,20 @@ public interface OrderConvert {
OrderDO convert(OrderCreateDTO orderCreateDTO); OrderDO convert(OrderCreateDTO orderCreateDTO);
/** /**
* OrderItemDO * OrderItemDO - orderCreateItemDTOList
* *
* @param orderCreateItemDTOList * @param orderCreateItemDTOList
* @return * @return
*/ */
@Mappings({}) @Mappings({})
List<OrderItemDO> convert(List<OrderCreateItemDTO> orderCreateItemDTOList); List<OrderItemDO> convert(List<OrderCreateItemDTO> orderCreateItemDTOList);
/**
* OrderDO - orderReceiverInformationDTO
*
* @param orderReceiverInformationDTO
* @return
*/
@Mappings({})
OrderDO convert(OrderReceiverInformationDTO orderReceiverInformationDTO);
} }

View File

@ -0,0 +1,21 @@
package cn.iocoder.mall.order.dao;
import cn.iocoder.mall.order.dataobject.OrderItemDO;
import org.springframework.stereotype.Repository;
/**
* item mapper
*
* @author Sin
* @time 2019-03-16 15:09
*/
@Repository
public interface OrderItemMapper {
/**
*
*
* @param orderItemDO
*/
void insert(OrderItemDO orderItemDO);
}

View File

@ -18,4 +18,12 @@ public interface OrderMapper {
* @param orderDO * @param orderDO
*/ */
void insert(OrderDO orderDO); void insert(OrderDO orderDO);
/**
* - id
*
* @param orderDO
* @return
*/
int updateById(OrderDO orderDO);
} }

View File

@ -14,7 +14,7 @@ public class OrderDO implements Serializable {
/** /**
* *
*/ */
private String id; private Integer id;
/** /**
* *
*/ */
@ -27,6 +27,10 @@ public class OrderDO implements Serializable {
* *
*/ */
private String receiverAreaNo; private String receiverAreaNo;
/**
*
*/
private String receiverName;
/** /**
* *
*/ */
@ -55,6 +59,13 @@ public class OrderDO implements Serializable {
* - 2退 * - 2退
*/ */
private Integer payStatus; private Integer payStatus;
/**
*
*
* - 0
* - 1
*/
private Integer deleteStatus;
/** /**
* *
*/ */
@ -78,15 +89,17 @@ public class OrderDO implements Serializable {
@Override @Override
public String toString() { public String toString() {
return "Order{" + return "OrderDO{" +
"id='" + id + '\'' + "id=" + id +
", orderNo='" + orderNo + '\'' + ", orderNo='" + orderNo + '\'' +
", price=" + price + ", price=" + price +
", receiverAreaNo='" + receiverAreaNo + '\'' + ", receiverAreaNo='" + receiverAreaNo + '\'' +
", receiverName='" + receiverName + '\'' +
", receiverMobile='" + receiverMobile + '\'' + ", receiverMobile='" + receiverMobile + '\'' +
", receiverAddress='" + receiverAddress + '\'' + ", receiverAddress='" + receiverAddress + '\'' +
", status=" + status + ", status=" + status +
", payStatus=" + payStatus + ", payStatus=" + payStatus +
", deleteStatus=" + deleteStatus +
", createTime=" + createTime + ", createTime=" + createTime +
", paymentTime=" + paymentTime + ", paymentTime=" + paymentTime +
", deliveryTime=" + deliveryTime + ", deliveryTime=" + deliveryTime +
@ -95,11 +108,11 @@ public class OrderDO implements Serializable {
'}'; '}';
} }
public String getId() { public Integer getId() {
return id; return id;
} }
public OrderDO setId(String id) { public OrderDO setId(Integer id) {
this.id = id; this.id = id;
return this; return this;
} }
@ -131,6 +144,15 @@ public class OrderDO implements Serializable {
return this; return this;
} }
public String getReceiverName() {
return receiverName;
}
public OrderDO setReceiverName(String receiverName) {
this.receiverName = receiverName;
return this;
}
public String getReceiverMobile() { public String getReceiverMobile() {
return receiverMobile; return receiverMobile;
} }
@ -167,6 +189,15 @@ public class OrderDO implements Serializable {
return this; return this;
} }
public Integer getDeleteStatus() {
return deleteStatus;
}
public OrderDO setDeleteStatus(Integer deleteStatus) {
this.deleteStatus = deleteStatus;
return this;
}
public Date getCreateTime() { public Date getCreateTime() {
return createTime; return createTime;
} }

View File

@ -1,6 +1,7 @@
package cn.iocoder.mall.order.dataobject; package cn.iocoder.mall.order.dataobject;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
/** /**
* item * item
@ -13,11 +14,11 @@ public class OrderItemDO implements Serializable {
/** /**
* *
*/ */
private String id; private Integer id;
/** /**
* *
*/ */
private String orderId; private Integer orderId;
/** /**
* *
*/ */
@ -42,33 +43,38 @@ public class OrderItemDO implements Serializable {
* - 41退 * - 41退
*/ */
private Integer status; private Integer status;
/**
*
*/
private Date deliveryTime;
@Override @Override
public String toString() { public String toString() {
return "OrderItem{" + return "OrderItemDO{" +
"id='" + id + '\'' + "id=" + id +
", orderId='" + orderId + '\'' + ", orderId='" + orderId + '\'' +
", commodityId='" + commodityId + '\'' + ", commodityId='" + commodityId + '\'' +
", quantity=" + quantity + ", quantity=" + quantity +
", price=" + price + ", price=" + price +
", status=" + status + ", status=" + status +
", deliveryTime=" + deliveryTime +
'}'; '}';
} }
public String getId() { public Integer getId() {
return id; return id;
} }
public OrderItemDO setId(String id) { public OrderItemDO setId(Integer id) {
this.id = id; this.id = id;
return this; return this;
} }
public String getOrderId() { public Integer getOrderId() {
return orderId; return orderId;
} }
public OrderItemDO setOrderId(String orderId) { public OrderItemDO setOrderId(Integer orderId) {
this.orderId = orderId; this.orderId = orderId;
return this; return this;
} }
@ -108,4 +114,13 @@ public class OrderItemDO implements Serializable {
this.status = status; this.status = status;
return this; return this;
} }
public Date getDeliveryTime() {
return deliveryTime;
}
public OrderItemDO setDeliveryTime(Date deliveryTime) {
this.deliveryTime = deliveryTime;
return this;
}
} }

View File

@ -2,17 +2,26 @@ package cn.iocoder.mall.order.service;
import cn.iocoder.mall.order.api.OrderService; import cn.iocoder.mall.order.api.OrderService;
import cn.iocoder.mall.order.api.bo.OrderBO; import cn.iocoder.mall.order.api.bo.OrderBO;
import cn.iocoder.mall.order.api.constants.OrderDeleteStatusEnum;
import cn.iocoder.mall.order.api.constants.OrderPayStatusEnum;
import cn.iocoder.mall.order.api.constants.OrderStatusEnum;
import cn.iocoder.mall.order.api.dto.OrderCreateDTO; import cn.iocoder.mall.order.api.dto.OrderCreateDTO;
import cn.iocoder.mall.order.api.dto.OrderCreateItemDTO; import cn.iocoder.mall.order.api.dto.OrderCreateItemDTO;
import cn.iocoder.mall.order.api.dto.OrderReceiverInformationDTO;
import cn.iocoder.mall.order.api.dto.OrderUpdateDTO; import cn.iocoder.mall.order.api.dto.OrderUpdateDTO;
import cn.iocoder.mall.order.convert.OrderConvert;
import cn.iocoder.mall.order.dao.OrderItemMapper;
import cn.iocoder.mall.order.dao.OrderMapper;
import cn.iocoder.mall.order.dataobject.OrderDO; import cn.iocoder.mall.order.dataobject.OrderDO;
import cn.iocoder.mall.order.dataobject.OrderItemDO; import cn.iocoder.mall.order.dataobject.OrderItemDO;
import cn.iocoder.mall.order.convert.OrderConvert; import org.checkerframework.checker.units.qual.A;
import cn.iocoder.mall.order.dao.OrderMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID;
/** /**
* service impl * service impl
@ -26,26 +35,45 @@ public class OrderServiceImpl implements OrderService {
@Autowired @Autowired
private OrderMapper orderMapper; private OrderMapper orderMapper;
@Autowired
private OrderItemMapper orderItemMapper;
@Override @Override
@Transactional
public OrderBO createOrder(OrderCreateDTO orderCreateDTO) { public OrderBO createOrder(OrderCreateDTO orderCreateDTO) {
List<OrderCreateItemDTO> orderItemDTOList = orderCreateDTO.getOrderItems(); List<OrderCreateItemDTO> orderItemDTOList = orderCreateDTO.getOrderItems();
OrderDO orderDO = OrderConvert.INSTANCE.convert(orderCreateDTO); OrderDO orderDO = OrderConvert.INSTANCE.convert(orderCreateDTO);
List<OrderItemDO> orderItemDOList = OrderConvert.INSTANCE.convert(orderItemDTOList); List<OrderItemDO> orderItemDOList = OrderConvert.INSTANCE.convert(orderItemDTOList);
// order
orderDO.setOrderNo(UUID.randomUUID().toString().replace("-", ""));
orderDO.setPrice(1000);
orderDO.setCreateTime(new Date());
orderDO.setClosingTime(null);
orderDO.setDeliveryTime(null);
orderDO.setPaymentTime(null);
orderDO.setStatus(OrderStatusEnum.WAIT_SHIPMENT.getValue());
orderDO.setPayStatus(OrderPayStatusEnum.WAITING_PAYMENT.getValue());
orderDO.setDeleteStatus(OrderDeleteStatusEnum.DELETE_NO.getValue());
orderMapper.insert(orderDO); orderMapper.insert(orderDO);
String a = "";
// orderConvert.con // order item
// for (OrderCreateItemDTO orderCreateItemDTO : orderItemDTOList) { int goodsPrice = 1000;
// OrderItemDO orderItemDO = new OrderItemDO(); orderItemDOList.forEach(orderItemDO -> {
// orderItemDO.setId(); int price = orderItemDO.getQuantity() * goodsPrice;
// orderItemDO.setCommodityId(); orderItemDO
// orderItemDO.setOrderId(); .setStatus(OrderStatusEnum.WAIT_SHIPMENT.getValue())
// orderItemDO.setPrice(); .setOrderId(orderDO.getId())
// orderItemDO.setQuantity(); .setPrice(price)
// orderItemDO.setStatus(); .setDeliveryTime(null);
// }
// orderMapper.insert(); orderItemMapper.insert(orderItemDO);
return null; });
return new OrderBO()
.setId(orderDO.getId())
.setOrderNo(orderDO.getOrderNo())
.setPrice(orderDO.getPrice());
} }
@Override @Override
@ -54,8 +82,19 @@ public class OrderServiceImpl implements OrderService {
} }
@Override @Override
public void deleteOrder(String orderId) { public void updateOrderReceiverInformation(OrderReceiverInformationDTO orderReceiverInfoDTO) {
// TODO: 2019-03-17 需要做校验 手机号
OrderDO orderDO = OrderConvert.INSTANCE.convert(orderReceiverInfoDTO);
orderMapper.updateById(orderDO);
}
@Override
public void deleteOrder(Integer id) {
// 删除订单操作,一般用于 用户端删除,是否存在检查可以过掉
orderMapper.updateById(new OrderDO()
.setId(id)
.setDeleteStatus(OrderDeleteStatusEnum.DELETE_YES.getValue())
);
} }
@Override @Override

View File

@ -23,3 +23,8 @@ dubbo:
name: dubbo name: dubbo
scan: scan:
base-packages: cn.iocoder.mall.order.service base-packages: cn.iocoder.mall.order.service
# logging
logging:
level:
cn.iocoder.mall.order.dao: debug

View File

@ -0,0 +1,23 @@
<?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="cn.iocoder.mall.order.dao.OrderItemMapper">
<sql id="FIELDS">
id, order_id, commodity_id, quantity, price,
status, deliveryTime
</sql>
<!--
插入数据
-->
<insert id="insert" parameterType="OrderItemDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
INSERT INTO `order_item` (
order_id, commodity_id, quantity, price,
status, deliveryTime
) VALUES (
#{orderId}, #{commodityId}, #{quantity}, #{price},
#{status}, #{deliveryTime}
)
</insert>
</mapper>

View File

@ -3,21 +3,79 @@
<mapper namespace="cn.iocoder.mall.order.dao.OrderMapper"> <mapper namespace="cn.iocoder.mall.order.dao.OrderMapper">
<sql id="FIELDS"> <sql id="FIELDS">
id, order_no, price, receiver_area_no, receiver_mobile, order_no, price, receiver_area_no, receiver_mobile,
receiver_address, status, pay_status, create_time, receiver_address, `status`, pay_status, create_time,
payment_time, delivery_time, closing_time, remark payment_time, delivery_time, closing_time, remark
</sql> </sql>
<!--
插入数据
-->
<insert id="insert" parameterType="OrderDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id"> <insert id="insert" parameterType="OrderDO" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
INSERT INTO order ( INSERT INTO `order` (
id, order_no, price, receiver_area_no, receiver_mobile, order_no, price, receiver_area_no, receiver_mobile,
receiver_address, status, pay_status, create_time, receiver_address, `status`, pay_status, create_time,
payment_time, delivery_time, closing_time, remark payment_time, delivery_time, closing_time, remark
) VALUES ( ) VALUES (
${orderNo}, ${price}, ${receiverAreaNo}, ${receiverMobile}, #{orderNo}, ${price}, #{receiverAreaNo}, #{receiverMobile},
${receiverAddress}, ${status}, ${payStatus}, ${createTime}, #{receiverAddress}, #{status}, #{payStatus}, #{createTime},
${paymentTime}, ${deliveryTime}, ${closingTime}, ${remark} #{paymentTime}, #{deliveryTime}, #{closingTime}, #{remark}
) )
</insert> </insert>
<!--
更新 - 可更新的字段
-->
<sql id="updateSql" >
<set>
<if test="orderNo != null">
, order_no = #{orderNo}
</if>
<if test="price != null">
, price = #{price}
</if>
<if test="receiverAreaNo != null">
, receiver_area_no = #{receiverAreaNo}
</if>
<if test="receiverMobile != null">
, receiver_mobile = #{receiverMobile}
</if>
<if test="receiverAddress != null">
, receiver_address = #{receiverAddress}
</if>
<if test="status != null">
, status = #{status}
</if>
<if test="payStatus != null">
, pay_status = #{payStatus}
</if>
<if test="deleteStatus != null">
, delete_status = #{deleteStatus}
</if>
<if test="createTime != null">
, create_time = #{createTime}
</if>
<if test="paymentTime != null">
, payment_time = #{paymentTime}
</if>
<if test="deliveryTime != null">
, delivery_time = #{deliveryTime}
</if>
<if test="closingTime != null">
, closing_time = #{closingTime}
</if>
<if test="remark != null">
, remark = #{remark}
</if>
</set>
</sql>
<!--
更新 - 根据 id 更新
-->
<update id="updateById" parameterType="OrderDO">
UPDATE `order`
<include refid="updateSql" />
WHERE id = #{id}
</update>
</mapper> </mapper>

View File

@ -8,8 +8,8 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.core.env.Environment;
import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.Arrays;
@ -26,9 +26,18 @@ public class OrderServiceImplTest {
@Autowired @Autowired
private OrderService orderService; private OrderService orderService;
@Autowired
private Environment environment;
@Test @Test
public void createOrderTest() { public void createOrderTest() {
// Properties properties = System.getProperties();
// String url = properties.getProperty("spring.datasource.url");
// System.err.println(url);
String url = environment.getProperty("spring.datasource.url");
System.err.println(url);
OrderCreateItemDTO orderCreateItemDTO OrderCreateItemDTO orderCreateItemDTO
= new OrderCreateItemDTO() = new OrderCreateItemDTO()