gfresh_point 0.2.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1e9ae01ee7ae836a03b5969021c96d56d9e0c19c5e83bf641ee7d0b672da2bab
4
- data.tar.gz: '093239eb7dba0740af51a358317660cbc3361577bdd5f7fc70491ee6f07c5fe8'
3
+ metadata.gz: ce94d065ed989eb04a68ecfbe3108213d050a2b310435105edd1fd1fc6660b28
4
+ data.tar.gz: 4926f5a9818b51b26e8046f22cf060c1d5fc081dde4c1323747d4552302b12be
5
5
  SHA512:
6
- metadata.gz: 17333422d8c98de6dd258a95af67c0fb8b1cd20c17717c51fee754cda6ee72078e6ffcd39bfed7a889d6e03ff44d81c248e00aa707a2f85ed5e9187d888ea5b7
7
- data.tar.gz: 25d67d98a0a5c17412fbc5e28a2c210e4eacf4cb53b6da4bcc16b2fa08d120d6cd3b96757eea9e2ca0fd6958a9da69d59d9f95ab01d270c8364f35d1d4a2c907
6
+ metadata.gz: b7259926b9d3cebc427c41bfea6b348efc5d3d4f64a94058a12d2cd0156cf7414580d22120feaa527e7a10dc415e08de4959ed724771a75215ceafa6cf22e80c
7
+ data.tar.gz: dd76cfffc95eabb2ce76f0b4dd915075fb9cc66d0265c2f42b1f6d20951be9cb0ae38cbab24b466bfcbf12ce3aca4b443ec9962cde00dd2331090d0d89675c24
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gfresh_point (0.2.0)
4
+ gfresh_point (0.3.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -17,6 +17,7 @@ class CreateGfreshPointRule < ActiveRecord::Migration[5.2]
17
17
  t.integer :balance
18
18
  t.string :event_name
19
19
  t.string :origin_id
20
+ t.datetime :read_at
20
21
  t.json :comment
21
22
  t.timestamps
22
23
  end
@@ -34,6 +34,16 @@ module GfreshPoint
34
34
  query.order(created_at: :desc)
35
35
  end
36
36
 
37
+ def fetch_user_points(app_id, user_id, event_names, origin_id)
38
+ query = Balance.where(app_id: app_id).where(user_id: user_id)
39
+ query = query.where("event_name in (?)", event_names) unless event_names.blank?
40
+ query = query.where(origin_id: origin_id) unless origin_id.blank?
41
+ result = query.where(read_at: nil)
42
+ return_result = result.to_a
43
+ result.update_all(read_at: Time.now)
44
+ return_result
45
+ end
46
+
37
47
  private
38
48
 
39
49
  def is_in_transcation?
@@ -0,0 +1,22 @@
1
+ module GfreshPoint
2
+ module RequestObjects
3
+ class FetchUserPointsRequest < RequestObject
4
+ attr_reader :app_id, :user_id, :event_names, :origin_id
5
+
6
+ def initialize(app_id, user_id, event_names, origin_id)
7
+ @app_id = app_id
8
+ @user_id = user_id
9
+ @event_names = event_names
10
+ @origin_id = origin_id
11
+
12
+ if user_id.blank?
13
+ add_error('user_id', "User id can not be blank")
14
+ end
15
+ if app_id.blank?
16
+ add_error('app_id', "App id can not be blank")
17
+ end
18
+ end
19
+
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,9 @@
1
+ module GfreshPoint
2
+ module Usecase
3
+ class FetchUserPointsUsecase < BaseUsecase
4
+ def execute(request)
5
+ repo.fetch_user_points(request.app_id, request.user_id, request.event_names, request.origin_id)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -1,3 +1,3 @@
1
1
  module GfreshPoint
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.1"
3
3
  end
data/lib/gfresh_point.rb CHANGED
@@ -7,6 +7,7 @@ require "gfresh_point/usecase/update_rule_point_usecase"
7
7
  require "gfresh_point/usecase/earn_point_usecase"
8
8
  require "gfresh_point/usecase/consume_point_usecase"
9
9
  require "gfresh_point/usecase/list_user_points_usecase"
10
+ require "gfresh_point/usecase/fetch_user_points_usecase"
10
11
 
11
12
  require "gfresh_point/repository/mem_repo"
12
13
  require "gfresh_point/repository/active_record_repo"
@@ -17,6 +18,7 @@ require "gfresh_point/request_objects/update_rule_point_request"
17
18
  require "gfresh_point/request_objects/earn_point_request"
18
19
  require "gfresh_point/request_objects/consume_point_request"
19
20
  require "gfresh_point/request_objects/list_user_points_request"
21
+ require "gfresh_point/request_objects/fetch_user_points_request"
20
22
 
21
23
  require "gfresh_point/response_objects/response_success"
22
24
  require "gfresh_point/response_objects/response_failure"
@@ -68,5 +70,12 @@ module GfreshPoint
68
70
  response
69
71
  end
70
72
 
73
+ def fetch_user_points(user_id, event_names = [], origin_id = nil)
74
+ request = GfreshPoint::RequestObjects::FetchUserPointsRequest.new(app_id, user_id, event_names, origin_id)
75
+ use_case = GfreshPoint::Usecase::FetchUserPointsUsecase.new(repo)
76
+ response = use_case.call(request)
77
+ response
78
+ end
79
+
71
80
  end
72
81
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gfresh_point
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - teddy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-17 00:00:00.000000000 Z
11
+ date: 2019-06-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -149,6 +149,7 @@ files:
149
149
  - lib/gfresh_point/repository/mem_repo.rb
150
150
  - lib/gfresh_point/request_objects/consume_point_request.rb
151
151
  - lib/gfresh_point/request_objects/earn_point_request.rb
152
+ - lib/gfresh_point/request_objects/fetch_user_points_request.rb
152
153
  - lib/gfresh_point/request_objects/list_user_points_request.rb
153
154
  - lib/gfresh_point/request_objects/request_object.rb
154
155
  - lib/gfresh_point/request_objects/rule_list_request.rb
@@ -158,6 +159,7 @@ files:
158
159
  - lib/gfresh_point/usecase/base_usecase.rb
159
160
  - lib/gfresh_point/usecase/consume_point_usecase.rb
160
161
  - lib/gfresh_point/usecase/earn_point_usecase.rb
162
+ - lib/gfresh_point/usecase/fetch_user_points_usecase.rb
161
163
  - lib/gfresh_point/usecase/list_user_points_usecase.rb
162
164
  - lib/gfresh_point/usecase/rule_list_usecase.rb
163
165
  - lib/gfresh_point/usecase/update_rule_point_usecase.rb