Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
55424a5d
Commit
55424a5d
authored
Oct 08, 2023
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
随机返回一条数据
parent
c19603d7
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
71 additions
and
8 deletions
+71
-8
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/ItemServiceImpl.java
...src/main/java/com/wwdz/ch/admin/impl/ItemServiceImpl.java
+11
-2
ch-admin-api/src/test/java/com/wwdz/ch/admin/impl/ElasticsearchUtilTest.java
...st/java/com/wwdz/ch/admin/impl/ElasticsearchUtilTest.java
+9
-1
ch-dao/src/main/java/com/wwdz/ch/db/es/ItemEsDao.java
ch-dao/src/main/java/com/wwdz/ch/db/es/ItemEsDao.java
+49
-0
ch-dao/src/main/java/com/wwdz/ch/db/impl/ItemDaoImpl.java
ch-dao/src/main/java/com/wwdz/ch/db/impl/ItemDaoImpl.java
+2
-5
No files found.
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/ItemServiceImpl.java
View file @
55424a5d
...
@@ -10,6 +10,7 @@ import com.wwdz.ch.core.consts.ItemStateEnum;
...
@@ -10,6 +10,7 @@ import com.wwdz.ch.core.consts.ItemStateEnum;
import
com.wwdz.ch.core.storage.QiniuStorage
;
import
com.wwdz.ch.core.storage.QiniuStorage
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.util.StringUtil
;
import
com.wwdz.ch.core.util.StringUtil
;
import
com.wwdz.ch.db.bean.ItemOfEs
;
import
com.wwdz.ch.db.dao.CroppingRecordDao
;
import
com.wwdz.ch.db.dao.CroppingRecordDao
;
import
com.wwdz.ch.db.dao.ItemDao
;
import
com.wwdz.ch.db.dao.ItemDao
;
import
com.wwdz.ch.db.domain.Category
;
import
com.wwdz.ch.db.domain.Category
;
...
@@ -19,6 +20,7 @@ import com.wwdz.ch.db.domain.OperateLog;
...
@@ -19,6 +20,7 @@ import com.wwdz.ch.db.domain.OperateLog;
import
com.wwdz.ch.db.dto.request.CoinRequestDto
;
import
com.wwdz.ch.db.dto.request.CoinRequestDto
;
import
com.wwdz.ch.db.dao.CategoryDao
;
import
com.wwdz.ch.db.dao.CategoryDao
;
import
com.wwdz.ch.db.dto.request.CroppingRecordRequestDto
;
import
com.wwdz.ch.db.dto.request.CroppingRecordRequestDto
;
import
com.wwdz.ch.db.es.ItemEsDao
;
import
com.xxdxxs.utils.DateUtils
;
import
com.xxdxxs.utils.DateUtils
;
import
com.xxdxxs.utils.EntityMapper
;
import
com.xxdxxs.utils.EntityMapper
;
import
com.xxdxxs.utils.JsonUtils
;
import
com.xxdxxs.utils.JsonUtils
;
...
@@ -53,6 +55,9 @@ public class ItemServiceImpl implements ItemService {
...
@@ -53,6 +55,9 @@ public class ItemServiceImpl implements ItemService {
@Autowired
@Autowired
CroppingRecordDao
croppingRecordDao
;
CroppingRecordDao
croppingRecordDao
;
@Autowired
ItemEsDao
itemEsDao
;
@Override
@Override
public
List
<
CoinVo
>
findList
(
CoinRequestDto
coinRequestDto
)
{
public
List
<
CoinVo
>
findList
(
CoinRequestDto
coinRequestDto
)
{
try
{
try
{
...
@@ -72,12 +77,16 @@ public class ItemServiceImpl implements ItemService {
...
@@ -72,12 +77,16 @@ public class ItemServiceImpl implements ItemService {
@Override
@Override
public
Result
findDetails
(
CoinRequestDto
coinRequestDto
)
{
public
Result
findDetails
(
CoinRequestDto
coinRequestDto
)
{
try
{
try
{
Item
item
;
Item
item
=
new
Item
()
;
Long
itemId
=
coinRequestDto
.
getId
();
Long
itemId
=
coinRequestDto
.
getId
();
if
(!
ObjectUtils
.
isEmpty
(
itemId
))
{
if
(!
ObjectUtils
.
isEmpty
(
itemId
))
{
item
=
itemDao
.
findDetails
(
coinRequestDto
.
getId
());
item
=
itemDao
.
findDetails
(
coinRequestDto
.
getId
());
}
else
{
}
else
{
item
=
itemDao
.
findOne
(
coinRequestDto
);
ItemOfEs
itemOfEs
=
itemEsDao
.
findRandomOne
();
if
(
itemOfEs
!=
null
)
{
long
id
=
itemOfEs
.
getId
();
item
=
itemDao
.
findDetails
(
id
);
}
}
}
CoinVo
coinVo
=
convertEntity
(
item
);
CoinVo
coinVo
=
convertEntity
(
item
);
//用于展示商品归属的类目(页面级联下拉控件数据展示)
//用于展示商品归属的类目(页面级联下拉控件数据展示)
...
...
ch-admin-api/src/test/java/com/wwdz/ch/admin/impl/ElasticsearchUtilTest.java
View file @
55424a5d
...
@@ -56,7 +56,7 @@ public class ElasticsearchUtilTest {
...
@@ -56,7 +56,7 @@ public class ElasticsearchUtilTest {
@Test
@Test
public
void
find
()
{
public
void
find
()
{
EsSearchRequestDto
esSearchRequestDto
=
new
EsSearchRequestDto
();
EsSearchRequestDto
esSearchRequestDto
=
new
EsSearchRequestDto
();
// esSearchRequestDto.setContent("清代
");
esSearchRequestDto
.
setContent
(
"通天修为紫金大帝
"
);
// esSearchRequestDto.setIncludes(Arrays.asList("id", "source", "name","images","updateTime", "createTime"));
// esSearchRequestDto.setIncludes(Arrays.asList("id", "source", "name","images","updateTime", "createTime"));
esSearchRequestDto
.
setPage
(
1
);
esSearchRequestDto
.
setPage
(
1
);
esSearchRequestDto
.
setSize
(
40
);
esSearchRequestDto
.
setSize
(
40
);
...
@@ -66,6 +66,14 @@ public class ElasticsearchUtilTest {
...
@@ -66,6 +66,14 @@ public class ElasticsearchUtilTest {
}
}
@Test
public
void
findRandomOne
()
{
ItemOfEs
itemOfEs
=
itemEsDao
.
findRandomOne
();
logger
.
info
(
"itemOfEs = {}"
,
itemOfEs
);
}
@Test
@Test
public
void
findByRange
()
{
public
void
findByRange
()
{
EsSearchRequestDto
esSearchRequestDto
=
new
EsSearchRequestDto
();
EsSearchRequestDto
esSearchRequestDto
=
new
EsSearchRequestDto
();
...
...
ch-dao/src/main/java/com/wwdz/ch/db/es/ItemEsDao.java
View file @
55424a5d
...
@@ -221,6 +221,55 @@ public class ItemEsDao {
...
@@ -221,6 +221,55 @@ public class ItemEsDao {
public
ItemOfEs
findRandomOne
()
{
try
{
SearchRequest
.
Builder
builder
=
new
SearchRequest
.
Builder
();
builder
.
index
(
INDEX
);
List
<
FieldValue
>
sourceQueryList
=
new
ArrayList
<>();
SOURCE_LIST
.
forEach
(
i
->
{
sourceQueryList
.
add
(
FieldValue
.
of
(
i
));
});
//来源是中国的商品
Query
sourceQuery
=
QueryBuilders
.
terms
(
s
->
s
.
field
(
"source"
).
terms
(
t
->
t
.
value
(
sourceQueryList
)));
//查询未处理的商品
Query
stateQuery
=
TermQuery
.
of
(
t
->
t
.
field
(
"state"
).
value
(
0
)).
_toQuery
();
//未删除的商品
Query
isDeleteQuery
=
TermQuery
.
of
(
t
->
t
.
field
(
"isDeleted"
).
value
(
false
)).
_toQuery
();
//种类是钱币的商品,kind=1
Query
kindQuery
=
TermQuery
.
of
(
t
->
t
.
field
(
"kind"
).
value
(
1
)).
_toQuery
();
//只查询权限为公开的商品
Query
viewPermissionQuery
=
TermQuery
.
of
(
t
->
t
.
field
(
"viewPermission"
).
value
(
0
)).
_toQuery
();
BoolQuery
.
Builder
build
=
QueryBuilders
.
bool
()
.
filter
(
stateQuery
)
.
filter
(
sourceQuery
)
.
filter
(
isDeleteQuery
)
.
filter
(
kindQuery
)
.
filter
(
viewPermissionQuery
);
Random
random
=
new
Random
();
FunctionScoreQuery
functionScoreQuery
=
FunctionScoreQuery
.
of
(
a
->
a
.
query
(
build
.
build
().
_toQuery
()).
boostMode
(
FunctionBoostMode
.
Replace
)
.
functions
(
b
->
b
.
randomScore
(
s
->
s
.
field
(
"id"
).
seed
(
String
.
valueOf
(
random
.
nextDouble
())))));
builder
.
query
(
functionScoreQuery
.
_toQuery
());
builder
.
size
(
1
);
SearchRequest
searchRequest
=
builder
.
build
();
logger
.
info
(
"es查询语句 : {}"
,
searchRequest
.
toString
());
SearchResponse
<
ItemOfEs
>
searchResponse
=
elasticsearchClient
.
search
(
searchRequest
,
ItemOfEs
.
class
);
long
total
=
searchResponse
.
hits
().
total
().
value
();
logger
.
info
(
"总数据量 : {}, 耗时 : {}"
,
total
,
searchResponse
.
took
());
List
<
Hit
<
ItemOfEs
>>
hitList
=
searchResponse
.
hits
().
hits
();
if
(!
CollectionUtils
.
isEmpty
(
hitList
))
{
ItemOfEs
itemOfEs
=
hitList
.
get
(
0
).
source
();
logger
.
info
(
"======== 返回的数据id : {}"
,
itemOfEs
.
getId
());
return
itemOfEs
;
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"ES 随机返回一个商品 error : {}"
,
e
);
}
return
null
;
}
public
void
create
(
List
<
Item
>
itemList
)
{
public
void
create
(
List
<
Item
>
itemList
)
{
// 批量添加数据
// 批量添加数据
List
<
BulkOperation
>
opts
=
new
ArrayList
<>();
List
<
BulkOperation
>
opts
=
new
ArrayList
<>();
...
...
ch-dao/src/main/java/com/wwdz/ch/db/impl/ItemDaoImpl.java
View file @
55424a5d
...
@@ -151,11 +151,8 @@ public class ItemDaoImpl implements ItemDao {
...
@@ -151,11 +151,8 @@ public class ItemDaoImpl implements ItemDao {
ItemExample
example
=
new
ItemExample
();
ItemExample
example
=
new
ItemExample
();
ItemExample
.
Criteria
criteria
=
example
.
createCriteria
();
ItemExample
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andIdEqualTo
(
id
);
criteria
.
andIdEqualTo
(
id
);
List
<
Item
>
items
=
itemMapper
.
selectByExampleWithBLOBs
(
example
);
Item
item
=
itemMapper
.
selectOneByExampleWithBLOBs
(
example
);
if
(!
CollectionUtils
.
isEmpty
(
items
))
{
return
item
;
return
items
.
get
(
0
);
}
return
new
Item
();
}
}
@Override
@Override
...
...
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