From 5b8e557ba2bc83a86ba7c34bfd4df24dc45e9f1b Mon Sep 17 00:00:00 2001 From: liu <1873441552@qq.com> Date: Sat, 22 Jun 2024 14:25:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=9B=B8=E5=85=B3=E6=98=8E?= =?UTF-8?q?=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/user/UserController.php | 17 ++++++ app/api/logic/user/UserLogic.php | 65 ++++++++++++++++++++++ app/api/validate/UserValidate.php | 8 +++ 3 files changed, 90 insertions(+) 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() {