Merge branch 'pre_trustie_server' into trustie_server

This commit is contained in:
2023-04-21 15:37:36 +08:00
7 changed files with 115 additions and 4 deletions
@@ -0,0 +1,45 @@
class Api::V1::Users::OpenkylinSign::CreateService < ApplicationService
include ActiveModel::Model
attr_reader :observe_user, :login, :email, :nickname, :phone, :address
# validates :login, format: {with: CustomRegexp::LOGIN}
validates :email, format: {with: CustomRegexp::EMAIL}
validates :nickname, length: { maximum: 32 }
validates :phone, format: {with: CustomRegexp::PHONE}
validates :address, length: { maximum: 100 }
def initialize(observe_user, params={})
@observe_user = observe_user
@login = observe_user.login
@email = params[:email]
@nickname = params[:nickname]
@phone = params[:phone]
@address = params[:address]
end
def call
raise Error, errors.full_messages.join(",") unless valid?
raise Error, '用户已经签署CLA协议!' if @observe_user.sign_cla
begin
ActiveRecord::Base.transaction do
create_openkylin_sign_detail
update_user_sign_cla
end
return true
rescue
raise Error, "服务器错误,请联系系统管理员!"
end
end
private
def create_openkylin_sign_detail
OpenkylinSignDetail.create!(user_id: @observe_user.id, login: @login, email: @email, nickname: @nickname, phone: @phone, address: @address)
end
def update_user_sign_cla
@observe_user.update_attributes!(sign_cla: true)
end
end