'require|gt:0|checkMoney', ]; protected $message = [ 'money.require' => 'network.parameterAbnormality',//请输入金额 'money.gt' => 'network.parameterAbnormality',//请输入正确的金额 ]; public function sceneRecharge() { return $this->only(['money']); } /** * @notes 校验金额 * @param $money * @param $rule * @param $data * @return bool|string * @author 段誉 * @date 2023/2/24 10:42 */ protected function checkMoney($money, $rule, $data) { //判断充值方式 $method = RechargeMethod::where(['id' => $data['id']])->findOrEmpty(); if ($method->isEmpty()) { return 'network.parameterAbnormality';//充值方式不存在 } //判断充值次数 $config = ConfigService::get('website', 'trade'); $todayStart = strtotime("today midnight"); $recharge_num = RechargeRecord::where(['user_id' => $data['user_id']]) ->where("create_time > $todayStart") ->count(); if($config['recharge_num'] <= $recharge_num){ return 'recharge.rechargeNumError';//每日充值次数限制 } //查询充值凭证 if ($method['is_voucher']&&!isset($data['voucher'])) { return 'network.parameterAbnormality';//请上传支付凭证 } //判断充值金额 $config = ConfigService::get('website', 'trade'); if ($data['money'] < $config['recharge_min']) { return 'network.parameterAbnormality'; } return true; } }