userInfo = WebUserService::instance()->getUserInfo(); $user = WebUserService::instance()->getUserInfo(); // $free_diankan = FinancialService::instance()->getRechargeModel()->getTotalFreeKandian($user->id); // $kandian = intval($user->kandian) + $free_diankan; $is_test = AdminService::instance()->checkIsTestChannel($user->agent_id, $user->channel_id); $goods_list = model('Goods')->getGoodsListForApp(PayConstants::BUSINESS_APP, $is_test, $user->is_pay); foreach ($goods_list as $index => $item) { $goods_list[$index]['second_description'] = mb_substr($item['second_description'], 0, 10); $goods_list[$index]['icon'] = mb_substr($item['icon'], 0, 3); } // $pay_list = model('Wxpay')->getListByBusiness(PayConstants::BUSINESS_APP); // $pay_list = ArrayHelper::extractColumn($pay_list, ['id','p_desc','icon']); $data = [ // 'pay_list' => $pay_list, 'goods_list' => $goods_list, ]; $this->success('商品信息', $data); } public function paytypelist() { $pay_list = model('Wxpay')->getListByBusiness(PayConstants::BUSINESS_APP); $pay_list = ArrayHelper::extractColumn($pay_list, ['id', 'payment_method', 'p_desc', 'icon']); $data = [ 'pay_list' => $pay_list, ]; $this->success('支付方式信息', $data); } /** * 下单 */ public function pay() { $user_info = WebUserService::instance()->getUserInfo(); //登录检测 if (!$user_info->id) { $this->error('登录信息获取失败'); } $payment_method = intval($this->getParams('paymentMethod')); $payService = OrderService::instance()->getOrderService($payment_method); if (!$payService) { $this->error('支付方式错误' . $payment_method); } try{ $result = $payService->init($payment_method)->setParams($this->params)->setUser($user_info)->saveOrder(); }catch (\Exception $e) { $this->error($e->getMessage()); } if ($result->code == ErrorCodeConstants::SUCCESS) { $this->success($result->msg, $result->data); } else { $this->error($result->msg); } } /** * 获取充值记录 */ public function record() { $pageSize = $this->getParams('pageSize'); $page = $this->getParams('page'); $userId = WebUserService::instance()->getUserInfo()->id; $result = OrderService::instance()->getRechargeRecord($userId, $page, $pageSize); if ($result->code == ErrorCodeConstants::SUCCESS) { //整理下数据 $data = []; if ($result->data['record_list']) { foreach ($result->data['record_list'] as $key => $val) { $data[$key] = $val; if ($val['business_line'] == PayConstants::BUSINESS_APP) { $data[$key]['type_text'] = $val['type_text'] . '-'. $val['notes']; } if ($val['type'] == '1' || $val['type'] == '3' || $val['type'] == '5' || $val['type'] == '6') { //书币 if (intval($val['kandian']) == 0) { //免费书币 if (intval($val['free_kandian']) > 0) { $data[$key]['show_item'] = '+' . $val['free_kandian'] . '书币'; //int转string $data[$key]['end_date'] = '有效期至:'.Date('Y-m-d', $val['free_endtime']); //书币失效日期 } else { $data[$key]['show_item'] = $val['free_kandian'] . '书币'; //int转string $data[$key]['end_date'] = '永久'; //书币失效日期 } if ($val['type'] == 1) { $data[$key]['type_text'] = '充值赠送书币'; } elseif (intval($val['type']) == 6) { $data[$key]['type_text'] = '活动赠送书币'; } } else { //永久书币 if (intval($val['kandian']) > 0) { $data[$key]['show_item'] = '+' . $val['kandian'] . '书币'; //int转string } else { $data[$key]['show_item'] = $val['kandian'] . '书币'; //int转string } $data[$key]['end_date'] = '永久'; //书币失效日期 } } else { //vip if (intval($val['day']) > 0 || intval($val['hour']) > 0) { //加vip时长 if (intval($val['day']) > 0) { $data[$key]['show_item'] = '+' . $val['day'] . '天'; if (intval($val['hour']) > 0) { $data[$key]['show_item'] = $data[$key]['showItem'] . $val['hour'] . '小时'; } } else { $data[$key]['show_item'] = '+' . $val['hour'] . '小时'; } } else { //减少vip时长 if (intval($val['day']) < 0) { $data[$key]['show_item'] = $val['day'] . '天'; if (intval($val['hour']) < 0) { $data[$key]['show_item'] = $data[$key]['showItem'] . abs($val['hour']) . '小时'; } } else { if (intval($val['hour']) < 0) { $data[$key]['show_item'] = $val['hour'] . '小时'; } } } $days = $val['day'] ?? 0; $hour = $val['hour'] ?? 0; if ($val['vip_starttime']) { $data[$key]['end_date'] = date('Y-m-d H:i:s', strtotime("+{$days} days {$hour} hours ", $val['vip_starttime'])); } else { $data[$key]['end_date'] = '-'; } } } } $this->success($result->msg, ['total' => $result->data['total'], 'record_list' => $data]); } else { $this->error($result->msg); } } public function checkpaid() { $id = $this->getParams('orderId'); $uid = WebUserService::instance()->getUserInfo()->id; $mOrder = OrderService::instance()->getOrderModel() ->where('out_trade_no', $id) ->where('user_id', $uid) ->find(); if ($mOrder) { $data = [ 'state'=>$mOrder['state'] ]; if ($data['state'] == OrderContents::ORDER_STATE_PAID) { $data['free_kandian'] = FinancialService::instance()->getTotalFreeKandian($uid)->data; $data['kandian'] = FinancialService::instance()->getTotalKandian($uid)->data; $data['goods'] = GoodsService::instance()->getGoodsModel()->where('id', $mOrder['goods_id'])->find()->toArray(); } $this->success('订单状态', $data); } else { $this->error('订单查询失败'); } } }