Browse Source

二级三级同时搜

master
weigang 5 years ago
parent
commit
6e1bd1d350
  1. 8
      app/Constants/v3/OrderState.php
  2. 14
      app/JsonRpc/OrderService.php
  3. 1
      app/Request/v3/SearchGoodsRequest.php
  4. 5
      app/Service/v3/Implementations/SearchService.php

8
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];
}

14
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) {

1
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',

5
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);
}

Loading…
Cancel
Save