-1 && $model = $model->where('apply_status', '=', $apply_status); return $model->where('user_id', '=', $user_id)->order(['create_time' => 'desc']) ->paginate($limit); } /** * 提交申请 */ public function submit($user, $data) { // 数据验证 $this->validation($user, $data); $setting = SettingModel::getItem('balance_cash'); // 新增申请记录 $this->save(array_merge($data, [ 'user_id' => $user['user_id'], 'apply_status' => 10, 'app_id' => self::$app_id, 'real_money' => round($data['money'] * $setting['cash_ratio'] / 100, 2), 'cash_ratio' => $setting['cash_ratio'], ])); // 冻结用户资金 $user->freezeMoney($data['money']); return true; } /** * 数据验证 */ private function validation($user, $data) { // 结算设置 $settlement = SettingModel::getItem('balance_cash'); // 最低提现佣金 if ($data['money'] <= 0) { throw new BaseException(['msg' => '提现金额不正确']); } if ($user['balance'] <= 0) { throw new BaseException(['msg' => '当前用户没有可提现余额']); } if ($data['money'] > $user['balance']) { throw new BaseException(['msg' => '提现金额不能大于可提现余额']); } if ($data['money'] < $settlement['min_money']) { throw new BaseException(['msg' => '最低提现金额为' . $settlement['min_money']]); } if ($data['pay_type'] == '20') { if (empty($data['alipay_name']) || empty($data['alipay_account'])) { throw new BaseException(['msg' => '请补全提现信息']); } } elseif ($data['pay_type'] == '30') { if (empty($data['bank_name']) || empty($data['bank_account']) || empty($data['bank_card'])) { throw new BaseException(['msg' => '请补全提现信息']); } } } }