validate($request, [ 'no_charge_user_duration' => 'required|integer|min:0', 'charge_user_duration' => 'required|integer|gte:no_charge_user_duration', ]); $uid = $this->getOptimizerUid(); if(!$uid) { CommonBusinessException::throwError(Errors::NO_OPERATE_PERMISSION); } $now = date('Y-m-d H:i:s'); DB::table('ranse_config')->where('user_id', $uid) ->where('is_enabled', 1) ->update(['is_enabled' => 0, 'updated_at' => $now]); DB::table('ranse_config') ->insert([ 'user_id' => $uid, 'is_enabled' => 1, 'no_charge_user_duration' => $request->input('no_charge_user_duration'), 'charge_user_duration' => $request->input('charge_user_duration'), 'created_at' => $now, 'updated_at' => $now, ]); return 'ok'; } /** * 获取染色时间 * @param Request $request * @return array */ public function getRanseDuration(Request $request) { $uid = $this->getOptimizerUid(); if(!$uid) { CommonBusinessException::throwError(Errors::NO_OPERATE_PERMISSION); } $config = DB::table('ranse_config')->where('user_id', $uid) ->where('is_enabled', 1) ->first(); if(!$config) { $config = DB::table('ranse_config') ->where([ 'user_id' => 0, 'miniprogram_id' => 0, 'is_enabled' =>1 ])->first(); } return [ 'charge_user_duration' => $config->charge_user_duration, 'no_charge_user_duration' => $config->no_charge_user_duration, ]; } }