FlashDeliveryAdminController.java 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package com.ruoyi.app.flashdelivery.controller;
  2. import com.ruoyi.app.flashdelivery.dto.FlashDeliveryPricingRequest;
  3. import com.ruoyi.app.flashdelivery.dto.FlashDeliveryReasonRequest;
  4. import com.ruoyi.app.flashdelivery.service.FlashDeliveryApplicationService;
  5. import com.ruoyi.common.annotation.Log;
  6. import com.ruoyi.common.core.controller.BaseController;
  7. import com.ruoyi.common.core.domain.AjaxResult;
  8. import com.ruoyi.common.enums.BusinessType;
  9. import com.ruoyi.common.utils.MessageUtils;
  10. import com.ruoyi.common.utils.SecurityUtils;
  11. import org.springframework.security.access.prepost.PreAuthorize;
  12. import org.springframework.web.bind.annotation.DeleteMapping;
  13. import org.springframework.web.bind.annotation.GetMapping;
  14. import org.springframework.web.bind.annotation.PathVariable;
  15. import org.springframework.web.bind.annotation.PostMapping;
  16. import org.springframework.web.bind.annotation.PutMapping;
  17. import org.springframework.web.bind.annotation.RequestBody;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RequestParam;
  20. import org.springframework.web.bind.annotation.RestController;
  21. /** 平台端闪送管理接口。 */
  22. @RestController
  23. @RequestMapping("/system/flashDelivery/admin")
  24. public class FlashDeliveryAdminController extends BaseController {
  25. private final FlashDeliveryApplicationService service;
  26. public FlashDeliveryAdminController(FlashDeliveryApplicationService service) {
  27. this.service = service;
  28. }
  29. @PreAuthorize("@ss.hasPermi('flash:pricing:list')")
  30. @GetMapping("/pricing")
  31. public AjaxResult pricing() {
  32. return success(service.adminPricing());
  33. }
  34. @PreAuthorize("@ss.hasPermi('flash:pricing:edit')")
  35. @Log(title = "闪送时段运价", businessType = BusinessType.INSERT)
  36. @PostMapping("/pricing")
  37. public AjaxResult createPricing(@RequestBody FlashDeliveryPricingRequest request) {
  38. return success(service.createPricing(SecurityUtils.getUserId(), request));
  39. }
  40. @PreAuthorize("@ss.hasPermi('flash:pricing:edit')")
  41. @Log(title = "闪送时段运价", businessType = BusinessType.UPDATE)
  42. @PutMapping("/pricing/{id}")
  43. public AjaxResult updatePricing(@PathVariable Long id,
  44. @RequestBody FlashDeliveryPricingRequest request) {
  45. return success(service.updatePricing(SecurityUtils.getUserId(), id, request));
  46. }
  47. @PreAuthorize("@ss.hasPermi('flash:pricing:edit')")
  48. @Log(title = "闪送时段运价", businessType = BusinessType.DELETE)
  49. @DeleteMapping("/pricing/{id}")
  50. public AjaxResult deletePricing(@PathVariable Long id) {
  51. service.deletePricing(id);
  52. return success();
  53. }
  54. @PreAuthorize("@ss.hasPermi('flash:order:list')")
  55. @GetMapping("/orders")
  56. public AjaxResult orders(@RequestParam(defaultValue = "1") int pageNum,
  57. @RequestParam(defaultValue = "10") int pageSize,
  58. @RequestParam(required = false) String status,
  59. @RequestParam(required = false) String serviceType,
  60. @RequestParam(required = false) String orderNo,
  61. @RequestParam(required = false) Long userId,
  62. @RequestParam(required = false) Long riderId) {
  63. return success(service.adminOrders(pageNum, pageSize, status, serviceType, orderNo, userId, riderId));
  64. }
  65. @PreAuthorize("@ss.hasPermi('flash:order:query')")
  66. @GetMapping("/orders/{id}")
  67. public AjaxResult detail(@PathVariable Long id) {
  68. return success(service.adminDetail(id));
  69. }
  70. @PreAuthorize("@ss.hasPermi('flash:order:cancel')")
  71. @Log(title = "闪送订单取消", businessType = BusinessType.UPDATE)
  72. @PostMapping("/orders/{id}/cancel")
  73. public AjaxResult cancel(@PathVariable Long id, @RequestBody FlashDeliveryReasonRequest request) {
  74. service.adminCancel(SecurityUtils.getUserId(), id, request);
  75. return success();
  76. }
  77. @PreAuthorize("@ss.hasPermi('flash:order:complete')")
  78. @Log(title = "闪送订单完成", businessType = BusinessType.UPDATE)
  79. @PostMapping("/orders/{id}/complete")
  80. public AjaxResult complete(@PathVariable Long id) {
  81. if (!service.complete(SecurityUtils.getUserId(), "ADMIN", id)) {
  82. return error(MessageUtils.message("flash.delivery.complete.not.allowed"));
  83. }
  84. return success();
  85. }
  86. }