WechatMinprogramUserController.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. /**
  3. * 微信小程序用户
  4. * @file:WechatMinprogramUserController.php
  5. * @Date: 2023/5/19
  6. * @Time: 10:24
  7. */
  8. namespace Modules\Channel\Http\Controllers;
  9. use Catch\Base\CatchController;
  10. use Illuminate\Http\Request;
  11. use Catch\Exceptions\FailedException;
  12. use Modules\Channel\Services\WechatMinprogram\WechatMinprogramUserService;
  13. class WechatMinprogramUserController extends CatchController
  14. {
  15. /***
  16. * 获取用户信息
  17. * name: userInfoDetail
  18. * @param $uid
  19. * @return array|\Illuminate\Database\Eloquent\Model|\Illuminate\Database\Query\Builder|object
  20. * date 2023/05/19 14:13
  21. */
  22. public function userInfoDetail($uid)
  23. {
  24. if ($uid < 1) {
  25. $this->$this->errorMsg('缺少微信小程序用户id参数');
  26. }
  27. $userInfo = WechatMinprogramUserService::userInfoDetail($uid);
  28. if (!$userInfo) {
  29. $this->errorMsg('用户不存在');
  30. }
  31. return $userInfo;
  32. }
  33. /**
  34. * 订单记录
  35. * name: orderList
  36. * @param Request $request
  37. * date 2023/05/19 14:14
  38. */
  39. public function orderList(Request $request)
  40. {
  41. $uid = $request->input('uid');
  42. if ($uid < 1){
  43. $this->errorMsg("用户参数必填");
  44. }
  45. return WechatMinprogramUserService::getUserOrderList($uid);
  46. }
  47. /***
  48. * 观看记录
  49. * name: watchRecord
  50. * @param Request $request
  51. * date 2023/05/19 14:18
  52. */
  53. public function watchRecord (Request $request)
  54. {
  55. $uid = $request->input('uid');
  56. if ($uid < 1){
  57. $this->errorMsg("用户参数必填");
  58. }
  59. $list = WechatMinprogramUserService::getUserWatchRecord($uid);
  60. return $this->pageWithArray($request,$list,$request->input('limit',15));
  61. }
  62. /**
  63. * 消费记录
  64. * name: consumeRecord
  65. * @param Request $request
  66. * date 2023/05/19 14:19
  67. */
  68. public function consumeRecord (Request $request)
  69. {
  70. $uid = $request->input('uid');
  71. if ($uid < 1){
  72. $this->errorMsg("用户参数必填");
  73. }
  74. return WechatMinprogramUserService::getUserConsumeRecord($uid);
  75. }
  76. protected function errorMsg($msg,$code = 10005){
  77. throw new FailedException($msg,$code );
  78. }
  79. /**
  80. * 数组分页
  81. * name: pageWithArray
  82. * @param $request
  83. * @param $array
  84. * @param int $limit
  85. * @return \Illuminate\Pagination\LengthAwarePaginator
  86. * date 2023/05/19 16:44
  87. */
  88. protected function pageWithArray($request,$array,$limit = 15){
  89. $currentPage = \Illuminate\Pagination\LengthAwarePaginator::resolveCurrentPage();
  90. $itemCollection = collect($array);
  91. $currentPageItems = $itemCollection->slice(($currentPage*$limit)-$limit,$limit)->all();
  92. return new \Illuminate\Pagination\LengthAwarePaginator($currentPageItems,count($itemCollection),$limit);
  93. }
  94. }