validate($request, [ 'no_charge_user_duration' => 'required|integer|min:0', 'charge_user_duration' => 'required|integer|gte:no_charge_user_duration', 'miniprogram_id' => 'required|min:1', ]); $uid = $this->getLoginUserId(); if(!$uid) { CommonBusinessException::throwError(Errors::NO_OPERATE_PERMISSION); } $now = date('Y-m-d H:i:s'); DB::table('ranse_config') ->where([ ['user_id', '=', $uid], ['is_enabled', '=', 1], ['miniprogram_id', '=', $request->input('miniprogram_id')] ]) ->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'), 'miniprogram_id' => $request->input('miniprogram_id'), '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], ['is_enabled', '=', 1], ['miniprogram_id', '=', $request->input('miniprogram_id')] ]) ->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, ]; } }