add daily reward
This commit is contained in:
parent
6de617d898
commit
bf68c1c544
|
@ -234,6 +234,7 @@ class AccountsController < ApplicationController
|
||||||
|
|
||||||
set_autologin_cookie(user)
|
set_autologin_cookie(user)
|
||||||
UserAction.create(:action_id => user.try(:id), :action_type => "Login", :user_id => user.try(:id), :ip => request.remote_ip)
|
UserAction.create(:action_id => user.try(:id), :action_type => "Login", :user_id => user.try(:id), :ip => request.remote_ip)
|
||||||
|
user.daily_reward
|
||||||
user.update_column(:last_login_on, Time.now)
|
user.update_column(:last_login_on, Time.now)
|
||||||
session[:"#{default_yun_session}"] = user.id
|
session[:"#{default_yun_session}"] = user.id
|
||||||
Rails.logger.info("#########_____session_default_yun_session__________###############{default_yun_session}")
|
Rails.logger.info("#########_____session_default_yun_session__________###############{default_yun_session}")
|
||||||
|
|
|
@ -44,6 +44,7 @@ module LoginHelper
|
||||||
set_autologin_cookie(user)
|
set_autologin_cookie(user)
|
||||||
|
|
||||||
UserAction.create(action_id: user&.id, action_type: 'Login', user_id: user&.id, ip: request.remote_ip)
|
UserAction.create(action_id: user&.id, action_type: 'Login', user_id: user&.id, ip: request.remote_ip)
|
||||||
|
user.daily_reward
|
||||||
user.update_column(:last_login_on, Time.now)
|
user.update_column(:last_login_on, Time.now)
|
||||||
# 注册完成后有一天的试用申请(先去掉)
|
# 注册完成后有一天的试用申请(先去掉)
|
||||||
# UserDayCertification.create(user_id: user.id, status: 1)
|
# UserDayCertification.create(user_id: user.id, status: 1)
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
class WalletsController < ApplicationController
|
class WalletsController < ApplicationController
|
||||||
|
before_action :require_login
|
||||||
|
|
||||||
def balance
|
def balance
|
||||||
user = User.find_by_id(params[:id])
|
user = User.find_by_id(params[:id])
|
||||||
user.create_wallet(balance: 0) if user.wallet.nil?
|
@wallet = user.get_wallet
|
||||||
@wallet = user.wallet
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def coin_changes
|
def coin_changes
|
||||||
user = User.find_by_id(params[:id])
|
user = User.find_by_id(params[:id])
|
||||||
user.create_wallet(balance: 0) if user.wallet.nil?
|
@wallet = user.get_wallet
|
||||||
@wallet = user.wallet
|
|
||||||
if params[:category] == 'all'
|
if params[:category] == 'all'
|
||||||
scope = CoinChange.where('to_wallet_id = ? OR from_wallet_id = ?', @wallet.id, @wallet.id)
|
scope = CoinChange.where('to_wallet_id = ? OR from_wallet_id = ?', @wallet.id, @wallet.id)
|
||||||
elsif params[:category] == 'income'
|
elsif params[:category] == 'income'
|
||||||
|
|
|
@ -14,6 +14,6 @@
|
||||||
|
|
||||||
class CoinChange < ApplicationRecord
|
class CoinChange < ApplicationRecord
|
||||||
belongs_to :to_wallet, class_name: 'Wallet'
|
belongs_to :to_wallet, class_name: 'Wallet'
|
||||||
belongs_to :from_wallet, class_name: 'Wallet'
|
belongs_to :from_wallet, class_name: 'Wallet', optional: true
|
||||||
validates :amount, presence: true
|
validates :amount, presence: true
|
||||||
end
|
end
|
||||||
|
|
|
@ -23,10 +23,8 @@ class Sponsorship < ApplicationRecord
|
||||||
end
|
end
|
||||||
|
|
||||||
def pay
|
def pay
|
||||||
sponsor.create_wallet(balance: 0) if sponsor.wallet.nil?
|
sponsor_wallet = sponsor.get_wallet
|
||||||
developer.create_wallet(balance: 0) if developer.wallet.nil?
|
developer_wallet = developer.get_wallet
|
||||||
sponsor_wallet = sponsor.wallet
|
|
||||||
developer_wallet = developer.wallet
|
|
||||||
|
|
||||||
return false if sponsor.wallet.balance < amount
|
return false if sponsor.wallet.balance < amount
|
||||||
|
|
||||||
|
|
|
@ -598,6 +598,7 @@ class User < ApplicationRecord
|
||||||
# Returns the user who matches the given autologin +key+ or nil
|
# Returns the user who matches the given autologin +key+ or nil
|
||||||
def self.try_to_autologin(key)
|
def self.try_to_autologin(key)
|
||||||
user = Token.find_active_user('autologin', key)
|
user = Token.find_active_user('autologin', key)
|
||||||
|
user.daily_reward if user
|
||||||
user.update(last_login_on: Time.now) if user
|
user.update(last_login_on: Time.now) if user
|
||||||
user
|
user
|
||||||
end
|
end
|
||||||
|
@ -744,6 +745,34 @@ class User < ApplicationRecord
|
||||||
laboratory_id.present? && laboratory_id != 1
|
laboratory_id.present? && laboratory_id != 1
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def get_wallet
|
||||||
|
if wallet.nil?
|
||||||
|
create_wallet(balance: 100)
|
||||||
|
reason = "系统初始赠送"
|
||||||
|
CoinChange.create(amount: amount, reason: reason, to_wallet_id: wallet.id)
|
||||||
|
end
|
||||||
|
wallet
|
||||||
|
end
|
||||||
|
|
||||||
|
def daily_reward
|
||||||
|
t1 = Time.now
|
||||||
|
t2 = Time.new(t1.year, t1.month, t1.day)
|
||||||
|
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)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
# puts("#################################NOOO DAILY REWARD, #{last_login_on}, #{t2}")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
protected
|
protected
|
||||||
def validate_password_length
|
def validate_password_length
|
||||||
# 管理员的初始密码是5位
|
# 管理员的初始密码是5位
|
||||||
|
|
|
@ -2,11 +2,20 @@ json.balance @wallet.balance
|
||||||
json.count @total
|
json.count @total
|
||||||
json.coin_changes do
|
json.coin_changes do
|
||||||
json.array! @coin_changes do |coin_change|
|
json.array! @coin_changes do |coin_change|
|
||||||
from_user = coin_change.from_wallet.user
|
from_user = if coin_change.from_wallet.nil?
|
||||||
|
nil
|
||||||
|
else
|
||||||
|
coin_change.from_wallet.user
|
||||||
|
end
|
||||||
to_user = coin_change.to_wallet.user
|
to_user = coin_change.to_wallet.user
|
||||||
json.amount coin_change.amount
|
json.amount coin_change.amount
|
||||||
|
if !from_user.nil?
|
||||||
json.from_user from_user.full_name
|
json.from_user from_user.full_name
|
||||||
json.from_user_login from_user.login
|
json.from_user_login from_user.login
|
||||||
|
else
|
||||||
|
json.from_user '系统'
|
||||||
|
json.from_user_login '-'
|
||||||
|
end
|
||||||
json.to_user to_user.full_name
|
json.to_user to_user.full_name
|
||||||
json.to_user_login to_user.login
|
json.to_user_login to_user.login
|
||||||
json.description coin_change.description
|
json.description coin_change.description
|
||||||
|
|
Loading…
Reference in New Issue