5 changed files with 131 additions and 0 deletions
-
7app/Constants/v3/ErrorCode.php
-
89app/Controller/v3/WithdrawController.php
-
21app/Service/v3/Implementations/FinancialRecordService.php
-
13app/Service/v3/Interfaces/FinancialRecordServiceInterface.php
-
1config/routes.php
@ -0,0 +1,89 @@ |
|||
<?php |
|||
|
|||
namespace App\Controller\v3; |
|||
|
|||
use App\Constants\v3\ErrorCode; |
|||
use App\Constants\v3\UserType; |
|||
use App\Controller\BaseController; |
|||
use App\Exception\ErrorCodeException; |
|||
use App\Model\v3\FinancialRecord; |
|||
use App\Model\v3\Store; |
|||
use App\Model\v3\UserBalance; |
|||
use App\Service\v3\Interfaces\FinancialRecordServiceInterface; |
|||
use Hyperf\Di\Annotation\Inject; |
|||
use Hyperf\Validation\ValidationException; |
|||
|
|||
class WithdrawController extends BaseController |
|||
{ |
|||
|
|||
/** |
|||
* @Inject |
|||
* @var FinancialRecordServiceInterface |
|||
*/ |
|||
protected $financialService; |
|||
|
|||
/** |
|||
* 商户提现页数据 |
|||
* 1、可提现金额 |
|||
* 2、获得的奖励金额(历史总奖励金额) |
|||
* 3、用户须知 |
|||
* 4、提现须知 |
|||
*/ |
|||
public function pageByStore() |
|||
{ |
|||
$validator = $this->validationFactory->make( |
|||
$this->request->all(), |
|||
[ |
|||
'user_id' => 'required|nonempty|integer', |
|||
'store_id' => 'required|nonempty|integer', |
|||
], |
|||
['*.*' => ':attribute 参数不正确'] |
|||
); |
|||
|
|||
if ($validator->fails()) { |
|||
throw new ValidationException($validator); |
|||
} |
|||
|
|||
$userId = $this->request->input('user_id', 0); |
|||
$storeId = $this->request->input('store_id', 0); |
|||
$store = Store::query()->where(['user_id' => $userId, 'id' => $storeId])->first(); |
|||
if (empty($store)) { |
|||
throw new ErrorCodeException(ErrorCode::STORE_NOT_AVAILABLE); |
|||
} |
|||
|
|||
$data['balance'] = UserBalance::query() |
|||
->where(['source_id' => $store->user_id, 'user_type' => UserType::STORE]) |
|||
->value('balance'); |
|||
|
|||
$data['award'] = $this->financialService->sumAmount( |
|||
$store->user_id, |
|||
UserType::STORE, |
|||
[FinancialRecord::MONEY_TYPE_STORE_PLAT_NEW_USER, FinancialRecord::MONEY_TYPE_STORE_FIRST_ORDER] |
|||
); |
|||
|
|||
$data['notice'] = [ |
|||
[ |
|||
'title' => '用户须知', |
|||
'content' => '<p>请仔细填写相关信息,如果由于您填写的信息有误导致资金流失,平台概不负责。</p><p>注意:因微信限制当前用户账户余额满<span style="color:red;">1</span>元后才可提现</p>' |
|||
], |
|||
[ |
|||
'title' => '提现须知', |
|||
'content' => '<p>一次提现金额最低为<span style="color:red;">1</span>元</p>' |
|||
.'<p>一次提现金额最高为<span style="color:red;">5000</span>元</p>' |
|||
.'<p>每天可提现<span style="color:red;">10</span>次</p>' |
|||
], |
|||
]; |
|||
|
|||
return $this->success($data); |
|||
} |
|||
|
|||
public function applyByStore() |
|||
{ |
|||
$validator = $this->validationFactory->make( |
|||
$this->request->all(), |
|||
[ |
|||
'user_id' => 'required|nonempty' |
|||
] |
|||
); |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue