_query($this->table); $query->where(['uid|from' => $this->uuid, 'deleted' => 0]); $result = $query->order('id desc')->page(true, false, false, 15); if (count($result['list']) > 0) { UserService::instance()->buildByUid($result['list'], 'uid', 'selfer'); UserService::instance()->buildByUid($result['list'], 'from', 'fromer'); } $this->success('获取数据成功', $result); } /** * 创建余额转账申请 * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function add() { $data = $this->_vali([ 'from.value' => $this->uuid, 'code.value' => CodeExtend::uniqidDate(18, 'T'), 'uid.require' => '目标用户不能为空!', 'name.default' => '用户余额转账', 'amount.require' => '转账金额不能为空!', ]); if ($data['uid'] == $this->uuid) { $this->error('不能给自己转账!'); } // 检测目标用户状态 $map = ['id' => $data['uid'], 'deleted' => 0]; $user = $this->app->db->name('DataUser')->where($map)->find(); if (empty($user)) $this->error('目标用户不存在!'); // 检测用户是否有足够的余额 [$total, $used] = UserService::instance()->balance($this->uuid); if ($data['amount'] > $total - $used) $this->error('可转账余额不足!'); // 写入余额转账记录 if ($this->app->db->name($this->table)->insert($data) !== false) { UserService::instance()->balance($data['uid']); UserService::instance()->balance($data['from']); $this->success('余额转账成功!'); } else { $this->error('余额转账失败!'); } } }