MemberController.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <?php
  2. namespace App\Http\Controllers\Web\Person;
  3. use Aix\Pay\Data\PayOrder;
  4. use App\Http\Controllers\Web\WebBaseController;
  5. use App\Models\Report;
  6. use App\Models\Resume;
  7. use App\Services\Common\PayService;
  8. use App\Services\Common\TplService;
  9. use App\Services\Person\MemberHandselService;
  10. use App\Services\Person\MemberPointService;
  11. use Illuminate\Http\Request;
  12. class MemberController extends WebBaseController
  13. {
  14. /**
  15. * @var ResumeService
  16. */
  17. protected $MemberHandselService;
  18. protected $MemberPointService;
  19. protected $payService;
  20. protected $tplService;
  21. /**
  22. * MemberController constructor.
  23. * @param MemberHandselService $MemberHandselService
  24. * @param MemberPointService $MemberPointService
  25. * @param PayService $payService
  26. */
  27. public function __construct(MemberHandselService $MemberHandselService, MemberPointService $MemberPointService, PayService $payService, TplService $tplService)
  28. {
  29. $this->MemberHandselService = $MemberHandselService;
  30. $this->MemberPointService = $MemberPointService;
  31. $this->payService = $payService;
  32. $this->tplService = $tplService;
  33. }
  34. /**
  35. * @des 会员服务
  36. */
  37. public function service()
  38. {
  39. $res = $this->MemberPointService->getPointsById(auth('web-member')->user());
  40. return view('app.person.service')->with([
  41. 'content'=>$res['content'],
  42. 'points'=>$res['points'],
  43. 'lastPoints'=>$res['lastPoints'],
  44. 'member'=>$res['member'],
  45. 'memhanselGet'=>$res['memhanselGet'],
  46. 'memhanselPo'=>$res['memhanselPo'],
  47. ]);
  48. }
  49. /**
  50. * 我的任务
  51. */
  52. public function task()
  53. {
  54. return view('app.person.task', $this->MemberPointService->getTask(auth('web-member')->user()));
  55. }
  56. /**
  57. * 增值服务。
  58. */
  59. public function increment()
  60. {
  61. $tpl = $this->tplService->getTpl(auth('web-member')->user());
  62. return view('app.person.increment', ['tpl'=>$tpl]);
  63. }
  64. /**
  65. * 添加增值服务。
  66. */
  67. public function increment_add()
  68. {
  69. $res = $this->MemberPointService->increment_add(request()->type, auth('web-member')->user());
  70. return view('app.person.'.$res['tpl'], ['resume'=>$res['resume'], 'info'=>$res['info'],'points'=>$res['points'],'payment'=>$res['payment']]);
  71. }
  72. /**
  73. * 支付。
  74. */
  75. public function pay(Request $request)
  76. {
  77. $order = $this->MemberPointService->pay($request->all(), auth('web-member')->user());
  78. $tradeNo = $this->payService->getTradeNo($order['order']->id);
  79. $res = $this->MemberPointService->updateOrder($tradeNo, $order['input'], $order['order'],$request->route());
  80. if ($res['code']=='wechat') {
  81. if ($res['type']=='wap') {
  82. return $res['tradeCode'];
  83. } elseif ($res['type']=='official'){
  84. return json_encode(['tradeCode'=>$res['tradeCode']]);
  85. } else {
  86. return json_encode(['tradeCode'=>$res['tradeCode'],'tradeNo'=>$res['tradeNo']]);
  87. }
  88. } else {
  89. return $res['tradeCode'];
  90. }
  91. }
  92. public function payStatus(Request $request)
  93. {
  94. $res = $this->MemberPointService->payStatus($request->tradeNo);
  95. if ($res) {
  96. return json_encode(['code'=>1]);
  97. } else {
  98. return json_encode(['code'=>0]);
  99. }
  100. }
  101. public function order_list(Request $request)
  102. {
  103. $res = $this->MemberPointService->order_list(auth('web-member')->user(), $request->all());
  104. return view('app.person.order_list', ['order'=>$res['order']]);
  105. }
  106. public function order_detail($oid)
  107. {
  108. $content = $this->MemberPointService->order_detail($oid,auth('web-member')->user());
  109. return view('app.person.order_detail', ['order'=>$content]);
  110. }
  111. public function order_cancel()
  112. {
  113. $result = $this->MemberPointService->order_cancel(request()->id,auth('web-member')->user());
  114. if ($result) {
  115. return $this->sendSuccessResponse('取消成功!');
  116. } else {
  117. return $this->sendErrorResponse('取消失败!');
  118. }
  119. }
  120. public function order_delete()
  121. {
  122. $result = $this->MemberPointService->order_delete(request()->id,auth('web-member')->user());
  123. if ($result) {
  124. return $this->sendSuccessResponse('删除成功!');
  125. } else {
  126. return $this->sendErrorResponse('删除失败!');
  127. }
  128. }
  129. public function payAgain(Request $request)
  130. {
  131. $res = $this->MemberPointService->payAgain(request()->id, $request->route());
  132. if ($res['code']=='wechat') {
  133. if ($res['type']=='wap') {
  134. return $res['tradeCode'];
  135. } else {
  136. return json_encode(['tradeCode'=>$res['tradeCode'],'tradeNo'=>$res['tradeNo']]);
  137. }
  138. } else {
  139. return $res['tradeCode'];
  140. }
  141. }
  142. }