123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- <?php
- namespace Modules\Channel\Http\Controllers;
- use Catch\Base\CatchController;
- use Catch\Exceptions\FailedException;
- use Illuminate\Http\Request;
- use Modules\Channel\Services\WechatMinprogram\WechatMinprogramUserService;
- use Modules\User\Http\Controllers\UserTrait;
- class WechatMinprogramUserController extends CatchController
- {
- use UserTrait;
-
- public function userInfoDetail($uid)
- {
- if ($uid < 1) {
- $this->$this->errorMsg('缺少微信小程序用户id参数');
- }
- $userInfo = WechatMinprogramUserService::userInfoDetail($uid);
- if (!$userInfo) {
- $this->errorMsg('用户不存在');
- }
- return $userInfo;
- }
-
- public function orderList(Request $request)
- {
- $param = $request->all();
- $uid = $request->input('uid');
- if ($uid < 1){
- $this->errorMsg("用户参数必填");
- }
- $userContext = $this->getUserContext(null);
-
- if ($userContext['loginUserRoles']->contains('company')) {
- $param['puser_id'] = $userContext['operateUser']->id;
- }
-
- if ($userContext['loginUserRoles']->contains('optimizer')) {
- $param['user_id'] = $userContext['operateUser']->id;
- }
- return WechatMinprogramUserService::getUserOrderList($uid,$param);
- }
-
- public function watchRecord (Request $request)
- {
- $uid = $request->input('uid');
- if ($uid < 1){
- $this->errorMsg("用户参数必填");
- }
- $list = WechatMinprogramUserService::getUserWatchRecord($uid);
- return $this->pageWithArray($request,$list,$request->input('limit',15));
- }
-
- public function consumeRecord (Request $request)
- {
- $uid = $request->input('uid');
- if ($uid < 1){
- $this->errorMsg("用户参数必填");
- }
- return WechatMinprogramUserService::getUserConsumeRecord($uid,$request->input('limit',15));
- }
- protected function errorMsg($msg,$code = 10005){
- throw new FailedException($msg,$code );
- }
-
- protected function pageWithArray($request,$array,$limit = 15){
- $currentPage = \Illuminate\Pagination\LengthAwarePaginator::resolveCurrentPage();
- $itemCollection = collect($array);
- $currentPageItems = $itemCollection->slice(($currentPage*$limit)-$limit,$limit)->all();
- return new \Illuminate\Pagination\LengthAwarePaginator($currentPageItems,count($itemCollection),$limit);
- }
- }
|