Browse Source

Merge branch 'purchase_limit' of ssh://120.24.33.109:11022/hyzjshwo/lanzu_api_hyperf into purchase_limit

master
weigang 6 years ago
parent
commit
645f2c721e
  1. 6
      app/Controller/OrderController.php
  2. 2
      app/Controller/PurchaseLimitController.php
  3. 40
      app/Request/OnlineCancelRequest.php
  4. 6
      app/Service/OrderService.php
  5. 14
      app/Service/PurchaseLimitService.php
  6. 2
      app/Service/PurchaseLimitServiceInterface.php

6
app/Controller/OrderController.php

@ -7,6 +7,7 @@ use App\Constants\LogLabel;
use App\Model\OrderMain;
use App\Request\OrderOfflineRequest;
use App\Request\OrderOnlineRequest;
use App\Request\OnlineCancelRequest;
use App\Request\UserOrdersRequest;
use App\Service\SeparateAccountsServiceInterface;
use Hyperf\DbConnection\Db;
@ -101,9 +102,10 @@ class OrderController extends BaseController
/**
* 用户取消订单
* @param OnlineCancelRequest $request
*/
public function onlineCancel(){
$orderId = $this->request->input('order_id');
public function onlineCancel(OnlineCancelRequest $request){
$orderId = $request->input('order_id');
$orderMain = OrderMain::where('id',$orderId)
->select('global_order_id')
->first();

2
app/Controller/PurchaseLimitController.php

@ -36,7 +36,7 @@ class PurchaseLimitController extends BaseController
public function test()
{
$res = $this->purchaseLimitService->test($this->request->all());
$res = $this->purchaseLimitService->PurchaseLimit($this->request->input('global_order_id'));
return $this->success($res);
}

40
app/Request/OnlineCancelRequest.php

@ -0,0 +1,40 @@
<?php
declare(strict_types=1);
namespace App\Request;
class OnlineCancelRequest extends BaseFormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*/
public function rules(): array
{
return [
'order_id' => 'required|nonempty|integer|exists:ims_cjdc_order_main,id',
];
}
public function messages(): array
{
return [
'order_id.*' => ':attribute信息不正确',
];
}
public function attributes(): array
{
return [
'order_id' => '订单号',
];
}
}

6
app/Service/OrderService.php

@ -300,6 +300,12 @@ class OrderService implements OrderServiceInterface
Db::rollBack();
return '订单商品异常';
}
//判断是否有购买多个特价商品
$result = $this->purchaseLimitService->PurchaseLimit($orderGoods);
if(!$result){
Db::rollBack();
return '同一个订单不能购买多个特价商品';
}
//判断是否有购买特价商品
$this->purchaseLimitService->ssdbPurchaseRecord($orderGoods,$data['user_id'],$dataMain['global_order_id']);

14
app/Service/PurchaseLimitService.php

@ -78,6 +78,20 @@ class PurchaseLimitService implements PurchaseLimitServiceInterface
return true;
}
public function PurchaseLimit($orderGoods)
{
foreach ($orderGoods as $goods){
$sum = 0;
if($goods['money'] == 0.01){
if($sum > 0){
return false;
}
$sum++;
}
}
return true;
}
public function test($params)
{
$ssdb = ApplicationContext::getContainer()->get(SSDBTask::class);

2
app/Service/PurchaseLimitServiceInterface.php

@ -12,5 +12,7 @@ interface PurchaseLimitServiceInterface
public function delSsdbPurchaseRecord($global_order_id);
public function PurchaseLimit($orderGoods);
public function test($params);
}
Loading…
Cancel
Save