用户相关明细

This commit is contained in:
liu 2024-06-22 14:25:32 +08:00
parent 2f756f10d7
commit 5b8e557ba2
3 changed files with 90 additions and 0 deletions
app/api
controller/user
logic/user
validate

@ -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);
}
}

@ -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
];
}
}

@ -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()
{