add daily reward
This commit is contained in:
parent
6de617d898
commit
bf68c1c544
|
@ -234,6 +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.update_column(:last_login_on, Time.now)
|
||||
session[:"#{default_yun_session}"] = user.id
|
||||
Rails.logger.info("#########_____session_default_yun_session__________###############{default_yun_session}")
|
||||
|
|
|
@ -44,6 +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.update_column(:last_login_on, Time.now)
|
||||
# 注册完成后有一天的试用申请(先去掉)
|
||||
# UserDayCertification.create(user_id: user.id, status: 1)
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
class WalletsController < ApplicationController
|
||||
before_action :require_login
|
||||
|
||||
def balance
|
||||
user = User.find_by_id(params[:id])
|
||||
user.create_wallet(balance: 0) if user.wallet.nil?
|
||||
@wallet = user.wallet
|
||||
@wallet = user.get_wallet
|
||||
end
|
||||
|
||||
def coin_changes
|
||||
user = User.find_by_id(params[:id])
|
||||
user.create_wallet(balance: 0) if user.wallet.nil?
|
||||
@wallet = user.wallet
|
||||
@wallet = user.get_wallet
|
||||
if params[:category] == 'all'
|
||||
scope = CoinChange.where('to_wallet_id = ? OR from_wallet_id = ?', @wallet.id, @wallet.id)
|
||||
elsif params[:category] == 'income'
|
||||
|
|
|
@ -14,6 +14,6 @@
|
|||
|
||||
class CoinChange < ApplicationRecord
|
||||
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
|
||||
end
|
||||
|
|
|
@ -23,10 +23,8 @@ class Sponsorship < ApplicationRecord
|
|||
end
|
||||
|
||||
def pay
|
||||
sponsor.create_wallet(balance: 0) if sponsor.wallet.nil?
|
||||
developer.create_wallet(balance: 0) if developer.wallet.nil?
|
||||
sponsor_wallet = sponsor.wallet
|
||||
developer_wallet = developer.wallet
|
||||
sponsor_wallet = sponsor.get_wallet
|
||||
developer_wallet = developer.get_wallet
|
||||
|
||||
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
|
||||
def self.try_to_autologin(key)
|
||||
user = Token.find_active_user('autologin', key)
|
||||
user.daily_reward if user
|
||||
user.update(last_login_on: Time.now) if user
|
||||
user
|
||||
end
|
||||
|
@ -744,6 +745,34 @@ class User < ApplicationRecord
|
|||
laboratory_id.present? && laboratory_id != 1
|
||||
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
|
||||
def validate_password_length
|
||||
# 管理员的初始密码是5位
|
||||
|
|
|
@ -2,11 +2,20 @@ json.balance @wallet.balance
|
|||
json.count @total
|
||||
json.coin_changes do
|
||||
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
|
||||
json.amount coin_change.amount
|
||||
json.from_user from_user.full_name
|
||||
json.from_user_login from_user.login
|
||||
if !from_user.nil?
|
||||
json.from_user from_user.full_name
|
||||
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_login to_user.login
|
||||
json.description coin_change.description
|
||||
|
|
Loading…
Reference in New Issue