diff --git a/app/api/controller/user/UserController.php b/app/api/controller/user/UserController.php index 72f06cf85..e2328e581 100644 --- a/app/api/controller/user/UserController.php +++ b/app/api/controller/user/UserController.php @@ -185,5 +185,22 @@ class UserController extends BaseApiController // // } + //采购款明细、余额明细、礼品券明细、返还金明细 + public function fundList() + { + (new UserValidate())->get()->goCheck('fund'); + $page_no = (int)$this->request->get('page_no', 1); + $page_size = (int)$this->request->get('page_size', 15); + $params = $this->request->get(); + $params['page_no'] = $page_no > 0 ? $page_no : 1; + $params['page_size'] = $page_size > 0 ? $page_size : 15; + $res = UserLogic::dealDetails($params,$this->userId); + $res['page_no'] = $params['page_no']; + $res['page_size'] = $params['page_size']; + return $this->success('ok', $res); + + } + + } diff --git a/app/api/logic/user/UserLogic.php b/app/api/logic/user/UserLogic.php index 740c018f3..207b98082 100644 --- a/app/api/logic/user/UserLogic.php +++ b/app/api/logic/user/UserLogic.php @@ -14,6 +14,8 @@ use app\common\{logic\BaseLogic, model\user\User, model\user\UserRecharge, model\user\UserShip, + model\user_sign\UserSign, + model\vip_flow\VipFlow, service\SmsService, service\wechat\WeChatMnpService}; use support\Cache; @@ -198,4 +200,67 @@ class UserLogic extends BaseLogic } + public static function dealDetails($params,$uid) + { + switch ($params['type']){ + case 1: + //采购款明细 + $categories = ['user_balance_recharge', 'user_order_purchase_pay']; + $query = CapitalFlow::where('uid', $uid) + ->whereIn('category', $categories); + $count = $query->count(); + $data = $query + ->page($params['page_no'],$params['page_size']) + ->select()->toArray(); + foreach ($data as &$value){ + if($value['category'] == 'user_order_purchase_pay'){ + $value['order_sn'] = StoreOrder::where('id',$value['link_id'])->value('order_id'); + }elseif($value['category'] == 'user_balance_recharge'){ + $value['order_sn'] = UserRecharge::where('id',$value['link_id'])->value('order_id'); + } + } + break; + case 2: + //余额明细 + $query = CapitalFlow::where('uid', $uid) + ->where('category', 'user_order_balance_pay'); + $count = $query->count(); + $data = $query + ->page($params['page_no'],$params['page_size']) + ->select()->toArray(); + foreach ($data as &$value){ + $value['order_sn'] = StoreOrder::where('id',$value['link_id'])->value('order_id'); + } + + break; + case 3: + //礼品券明细 + $query = UserSign::where(['uid'=>$uid]); + $count = $query->count(); + $data =$query + ->page($params['page_no'],$params['page_size']) + ->select()->toArray(); + break; + case 4: + //返还金明细 -todo back + $query = VipFlow::with('store')->where(['user_id'=>$uid]); + $count = $query->count(); + $data = $query + ->page($params['page_no'],$params['page_size']) + ->select()->toArray(); + break; + default: + $data = []; + $count = 0; + } + return [ + 'lists' => $data, + 'count' => $count + ]; + + + } + + + } \ No newline at end of file diff --git a/app/api/validate/UserValidate.php b/app/api/validate/UserValidate.php index ba6a46b39..eb8267a2d 100644 --- a/app/api/validate/UserValidate.php +++ b/app/api/validate/UserValidate.php @@ -21,6 +21,7 @@ class UserValidate extends BaseValidate 'phone' => 'require|number', 'password' => 'require', 'rePassword' => 'require', + 'type' => 'require', ]; @@ -31,8 +32,15 @@ class UserValidate extends BaseValidate 'phone.require' => '手机', 'password.require' => '密码', 'rePassword.require' => '确认密码', + 'type' => '查询类型', ]; + public function sceneFund() + { + return $this->only(['type']); + + } + //设置/更新密码 public function sceneSetPayPassword() {