123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- <?php
- /**
- * @Created by PhpStorm
- * @author: Kirin
- * @day: 2024/12/16
- * @time: 11:29
- */
- namespace app\controller\api\user;
- use app\common\ApiBaseController;
- use app\Request;
- use app\services\user\UserBillServices;
- use app\services\user\UserBrokerageServices;
- use app\services\user\UserMoneyServices;
- use app\services\user\UserServices;
- /**
- * 用户财务类
- * Class UserFinance
- * @package app\controller\api\user
- */
- class UserFinance extends ApiBaseController
- {
- protected $brokerageServices;
- protected $moneyServices;
- protected $billServices;
- public function __construct(Request $request, UserServices $userService, UserBrokerageServices $brokerageServices, UserMoneyServices $moneyServices, UserBillServices $billServices)
- {
- $this->service = $userService;
- $this->brokerageServices = $brokerageServices;
- $this->moneyServices = $moneyServices;
- $this->billServices = $billServices;
- parent::__construct($request);
- }
- public function getMoneyInfo()
- {
- $balance = $this->service->getOneValue(['uid' => $this->request->uid()], 'now_money');
- $pm = $this->request->param('pm', '');
- $start_time = $this->request->param('start_time', '');
- $end_time = $this->request->param('end_time', '');
- $data = $this->moneyServices->getMoneyList(['uid' => $this->request->uid(), 'pm' => $pm, 'start_time' => $start_time, 'end_time' => $end_time], '*');
- $all_income = $this->moneyServices->getUserMoneySum($this->request->uid(), '', 1);
- $all_expend = $this->moneyServices->getUserMoneySum($this->request->uid(), '', 0);
- $types = $this->moneyServices->bill_type();
- return $this->success(compact('types', 'data', 'all_income', 'all_expend', 'balance'));
- }
- public function tradeMoney()
- {
- $num = $this->request->post('num', 0);
- $to_uid = $this->request->post('to_uid', 0);
- $res = $this->moneyServices->trade($this->request->uid(), $to_uid, $num);
- if ($res)
- return $this->success($res);
- return $this->error('操作失败');
- }
- public function getBrokerageInfo()
- {
- $balance = $this->service->getOneValue(['uid' => $this->request->uid()], 'brokerage_price');
- $frozen = $this->brokerageServices->getUserFrozenPrice($this->request->uid());
- $extractable = bcsub($balance, $frozen, 2);
- if ($extractable < 0) $extractable = 0;
- $pm = $this->request->param('pm', '');
- $start_time = $this->request->param('start_time', '');
- $end_time = $this->request->param('end_time', '');
- $data = $this->brokerageServices->getBrokerageList(['uid' => $this->request->uid(), 'pm' => $pm, 'start_time' => $start_time, 'end_time' => $end_time], '*');
- $all_income = $this->brokerageServices->getUserBillBrokerageSum($this->request->uid(), '', 1);
- $all_expend = $this->brokerageServices->getUserBillBrokerageSum($this->request->uid(), '', 0);
- $types = $this->brokerageServices->bill_type();
- return $this->success(compact('types', 'data', 'all_income', 'all_expend', 'balance', 'extractable', 'frozen'));
- }
- public function tradeBrokerage()
- {
- $num = $this->request->post('num', 0);
- $to_uid = $this->request->post('to_uid', 0);
- $res = $this->brokerageServices->trade($this->request->uid(), $to_uid, $num);
- if ($res)
- return $this->success($res);
- return $this->error('操作失败');
- }
- public function getBillInfo($category)
- {
- $pm = $this->request->param('pm', '');
- $start_time = $this->request->param('start_time', '');
- $end_time = $this->request->param('end_time', '');
- $data = $this->billServices->getBillList($category, ['uid' => $this->request->uid(), 'pm' => $pm, 'start_time' => $start_time, 'end_time' => $end_time], '*');
- $all_income = $this->billServices->getUserBillSum($this->request->uid(), $category, '', 1);
- $all_expend = $this->billServices->getUserBillSum($this->request->uid(), $category, '', 0);
- $types = $this->billServices->getBillType($category);
- return $this->success(compact('data', 'all_income', 'all_expend', 'types'));
- }
- public function tradeOther()
- {
- $num = $this->request->post('num', 0);
- $category = $this->request->post('category', '');
- $to_uid = $this->request->post('to_uid', 0);
- $res = $this->billServices->trade($this->request->uid(), $to_uid, $category, $num);
- if ($res)
- return $this->success($res);
- return $this->error('操作失败');
- }
- }
|