OrderSearchController.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. package com.uas.search.controller;
  2. import java.util.ArrayList;
  3. import java.util.Calendar;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import javax.servlet.http.HttpServletRequest;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.stereotype.Controller;
  10. import com.uas.search.util.StringUtils;
  11. import org.springframework.web.bind.annotation.PathVariable;
  12. import org.springframework.web.bind.annotation.RequestMapping;
  13. import org.springframework.web.bind.annotation.ResponseBody;
  14. import com.uas.search.constant.model.BaseOrder;
  15. import com.uas.search.constant.model.PageParams;
  16. import com.uas.search.constant.model.PageParams.FilterField;
  17. import com.uas.search.constant.model.SPage;
  18. import com.uas.search.exception.SearchException;
  19. import com.uas.search.model.OrderInvoice;
  20. import com.uas.search.model.Order;
  21. import com.uas.search.model.PurchaseInvoice;
  22. import com.uas.search.model.Purchase;
  23. import com.uas.search.service.OrderSearchService;
  24. import com.uas.search.service.OrderSearchService.Table_name;
  25. /**
  26. * 订单搜索请求
  27. *
  28. * @author sunyj
  29. * @since 2016年10月14日 上午11:59:45
  30. */
  31. @Controller
  32. @RequestMapping("/search")
  33. public class OrderSearchController {
  34. @Autowired
  35. private OrderSearchService orderSearchService;
  36. @RequestMapping("orderIds")
  37. @ResponseBody
  38. public SPage<BaseOrder> getOrderIdsWithDetail(String keyword, String tableName, Integer page, Integer size,
  39. String status, Long buyeruu, Long buyerenuu, Long sellerenuu, String mintime, String maxtime,
  40. HttpServletRequest request) {
  41. Table_name tbName = null;
  42. if (!StringUtils.isEmpty(tableName)) {
  43. tbName = Table_name.valueOf(tableName);
  44. }
  45. PageParams params = new PageParams();
  46. if (page != null) {
  47. params.setPage(page);
  48. }
  49. if (size != null) {
  50. params.setSize(size);
  51. }
  52. Map<FilterField, Object> filters = new HashMap<>();
  53. if (!StringUtils.isEmpty(status)) {
  54. String[] strs = status.split(",");
  55. List<Integer> statusList = new ArrayList<>();
  56. for (String str : strs) {
  57. statusList.add(Integer.valueOf(str));
  58. }
  59. filters.put(FilterField.ORDER_STATUS, statusList);
  60. }
  61. if (buyeruu != null) {
  62. filters.put(FilterField.ORDER_BUYER_UU, buyeruu);
  63. }
  64. if (buyerenuu != null) {
  65. filters.put(FilterField.ORDER_BUYER_EN_UU, buyerenuu);
  66. }
  67. if (sellerenuu != null) {
  68. filters.put(FilterField.ORDER_SELLER_EN_UU, sellerenuu);
  69. }
  70. if (mintime != null) {
  71. filters.put(FilterField.ORDER_MIN_TIME, parseTime(mintime));
  72. }
  73. if (maxtime != null) {
  74. filters.put(FilterField.ORDER_MAX_TIME, parseTime(maxtime));
  75. }
  76. params.setFilters(filters);
  77. return orderSearchService.getOrderIdsWithDetail(keyword, tbName, params);
  78. }
  79. /**
  80. * 将时间字符串转为long eg. 2016-10-10 1:12:20
  81. *
  82. * @param str
  83. * 时间,eg. 2016-10-10 1:12:20
  84. * @return long值
  85. */
  86. private Long parseTime(String str) {
  87. try {
  88. String[] strs = str.split("-");
  89. int year = Integer.parseInt(strs[0]);
  90. int month = Integer.parseInt(strs[1]) - 1;
  91. String[] strs2 = strs[2].split(" ");
  92. int date = Integer.parseInt(strs2[0]);
  93. String[] strs3 = strs2[1].split(":");
  94. int hour = Integer.parseInt(strs3[0]);
  95. int minute = Integer.parseInt(strs3[1]);
  96. int second = Integer.parseInt(strs3[2]);
  97. Calendar calendar = Calendar.getInstance();
  98. // 月份减1
  99. calendar.set(year, month, date, hour, minute, second);
  100. return calendar.getTimeInMillis();
  101. } catch (Exception e) {
  102. throw new SearchException("时间格式错误,示例:'2016-10-10 1:12:20'," + e);
  103. }
  104. }
  105. @RequestMapping("/order/{id}")
  106. @ResponseBody
  107. public Order getOrder(@PathVariable Long id, HttpServletRequest request) {
  108. return orderSearchService.getOrder(id);
  109. }
  110. @RequestMapping("/orderInvoice/{id}")
  111. @ResponseBody
  112. public OrderInvoice getOrderInvoice(@PathVariable Long id, HttpServletRequest request) {
  113. return orderSearchService.getOrderInvoice(id);
  114. }
  115. @RequestMapping("/purchase/{id}")
  116. @ResponseBody
  117. public Purchase getPurchase(@PathVariable Long id, HttpServletRequest request) {
  118. return orderSearchService.getPurchase(id);
  119. }
  120. @RequestMapping("/purchaseInvoice/{id}")
  121. @ResponseBody
  122. public PurchaseInvoice getPurchaseInvoice(@PathVariable Long id, HttpServletRequest request) {
  123. return orderSearchService.getPurchaseInvoice(id);
  124. }
  125. }