新增:反馈意见新增ip地址

This commit is contained in:
yystopf 2025-11-10 14:51:22 +08:00
parent 81ce0ca2b4
commit 9ea1f1627a
5 changed files with 13 additions and 3 deletions

View File

@ -4,7 +4,7 @@ class Api::V1::Users::FeedbacksController < Api::V1::BaseController
before_action :check_auth_for_observe_user
def create
@result = Api::V1::Users::Feedbacks::CreateService.call(@observe_user, feedback_params)
@result = Api::V1::Users::Feedbacks::CreateService.call(@observe_user, feedback_params, request.remote_ip)
return render_error("反馈意见创建失败.") if @result.nil?
return render_ok
end

View File

@ -7,6 +7,7 @@
# content :text(65535)
# created_at :datetime not null
# updated_at :datetime not null
# remote_ip :string(255)
#
# Indexes
#

View File

@ -1,14 +1,15 @@
class Api::V1::Users::Feedbacks::CreateService < ApplicationService
include ActiveModel::Model
attr_reader :user, :content
attr_reader :user, :content, :remote_ip
attr_accessor :feedback
validates :content, presence: true
def initialize(user, params)
def initialize(user, params, remote_ip="127.0.0.1")
@user = user
@content = params[:content]
@remote_ip = remote_ip
end
def call
@ -16,6 +17,7 @@ class Api::V1::Users::Feedbacks::CreateService < ApplicationService
begin
@feedback = Feedback.new(user: user, content: content)
@feedback.remote_ip = @remote_ip
@feedback.save!
return @feedback.valid? ? @feedback : nil

View File

@ -4,6 +4,7 @@
<th width="5%">序号</th>
<th width="10%">用户名</th>
<th width="20%">用户邮箱</th>
<th width="20%">ip地址</th>
<th width="20%"><%= sort_tag('创建时间', name: 'created_at', path: admins_feedbacks_path) %></th>
<th width="25%">反馈意见</th>
<th width="15%">操作</th>
@ -16,6 +17,7 @@
<td><%= list_index_no((params[:page] || 1).to_i, index) %></td>
<td><%= feedback&.user&.login%></td>
<td><%= feedback&.user&.mail%></td>
<td><%= feedback&.remote_ip%></td>
<td><%= feedback.created_at&.strftime('%Y-%m-%d %H:%M') %></td>
<td style="word-wrap: break-word;">
<%= feedback.content %>

View File

@ -0,0 +1,5 @@
class AddRemoteIpToFeedbacks < ActiveRecord::Migration[5.2]
def change
add_column :feedbacks, :remote_ip, :string
end
end