Order.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace app\controller\merchant;
  3. use app\extra\basic\Base;
  4. use app\extra\service\saas\OrderLogService;
  5. use app\extra\service\saas\OrderService;
  6. use app\middleware\AuthMiddleware;
  7. use app\model\saas\SaasOrder;
  8. use app\model\saas\SaasOrderLog;
  9. use DI\Attribute\Inject;
  10. use LinFly\Annotation\Route\Controller;
  11. use LinFly\Annotation\Route\Route;
  12. use support\Request;
  13. use support\Response;
  14. use Webman\Annotation\Middleware;
  15. #[Controller(prefix: "/api/merchant/order"),Middleware(AuthMiddleware::class)]
  16. class Order extends Base
  17. {
  18. #[Inject]
  19. protected OrderService $service;
  20. #[Inject]
  21. protected OrderLogService $log;
  22. #[Inject]
  23. protected SaasOrder $mode;
  24. #[Route(path: "list",methods: "get")]
  25. public function getOrderList(Request $request): Response
  26. {
  27. try {
  28. $param = $request->get();
  29. $param['agent'] = $request->user['agent_id'];
  30. $list = $this->service->getList($param);
  31. return successTrans("success.data",pageFormat($list),200);
  32. } catch (\Throwable $throwable) {
  33. return error($throwable->getMessage());
  34. }
  35. }
  36. #[Route(path: "log",methods: "get")]
  37. public function getOrderLog(Request $request): Response
  38. {
  39. try {
  40. $param = $request->get();
  41. $list = $this->log->getList($param);
  42. return successTrans("success.data",$list,200);
  43. } catch (\Throwable $throwable) {
  44. return error($throwable->getMessage());
  45. }
  46. }
  47. /**
  48. * 批量修改订单状态
  49. * @param Request $request
  50. * @return Response
  51. */
  52. #[Route(path: "batch",methods: "post")]
  53. public function batchSetState(Request $request): Response
  54. {
  55. try {
  56. $param = $this->_valid([
  57. "order.require" => trans("empty.require")
  58. ],"post");
  59. if (!is_array($param)) return error($param);
  60. $state = $this->mode->where("order_sn","in",$param['order'])->save(['express_status' => 1,'status' => 2]);
  61. $log = [];
  62. foreach ($param['order'] as $key=>$val) {
  63. $log[$key] = [
  64. 'order_id' => $val,
  65. "title" => "手动发货",
  66. "remark" => "管理员手动完成发货,订单进入待核销"
  67. ];
  68. }
  69. (new SaasOrderLog)->insertAll($log);
  70. if (!$state) return errorTrans("error.data");
  71. return successTrans("success.data");
  72. } catch (\Throwable $throwable) {
  73. return error($throwable->getMessage());
  74. }
  75. }
  76. }