| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- namespace Modules\Api\Controllers;
- use App\Model\UserModel;
- use App\Model\VipOrderModel;
- use App\Repositories\Service\QueueService;
- use App\Repositories\UserRepository;
- use Carbon\Carbon;
- use Hyperf\HttpServer\Request;
- class DemoController extends BaseController
- {
- use \Hyperf\Di\Aop\ProxyTrait;
- use \Hyperf\Di\Aop\PropertyHandlerTrait;
- function __construct()
- {
- if (method_exists(parent::class, '__construct')) {
- parent::__construct(...func_get_args());
- }
- $this->__handlePropertyHandler(__CLASS__);
- }
- public function vipOrder(Request $request)
- {
- $inputData = $request->all();
- $orderItem = VipOrderModel::query()->where(['id' => $inputData['data']['id']])->first();
- if (empty($orderItem)) {
- return json_fail('没有查到测试订单');
- }
- $orderItem = $orderItem->toArray();
- $package = json_decode($orderItem['package_info'], true);
- $houseCount = 0;
- foreach ($package['jdata']['feature'] as $packVal) {
- if ($packVal['type'] == 'house') {
- $houseCount = $packVal['count'];
- }
- }
- //加会员天数
- $userInfo = make(UserRepository::class)->getUserInfoFromCache($orderItem['user_code']);
- if ($userInfo['is_vip'] == 'y') {
- $vipTime = Carbon::parse($userInfo['vip_expired'])->addDays($orderItem['vip_days'])->toDateTimeString();
- } else {
- $vipTime = Carbon::now()->addDays($orderItem['vip_days'])->toDateTimeString();
- }
- $houseCount = $userInfo['max_open_house'] + $houseCount;
- UserModel::query()->where('id', $orderItem['user_id'])->update(['vip_expired' => $vipTime, 'vip_level' => $orderItem['vip_id'], 'max_open_house' => $houseCount]);
- $orderMoney = floatval($orderItem['order_amount']);
- make(QueueService::class)->rebateUserJob(['amount' => $orderMoney, 'user_id' => $orderItem['user_code']], 1);
- VipOrderModel::query()->where(['id' => $inputData['data']['id']])->update(['status' => 1]);
- make(UserRepository::class)->delUserCache($orderItem['user_code']);
- return json_success([]);
- }
- public function coinOrder(Request $request)
- {
- }
- }
|