This commit is contained in:
qyzh 2021-04-08 16:05:40 +08:00
parent bf68c1c544
commit dafdbadb6b
9 changed files with 52 additions and 16 deletions

View File

@ -234,7 +234,7 @@ class AccountsController < ApplicationController
set_autologin_cookie(user)
UserAction.create(:action_id => user.try(:id), :action_type => "Login", :user_id => user.try(:id), :ip => request.remote_ip)
user.daily_reward
# user.daily_reward
user.update_column(:last_login_on, Time.now)
session[:"#{default_yun_session}"] = user.id
Rails.logger.info("#########_____session_default_yun_session__________###############{default_yun_session}")

View File

@ -44,7 +44,7 @@ module LoginHelper
set_autologin_cookie(user)
UserAction.create(action_id: user&.id, action_type: 'Login', user_id: user&.id, ip: request.remote_ip)
user.daily_reward
# user.daily_reward
user.update_column(:last_login_on, Time.now)
# 注册完成后有一天的试用申请(先去掉)
# UserDayCertification.create(user_id: user.id, status: 1)

View File

@ -60,6 +60,10 @@ class UsersController < ApplicationController
@user = current_user
# TODO 等消息上线再打开注释
#@tidding_count = unviewed_tiddings(current_user) if current_user.present?
#
if(@user.logged?)
@user.daily_reward
end
rescue Exception => e
uid_logger_error(e.message)
missing_template

View File

@ -50,6 +50,7 @@
# sponsored_num :integer default("0")
# description :text(65535)
# devops_step :integer default("0")
# award_time :datetime
#
# Indexes
#

View File

@ -4,7 +4,7 @@
#
# id :integer not null, primary key
# name :string(255) default(""), not null
# description :text(65535)
# description :text(4294967295)
# homepage :string(255) default("")
# is_public :boolean default("1"), not null
# parent_id :integer
@ -48,6 +48,10 @@
# issue_tags_count :integer default("0")
# closed_issues_count :integer default("0")
# open_devops :boolean default("0")
# gitea_webhook_id :integer
# open_devops_count :integer default("0")
# recommend :boolean default("0")
# platform :integer default("0")
#
# Indexes
#

View File

@ -18,6 +18,9 @@
# issue_id :integer
# fork_project_id :integer
# is_original :boolean default("0")
# comments_count :integer default("0")
# commits_count :integer default("0")
# files_count :integer default("0")
#
class PullRequest < ApplicationRecord

View File

@ -26,14 +26,16 @@ class Sponsorship < ApplicationRecord
sponsor_wallet = sponsor.get_wallet
developer_wallet = developer.get_wallet
return false if sponsor.wallet.balance < amount
Wallet.transaction do
return false if sponsor.wallet.balance < amount
reason = "#{sponsor.full_name}#{developer.full_name}的赞助支付。"
coinchange = CoinChange.new(amount: amount, reason: reason, to_wallet_id: developer_wallet.id, from_wallet_id: sponsor_wallet.id)
if coinchange.save
sponsor_wallet.update(balance: sponsor_wallet.balance -= amount)
developer_wallet.update(balance: developer_wallet.balance += amount)
update(accumulate: self.accumulate += amount)
end
reason = "#{sponsor.full_name}#{developer.full_name}的赞助支付。"
coinchange = CoinChange.new(amount: amount, reason: reason, to_wallet_id: developer_wallet.id, from_wallet_id: sponsor_wallet.id)
if coinchange.save
return true
end
false

View File

@ -50,6 +50,7 @@
# sponsored_num :integer default("0")
# description :text(65535)
# devops_step :integer default("0")
# award_time :datetime
#
# Indexes
#
@ -598,7 +599,7 @@ class User < ApplicationRecord
# Returns the user who matches the given autologin +key+ or nil
def self.try_to_autologin(key)
user = Token.find_active_user('autologin', key)
user.daily_reward if user
# user.daily_reward if user
user.update(last_login_on: Time.now) if user
user
end
@ -757,20 +758,36 @@ class User < ApplicationRecord
def daily_reward
t1 = Time.now
t2 = Time.new(t1.year, t1.month, t1.day)
if(award_time.nil? or t2 > award_time)
self.update_column(:award_time, Time.now)
amount = 2
user_wallet = get_wallet
user_wallet.update(balance: user_wallet.balance += amount)
reason = "每日登录奖励"
CoinChange.create(amount: amount, reason: reason, to_wallet_id: user_wallet.id)
end
=begin
award = false
if(last_login_on.nil? or t2 > last_login_on)
User.transaction do
if(last_login_on.nil? or t2 > last_login_on)
amount = 2
user_wallet = get_wallet
user_wallet.update(balance: user_wallet.balance += amount)
reason = "每日登录奖励"
CoinChange.create(amount: amount, reason: reason, to_wallet_id: user_wallet.id)
update(last_login_on: Time.now)
User.transaction(isolation: :serializable) do
# User.transaction do
if(self.last_login_on.nil? or t2 > self.last_login_on)
self.update_column(:last_login_on, Time.now)
award = true
end
end
if(award)
amount = 2
user_wallet = get_wallet
user_wallet.update(balance: user_wallet.balance += amount)
reason = "每日登录奖励"
CoinChange.create(amount: amount, reason: reason, to_wallet_id: user_wallet.id)
end
else
# puts("#################################NOOO DAILY REWARD, #{last_login_on}, #{t2}")
end
=end
end
protected

View File

@ -0,0 +1,5 @@
class AddAwardTimeToUser < ActiveRecord::Migration[5.2]
def change
add_column :users, :award_time, :datetime
end
end