敏捷工具
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

163 lines
4.9 KiB

2 years ago
  1. package com.whn.hellospring;
  2. import com.whn.hellospring.model.*;
  3. import com.whn.hellospring.repository.CoffeeOrderRepository;
  4. import com.whn.hellospring.repository.CoffeeRepository;
  5. import com.whn.hellospring.utils.DO2DTOUtil;
  6. import org.joda.money.CurrencyUnit;
  7. import org.joda.money.Money;
  8. import org.junit.jupiter.api.Test;
  9. import org.springframework.beans.BeanUtils;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.boot.test.context.SpringBootTest;
  12. import java.util.ArrayList;
  13. import java.util.Arrays;
  14. import java.util.List;
  15. @SpringBootTest
  16. class HellospringApplicationTests {
  17. // @Autowired
  18. // private CoffeeRepository coffeeRepository;
  19. //
  20. // @Autowired
  21. // private CoffeeOrderRepository orderRepository;
  22. //
  23. //
  24. // /**
  25. // * 查询一个订单信息,包含咖啡
  26. // */
  27. // @Test
  28. // void queryOrder() {
  29. // Long id = 8L;
  30. // CoffeeOrderDO orderDO = orderRepository.queryOrderWithId(id);
  31. // CoffeeOrderDTO orderDTO = (CoffeeOrderDTO) doToDto(orderDO, CoffeeOrderDTO.class);
  32. // List<CoffeeDO> coffeeDOList = coffeeRepository.selectCoffeeListWithOrder(id);
  33. // List<CoffeeDTO> coffeeDTOList = (List<CoffeeDTO>) DO2DTOUtil.getInstance().doListToDtoList(coffeeDOList, CoffeeDTO.class);
  34. //
  35. // orderDTO.setItems(coffeeDTOList);
  36. // System.out.println("顾客:" + orderDTO.getCustomer());
  37. // for (CoffeeDTO coffee :
  38. // orderDTO.getItems()) {
  39. // System.out.println("咖啡:" + coffee.getName());
  40. // }
  41. // }
  42. //
  43. //
  44. // /**
  45. // * 创建一个订单,包含咖啡
  46. // */
  47. // @Test
  48. // void createOrderWithCoffee() {
  49. // //创建一个订单,包含一杯咖啡
  50. // CoffeeDO espresso = CoffeeDO.builder().name("订单下的咖啡3")
  51. // .price(Money.of(CurrencyUnit.of("CNY"), 10.0))
  52. // .build();
  53. // coffeeRepository.save(espresso);
  54. // CoffeeOrderDTO orderDTO = CoffeeOrderDTO.builder()
  55. // .customer("me3")
  56. // .state(OrderState.INIT)
  57. // .build();
  58. //
  59. //
  60. // //保存订单,拆解DTO为DO
  61. // CoffeeOrderDO order = (CoffeeOrderDO) dtoToDo(orderDTO, CoffeeOrderDO.class);
  62. // orderRepository.save(order);
  63. //
  64. // //保存咖啡
  65. // List<CoffeeDTO> list = orderDTO.getItems();
  66. // for (CoffeeDTO coffee : list) {
  67. // coffee.setOrder_id_fk(order.getId());
  68. //// coffeeRepository.save(coffee);
  69. // }
  70. // }
  71. //
  72. // /**
  73. // * 创建一杯咖啡
  74. // */
  75. // @Test
  76. // void createCoffee() {
  77. // CoffeeDO espresso = CoffeeDO.builder().name("espresso")
  78. // .price(Money.of(CurrencyUnit.of("CNY"), 20.0))
  79. // .build();
  80. // coffeeRepository.save(espresso);
  81. // }
  82. //
  83. // /**
  84. // * 获取一个订单下的咖啡列表
  85. // */
  86. // @Test
  87. // void getCoffeeListWithOrder() {
  88. // List<CoffeeDO> list = coffeeRepository.selectCoffeeListWithOrder(1L);
  89. // System.out.println("列表长度:" + list.size());
  90. // for (CoffeeDO item : list) {
  91. // System.out.println("列表:" + item.getName());
  92. // }
  93. // }
  94. //
  95. //
  96. // /**
  97. // * DTO模型转换成DO
  98. // *
  99. // * @param objectDto DTO 对象
  100. // * @param doClass DO 类型
  101. // * @return doClass类型的对象
  102. // */
  103. // public Object dtoToDo(Object objectDto, Class doClass) {
  104. // if (objectDto == null) {
  105. // return null;
  106. // }
  107. // Object objectDo = null;
  108. // try {
  109. // objectDo = doClass.newInstance();
  110. // BeanUtils.copyProperties(objectDto, objectDo);
  111. // } catch (Exception ex) {
  112. // ex.printStackTrace();
  113. // }
  114. // return objectDo;
  115. // }
  116. //
  117. //
  118. // /**
  119. // * DO集合转换成DTO集合
  120. // *
  121. // * @param doList DO 对象集合
  122. // * @param dtoClass DTO 类型
  123. // * @return dtoClass类型的集合
  124. // */
  125. // public Object doListToDtoList(Object doList, Class dtoClass) {
  126. // if (doList == null) {
  127. // return null;
  128. // }
  129. // List<Object> dtoList = new ArrayList<>();
  130. // for (Object i : (List) doList) {
  131. // Object dto = doToDto(i, dtoClass);
  132. // if (dto != null) {
  133. // dtoList.add(dto);
  134. // }
  135. // }
  136. // return dtoList;
  137. // }
  138. //
  139. // /**
  140. // * DO转换成DTO
  141. // *
  142. // * @param objectDo DO 对象
  143. // * @param dtoClass DTO 类型
  144. // * @return dtoClass类型的对象
  145. // */
  146. // public Object doToDto(Object objectDo, Class dtoClass) {
  147. // if (objectDo == null) {
  148. // return null;
  149. // }
  150. // Object objectDto = null;
  151. // try {
  152. // objectDto = dtoClass.newInstance();
  153. // BeanUtils.copyProperties(objectDo, objectDto);
  154. // } catch (Exception ex) {
  155. // ex.printStackTrace();
  156. // }
  157. // return objectDto;
  158. // }
  159. }