CargoConsignAction.java 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. package com.fuzamei.web;
  2. import java.util.List;
  3. import java.util.Map;
  4. import javax.servlet.http.HttpServletRequest;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.web.bind.annotation.RequestBody;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import org.springframework.web.bind.annotation.RequestMethod;
  9. import org.springframework.web.bind.annotation.RestController;
  10. import com.fuzamei.constant.HintMSG;
  11. import com.fuzamei.constant.RegexConstant;
  12. import com.fuzamei.constant.Role;
  13. import com.fuzamei.constant.Status;
  14. import com.fuzamei.entity.Orders;
  15. import com.fuzamei.entity.Params;
  16. import com.fuzamei.entity.UserDetail;
  17. import com.fuzamei.service.CargoConsignService;
  18. import com.fuzamei.service.OrderService;
  19. import com.fuzamei.service.UserAuthoricationService;
  20. import com.fuzamei.util.JSONUtil;
  21. import com.fuzamei.util.PageDTO;
  22. import com.fuzamei.util.ReadConfUtil;
  23. import com.fuzamei.util.ValidationUtil;
  24. @RestController
  25. @RequestMapping(path="/cargoConsign")
  26. public class CargoConsignAction {
  27. @Autowired
  28. private CargoConsignService cargoConsignService;
  29. @Autowired
  30. private UserAuthoricationService userAuthoricationService;
  31. @Autowired
  32. private OrderService orderService;
  33. @Autowired
  34. private HttpServletRequest req;
  35. private static final Integer ROWNUM=Integer.parseInt(ReadConfUtil.getProperty("rowNum"));
  36. private static final String CARNO_PATTERN =RegexConstant.CAR_NO;
  37. /**
  38. *
  39. * @Title: queryOrdersBySupplier
  40. * @Description: TODO(供应商查询订单信息)
  41. {
  42. "tokenId":"xx",
  43. "page":"1",
  44. "orderId":"",
  45. "boxNo":"",
  46. "statusId":"",
  47. "startTime":"",
  48. "endTime":""
  49. }
  50. * @param @return 设定文件
  51. * @return Map<String,Object> 返回类型
  52. * @author ylx
  53. * @date 2018年1月26日 上午11:35:13
  54. * @throws
  55. */
  56. @RequestMapping(value="/queryOrdersBySupplier",method=RequestMethod.POST)
  57. public Map<String, Object> queryOrdersBySupplier(@RequestBody Params params){
  58. try {
  59. String userId = req.getHeader("Authorization").split("&")[1];
  60. userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(userId), Role.SUPPLIER);
  61. int page = ValidationUtil.checkMinAndAssignInt(params.getPage(), 1);
  62. Long startTime=ValidationUtil.checkAndAssignDefaultLong(params.getStartTime(), 0L);
  63. Long endTime=ValidationUtil.checkAndAssignDefaultLong(params.getEndTime(), Long.MAX_VALUE);
  64. params.setStartTime(startTime);
  65. if(startTime<=endTime) params.setEndTime(endTime);
  66. else params.setEndTime(Long.MAX_VALUE);
  67. params.setStartPage((page - 1) * ROWNUM);
  68. params.setRowNum(ROWNUM);
  69. PageDTO pageDto = cargoConsignService.queryOrdersBySupplier(params);
  70. return JSONUtil.getJsonMap(200, true, HintMSG.QUERY_SUCCESS, pageDto);
  71. } catch (Exception e) {
  72. return JSONUtil.getJsonMap(500, false, HintMSG.QUERY_FAIL+":"+e.getMessage(), null);
  73. }
  74. }
  75. /**
  76. *
  77. * @Title: queryOrdersByCarrier
  78. * @Description: TODO(承运商查看订单信息)
  79. {
  80. "tokenId":"",
  81. "page":"1",
  82. "orderId":"",
  83. "boxNo":"",
  84. "statusId":"",
  85. "startTime":"",
  86. "endTime":""
  87. }
  88. * @param @return 设定文件
  89. * @return Map<String,Object> 返回类型
  90. * @author ylx
  91. * @date 2018年1月26日 下午1:03:33
  92. * @throws
  93. */
  94. @RequestMapping(value="/queryOrdersByCarrier",method=RequestMethod.POST)
  95. public Map<String, Object> queryOrdersByCarrier(@RequestBody Params params){
  96. try {
  97. String userId = req.getHeader("Authorization").split("&")[1];
  98. userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(userId), Role.CARRIER);
  99. int page = ValidationUtil.checkMinAndAssignInt(params.getPage(), 1);
  100. Long startTime=ValidationUtil.checkAndAssignDefaultLong(params.getStartTime(), 0L);
  101. Long endTime=ValidationUtil.checkAndAssignDefaultLong(params.getEndTime(), Long.MAX_VALUE);
  102. params.setStartTime(startTime);
  103. if(startTime<=endTime) params.setEndTime(endTime);
  104. else params.setEndTime(Long.MAX_VALUE);
  105. params.setStartPage((page - 1) * ROWNUM);
  106. params.setRowNum(ROWNUM);
  107. PageDTO pageDto = cargoConsignService.queryOrdersByCarrier(params);
  108. return JSONUtil.getJsonMap(200, true, HintMSG.QUERY_SUCCESS, pageDto);
  109. } catch (Exception e) {
  110. return JSONUtil.getJsonMap(500, false, HintMSG.QUERY_FAIL+":"+e.getMessage(), null);
  111. }
  112. }
  113. /**
  114. *
  115. * @Title: doCarry
  116. * @Description: TODO(承运商点击承运按钮后对订单表进行更新)
  117. {
  118. "tokenId":"",
  119. "orderId":"",
  120. "carNo":""
  121. }
  122. * @param @return 设定文件
  123. * @return Map<String,Object> 返回类型
  124. * @author ylx
  125. * @date 2018年1月26日 下午1:14:26
  126. * @throws
  127. */
  128. @RequestMapping(value="/doCarry",method=RequestMethod.POST)
  129. public Map<String, Object> doCarry(@RequestBody Params params){
  130. try {
  131. String userId = req.getHeader("Authorization").split("&")[1];
  132. userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(userId), Role.CARRIER);
  133. Orders order = orderService.queryFullOrderByOrderId(ValidationUtil.checkAndAssignInt(params.getOrderId()));
  134. ValidationUtil.checkBlankAndAssignString(params.getCarNo());//车牌号校验
  135. if(order==null) throw new RuntimeException("订单不存在");
  136. if(!Status.UNDELIVER.equals(order.getStatusId())) throw new RuntimeException("非法操作");
  137. if(!params.getUserId().equals(order.getCarrierId())) throw new RuntimeException("无权操作");
  138. cargoConsignService.doCarry(params);
  139. return JSONUtil.getJsonMap(200, true, HintMSG.OPERATION_SUCCESS, null);
  140. } catch (Exception e) {
  141. return JSONUtil.getJsonMap(500, false, HintMSG.OPERATION_FAIL+":"+e.getMessage(), null);
  142. }
  143. }
  144. /**
  145. *
  146. * @Title: showAllCarriersUnderSupplier
  147. * @Description: TODO(当供应商点击发货时候,跳出的弹框中承运商下拉框中显示所有承运商)
  148. {
  149. "tokenId":"xxx"
  150. }
  151. * @param @return 设定文件
  152. * @return Map<String,Object> 返回类型
  153. * @author ylx
  154. * @date 2018年1月26日 下午12:03:48
  155. * @throws
  156. */
  157. @RequestMapping(value="/showAllCarriersUnderSupplier",method=RequestMethod.POST)
  158. public Map<String, Object> showAllCarriersUnderSupplier(@RequestBody Params params){
  159. try {
  160. String userId = req.getHeader("Authorization").split("&")[1];
  161. userAuthoricationService.queryUserDetail(ValidationUtil.checkAndAssignInt(userId), Role.SUPPLIER);
  162. params.setRoleName(Role.CARRIER);
  163. List<UserDetail> carrierList = userAuthoricationService.showAllCarriersUnderSupplier(params);
  164. return JSONUtil.getJsonMap(200, true, HintMSG.QUERY_SUCCESS, carrierList);
  165. } catch (Exception e) {
  166. return JSONUtil.getJsonMap(500, false, HintMSG.QUERY_FAIL+":"+e.getMessage(), null);
  167. }
  168. }
  169. /**
  170. *
  171. * @Title: orderTracking
  172. * @Description: TODO(供应商和承运商的订单查询)
  173. {
  174. "tokenId":"xxx",
  175. "orderId":""
  176. }
  177. * @param @return 设定文件
  178. * @return Map<String,Object> 返回类型
  179. * @author ylx
  180. * @date 2018年1月26日 下午1:47:45
  181. * @throws
  182. */
  183. @RequestMapping(value="/orderTracking",method=RequestMethod.POST)
  184. public Map<String, Object> orderTracking(@RequestBody Params params){
  185. try {
  186. String userId = req.getHeader("Authorization").split("&")[1];
  187. UserDetail userDetail = userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(userId),Role.CARRIER,Role.SUPPLIER);//检测当前操作用户权限
  188. Orders order = orderService.queryFullOrderByOrderId(ValidationUtil.checkAndAssignInt(params.getOrderId()));
  189. if(Role.SUPPLIER.equals(userDetail.getRoleName())){
  190. if(!params.getUserId().equals(order.getSupplierId())) throw new RuntimeException("无权查看");
  191. }
  192. if(Role.CARRIER.equals(userDetail.getRoleName())){
  193. if(!params.getUserId().equals(order.getCarrierId())) throw new RuntimeException("无权查看");
  194. }
  195. params.setOrder(order);
  196. Map<String, Object> map = cargoConsignService.orderTracking(params);
  197. return JSONUtil.getJsonMap(200, true, HintMSG.QUERY_SUCCESS, map);
  198. } catch (Exception e) {
  199. return JSONUtil.getJsonMap(500, false, HintMSG.QUERY_FAIL+":"+e.getMessage(), null);
  200. }
  201. }
  202. }