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
704fadd1
Commit
704fadd1
authored
Sep 07, 2023
by
muhong
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into applet-dev
parents
250d7146
c6a13318
Changes
16
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
318 additions
and
22 deletions
+318
-22
ch-admin-api/pom.xml
ch-admin-api/pom.xml
+4
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/ItemController.java
...ain/java/com/wwdz/ch/admin/controller/ItemController.java
+3
-1
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/ImportNephriteDataJob.java
...ain/java/com/wwdz/ch/admin/job/ImportNephriteDataJob.java
+184
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/StringArrayExcelReadListener.java
...a/com/wwdz/ch/admin/job/StringArrayExcelReadListener.java
+67
-0
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/SynCoinJob.java
...n-api/src/main/java/com/wwdz/ch/admin/job/SynCoinJob.java
+15
-7
ch-admin-api/src/test/java/com/wwdz/ch/admin/impl/SynCoinJobTest.java
.../src/test/java/com/wwdz/ch/admin/impl/SynCoinJobTest.java
+10
-3
ch-core/pom.xml
ch-core/pom.xml
+10
-0
ch-core/src/main/java/com/wwdz/ch/core/consts/CommonEnum.java
...ore/src/main/java/com/wwdz/ch/core/consts/CommonEnum.java
+1
-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
+2
-5
ch-dao/src/main/java/com/wwdz/ch/db/impl/CategoryDaoImpl.java
...ao/src/main/java/com/wwdz/ch/db/impl/CategoryDaoImpl.java
+0
-2
ch-dao/src/main/java/com/wwdz/ch/db/impl/ItemDaoImpl.java
ch-dao/src/main/java/com/wwdz/ch/db/impl/ItemDaoImpl.java
+3
-1
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/request/CategoryRequestDto.java
...ava/com/wwdz/ch/wx/entity/request/CategoryRequestDto.java
+3
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/CategoryServiceImpl.java
...rc/main/java/com/wwdz/ch/wx/impl/CategoryServiceImpl.java
+5
-1
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/CategoryService.java
...src/main/java/com/wwdz/ch/wx/service/CategoryService.java
+2
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/QueryPriceController.java
...rc/main/java/com/wwdz/ch/wx/web/QueryPriceController.java
+7
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/WxCategoryController.java
...rc/main/java/com/wwdz/ch/wx/web/WxCategoryController.java
+2
-1
No files found.
ch-admin-api/pom.xml
View file @
704fadd1
...
...
@@ -120,6 +120,10 @@
<artifactId>
jackson-annotations
</artifactId>
<version>
2.12.4
</version>
</dependency>
<dependency>
<groupId>
org.springframework
</groupId>
<artifactId>
spring-test
</artifactId>
</dependency>
</dependencies>
...
...
ch-admin-api/src/main/java/com/wwdz/ch/admin/controller/ItemController.java
View file @
704fadd1
...
...
@@ -109,8 +109,10 @@ public class ItemController {
}
//
@GetMapping("/synToEs")
@GetMapping
(
"/synToEs"
)
public
void
synToEs
()
{
synCoinJob
.
synItemToEs
();
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/ImportNephriteDataJob.java
0 → 100644
View file @
704fadd1
package
com.wwdz.ch.admin.job
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.EasyExcelFactory
;
import
com.alibaba.excel.ExcelReader
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.event.AnalysisEventListener
;
import
com.alibaba.excel.read.listener.ReadListener
;
import
com.alibaba.excel.read.metadata.ReadSheet
;
import
com.wwdz.ch.core.consts.CommonEnum
;
import
com.wwdz.ch.core.consts.ItemKindEnum
;
import
com.wwdz.ch.core.consts.ItemStateEnum
;
import
com.wwdz.ch.db.dao.ItemDao
;
import
com.wwdz.ch.db.domain.Item
;
import
com.xxdxxs.utils.DateUtils
;
import
com.xxdxxs.utils.ExcelRead
;
import
com.xxdxxs.utils.JsonUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.repository.init.ResourceReader
;
import
org.springframework.mock.web.MockMultipartFile
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.io.*
;
import
java.text.DecimalFormat
;
import
java.util.*
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.stream.IntStream
;
@Component
public
class
ImportNephriteDataJob
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ImportNephriteDataJob
.
class
);
private
final
static
String
FILE_NAME
=
"nephrite.xlsx"
;
private
final
static
String
FILE_PATH
=
"/nephrite.xlsx"
;
private
final
static
String
PRE_URL
=
"https://cdn.wanwudezhi.com"
;
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
10
);
@Autowired
ItemDao
itemDao
;
public
void
execute
()
{
logger
.
info
(
"-------------------- 开始执行, 导入和田玉excel数据 -------------------- "
);
try
{
InputStream
inputStream
=
this
.
getClass
().
getClassLoader
().
getResourceAsStream
(
FILE_NAME
);
StringArrayExcelReadListener
listener
=
new
StringArrayExcelReadListener
();
ExcelReader
reader
=
EasyExcelFactory
.
read
(
inputStream
,
listener
).
build
();
ReadSheet
readSheet
=
EasyExcel
.
readSheet
(
0
).
build
();
reader
.
read
(
readSheet
);
reader
.
finish
();
List
<
String
>
head
=
listener
.
getHead
();
logger
.
info
(
"excel title = {}"
,
head
);
List
<
List
<
String
>>
dataList
=
listener
.
getData
();
logger
.
info
(
">>>>>>>>>> excel 读取数据 : {} 条"
,
dataList
.
size
());
Date
time
=
DateUtils
.
parseString
(
"2022-10-01 00:00:00"
);
dataList
.
parallelStream
().
forEach
(
array
->
{
String
oldId
=
array
.
get
(
0
);
try
{
String
bidTime
=
array
.
get
(
1
);
long
price
=
StringUtils
.
isEmpty
(
array
.
get
(
4
))
?
0
:
Math
.
round
((
Double
.
valueOf
(
array
.
get
(
4
)))
*
100
);
String
name
=
array
.
get
(
5
);
String
videos
=
array
.
get
(
6
);
if
(
StringUtils
.
hasLength
(
videos
))
{
List
<
String
>
newVideoList
=
new
ArrayList
<>();
List
<
String
>
videoList
=
Arrays
.
asList
(
videos
.
split
(
";"
));
StringBuffer
stringBuffer
=
new
StringBuffer
();
videoList
.
forEach
(
v
->
{
String
video
=
PRE_URL
+
v
;
newVideoList
.
add
(
video
);
});
videos
=
String
.
join
(
";"
,
newVideoList
);
}
String
images
=
array
.
get
(
7
);
if
(
StringUtils
.
hasLength
(
images
))
{
List
<
String
>
newImageList
=
new
ArrayList
<>();
List
<
String
>
imageList
=
Arrays
.
asList
(
images
.
split
(
";"
));
StringBuffer
stringBuffer
=
new
StringBuffer
();
imageList
.
forEach
(
i
->
{
String
image
=
PRE_URL
+
i
;
newImageList
.
add
(
image
);
});
images
=
String
.
join
(
";"
,
newImageList
);
}
String
detail
=
null
;
try
{
detail
=
array
.
get
(
8
);
}
catch
(
Exception
e
)
{
}
Map
<
String
,
Object
>
arrMap
=
new
HashMap
<>();
IntStream
.
rangeClosed
(
9
,
18
).
forEach
(
i
->
{
try
{
String
attribute
=
array
.
get
(
i
);
if
(
StringUtils
.
hasLength
(
attribute
))
{
String
[]
arr
=
attribute
.
split
(
":"
);
if
(
arr
.
length
>
1
)
;
arrMap
.
put
(
arr
[
0
],
arr
[
1
]);
// logger.info("id :{}, array[{}]: {}", oldId, i, attribute);
}
}
catch
(
Exception
e
)
{
}
});
arrMap
.
put
(
"oldId"
,
oldId
);
String
extra
=
JsonUtils
.
fromMap
(
arrMap
);
// logger.info("id : {}, extra : {}", oldId, extra);
Item
item
=
new
Item
();
item
.
setName
(
name
);
item
.
setCid
(
1009596
);
item
.
setExtra
(
extra
);
item
.
setIsOnSale
(
false
);
item
.
setIsStd
(
false
);
item
.
setSort
(
1
);
item
.
setImages
(
images
);
item
.
setVideos
(
videos
);
item
.
setShareImage
(
null
);
item
.
setTopImage
(
null
);
item
.
setPrice
(
price
);
item
.
setDetail
(
detail
);
item
.
setCreateTime
(
time
);
item
.
setSourceType
(
CommonEnum
.
SourceTypeEnum
.
SYSTEM_GET
.
getCode
());
item
.
setUpdateTime
(
time
);
item
.
setIsDeleted
(
false
);
item
.
setBidTime
(
bidTime
);
item
.
setRemark
(
null
);
item
.
setState
(
ItemStateEnum
.
PENDING
.
getCode
());
item
.
setOriginalSourceUrl
(
null
);
item
.
setOriginalExtra
(
null
);
item
.
setSource
(
CommonEnum
.
SourceEnum
.
OTHER_CHANNEL
.
getCode
());
item
.
setKind
(
ItemKindEnum
.
NEPHRITE
.
getCode
());
logger
.
info
(
" >>>>> item = {}"
,
item
);
itemDao
.
insert
(
item
);
logger
.
info
(
">>>> id : {}, insert success !<<<<"
,
oldId
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"导入excel数据id :{}, error:{}"
,
oldId
,
e
);
}
});
logger
.
info
(
">>>>>>>>>>>>>>>>>>>>> 导入和田玉excel数据完成 <<<<<<<<<<<<<<<<<<<"
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"导入excel数据出错 :{}"
,
e
);
}
}
/* public static void main(String[] args) throws IOException {
InputStream inputStream = ImportNephriteDataJob.class.getClassLoader().getResourceAsStream(FILE_NAME);
MultipartFile multipartFile = new MockMultipartFile(FILE_NAME, FILE_NAME, ".xlsx", inputStream);
System.out.println(multipartFile.getOriginalFilename());
excelImport();
}*/
public
static
void
excelImport
()
throws
IOException
{
InputStream
inputStream
=
ImportNephriteDataJob
.
class
.
getClassLoader
().
getResourceAsStream
(
FILE_NAME
);
// MultipartFile multipartFile = new MockMultipartFile(FILE_NAME, FILE_NAME, ".xlsx", inputStream);
StringArrayExcelReadListener
listener
=
new
StringArrayExcelReadListener
();
ExcelReader
reader
=
EasyExcelFactory
.
read
(
inputStream
,
listener
).
build
();
// 读取Sheet,从第0行开始读取(表示从表头开始读)
ReadSheet
readSheet
=
EasyExcel
.
readSheet
(
0
).
build
();
reader
.
read
(
readSheet
);
reader
.
finish
();
List
<
String
>
head
=
listener
.
getHead
();
System
.
out
.
println
(
JsonUtils
.
from
(
head
));
List
<
List
<
String
>>
data
=
listener
.
getData
();
System
.
out
.
println
(
JsonUtils
.
from
(
data
));
}
public
static
void
main
(
String
[]
args
)
{
String
a
=
"1304"
;
long
price
=
StringUtils
.
isEmpty
(
a
)
?
0
:
Math
.
round
((
Double
.
valueOf
(
a
))
*
100
);
System
.
out
.
println
(
price
);
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/StringArrayExcelReadListener.java
0 → 100644
View file @
704fadd1
package
com.wwdz.ch.admin.job
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.event.AnalysisEventListener
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
public
class
StringArrayExcelReadListener
extends
AnalysisEventListener
<
Map
<
String
,
String
>>
{
/**
* 存储读取到的表头
*/
private
List
<
String
>
head
=
new
ArrayList
<>();
/**
* 存储读取到的 Excel 数据
*/
private
List
<
List
<
String
>>
data
=
new
ArrayList
<>();
/**
* 每解析一行都会回调invoke()方法
* @param item 读取后的数据对象
* @param context 内容
*/
@Override
public
void
invoke
(
Map
<
String
,
String
>
item
,
AnalysisContext
context
)
{
if
(
item
!=
null
&&
!
item
.
isEmpty
())
{
List
<
String
>
info
=
item
.
entrySet
().
stream
().
map
(
e
->
e
.
getValue
()).
collect
(
Collectors
.
toList
());
data
.
add
(
info
);
}
}
@Override
public
void
doAfterAllAnalysed
(
AnalysisContext
context
)
{
}
/**
* 处理读取到的表头数据
* @param headMap
* @param context
*/
@Override
public
void
invokeHeadMap
(
Map
<
Integer
,
String
>
headMap
,
AnalysisContext
context
)
{
if
(
headMap
!=
null
&&
!
headMap
.
isEmpty
())
{
head
=
headMap
.
entrySet
().
stream
().
map
(
e
->
e
.
getValue
()).
collect
(
Collectors
.
toList
());
}
}
/**
* 获取表头数据信息
* @return
*/
public
List
<
String
>
getHead
()
{
return
this
.
head
;
}
/**
* 获取读取到的 Excel 数据
* @return
*/
public
List
<
List
<
String
>>
getData
()
{
return
this
.
data
;
}
}
ch-admin-api/src/main/java/com/wwdz/ch/admin/job/SynCoinJob.java
View file @
704fadd1
package
com.wwdz.ch.admin.job
;
import
com.github.pagehelper.PageInfo
;
import
com.wwdz.ch.core.consts.CommConsts
;
import
com.wwdz.ch.core.consts.CommonEnum
;
import
com.wwdz.ch.core.consts.ItemStateEnum
;
import
com.wwdz.ch.core.consts.MediaTypeEnum
;
import
com.wwdz.ch.core.consts.*
;
import
com.wwdz.ch.core.storage.QiniuStorage
;
import
com.wwdz.ch.core.util.RedisUtils
;
import
com.wwdz.ch.db.bean.ItemOfEs
;
...
...
@@ -46,7 +43,7 @@ public class SynCoinJob {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
SynCoinJob
.
class
);
private
String
QUANKU_SYN_TO_ES_TASK_KEY
=
"QUANKU_SYN
_TO_ES_TASK_KEY"
;
private
String
SYN_NEPHRITE_TO_ES_TASK_KEY
=
"SYN_NEPHRITE
_TO_ES_TASK_KEY"
;
@Autowired
ItemDao
itemDao
;
...
...
@@ -191,11 +188,17 @@ public class SynCoinJob {
public
void
synItemToEs
()
{
RLock
lock
=
redissonClient
.
getLock
(
SYN_NEPHRITE_TO_ES_TASK_KEY
);
if
(!
lock
.
tryLock
())
{
logger
.
warn
(
"当前服务实例: {} 获取锁失败,锁被占用, 不允许执行同步和田玉数据到ES作业"
,
Thread
.
currentThread
().
getId
());
return
;
}
try
{
ExecutorService
executorService
=
Executors
.
newFixedThreadPool
(
10
);
CoinRequestDto
coinRequestDto
=
new
CoinRequestDto
();
coinRequestDto
.
setPage
(
1
);
coinRequestDto
.
setLimit
(
100
);
coinRequestDto
.
setKind
(
ItemKindEnum
.
NEPHRITE
.
getCode
());
PageInfo
<
Item
>
pageInfo
=
itemDao
.
findPageExcludeFilter
(
coinRequestDto
);
int
totalPageNum
=
pageInfo
.
getPages
();
logger
.
info
(
"total page : {}, total : {}"
,
totalPageNum
,
pageInfo
.
getTotal
());
...
...
@@ -213,12 +216,17 @@ public class SynCoinJob {
logger
.
info
(
">>>>>>>>>>>>>>>>>数据同步es 完成 SUCCESS!!!!! <<<<<<<<<<<<<<<<<"
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"同步数据到es error {}"
,
e
);
}
finally
{
if
(
lock
!=
null
&&
lock
.
isHeldByCurrentThread
())
{
lock
.
unlock
();
logger
.
info
(
"======================== 线程id: {} , 同步和田玉数据到ES作业 释放锁成功 ========================"
,
Thread
.
currentThread
().
getId
());
}
}
}
public
void
syn
(){
RLock
lock
=
redissonClient
.
getLock
(
QUANKU_SYN
_TO_ES_TASK_KEY
);
/* RLock lock = redissonClient.getLock(SYN_NEPHRITE
_TO_ES_TASK_KEY);
if (!lock.tryLock()) {
logger.warn("当前服务实例获取锁成功: {} 获取锁失败,锁被占用, 不允许执行同步订单作业", Thread.currentThread().getId());
return;
...
...
@@ -232,6 +240,6 @@ public class SynCoinJob {
lock.unlock();
logger.info("======================== 线程id: {} , 释放锁成功 ========================", Thread.currentThread().getId());
}
}
}
*/
}
}
ch-admin-api/src/test/java/com/wwdz/ch/admin/impl/SynCoinJobTest.java
View file @
704fadd1
package
com.wwdz.ch.admin.impl
;
import
com.wwdz.ch.admin.job.ImportNephriteDataJob
;
import
com.wwdz.ch.admin.job.SynCoinJob
;
import
com.wwdz.ch.admin.job.SynItemToEsJob
;
import
com.wwdz.ch.db.dao.ItemDao
;
...
...
@@ -11,9 +12,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
import
java.util.Date
;
import
static
org
.
junit
.
Assert
.*;
@SpringBootTest
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
public
class
SynCoinJobTest
{
...
...
@@ -30,6 +28,9 @@ public class SynCoinJobTest {
@Autowired
ItemDao
itemDao
;
@Autowired
ImportNephriteDataJob
importNephriteDataJob
;
@Test
public
void
execute
()
{
synCoinJob
.
execute
();
...
...
@@ -70,4 +71,10 @@ public class SynCoinJobTest {
public
void
getMaxTime
()
throws
Exception
{
itemEsDao
.
getMaxTime
();
}
@Test
public
void
importNephriteData
()
throws
Exception
{
importNephriteDataJob
.
execute
();
}
}
\ No newline at end of file
ch-core/pom.xml
View file @
704fadd1
...
...
@@ -118,6 +118,10 @@
<artifactId>
druid
</artifactId>
<groupId>
com.alibaba
</groupId>
</exclusion>
<exclusion>
<artifactId>
poi-ooxml
</artifactId>
<groupId>
org.apache.poi
</groupId>
</exclusion>
</exclusions>
</dependency>
...
...
@@ -168,6 +172,12 @@
<version>
2.0.23
</version>
</dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<artifactId>
easyexcel
</artifactId>
<version>
2.2.6
</version>
</dependency>
</dependencies>
</project>
ch-core/src/main/java/com/wwdz/ch/core/consts/CommonEnum.java
View file @
704fadd1
...
...
@@ -86,7 +86,7 @@ public class CommonEnum {
CA
(
10
,
"CA"
),
YXY
(
11
,
"YXY"
),
USER_UPLOAD
(
1000
,
"用户上传"
),
OTHER_CHANNEL
(
2000
,
"内部其它渠道"
),
;
private
int
code
;
...
...
ch-dao/src/main/java/com/wwdz/ch/db/es/ItemEsDao.java
View file @
704fadd1
...
...
@@ -36,11 +36,8 @@ public class ItemEsDao {
@Value
(
"${spring.elasticsearch.rest.index}"
)
private
String
INDEX
;
//商品来源是中国,所对应的编码
private
final
static
List
<
String
>
CHINESE_SOURCE_LIST
=
Arrays
.
asList
(
"1"
,
"2"
,
"3"
,
"7"
,
"11"
,
"1000"
);
//来源中国,排除2,7,尚未去除水印的
private
final
static
List
<
String
>
SOURCE_LIST
=
Arrays
.
asList
(
"1"
,
"3"
,
"8"
,
"11"
,
"1000"
);
//来源中国,排除2,7,尚未去除水印的,2000代表和田玉
private
final
static
List
<
String
>
SOURCE_LIST
=
Arrays
.
asList
(
"1"
,
"3"
,
"8"
,
"11"
,
"1000"
,
"2000"
);
@Resource
(
name
=
"clientByPasswd"
)
ElasticsearchClient
elasticsearchClient
;
...
...
ch-dao/src/main/java/com/wwdz/ch/db/impl/CategoryDaoImpl.java
View file @
704fadd1
...
...
@@ -65,8 +65,6 @@ public class CategoryDaoImpl implements CategoryDao {
return
categoryMapper
.
selectByExample
(
example
);
}
public
Category
findById
(
Integer
id
)
{
return
categoryMapper
.
selectByPrimaryKey
(
id
);
}
...
...
ch-dao/src/main/java/com/wwdz/ch/db/impl/ItemDaoImpl.java
View file @
704fadd1
...
...
@@ -23,7 +23,7 @@ import java.util.stream.IntStream;
public
class
ItemDaoImpl
implements
ItemDao
{
//商品来源是中国,所对应的编码
private
final
static
List
<
Integer
>
CHINESE_SOURCE_LIST
=
Arrays
.
asList
(
1
,
2
,
3
,
7
,
8
,
10
,
11
,
1000
);
private
final
static
List
<
Integer
>
CHINESE_SOURCE_LIST
=
Arrays
.
asList
(
1
,
2
,
3
,
7
,
8
,
10
,
11
,
1000
,
2000
);
@Autowired
ItemMapper
itemMapper
;
...
...
@@ -114,6 +114,8 @@ public class ItemDaoImpl implements ItemDao {
@Override
public
PageInfo
<
Item
>
findPageExcludeFilter
(
CoinRequestDto
coinRequestDto
)
{
ItemExample
example
=
new
ItemExample
();
ItemExample
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andKindEqualTo
(
coinRequestDto
.
getKind
());
PageHelper
.
startPage
(
coinRequestDto
.
getPage
(),
coinRequestDto
.
getLimit
());
List
<
Item
>
list
=
itemMapper
.
selectByExampleWithBLOBs
(
example
);
return
new
PageInfo
<>(
list
);
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/request/CategoryRequestDto.java
View file @
704fadd1
...
...
@@ -3,6 +3,8 @@ package com.wwdz.ch.wx.entity.request;
import
com.xxdxxs.entity.Entity
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
CategoryRequestDto
implements
Entity
{
private
Integer
id
;
...
...
@@ -11,4 +13,5 @@ public class CategoryRequestDto implements Entity {
private
Integer
size
;
private
String
name
;
private
Integer
pid
;
private
List
<
Integer
>
pidList
;
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/CategoryServiceImpl.java
View file @
704fadd1
...
...
@@ -8,7 +8,6 @@ import com.wwdz.ch.db.dto.request.CategorySearchRequestDto;
import
com.wwdz.ch.wx.entity.TransverseCategory
;
import
com.wwdz.ch.wx.entity.request.CategoryRequestDto
;
import
com.wwdz.ch.wx.entity.vo.CategoryResponseVo
;
import
com.wwdz.ch.wx.entity.vo.CategoryVo
;
import
com.wwdz.ch.wx.entity.vo.TransverseCategoryVo
;
import
com.wwdz.ch.wx.service.CategoryService
;
import
org.apache.commons.collections.CollectionUtils
;
...
...
@@ -45,6 +44,9 @@ public class CategoryServiceImpl implements CategoryService {
public
Result
child
(
CategoryRequestDto
dto
)
{
try
{
logger
.
info
(
"【请求结束】查询子类目成功"
);
if
(!
CollectionUtils
.
isEmpty
(
dto
.
getPidList
()))
{
return
Result
.
success
(
categoryDao
.
queryByPids
(
dto
.
getPidList
()));
}
return
Result
.
success
(
categoryDao
.
queryByPid
(
dto
.
getId
()));
}
catch
(
Exception
e
)
{
logger
.
error
(
"查询子类目失败"
,
e
);
...
...
@@ -208,4 +210,6 @@ public class CategoryServiceImpl implements CategoryService {
}
return
Result
.
failed
();
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/CategoryService.java
View file @
704fadd1
...
...
@@ -50,4 +50,6 @@ public interface CategoryService {
* @return
*/
Result
findCategoryByTransverse
(
CategoryRequestDto
dto
);
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/QueryPriceController.java
View file @
704fadd1
...
...
@@ -57,4 +57,11 @@ public class QueryPriceController {
public
Result
findTransverseCategory
(
@RequestBody
CategoryRequestDto
dto
)
{
return
categoryService
.
findCategoryByTransverse
(
dto
);
}
@ApiOperation
(
value
=
"查询所有叶子类目"
)
@PostMapping
(
"/findAllChildCategory"
)
public
Result
findAllChildCategory
(
@RequestBody
CategoryRequestDto
dto
)
{
return
categoryService
.
findCategoryByTransverse
(
dto
);
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/WxCategoryController.java
View file @
704fadd1
...
...
@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiOperation;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -43,7 +44,7 @@ public class WxCategoryController {
@PostMapping
(
value
=
"/child"
)
public
Result
child
(
@RequestBody
CategoryRequestDto
dto
)
{
logger
.
info
(
"【请求开始】查询子分类列表,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
if
(
Objects
.
isNull
(
dto
.
getId
()))
{
if
(
Objects
.
isNull
(
dto
.
getId
())
&&
CollectionUtils
.
isEmpty
(
dto
.
getPidList
())
)
{
return
Result
.
failed
(
"分类id不能为空"
);
}
return
categoryService
.
child
(
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