Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Room Park Android
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vladislav Bogdashkin
Room Park Android
Commits
501b0ea3
Commit
501b0ea3
authored
Dec 26, 2019
by
Vladislav Bogdashkin
🎣
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fetch favorites complete
parent
8c5e77c4
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
362 additions
and
265 deletions
+362
-265
EstateRepository.kt
...to/visual/roompark/data/data_provider/EstateRepository.kt
+46
-10
UserHolder.kt
...java/com/biganto/visual/roompark/data/local/UserHolder.kt
+1
-0
IDb.kt
...ava/com/biganto/visual/roompark/data/repository/db/IDb.kt
+2
-0
RequeryRepository.kt
.../roompark/data/repository/db/requrey/RequeryRepository.kt
+10
-2
Deal.kt
.../visual/roompark/data/repository/db/requrey/model/Deal.kt
+5
-0
Estate.kt
...isual/roompark/data/repository/db/requrey/model/Estate.kt
+8
-0
raw2entity.kt
...anto/visual/roompark/data/repository/mapper/raw2entity.kt
+1
-0
ContextModule.kt
...va/com/biganto/visual/roompark/di/dagger/ContextModule.kt
+1
-1
DealContract.kt
...m/biganto/visual/roompark/domain/contract/DealContract.kt
+1
-1
deals.kt
...va/com/biganto/visual/roompark/domain/interactor/deals.kt
+139
-139
favorites.kt
...om/biganto/visual/roompark/domain/interactor/favorites.kt
+109
-106
deals.kt
...in/java/com/biganto/visual/roompark/domain/model/deals.kt
+39
-6
No files found.
app/src/main/java/com/biganto/visual/roompark/data/data_provider/EstateRepository.kt
View file @
501b0ea3
...
@@ -4,9 +4,14 @@ import com.biganto.visual.androidplayer.data.repository.local.ILocalStore
...
@@ -4,9 +4,14 @@ import com.biganto.visual.androidplayer.data.repository.local.ILocalStore
import
com.biganto.visual.roompark.data.local.UserState
import
com.biganto.visual.roompark.data.local.UserState
import
com.biganto.visual.roompark.data.repository.api.IRoomParkApi
import
com.biganto.visual.roompark.data.repository.api.IRoomParkApi
import
com.biganto.visual.roompark.data.repository.db.IDb
import
com.biganto.visual.roompark.data.repository.db.IDb
import
com.biganto.visual.roompark.data.repository.db.requrey.model.EstateEntity
import
com.biganto.visual.roompark.data.repository.mapper.fromRaw
import
com.biganto.visual.roompark.data.repository.mapper.fromRawList
import
com.biganto.visual.roompark.domain.contract.DealContract
import
com.biganto.visual.roompark.domain.contract.DealContract
import
com.biganto.visual.roompark.domain.custom_exception.CustomApiException
import
com.biganto.visual.roompark.domain.custom_exception.CustomApiException
import
com.biganto.visual.roompark.domain.model.EstateModel
import
com.biganto.visual.roompark.domain.model.EstateModel
import
com.biganto.visual.roompark.domain.model.fromEntity
import
io.reactivex.Observable
import
timber.log.Timber
import
timber.log.Timber
import
javax.inject.Inject
import
javax.inject.Inject
...
@@ -20,23 +25,54 @@ class EstateRepository @Inject constructor(
...
@@ -20,23 +25,54 @@ class EstateRepository @Inject constructor(
private
val
local
:
ILocalStore
,
private
val
local
:
ILocalStore
,
private
val
api
:
IRoomParkApi
,
private
val
api
:
IRoomParkApi
,
private
val
db
:
IDb
private
val
db
:
IDb
):
DealContract
{
):
DealContract
{
init
{
init
{
Timber
.
d
(
"Estate Repository Created"
)
Timber
.
d
(
"Estate Repository Created"
)
}
}
val
getFavoritesApi
=
private
val
getFavoritesApi
:
Observable
<
List
<
EstateEntity
>>
=
local
.
recentUser
()
local
.
recentUser
()
.
flatMap
{
when
(
it
){
.
flatMap
{
is
UserState
.
Authenticated
->
db
.
fetchUser
(
it
.
uuid
.
toInt
())
when
(
it
)
{
else
->
throw
CustomApiException
.
NotAuthorizedException
()
is
UserState
.
Authenticated
->
db
.
fetchUser
(
it
.
uuid
.
toInt
())
}
}
else
->
throw
CustomApiException
.
NotAuthorizedException
()
.
flatMap
{
api
.
getFavorites
(
it
.
authToken
)
}
// .map(::fromRaw)
}
}
.
flatMap
{
user
->
api
.
getFavorites
(
user
.
authToken
)
.
doOnError
(
Timber
::
e
)
.
map
{
fromRawList
(
it
,
::
fromRaw
)
}
.
doOnNext
{
it
.
forEach
{
estate
->
estate
.
setFavorite
(
true
)
estate
.
user
=
user
}
}
.
doOnNext
(
db
::
blockingUpsert
)
}
private
val
getFavoritesDb
:
Observable
<
List
<
EstateEntity
>>
=
local
.
recentUser
()
.
flatMap
{
when
(
it
)
{
is
UserState
.
Authenticated
->
db
.
fetchUser
(
it
.
uuid
.
toInt
()).
take
(
1
)
else
->
throw
CustomApiException
.
NotAuthorizedException
()
}
}
.
flatMap
{
db
.
getUserFavorites
(
it
.
uuid
)
.
doOnError
(
Timber
::
e
)
.
toList
().
toObservable
()
}
override
fun
getFavorites
():
io
.
reactivex
.
rxjava3
.
core
.
Observable
<
List
<
EstateModel
>>
{
override
fun
getFavorites
():
Observable
<
List
<
EstateModel
>>
{
TODO
(
"not implemented"
)
//To change body of created functions use File | Settings | File Templates.
return
Observable
.
mergeDelayError
(
arrayListOf
(
getFavoritesApi
,
getFavoritesDb
)
).
map
{
fromEntity
(
it
,
::
fromEntity
)
}
.
doOnError
(
Timber
::
e
)
}
}
...
...
app/src/main/java/com/biganto/visual/roompark/data/local/UserHolder.kt
View file @
501b0ea3
...
@@ -62,6 +62,7 @@ class UserHolder @Inject constructor(val context : Application) : ILocalStore
...
@@ -62,6 +62,7 @@ class UserHolder @Inject constructor(val context : Application) : ILocalStore
.
observe
()
.
observe
()
.
map
{
.
map
{
Timber
.
d
(
" AUTH VALUE: $it"
)
Timber
.
d
(
" AUTH VALUE: $it"
)
Timber
.
d
(
" EMPTY_PREF_VALUE_KEY: $EMPTY_PREF_VALUE_KEY"
)
if
(
it
==
EMPTY_PREF_VALUE_KEY
)
return
@map
UserState
.
NotAuthenticated
()
if
(
it
==
EMPTY_PREF_VALUE_KEY
)
return
@map
UserState
.
NotAuthenticated
()
else
return
@map
UserState
.
Authenticated
(
it
)
else
return
@map
UserState
.
Authenticated
(
it
)
}
}
...
...
app/src/main/java/com/biganto/visual/roompark/data/repository/db/IDb.kt
View file @
501b0ea3
...
@@ -26,4 +26,6 @@ interface IDb {
...
@@ -26,4 +26,6 @@ interface IDb {
fun
getPhotos
(
albumId
:
Int
):
Observable
<
GalleryPhotoEntity
>
fun
getPhotos
(
albumId
:
Int
):
Observable
<
GalleryPhotoEntity
>
fun
getPhoto
(
photoId
:
Int
):
Observable
<
GalleryPhotoEntity
>
fun
getPhoto
(
photoId
:
Int
):
Observable
<
GalleryPhotoEntity
>
fun
getAlbum
(
albumId
:
Int
):
Observable
<
ImageAlbumEntity
>
fun
getAlbum
(
albumId
:
Int
):
Observable
<
ImageAlbumEntity
>
fun
getUserFavorites
(
uuid
:
Int
):
Observable
<
EstateEntity
>
fun
fetchAllUsers
():
Observable
<
List
<
UserEntity
>>
}
}
\ No newline at end of file
app/src/main/java/com/biganto/visual/roompark/data/repository/db/requrey/RequeryRepository.kt
View file @
501b0ea3
...
@@ -33,7 +33,6 @@ class DbModule{
...
@@ -33,7 +33,6 @@ class DbModule{
// source.setLoggingEnabled(true)
// source.setLoggingEnabled(true)
// source.setWriteAheadLoggingEnabled(true)
// source.setWriteAheadLoggingEnabled(true)
source
.
setTableCreationMode
(
TableCreationMode
.
DROP_CREATE
)
source
.
setTableCreationMode
(
TableCreationMode
.
DROP_CREATE
)
val
store
=
KotlinEntityDataStore
<
Persistable
>(
source
.
configuration
)
val
store
=
KotlinEntityDataStore
<
Persistable
>(
source
.
configuration
)
Timber
.
d
(
"Kotlin store %s"
,
source
)
Timber
.
d
(
"Kotlin store %s"
,
source
)
return
KotlinReactiveEntityStore
(
store
)
return
KotlinReactiveEntityStore
(
store
)
...
@@ -123,8 +122,12 @@ class RequeryRepository @Inject constructor(
...
@@ -123,8 +122,12 @@ class RequeryRepository @Inject constructor(
.
firstOrNull
()
.
firstOrNull
()
override
fun
fetchUser
(
uuid
:
Int
):
Observable
<
UserEntity
>
=
override
fun
fetchUser
(
uuid
:
Int
):
Observable
<
UserEntity
>
=
fetchAll
<
UserEntity
>().
where
(
UserEntity
.
UUID
.
eq
(
uuid
)).
get
().
observable
()
store
.
select
(
UserEntity
::
class
).
where
(
UserEntity
.
UUID
.
eq
(
uuid
)).
get
().
observable
()
// fetchAll<UserEntity>().where(UserEntity.UUID.eq(uuid)).get().observable()
override
fun
fetchAllUsers
():
Observable
<
List
<
UserEntity
>>
=
store
.
select
(
UserEntity
::
class
).
get
().
observable
().
toList
().
toObservable
()
fun
upsertFeeds
(
entity
:
List
<
FeedEntity
>)
=
fun
upsertFeeds
(
entity
:
List
<
FeedEntity
>)
=
store
.
upsert
(
entity
)
store
.
upsert
(
entity
)
...
@@ -134,4 +137,9 @@ class RequeryRepository @Inject constructor(
...
@@ -134,4 +137,9 @@ class RequeryRepository @Inject constructor(
.
where
(
UserEntity
.
UUID
.
eq
(
uuid
))
.
where
(
UserEntity
.
UUID
.
eq
(
uuid
))
.
get
()
.
get
()
.
observableResult
()
.
observableResult
()
override
fun
getUserFavorites
(
uuid
:
Int
):
Observable
<
EstateEntity
>
=
store
.
select
(
EstateEntity
::
class
)
.
where
(
EstateEntity
.
USER_ID
.
eq
(
uuid
))
.
get
().
observable
()
}
}
\ No newline at end of file
app/src/main/java/com/biganto/visual/roompark/data/repository/db/requrey/model/Deal.kt
View file @
501b0ea3
...
@@ -20,4 +20,9 @@ interface Deal : Persistable {
...
@@ -20,4 +20,9 @@ interface Deal : Persistable {
@get
:
ForeignKey
(
references
=
Estate
::
class
)
@get
:
ForeignKey
(
references
=
Estate
::
class
)
@get
:
OneToOne
(
cascade
=
[
CascadeAction
.
NONE
])
@get
:
OneToOne
(
cascade
=
[
CascadeAction
.
NONE
])
var
estate
:
Estate
var
estate
:
Estate
@get
:
Nullable
@get
:
Column
(
name
=
"UserContainer"
)
@get
:
ForeignKey
(
references
=
User
::
class
)
@get
:
OneToOne
(
mappedBy
=
"uuid"
,
cascade
=
[
CascadeAction
.
NONE
])
var
user
:
User
?
}
}
\ No newline at end of file
app/src/main/java/com/biganto/visual/roompark/data/repository/db/requrey/model/Estate.kt
View file @
501b0ea3
...
@@ -67,4 +67,12 @@ interface Estate : Persistable {
...
@@ -67,4 +67,12 @@ interface Estate : Persistable {
@get
:
OneToMany
(
mappedBy
=
"id"
,
cascade
=
[
CascadeAction
.
SAVE
,
CascadeAction
.
DELETE
])
@get
:
OneToMany
(
mappedBy
=
"id"
,
cascade
=
[
CascadeAction
.
SAVE
,
CascadeAction
.
DELETE
])
val
planPreset
:
MutableList
<
PlanPreset
>
val
planPreset
:
MutableList
<
PlanPreset
>
val
favorite
:
Boolean
@get
:
Nullable
@get
:
Column
(
name
=
"UserContainer"
)
@get
:
ForeignKey
(
references
=
User
::
class
)
@get
:
OneToOne
(
mappedBy
=
"uuid"
,
cascade
=
[
CascadeAction
.
NONE
])
var
user
:
User
?
}
}
\ No newline at end of file
app/src/main/java/com/biganto/visual/roompark/data/repository/mapper/raw2entity.kt
View file @
501b0ea3
...
@@ -127,6 +127,7 @@ fun fromRaw(raw:EstateRaw):EstateEntity{
...
@@ -127,6 +127,7 @@ fun fromRaw(raw:EstateRaw):EstateEntity{
entity
.
setInfo_price_meter
(
raw
.
common_info
.
price_meter
)
entity
.
setInfo_price_meter
(
raw
.
common_info
.
price_meter
)
entity
.
setInfo_ceiling
(
raw
.
common_info
.
ceiling
)
entity
.
setInfo_ceiling
(
raw
.
common_info
.
ceiling
)
entity
.
setInfo_direction
(
raw
.
common_info
.
direction
)
entity
.
setInfo_direction
(
raw
.
common_info
.
direction
)
entity
.
setFavorite
(
false
)
return
entity
return
entity
}
}
...
...
app/src/main/java/com/biganto/visual/roompark/di/dagger/ContextModule.kt
View file @
501b0ea3
...
@@ -21,7 +21,7 @@ const val ESTATES_CACHE_LIMIT_SECONDS_INACTIVE = 200L
...
@@ -21,7 +21,7 @@ const val ESTATES_CACHE_LIMIT_SECONDS_INACTIVE = 200L
const
val
FILES_CACHE_LIMIT_SIZE
=
10000
const
val
FILES_CACHE_LIMIT_SIZE
=
10000
const
val
FILES_CACHE_LIMIT_SECONDS_INACTIVE
=
60L
const
val
FILES_CACHE_LIMIT_SECONDS_INACTIVE
=
60L
const
val
DATABASE_VERSION
=
8
const
val
DATABASE_VERSION
=
9
@Module
@Module
abstract
class
AppModule
{
abstract
class
AppModule
{
...
...
app/src/main/java/com/biganto/visual/roompark/domain/contract/DealContract.kt
View file @
501b0ea3
...
@@ -10,5 +10,5 @@ import io.reactivex.rxjava3.core.Observable
...
@@ -10,5 +10,5 @@ import io.reactivex.rxjava3.core.Observable
interface
DealContract
{
interface
DealContract
{
fun
getFavorites
()
:
Observable
<
List
<
EstateModel
>>
fun
getFavorites
()
:
io
.
reactivex
.
Observable
<
List
<
EstateModel
>>
}
}
\ No newline at end of file
app/src/main/java/com/biganto/visual/roompark/domain/interactor/deals.kt
View file @
501b0ea3
...
@@ -94,83 +94,83 @@ class DealsInteractor @Inject constructor(
...
@@ -94,83 +94,83 @@ class DealsInteractor @Inject constructor(
section_begin
=
14
,
section_begin
=
14
,
windows_face
=
"\u0414\u0432\u043e\u0440 \u0438 \u0423\u043b\u0438\u0446\u0430"
windows_face
=
"\u0414\u0432\u043e\u0440 \u0438 \u0423\u043b\u0438\u0446\u0430"
),
),
explications
=
arrayListOf
(
ExplicationListModel
(
//
explications = arrayListOf(ExplicationListModel(
items
=
arrayListOf
(
//
items = arrayListOf(
ExplicationModel
(
//
ExplicationModel(
area
=
16.9f
,
//
area = 16.9f,
living
=
true
,
//
living = true,
title
=
"\u0413\u043e\u0441\u0442\u0438\u043d\u0430\u044f"
//
title = "\u0413\u043e\u0441\u0442\u0438\u043d\u0430\u044f"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
14.6f
,
//
area = 14.6f,
living
=
true
,
//
living = true,
title
=
"\u0421\u043f\u0430\u043b\u044c\u043d\u044f"
//
title = "\u0421\u043f\u0430\u043b\u044c\u043d\u044f"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
10.8f
,
//
area = 10.8f,
living
=
false
,
//
living = false,
title
=
"\u041a\u0443\u0445\u043d\u044f"
//
title = "\u041a\u0443\u0445\u043d\u044f"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
3.6f
,
//
area = 3.6f,
living
=
false
,
//
living = false,
title
=
"\u041a\u043e\u0440\u0438\u0434\u043e\u0440"
//
title = "\u041a\u043e\u0440\u0438\u0434\u043e\u0440"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
3.4f
,
//
area = 3.4f,
living
=
false
,
//
living = false,
title
=
"\u0421\u0430\u043d\u0443\u0437\u0435\u043b"
//
title = "\u0421\u0430\u043d\u0443\u0437\u0435\u043b"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
2.8f
,
//
area = 2.8f,
living
=
false
,
//
living = false,
title
=
"\u041f\u0440\u0438\u0445\u043e\u0436\u0430\u044f"
//
title = "\u041f\u0440\u0438\u0445\u043e\u0436\u0430\u044f"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
1.9f
,
//
area = 1.9f,
living
=
false
,
//
living = false,
title
=
"\u0421\u0430\u043d\u0443\u0437\u0435\u043b"
//
title = "\u0421\u0430\u043d\u0443\u0437\u0435\u043b"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
1.4f
,
//
area = 1.4f,
living
=
false
,
//
living = false,
title
=
"\u041b\u043e\u0434\u0436\u0438\u044f"
//
title = "\u041b\u043e\u0434\u0436\u0438\u044f"
)
//
)
),
//
),
planId
=
0
//
planId = 0
),
//
),
ExplicationListModel
(
//
ExplicationListModel(
items
=
arrayListOf
(
//
items = arrayListOf(
ExplicationModel
(
//
ExplicationModel(
area
=
16.2f
,
//
area = 16.2f,
living
=
true
,
//
living = true,
title
=
"\u0413\u043e\u0441\u0442\u0438\u043d\u0430\u044f"
//
title = "\u0413\u043e\u0441\u0442\u0438\u043d\u0430\u044f"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
13.7f
,
//
area = 13.7f,
living
=
true
,
//
living = true,
title
=
"\u0421\u043f\u0430\u043b\u044c\u043d\u044f"
//
title = "\u0421\u043f\u0430\u043b\u044c\u043d\u044f"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
10.2f
,
//
area = 10.2f,
living
=
false
,
//
living = false,
title
=
"\u041a\u0443\u0445\u043d\u044f"
//
title = "\u041a\u0443\u0445\u043d\u044f"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
4.3f
,
//
area = 4.3f,
living
=
false
,
//
living = false,
title
=
"\u041a\u043e\u0440\u0438\u0434\u043e\u0440"
//
title = "\u041a\u043e\u0440\u0438\u0434\u043e\u0440"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
4.2f
,
//
area = 4.2f,
living
=
false
,
//
living = false,
title
=
"\u041f\u0440\u0438\u0445\u043e\u0436\u0430\u044f"
//
title = "\u041f\u0440\u0438\u0445\u043e\u0436\u0430\u044f"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
4.1f
,
//
area = 4.1f,
living
=
false
,
//
living = false,
title
=
"\u0421\u0430\u043d\u0443\u0437\u0435\u043b"
//
title = "\u0421\u0430\u043d\u0443\u0437\u0435\u043b"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
1.4f
,
//
area = 1.4f,
living
=
false
,
//
living = false,
title
=
"\u041b\u043e\u0434\u0436\u0438\u044f"
//
title = "\u041b\u043e\u0434\u0436\u0438\u044f"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
1.3f
,
//
area = 1.3f,
living
=
false
,
//
living = false,
title
=
"\u0421\u0430\u043d\u0443\u0437\u0435\u043b"
//
title = "\u0421\u0430\u043d\u0443\u0437\u0435\u043b"
)
//
)
),
//
),
planId
=
1
//
planId = 1
)
//
)
),
//
),
id
=
75
,
id
=
75
,
multitourId
=
4911
,
multitourId
=
4911
,
number
=
"1086"
,
number
=
"1086"
,
...
@@ -218,68 +218,68 @@ class DealsInteractor @Inject constructor(
...
@@ -218,68 +218,68 @@ class DealsInteractor @Inject constructor(
section_begin
=
2
,
section_begin
=
2
,
windows_face
=
"Двор"
windows_face
=
"Двор"
),
),
explications
=
arrayListOf
(
//
explications = arrayListOf(
ExplicationListModel
(
//
ExplicationListModel(
items
=
arrayListOf
(
//
items = arrayListOf(
ExplicationModel
(
//
ExplicationModel(
area
=
15.8f
,
//
area = 15.8f,
living
=
true
,
//
living = true,
title
=
"Гостиная"
//
title = "Гостиная"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
14.5f
,
//
area = 14.5f,
living
=
true
,
//
living = true,
title
=
"Спальня"
//
title = "Спальня"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
20.2f
,
//
area = 20.2f,
living
=
false
,
//
living = false,
title
=
"Кухня"
//
title = "Кухня"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
5.0f
,
//
area = 5.0f,
living
=
false
,
//
living = false,
title
=
"Прихожая"
//
title = "Прихожая"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
4.1f
,
//
area = 4.1f,
living
=
false
,
//
living = false,
title
=
"Санузел"
//
title = "Санузел"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
1.6f
,
//
area = 1.6f,
living
=
false
,
//
living = false,
title
=
"Лоджия"
//
title = "Лоджия"
)
//
)
),
//
),
planId
=
0
//
planId = 0
),
//
),
ExplicationListModel
(
//
ExplicationListModel(
items
=
arrayListOf
(
//
items = arrayListOf(
ExplicationModel
(
//
ExplicationModel(
area
=
15.5f
,
//
area = 15.5f,
living
=
true
,
//
living = true,
title
=
"Спальня"
//
title = "Спальня"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
14.5f
,
//
area = 14.5f,
living
=
true
,
//
living = true,
title
=
"Спальня"
//
title = "Спальня"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
20.2f
,
//
area = 20.2f,
living
=
false
,
//
living = false,
title
=
"Кухня-гостиная"
//
title = "Кухня-гостиная"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
5.3f
,
//
area = 5.3f,
living
=
false
,
//
living = false,
title
=
"Прихожая"
//
title = "Прихожая"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
4.1f
,
//
area = 4.1f,
living
=
false
,
//
living = false,
title
=
"Санузел"
//
title = "Санузел"
),
ExplicationModel
(
//
),ExplicationModel(
area
=
1.6f
,
//
area = 1.6f,
living
=
false
,
//
living = false,
title
=
"Лоджия"
//
title = "Лоджия"
)
//
)
),
//
),
planId
=
1
//
planId = 1
)
//
)
),
//
),
id
=
1201
,
id
=
1201
,
multitourId
=
6500
,
multitourId
=
6500
,
number
=
"88"
,
number
=
"88"
,
...
...
app/src/main/java/com/biganto/visual/roompark/domain/interactor/favorites.kt
View file @
501b0ea3
package
com.biganto.visual.roompark.domain.interactor
package
com.biganto.visual.roompark.domain.interactor
import
com.biganto.visual.roompark.domain.model.*
import
com.biganto.visual.roompark.domain.model.CommonInfoModel
import
io.reactivex.Single
import
com.biganto.visual.roompark.domain.model.EstateModel
import
com.biganto.visual.roompark.domain.model.PlanModel
import
com.biganto.visual.roompark.domain.use_case.EstateUseCase
import
javax.inject.Inject
import
javax.inject.Inject
/**
/**
...
@@ -9,9 +11,12 @@ import javax.inject.Inject
...
@@ -9,9 +11,12 @@ import javax.inject.Inject
*/
*/
class
FavoritesInteractor
@Inject
constructor
(
class
FavoritesInteractor
@Inject
constructor
(
private
val
estateUseCase
:
EstateUseCase
)
{
)
{
fun
getFavoritesForCurrentUser
()
=
Single
.
just
(
parkingEstateSample
)
fun
getFavoritesForCurrentUser
()
=
estateUseCase
.
fetchFavorites
()
// Single.just(parkingEstateSample )
companion
object
{
companion
object
{
...
@@ -45,7 +50,6 @@ class FavoritesInteractor @Inject constructor(
...
@@ -45,7 +50,6 @@ class FavoritesInteractor @Inject constructor(
planJPG
=
null
,
planJPG
=
null
,
albumId
=
10
,
albumId
=
10
,
multitourId
=
null
,
multitourId
=
null
,
explications
=
null
,
url
=
null
url
=
null
),
),
EstateModel
(
EstateModel
(
...
@@ -75,7 +79,6 @@ class FavoritesInteractor @Inject constructor(
...
@@ -75,7 +79,6 @@ class FavoritesInteractor @Inject constructor(
planJPG
=
null
,
planJPG
=
null
,
albumId
=
10
,
albumId
=
10
,
multitourId
=
null
,
multitourId
=
null
,
explications
=
null
,
url
=
null
url
=
null
),
),
EstateModel
(
EstateModel
(
...
@@ -113,107 +116,107 @@ class FavoritesInteractor @Inject constructor(
...
@@ -113,107 +116,107 @@ class FavoritesInteractor @Inject constructor(
),
),
albumId
=
10
,
albumId
=
10
,
url
=
null
,
url
=
null
,
multitourId
=
5790
,
multitourId
=
5790
explications
=
arrayListOf
<
ExplicationListModel
>(
// ,
explications = arrayListOf<ExplicationListModel>(
ExplicationListModel
(
//
ExplicationListModel(
planId
=
0
,
//
planId = 0,
items
=
arrayListOf
(
//
items = arrayListOf(
ExplicationModel
(
//
ExplicationModel(
living
=
true
,
//
living = true,
area
=
16.30f
,
//
area = 16.30f,
title
=
"Спальня"
//
title = "Спальня"
),
//
),
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
11.40f
,
//
area = 11.40f,
title
=
"Кухня"
//
title = "Кухня"
),
//
),
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
1.90f
,
//
area = 1.90f,
title
=
"Прихожая"
//
title = "Прихожая"
),
//
),
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
5.20f
,
//
area = 5.20f,
title
=
"Коридор"
//
title = "Коридор"
),
//
),
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
1.70f
,
//
area = 1.70f,
title
=
"Лоджия"
//
title = "Лоджия"
),
//
),
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
3.50f
,
//
area = 3.50f,
title
=
"Санузел"
//
title = "Санузел"
)
//
)
)
//
)
),
ExplicationListModel
(
//
), ExplicationListModel(
planId
=
1
,
//
planId = 1,
items
=
arrayListOf
(
//
items = arrayListOf(
ExplicationModel
(
//
ExplicationModel(
living
=
true
,
//
living = true,
area
=
16.30f
,
//
area = 16.30f,
title
=
"Спальня"
//
title = "Спальня"
),
//
),
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
11.40f
,
//
area = 11.40f,
title
=
"Кухня"
//
title = "Кухня"
),
//
),
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
5.20f
,
//
area = 5.20f,
title
=
"Коридор"
//
title = "Коридор"
),
//
),
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
1.90f
,
//
area = 1.90f,
title
=
"Прихожая"
//
title = "Прихожая"
),
//
),
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
3.50f
,
//
area = 3.50f,
title
=
"Санузел"
//
title = "Санузел"
),
//
),
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
1.70f
,
//
area = 1.70f,
title
=
"Лоджия"
//
title = "Лоджия"
)
//
)
)
//
)
),
ExplicationListModel
(
//
), ExplicationListModel(
planId
=
2
,
//
planId = 2,
items
=
arrayListOf
(
//
items = arrayListOf(
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
1.00f
,
//
area = 1.00f,
title
=
"Кухня-гостиная"
//
title = "Кухня-гостиная"
),
//
),
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
2.00f
,
//
area = 2.00f,
title
=
"Коридор"
//
title = "Коридор"
),
//
),
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
3.00f
,
//
area = 3.00f,
title
=
"Прихожая"
//
title = "Прихожая"
),
//
),
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
4.00f
,
//
area = 4.00f,
title
=
"Санузел"
//
title = "Санузел"
),
//
),
ExplicationModel
(
//
ExplicationModel(
living
=
false
,
//
living = false,
area
=
5.00f
,
//
area = 5.00f,
title
=
"Лоджия"
//
title = "Лоджия"
)
//
)
)
//
)
)
//
)
)
//
)
)
)
)
)
...
...
app/src/main/java/com/biganto/visual/roompark/domain/model/deals.kt
View file @
501b0ea3
package
com.biganto.visual.roompark.domain.model
package
com.biganto.visual.roompark.domain.model
import
com.biganto.visual.roompark.data.repository.api.retrofit.raw.EstateRaw
import
com.biganto.visual.roompark.data.repository.db.requrey.model.EstateEntity
import
com.biganto.visual.roompark.data.repository.db.requrey.model.EstateEntity
import
com.biganto.visual.roompark.data.repository.db.requrey.model.ExplicationEntity
/**
/**
* Created by Vladislav Bogdashkin on 23.09.2019.
* Created by Vladislav Bogdashkin on 23.09.2019.
...
@@ -41,10 +39,45 @@ data class EstateModel(
...
@@ -41,10 +39,45 @@ data class EstateModel(
val
albumId
:
Int
?=
null
,
val
albumId
:
Int
?=
null
,
val
multitourId
:
Int
?=
null
,
val
multitourId
:
Int
?=
null
,
val
commonInfo
:
CommonInfoModel
?
=
null
,
val
commonInfo
:
CommonInfoModel
?
=
null
,
val
explications
:
List
<
ExplicationListModel
>?
=
null
,
val
url
:
String
?
val
url
:
String
?
)
)
fun
fromEntity
(
entity
:
EstateEntity
):
EstateModel
{
val
model
=
EstateModel
(
id
=
entity
.
id
,
type
=
entity
.
type
,
number
=
entity
.
number
,
sectionBegin
=
entity
.
sectionBegin
,
sectionEnd
=
entity
.
sectionEnd
,
planPNG
=
null
,
planJPG
=
null
,
rooms
=
entity
.
rooms
,
albumId
=
entity
.
albumId
,
multitourId
=
entity
.
multitourId
,
commonInfo
=
CommonInfoModel
(
building
=
entity
.
info_building
,
section_begin
=
entity
.
sectionBegin
,
floor
=
entity
.
info_floor
,
floor_max
=
entity
.
info_floor_max
,
area
=
entity
.
info_area
,
area_living
=
entity
.
info_area_living
,
kind
=
entity
.
info_kind
,
dependent
=
entity
.
info_dependent
,
decoration
=
entity
.
info_decoration
,
ceiling
=
entity
.
info_ceiling
,
windows_face
=
entity
.
info_window_face
,
direction
=
entity
.
info_direction
,
price_meter
=
entity
.
info_price_meter
,
price
=
entity
.
info_price
,
// discount = entity.di
// discount_amount = entity
rooms
=
entity
.
rooms
),
url
=
entity
.
url
)
return
model
}
data class
PlanModel
(
data class
PlanModel
(
val
url
:
String
,
val
url
:
String
,
val
width
:
Int
,
val
width
:
Int
,
...
@@ -54,7 +87,7 @@ data class PlanModel(
...
@@ -54,7 +87,7 @@ data class PlanModel(
data class
CommonInfoModel
(
data class
CommonInfoModel
(
val
building
:
Int
,
val
building
:
Int
,
val
section_begin
:
Int
,
val
section_begin
:
Int
?
,
val
floor
:
Int
,
val
floor
:
Int
,
val
floor_max
:
Int
,
val
floor_max
:
Int
,
val
area
:
Float
?,
val
area
:
Float
?,
...
@@ -67,8 +100,8 @@ data class CommonInfoModel(
...
@@ -67,8 +100,8 @@ data class CommonInfoModel(
val
direction
:
String
?,
val
direction
:
String
?,
val
price_meter
:
Int
?,
val
price_meter
:
Int
?,
val
price
:
Int
?,
val
price
:
Int
?,
val
discount
:
Float
?,
val
discount
:
Float
?
=
null
,
val
discount_amount
:
Int
?,
val
discount_amount
:
Int
?
=
null
,
val
rooms
:
Int
?
val
rooms
:
Int
?
)
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment