From 6e1bd1d3504c25f50d36d304608d5395cc14925e Mon Sep 17 00:00:00 2001 From: weigang Date: Thu, 10 Sep 2020 21:05:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8C=E7=BA=A7=E4=B8=89=E7=BA=A7=E5=90=8C?= =?UTF-8?q?=E6=97=B6=E6=90=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Constants/v3/OrderState.php | 8 ++++++++ app/JsonRpc/OrderService.php | 14 +++++++++++++- app/Request/v3/SearchGoodsRequest.php | 1 + app/Service/v3/Implementations/SearchService.php | 5 +++++ 4 files changed, 27 insertions(+), 1 deletion(-) diff --git a/app/Constants/v3/OrderState.php b/app/Constants/v3/OrderState.php index 718dffc..af1ff7c 100644 --- a/app/Constants/v3/OrderState.php +++ b/app/Constants/v3/OrderState.php @@ -75,6 +75,14 @@ class OrderState extends AbstractConstants */ const REFUND = [self::REFUNDING, self::REFUNDED, self::REFUND_REFUSE]; + /** + * @Message("可删除") + */ const CAN_DEL = [self::COMPLETED, self::EVALUATED, self::CANCELED, self::REFUNDED, self::REFUND_REFUSE]; + /** + * @Message("可强行退款") + */ + const CAN_REFUND_DIRECT = [self::COMPLETED, self::EVALUATED, self::REFUND_REFUSE]; + } \ No newline at end of file diff --git a/app/JsonRpc/OrderService.php b/app/JsonRpc/OrderService.php index 60de8b1..4ea5298 100644 --- a/app/JsonRpc/OrderService.php +++ b/app/JsonRpc/OrderService.php @@ -5,6 +5,7 @@ namespace App\JsonRpc; use App\Commons\Log; use App\Constants\v3\ErrorCode; use App\Constants\v3\LogLabel; +use App\Constants\v3\OrderState; use App\Exception\ErrorCodeException; use App\Model\v3\Order; use App\Model\v3\OrderMain; @@ -124,7 +125,18 @@ class OrderService implements OrderServiceInterface } // 主订单 - $orderMain = OrderMain::query()->where(['global_order_id' => $global_order_id])->first(); + $orderMain = OrderMain::query() + ->where(['global_order_id' => $global_order_id]) + ->whereIn('state', OrderState::CAN_REFUND_DIRECT) + ->first(); + + if (empty($orderMain)) { + $this->log->event(LogLabel::ORDER_REFUND_LOG, [ + 'jsonrpc_order_service_exception_onlineSingleRefund' => '订单不存在', + 'params' => json([$global_order_id, $user_id, $note]) + ]); + throw new ErrorCodeException(ErrorCode::ORDER_REFUND_FAIL); + } // 子订单 if ($child_order_id) { diff --git a/app/Request/v3/SearchGoodsRequest.php b/app/Request/v3/SearchGoodsRequest.php index 31ec5bd..46ec354 100644 --- a/app/Request/v3/SearchGoodsRequest.php +++ b/app/Request/v3/SearchGoodsRequest.php @@ -17,6 +17,7 @@ class SearchGoodsRequest extends BaseFormRequest return [ 'market_id' => 'required|nonempty|integer', 'type_id' => 'nonempty', + 'goods_category_ids' => 'nonempty', 'store_id' => 'nonempty|integer', 'keyword' => 'nonempty', 'order_by' => 'nonempty|in:default,sales,price', diff --git a/app/Service/v3/Implementations/SearchService.php b/app/Service/v3/Implementations/SearchService.php index e1f5c84..6b6a0b1 100644 --- a/app/Service/v3/Implementations/SearchService.php +++ b/app/Service/v3/Implementations/SearchService.php @@ -23,6 +23,11 @@ class SearchService implements \App\Service\v3\Interfaces\SearchServiceInterface if (isset($params['type_id']) && $params['type_id']) { $typeIds = explode(',', $params['type_id']); + $builder->whereIn('category_id', $typeIds); + } + + if (isset($params['goods_category_ids']) && $params['goods_category_ids']) { + $typeIds = explode(',', $params['goods_category_ids']); $builder->whereIn('goods_category_id', $typeIds); }