<?php
namespace App\Http\Controllers\Jkq\Person;
use App\Http\Controllers\Jkq\JkqBaseController;
use App\Services\Common\PayService;
use App\Services\Common\TplService;
use App\Services\Person\MemberHandselService;
use App\Services\Person\MemberPointService;
use Illuminate\Http\Request;
class MemberController extends JkqBaseController
{
/**
* @var ResumeService
*/
protected $MemberHandselService;
protected $MemberPointService;
protected $payService;
protected $tplService;
/**
* MemberController constructor.
* @param MemberHandselService $MemberHandselService
* @param MemberPointService $MemberPointService
* @param PayService $payService
*/
public function __construct(MemberHandselService $MemberHandselService, MemberPointService $MemberPointService, PayService $payService, TplService $tplService)
{
$this->MemberHandselService = $MemberHandselService;
$this->MemberPointService = $MemberPointService;
$this->payService = $payService;
$this->tplService = $tplService;
}
/**
* @des 会员服务
*/
public function service()
{
$res = $this->MemberPointService->getPointsById(auth('web-member')->user());
return view('jkq.person.service')->with([
'content'=>$res['content'],
'points'=>$res['points'],
'lastPoints'=>$res['lastPoints'],
'member'=>$res['member'],
'memhanselGet'=>$res['memhanselGet'],
'memhanselPo'=>$res['memhanselPo'],
]);
}
/**
* 我的任务
*/
public function task()
{
return view('jkq.person.task', $this->MemberPointService->getTask(auth('web-member')->user(),2));
}
/**
* 增值服务。
*/
public function increment()
{
$tpl = $this->tplService->getTpl(auth('web-member')->user());
return view('jkq.person.increment', ['tpl'=>$tpl]);
}
/**
* 添加增值服务。
*/
public function increment_add()
{
$res = $this->MemberPointService->increment_add(request()->type, auth('web-member')->user());
return view('jkq.person.'.$res['tpl'], ['resume'=>$res['resume'], 'info'=>$res['info'],'points'=>$res['points'],'payment'=>$res['payment']]);
}
/**
* 支付。
*/
public function pay(Request $request)
{
$order = $this->MemberPointService->pay($request->all(), auth('web-member')->user());
$tradeNo = $this->payService->getTradeNo($order['order']->id);
$res = $this->MemberPointService->updateOrder($tradeNo, $order['input'], $order['order'],$request->route());
if ($res['code']=='wechat') {
if ($res['type']=='wap') {
return $res['tradeCode'];
} elseif ($res['type']=='official'){
return json_encode(['tradeCode'=>$res['tradeCode']]);
} else {
return json_encode(['tradeCode'=>$res['tradeCode'],'tradeNo'=>$res['tradeNo']]);
}
} else {
return $res['tradeCode'];
}
}
public function payStatus(Request $request)
{
$res = $this->MemberPointService->payStatus($request->tradeNo);
if ($res) {
return json_encode(['code'=>1]);
} else {
return json_encode(['code'=>0]);
}
}
public function order_list(Request $request)
{
$res = $this->MemberPointService->order_list(auth('web-member')->user(), $request->all());
return view('jkq.person.order_list', ['order'=>$res['order']]);
}
public function order_detail($oid)
{
$content = $this->MemberPointService->order_detail($oid,auth('web-member')->user());
return view('jkq.person.order_detail', ['order'=>$content]);
}
public function order_cancel()
{
$result = $this->MemberPointService->order_cancel(request()->id,auth('web-member')->user());
if ($result) {
return $this->sendSuccessResponse('取消成功!');
} else {
return $this->sendErrorResponse('取消失败!');
}
}
public function order_delete()
{
$result = $this->MemberPointService->order_delete(request()->id,auth('web-member')->user());
if ($result) {
return $this->sendSuccessResponse('删除成功!');
} else {
return $this->sendErrorResponse('删除失败!');
}
}
public function payAgain(Request $request)
{
$res = $this->MemberPointService->payAgain(request()->id, $request->route());
if ($res['code']=='wechat') {
if ($res['type']=='wap') {
return $res['tradeCode'];
} else {
return json_encode(['tradeCode'=>$res['tradeCode'],'tradeNo'=>$res['tradeNo']]);
}
} else {
return $res['tradeCode'];
}
}
}