OrderController.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. package com.goafanti.order.controller;
  2. import java.math.BigDecimal;
  3. import java.text.ParseException;
  4. import javax.annotation.Resource;
  5. import org.apache.commons.lang3.StringUtils;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7. import org.springframework.web.bind.annotation.RequestMethod;
  8. import org.springframework.web.bind.annotation.RestController;
  9. import com.goafanti.common.bo.Result;
  10. import com.goafanti.common.constant.ErrorConstants;
  11. import com.goafanti.common.controller.CertifyApiController;
  12. import com.goafanti.order.enums.CommodityType;
  13. import com.goafanti.order.service.OrderService;
  14. @RestController
  15. @RequestMapping(value = "/api/user/order")
  16. public class OrderController extends CertifyApiController{
  17. @Resource
  18. private OrderService orderServiceImpl;
  19. /**
  20. * 进入添加意向订单
  21. * @param commodityId 商品编号
  22. * @param commodityType 订单类型
  23. * @return
  24. */
  25. @RequestMapping(value = "/toAddIntention" , method = RequestMethod.GET)
  26. public Result toAddIntention(String commodityId,Integer commodityType){
  27. Result res = new Result();
  28. if(StringUtils.isBlank(commodityId) || null == commodityType){
  29. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"",""));
  30. return res;
  31. }
  32. if(!CommodityType.containsType(commodityType)){
  33. res.getError().add(buildError(ErrorConstants.PARAM_ERROR,"","订单类型错误"));
  34. return res;
  35. }
  36. res.setData(orderServiceImpl.selectCommodityDetail(commodityId, commodityType));
  37. return res;
  38. }
  39. /**
  40. * 添加意向订单
  41. * @param orderNo 订单编号
  42. * @param commodityId 商品id
  43. * @param commodityMode 商品规格
  44. * @param createTime 创建时间
  45. * @param commodityQuantity 商品数量
  46. * @param commodityType 商品类型
  47. * @return
  48. * @throws ParseException
  49. * @throws NumberFormatException
  50. */
  51. @RequestMapping(value = "/addIntention" , method = RequestMethod.POST)
  52. public Result addIntention(String orderNo,String commodityId,String commodityMode,Integer commodityQuantity,Integer commodityType,
  53. String createTime,String remarks) throws NumberFormatException, ParseException {
  54. Result res = new Result();
  55. if(StringUtils.isBlank(orderNo)){
  56. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  57. return res;
  58. }
  59. if(StringUtils.isBlank(commodityId)){
  60. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","商品id"));
  61. return res;
  62. }
  63. if(StringUtils.isBlank(createTime)){
  64. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单时间"));
  65. return res;
  66. }
  67. if(commodityQuantity == null){
  68. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单数量"));
  69. return res;
  70. }
  71. if(commodityType == null){
  72. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单类型"));
  73. return res;
  74. }
  75. if(!CommodityType.containsType(commodityType)){
  76. res.getError().add(buildError(ErrorConstants.PARAM_ERROR,"","订单类型"));
  77. return res;
  78. }
  79. orderServiceImpl.addIntention(Long.valueOf(orderNo),commodityId,commodityMode,commodityQuantity,commodityType,createTime,remarks);
  80. return res;
  81. }
  82. /**
  83. * 查看订单列表
  84. * @param confirm 我的意向-false 我的订单 - true
  85. * @return
  86. */
  87. @RequestMapping(value = "/orderList", method = RequestMethod.POST)
  88. public Result orderList(boolean confirm,Integer pageNo,Integer pageSize) {
  89. Result res = new Result();
  90. res.setData(orderServiceImpl.selectOrderList(confirm,pageNo,pageSize));
  91. return res;
  92. }
  93. /**
  94. * 查看订单详情
  95. * @return
  96. */
  97. @RequestMapping(value ="/orderDetails", method = RequestMethod.GET)
  98. public Result orderDetails(String orderNo) {
  99. Result res = new Result();
  100. if(StringUtils.isBlank(orderNo)){
  101. res.getError().add(buildError(ErrorConstants.PARAM_ERROR,"","订单编号"));
  102. return res;
  103. }
  104. res.setData(orderServiceImpl.selectOrderDetail(Long.valueOf(orderNo)));
  105. return res;
  106. }
  107. /**
  108. * 订单支付(首付)
  109. * @param orderNo 订单编号
  110. * @param fundAmount 支付金额
  111. * @return 备注
  112. */
  113. @RequestMapping(value = "/payForFirst", method = RequestMethod.POST)
  114. public Result payForFirst(String orderNo,String fundAmount,String remarks) {
  115. Result res = new Result();
  116. if(StringUtils.isBlank(orderNo)){
  117. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  118. return res;
  119. }
  120. if(StringUtils.isBlank(fundAmount)){
  121. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","支付金额"));
  122. return res;
  123. }
  124. orderServiceImpl.payForFirst(Long.valueOf(orderNo),new BigDecimal(fundAmount),remarks);
  125. return res;
  126. }
  127. /**
  128. * 支付尾款
  129. * @param orderNo 订单编号
  130. * @param fundAmount 支付金额
  131. * @param remarks 备注
  132. * @return
  133. */
  134. @RequestMapping(value = "/payForLast", method = RequestMethod.POST)
  135. public Result payForLast(String orderNo,String fundAmount,String remarks){
  136. Result res = new Result();
  137. if(StringUtils.isBlank(orderNo)){
  138. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  139. return res;
  140. }
  141. if(StringUtils.isBlank(fundAmount)){
  142. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","支付金额"));
  143. return res;
  144. }
  145. orderServiceImpl.payForLast(Long.valueOf(orderNo),new BigDecimal(fundAmount),remarks);
  146. return res;
  147. }
  148. /**
  149. * 查询支付流水列表
  150. * @param orderNo
  151. * @return
  152. */
  153. @RequestMapping(value = "/fundingHistory", method = RequestMethod.POST)
  154. public Result fundingHistory(String orderNo,Integer pageNo,Integer pageSize) {
  155. Result res = new Result();
  156. if(StringUtils.isNotBlank(orderNo))
  157. orderServiceImpl.selectFundingHistory(Long.valueOf(orderNo),pageNo,pageSize);
  158. else
  159. orderServiceImpl.selectFundingHistory(null,pageNo,pageSize);
  160. return res;
  161. }
  162. /**
  163. * 订单提现
  164. * @param orderNo
  165. * @return
  166. */
  167. @RequestMapping(value = "/applyForWithdraw", method = RequestMethod.POST)
  168. public Result applyForWithdraw(String orderNo,String remarks){
  169. Result res = new Result();
  170. if(StringUtils.isBlank(orderNo)){
  171. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  172. return res;
  173. }
  174. orderServiceImpl.applyForWithdraw(Long.valueOf(orderNo),remarks);
  175. return res;
  176. }
  177. /**
  178. * 取消订单
  179. * @param orderNo
  180. * @return
  181. */
  182. @RequestMapping(value = "/applyForCancel", method = RequestMethod.GET)
  183. public Result applyForCancel(String orderNo){
  184. Result res = new Result();
  185. if(StringUtils.isBlank(orderNo)){
  186. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  187. return res;
  188. }
  189. orderServiceImpl.applyForCancel(Long.valueOf(orderNo));
  190. return res;
  191. }
  192. /**
  193. * 确认意向
  194. * @param orderNo
  195. * @param confirm
  196. * @return
  197. */
  198. @RequestMapping(value="/confirmIntention", method = RequestMethod.POST)
  199. public Result confirmIntention(String orderNo,boolean confirm){
  200. Result res = new Result();
  201. if(StringUtils.isBlank(orderNo)){
  202. res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR,"","订单编号"));
  203. return res;
  204. }
  205. orderServiceImpl.confirmIntention(Long.valueOf(orderNo),confirm);
  206. return res;
  207. }
  208. }