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
a5dd51ae
Commit
a5dd51ae
authored
Aug 21, 2023
by
muhong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改 小程序首页接口
新增 分类名称联想接口
parent
8bd2d285
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
144 additions
and
36 deletions
+144
-36
ch-dao/src/main/java/com/wwdz/ch/db/dao/CategoryDao.java
ch-dao/src/main/java/com/wwdz/ch/db/dao/CategoryDao.java
+2
-0
ch-dao/src/main/java/com/wwdz/ch/db/dao/ItemDao.java
ch-dao/src/main/java/com/wwdz/ch/db/dao/ItemDao.java
+2
-0
ch-dao/src/main/java/com/wwdz/ch/db/impl/CategoryDaoImpl.java
...ao/src/main/java/com/wwdz/ch/db/impl/CategoryDaoImpl.java
+6
-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
+9
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/config/WebMvcConfiguration.java
.../main/java/com/wwdz/ch/wx/config/WebMvcConfiguration.java
+4
-2
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/CategoryServiceImpl.java
...rc/main/java/com/wwdz/ch/wx/impl/CategoryServiceImpl.java
+23
-3
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/ItemServiceImpl.java
...pi/src/main/java/com/wwdz/ch/wx/impl/ItemServiceImpl.java
+64
-31
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/CategoryService.java
...src/main/java/com/wwdz/ch/wx/service/CategoryService.java
+28
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/WxCategoryController.java
...rc/main/java/com/wwdz/ch/wx/web/WxCategoryController.java
+6
-0
No files found.
ch-dao/src/main/java/com/wwdz/ch/db/dao/CategoryDao.java
View file @
a5dd51ae
...
...
@@ -15,6 +15,8 @@ public interface CategoryDao {
Category
findByName
(
String
name
);
List
<
Category
>
queryByName
(
String
name
);
List
<
Category
>
querySelective
(
String
id
,
String
name
,
Integer
page
,
Integer
size
,
String
sort
,
String
order
);
int
updateById
(
Category
category
);
...
...
ch-dao/src/main/java/com/wwdz/ch/db/dao/ItemDao.java
View file @
a5dd51ae
...
...
@@ -13,6 +13,8 @@ public interface ItemDao {
List
<
Item
>
findList
(
CoinRequestDto
coinRequestDto
);
List
<
Item
>
findListNotDeleted
(
CoinRequestDto
coinRequestDto
);
List
<
Item
>
findListByPage
(
CoinRequestDto
coinRequestDto
);
PageInfo
<
Item
>
findByPage
(
CoinRequestDto
coinRequestDto
);
...
...
ch-dao/src/main/java/com/wwdz/ch/db/impl/CategoryDaoImpl.java
View file @
a5dd51ae
...
...
@@ -58,6 +58,12 @@ public class CategoryDaoImpl implements CategoryDao {
return
categoryMapper
.
selectOneByExample
(
example
);
}
public
List
<
Category
>
queryByName
(
String
name
)
{
CategoryExample
example
=
new
CategoryExample
();
example
.
or
().
andNameLike
(
"%"
+
name
+
"%"
).
andIsDeletedEqualTo
(
false
);
return
categoryMapper
.
selectByExample
(
example
);
}
public
List
<
Category
>
querySelective
(
String
id
,
String
name
,
Integer
page
,
Integer
size
,
String
sort
,
String
order
)
{
CategoryExample
example
=
new
CategoryExample
();
...
...
ch-dao/src/main/java/com/wwdz/ch/db/impl/ItemDaoImpl.java
View file @
a5dd51ae
...
...
@@ -52,6 +52,15 @@ public class ItemDaoImpl implements ItemDao {
return
itemMapper
.
selectByExample
(
example
);
}
@Override
public
List
<
Item
>
findListNotDeleted
(
CoinRequestDto
coinRequestDto
)
{
ItemExample
example
=
new
ItemExample
();
ItemExample
.
Criteria
criteria
=
example
.
createCriteria
();
JdbcHelper
.
ifPresent
(
coinRequestDto
.
getIds
(),
criteria:
:
andIdIn
);
criteria
.
andIsDeletedEqualTo
(
false
);
return
itemMapper
.
selectByExampleWithBLOBs
(
example
);
}
@Override
public
List
<
Item
>
findListByPage
(
CoinRequestDto
coinRequestDto
)
{
ItemExample
example
=
new
ItemExample
();
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/config/WebMvcConfiguration.java
View file @
a5dd51ae
...
...
@@ -29,7 +29,9 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
registry
.
addInterceptor
(
loginInterceptor
())
.
addPathPatterns
(
"/**"
)
.
excludePathPatterns
(
"/*.html"
,
"/**/*.html"
,
"/**/*.css"
,
"/**/*.js"
,
"/wx/user/loginByWx"
,
"/wx/user/loginByMobile"
,
"/wx/user/loginRegCaptcha"
,
"/wx/user/updateRegCaptcha"
,
"/wx/item/page"
,
"/wx/item/info"
,
"/wx/favorites/info"
,
"/wx/favorites/itemList"
);
.
excludePathPatterns
(
"/*.html"
,
"/**/*.html"
,
"/**/*.css"
,
"/**/*.js"
,
"/wx/user/loginByWx"
,
"/wx/user/loginByMobile"
,
"/wx/user/loginRegCaptcha"
,
"/wx/user/updateRegCaptcha"
,
"/wx/item/page"
,
"/wx/item/info"
,
"/wx/item/findNames"
,
"/wx/item/recommend"
,
"/wx/favorites/info"
,
"/wx/favorites/itemList"
);
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/CategoryServiceImpl.java
View file @
a5dd51ae
...
...
@@ -63,7 +63,7 @@ public class CategoryServiceImpl implements CategoryService {
i
--;
}
List
<
CategoryResponseVo
>
responseVoList
=
categoryList
.
stream
()
.
map
(
this
::
toCatego
tyResong
seVo
).
collect
(
Collectors
.
toList
());
.
map
(
this
::
toCatego
ryRespon
seVo
).
collect
(
Collectors
.
toList
());
for
(
CategoryResponseVo
vo
:
responseVoList
)
{
if
(
vo
.
getCid
().
equals
(
category
.
getId
()))
{
vo
.
setIsChosen
(
1
);
...
...
@@ -71,10 +71,30 @@ public class CategoryServiceImpl implements CategoryService {
}
return
Result
.
success
(
convertVoList
(
responseVoList
));
}
catch
(
Exception
e
)
{
return
null
;
logger
.
error
(
"搜索分类失败"
,
e
);
return
Result
.
failed
(
"搜索分类失败"
);
}
}
@Override
public
Result
findNames
(
CategoryRequestDto
dto
)
{
if
(
StringUtils
.
isBlank
(
dto
.
getName
()))
{
return
Result
.
success
(
new
ArrayList
<>());
}
try
{
return
Result
.
success
(
categoryDao
.
queryByName
(
dto
.
getName
()));
}
catch
(
Exception
e
)
{
logger
.
error
(
"搜索分类失败"
,
e
);
return
Result
.
failed
(
"搜索分类失败"
);
}
}
/**
* 分类列表树形转换
*
* @param voList
* @return
*/
public
List
<
CategoryResponseVo
>
convertVoList
(
List
<
CategoryResponseVo
>
voList
)
{
Map
<
Integer
,
CategoryResponseVo
>
menuMap
=
new
HashMap
<>();
CategoryResponseVo
root
=
new
CategoryResponseVo
();
...
...
@@ -102,7 +122,7 @@ public class CategoryServiceImpl implements CategoryService {
return
root
.
getChild
();
}
private
CategoryResponseVo
toCatego
tyResong
seVo
(
Category
category
)
{
private
CategoryResponseVo
toCatego
ryRespon
seVo
(
Category
category
)
{
CategoryResponseVo
vo
=
new
CategoryResponseVo
();
vo
.
setCid
(
category
.
getId
());
vo
.
setPid
(
category
.
getPid
());
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/ItemServiceImpl.java
View file @
a5dd51ae
...
...
@@ -9,9 +9,13 @@ import com.wwdz.ch.core.consts.ResultCode;
import
com.wwdz.ch.core.storage.QiniuStorage
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.util.MediaUtil
;
import
com.wwdz.ch.db.bean.EsPageInfo
;
import
com.wwdz.ch.db.bean.ItemOfEs
;
import
com.wwdz.ch.db.dao.*
;
import
com.wwdz.ch.db.domain.*
;
import
com.wwdz.ch.db.dto.request.CoinRequestDto
;
import
com.wwdz.ch.db.dto.request.EsSearchRequestDto
;
import
com.wwdz.ch.db.es.ItemEsDao
;
import
com.wwdz.ch.wx.entity.request.ItemRequestDto
;
import
com.wwdz.ch.wx.entity.vo.AgentTranceResponseVo
;
import
com.wwdz.ch.wx.entity.vo.ItemResponseVo
;
...
...
@@ -39,6 +43,7 @@ import java.io.IOException;
import
java.io.InputStream
;
import
java.net.URL
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Service
public
class
ItemServiceImpl
implements
ItemService
{
...
...
@@ -61,6 +66,8 @@ public class ItemServiceImpl implements ItemService {
private
QiniuStorage
qiniuStorage
;
@Autowired
private
UserDao
userDao
;
@Autowired
private
ItemEsDao
itemEsDao
;
@Override
public
Result
nameList
(
ItemRequestDto
dto
)
{
...
...
@@ -99,52 +106,68 @@ public class ItemServiceImpl implements ItemService {
@Override
public
Result
page
(
ItemRequestDto
dto
)
{
try
{
CoinRequestDto
coinRequestDto
=
new
CoinRequestDto
();
coinRequestDto
.
setPage
(
dto
.
getPage
());
coinRequestDto
.
setLimit
(
dto
.
getSize
());
coinRequestDto
.
setIsExcluded
(
1
);
if
(
StringUtils
.
isNotBlank
(
dto
.
getName
()))
{
coinRequestDto
.
setName
(
dto
.
getName
());
}
PageInfo
<
Item
>
page
=
itemDao
.
findByPage
(
coinRequestDto
);
PageInfo
<
AgentTranceResponseVo
>
result
=
new
PageInfo
<>();
result
.
setPageNum
(
page
.
getPageNum
());
result
.
setPageSize
(
page
.
getPage
Size
());
result
.
setTotal
(
page
.
getTotal
()
);
result
.
setPageNum
(
dto
.
getPage
());
result
.
setPageSize
(
dto
.
get
Size
());
result
.
setTotal
(
0L
);
result
.
setList
(
new
ArrayList
<>());
result
.
setHasNextPage
(
page
.
isHasNextPage
());
if
(
CollectionUtils
.
isEmpty
(
page
.
getList
()))
{
result
.
setHasNextPage
(
false
);
EsSearchRequestDto
esSearchRequestDto
=
new
EsSearchRequestDto
();
esSearchRequestDto
.
setPage
(
dto
.
getPage
());
esSearchRequestDto
.
setSize
(
dto
.
getSize
());
if
(
StringUtils
.
isNotBlank
(
dto
.
getName
()))
{
esSearchRequestDto
.
setContent
(
dto
.
getName
());
}
EsPageInfo
esPageInfo
=
itemEsDao
.
findList
(
esSearchRequestDto
);
if
(
Objects
.
isNull
(
esPageInfo
)
||
CollectionUtils
.
isEmpty
(
esPageInfo
.
getDataList
()))
{
return
Result
.
success
(
result
);
}
List
<
Long
>
ids
=
esPageInfo
.
getDataList
().
stream
().
map
(
s
->
{
ItemOfEs
itemOfEs
=
(
ItemOfEs
)
s
;
return
itemOfEs
.
getId
();
}).
collect
(
Collectors
.
toList
());
CoinRequestDto
coinRequestDto
=
new
CoinRequestDto
();
coinRequestDto
.
setIds
(
ids
);
List
<
Item
>
list
=
itemDao
.
findListNotDeleted
(
coinRequestDto
);
if
(
CollectionUtils
.
isEmpty
(
list
))
{
return
Result
.
success
(
result
);
}
Map
<
Long
,
Item
>
map
=
list
.
stream
().
collect
(
Collectors
.
toMap
(
Item:
:
getId
,
s
->
s
,
(
k1
,
k2
)
->
k2
));
result
.
setTotal
(
esPageInfo
.
getTotal
());
result
.
setHasNextPage
(
esPageInfo
.
getTotal
()
==
10000
);
List
<
AgentTranceResponseVo
>
resultList
=
new
ArrayList
<>();
for
(
Item
item
:
page
.
getList
())
{
esPageInfo
.
getDataList
().
forEach
(
s
->
{
ItemResponseVo
vo
=
new
ItemResponseVo
();
ItemOfEs
es
=
(
ItemOfEs
)
s
;
Item
item
=
map
.
get
(
es
.
getId
());
// 设置基本信息
vo
.
setId
(
item
.
getId
());
vo
.
setName
(
item
.
getName
());
vo
.
setId
(
es
.
getId
());
vo
.
setName
(
es
.
getName
());
vo
.
setDetail
(
item
.
getDetail
());
vo
.
setImages
(
item
.
getImages
());
vo
.
setSourceType
(
item
.
getSourceType
());
// 设置价格
vo
.
setPrice
(
getPrice
(
item
.
getPrice
()));
// 设置图片或视频
vo
.
setHomePageImage
(
getImage
(
item
));
vo
.
setHomePageImage
(
getImage
(
es
,
item
));
// 设置是否收藏和是否是自己发布的
vo
.
setIsCollected
(
0
);
vo
.
setIsMine
(
0
);
if
(!
dto
.
getUserId
().
equals
(
0L
))
{
vo
.
setIsCollected
(
favoritesItemsRelationDao
.
isCollected
(
dto
.
getUserId
(),
item
.
getId
())
?
1
:
0
);
vo
.
setIsMine
(
userItemsRelationDao
.
isExisted
(
dto
.
getUserId
(),
item
.
getId
())
?
1
:
0
);
vo
.
setIsCollected
(
favoritesItemsRelationDao
.
isCollected
(
dto
.
getUserId
(),
es
.
getId
())
?
1
:
0
);
vo
.
setIsMine
(
userItemsRelationDao
.
isExisted
(
dto
.
getUserId
(),
es
.
getId
())
?
1
:
0
);
}
// 设置收藏数
vo
.
setCollectCount
(
getCollectCount
(
item
.
getId
(),
item
.
getSourceType
()));
vo
.
setCollectCount
(
getCollectCount
(
es
.
getId
(),
item
.
getSourceType
()));
AgentTranceResponseVo
agentTranceResponseVo
=
new
AgentTranceResponseVo
();
agentTranceResponseVo
.
setAgentTraceInfo_
(
""
);
agentTranceResponseVo
.
setViewType
(
1
);
agentTranceResponseVo
.
setDetail
(
vo
);
resultList
.
add
(
agentTranceResponseVo
);
}
}
);
result
.
setList
(
resultList
);
logger
.
info
(
"【请求结束】查询首页列表成功"
);
return
Result
.
success
(
result
);
...
...
@@ -537,13 +560,29 @@ public class ItemServiceImpl implements ItemService {
return
null
;
}
private
Map
<
String
,
Object
>
getImage
(
Item
item
)
{
private
Map
<
String
,
Object
>
getImage
(
Item
OfEs
es
,
Item
item
)
{
Map
<
String
,
Object
>
homePageMap
=
new
HashMap
<>();
String
[]
image
=
item
.
getImages
().
split
(
";"
);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"url"
,
""
);
homePageMap
.
put
(
"type"
,
2
);
homePageMap
.
put
(
"width"
,
"0"
);
homePageMap
.
put
(
"height"
,
"0"
);
if
(
StringUtils
.
isNotBlank
(
es
.
getTop_image_path
()))
{
if
(
es
.
getTop_image_path
().
contains
(
"_"
))
{
homePageMap
=
getImageMap
(
es
.
getTop_image_path
());
homePageMap
.
put
(
"url"
,
es
.
getTop_image_path
());
homePageMap
.
put
(
"type"
,
2
);
}
}
else
{
if
(
StringUtils
.
isNotBlank
(
item
.
getImages
()))
{
String
[]
image
=
item
.
getImages
().
split
(
";"
);
homePageMap
.
put
(
"url"
,
image
[
0
]);
if
(
image
[
0
].
contains
(
"_"
))
{
homePageMap
=
getImageMap
(
image
[
0
]);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"type"
,
2
);
}
}
}
if
(
StringUtils
.
isNotBlank
(
item
.
getVideos
()))
{
String
[]
vedioImage
=
item
.
getVideos
().
split
(
";"
);
if
(
vedioImage
[
0
].
contains
(
","
))
{
...
...
@@ -552,12 +591,6 @@ public class ItemServiceImpl implements ItemService {
homePageMap
.
put
(
"url"
,
video
[
1
]);
homePageMap
.
put
(
"type"
,
1
);
}
}
else
{
if
(
image
[
0
].
contains
(
"_"
))
{
homePageMap
=
getImageMap
(
image
[
0
]);
homePageMap
.
put
(
"url"
,
image
[
0
]);
homePageMap
.
put
(
"type"
,
2
);
}
}
return
homePageMap
;
}
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/CategoryService.java
View file @
a5dd51ae
...
...
@@ -4,7 +4,35 @@ import com.wwdz.ch.core.type.Result;
import
com.wwdz.ch.wx.entity.request.CategoryRequestDto
;
public
interface
CategoryService
{
/**
* 按level分页查询
*
* @param dto
* @return
*/
Result
top
(
CategoryRequestDto
dto
);
/**
* 子分类列表查询
*
* @param dto
* @return
*/
Result
child
(
CategoryRequestDto
dto
);
/**
* 按名称搜索精确匹配返回分类的树形列表
*
* @param dto
* @return
*/
Result
find
(
CategoryRequestDto
dto
);
/**
* 按名称搜索模糊匹配返回分类列表
*
* @param dto
* @return
*/
Result
findNames
(
CategoryRequestDto
dto
);
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/WxCategoryController.java
View file @
a5dd51ae
...
...
@@ -68,4 +68,10 @@ public class WxCategoryController {
public
Result
find
(
@RequestBody
CategoryRequestDto
dto
)
{
return
categoryService
.
find
(
dto
);
}
@ApiOperation
(
value
=
"名称模糊联想"
)
@PostMapping
(
value
=
"/findNames"
)
public
Result
findNames
(
@RequestBody
CategoryRequestDto
dto
)
{
return
categoryService
.
findNames
(
dto
);
}
}
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