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
4a039366
Commit
4a039366
authored
Dec 20, 2023
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
寄售单检测
parent
cea5f99e
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
116 additions
and
4 deletions
+116
-4
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/ConsignSaleServiceImpl.java
...n/java/com/wwdz/ch/admin/impl/ConsignSaleServiceImpl.java
+58
-3
ch-dao/src/main/java/com/wwdz/ch/db/dao/ConsignSaleRecordDao.java
...rc/main/java/com/wwdz/ch/db/dao/ConsignSaleRecordDao.java
+8
-0
ch-dao/src/main/java/com/wwdz/ch/db/impl/ConsignSaleDaoImpl.java
...src/main/java/com/wwdz/ch/db/impl/ConsignSaleDaoImpl.java
+1
-1
ch-dao/src/main/java/com/wwdz/ch/db/impl/ConsignSaleRecordDaoImpl.java
...in/java/com/wwdz/ch/db/impl/ConsignSaleRecordDaoImpl.java
+9
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/ConsignSaleServiceImpl.java
...main/java/com/wwdz/ch/wx/impl/ConsignSaleServiceImpl.java
+40
-0
No files found.
ch-admin-api/src/main/java/com/wwdz/ch/admin/impl/ConsignSaleServiceImpl.java
View file @
4a039366
...
@@ -75,6 +75,9 @@ public class ConsignSaleServiceImpl implements ConsignSaleService {
...
@@ -75,6 +75,9 @@ public class ConsignSaleServiceImpl implements ConsignSaleService {
@Override
@Override
public
Result
findList
(
ConsignSaleRequestDto
dto
)
{
public
Result
findList
(
ConsignSaleRequestDto
dto
)
{
try
{
try
{
//检查用户未确认的寄售单是否超时,只检查一页的数据,并非全量数据
checkTimeOutForCancel
();
List
<
ConsignSale
>
list
=
consignSaleDao
.
findByPage
(
dto
);
List
<
ConsignSale
>
list
=
consignSaleDao
.
findByPage
(
dto
);
PageInfo
<
ConsignSale
>
pageInfo
=
new
PageInfo
<>(
list
);
PageInfo
<
ConsignSale
>
pageInfo
=
new
PageInfo
<>(
list
);
if
(
CollectionUtils
.
isEmpty
(
list
))
{
if
(
CollectionUtils
.
isEmpty
(
list
))
{
...
@@ -379,9 +382,61 @@ public class ConsignSaleServiceImpl implements ConsignSaleService {
...
@@ -379,9 +382,61 @@ public class ConsignSaleServiceImpl implements ConsignSaleService {
*/
*/
private
void
checkTimeOutForCancel
(){
private
void
checkTimeOutForCancel
(){
//查询图文估计待用户确认的订单
//查询图文估计待用户确认的订单
ConsignSaleRequestDto
consignSaleRequestDto
=
new
ConsignSaleRequestDto
();
ConsignSaleRequestDto
imgValuateRequestDto
=
new
ConsignSaleRequestDto
();
consignSaleRequestDto
.
setSystemState
(
ConsignSaleEnum
.
SaleForSysStateEnum
.
WAIT_IMG_VALUATE
.
getCode
());
imgValuateRequestDto
.
setSystemState
(
ConsignSaleEnum
.
SaleForSysStateEnum
.
WAIT_IMG_VALUATE
.
getCode
());
List
<
ConsignSale
>
list
=
consignSaleDao
.
findImgValuateConfirmOrdersByPage
(
consignSaleRequestDto
);
List
<
ConsignSale
>
waitConfirmList
=
consignSaleDao
.
findImgValuateConfirmOrdersByPage
(
imgValuateRequestDto
);
for
(
ConsignSale
consignSale
:
waitConfirmList
)
{
//查询图文估价的时间
ConsignSaleRecord
consignSaleRecord
=
consignSaleRecordDao
.
findByType
(
consignSale
.
getSaleId
(),
ConsignSaleEnum
.
OperateTypeEnum
.
WAIT_USER_CONFIRM_VALUATE
.
getCode
());
Date
startTime
=
consignSaleRecord
.
getCreateTime
();
Date
endTime
=
new
Date
();
long
diffInMillies
=
Math
.
abs
(
endTime
.
getTime
()
-
startTime
.
getTime
());
long
diffInHours
=
diffInMillies
/
(
60
*
60
*
1000
);
if
(
diffInHours
>=
24
)
{
//超时未确认取消
ConsignSaleRequestDto
consignSaleRequestDto
=
new
ConsignSaleRequestDto
();
consignSaleRequestDto
.
setSaleId
(
consignSale
.
getSaleId
());
timeOutForCancel
(
consignSaleRequestDto
);
logger
.
info
(
">>>>>> 查询寄售单列表,检测到寄售单号:{} 图文估价超时未确认,更改寄售单状态为已取消,并记录操作节点 <<<<<<<"
,
consignSale
.
getSaleId
());
}
}
//查询实物鉴定待用户确认的订单
ConsignSaleRequestDto
identifyRequestDto
=
new
ConsignSaleRequestDto
();
identifyRequestDto
.
setSystemState
(
ConsignSaleEnum
.
SaleForSysStateEnum
.
IDENTIFY
.
getCode
());
List
<
ConsignSale
>
waitIdentifyConfirmList
=
consignSaleDao
.
findValuateConfirmOrdersByPage
(
identifyRequestDto
);
for
(
ConsignSale
consignSale
:
waitIdentifyConfirmList
)
{
//查询实物鉴定的时间
ConsignSaleRecord
consignSaleRecord
=
consignSaleRecordDao
.
findByType
(
consignSale
.
getSaleId
(),
ConsignSaleEnum
.
OperateTypeEnum
.
WAIT_USER_CONFIRM_IDENTIFY
.
getCode
());
Date
startTime
=
consignSaleRecord
.
getCreateTime
();
Date
endTime
=
new
Date
();
long
diffInMillies
=
Math
.
abs
(
endTime
.
getTime
()
-
startTime
.
getTime
());
long
diffInHours
=
diffInMillies
/
(
60
*
60
*
1000
);
if
(
diffInHours
>=
24
)
{
//超时未确认取消
ConsignSaleRequestDto
consignSaleRequestDto
=
new
ConsignSaleRequestDto
();
consignSaleRequestDto
.
setSaleId
(
consignSale
.
getSaleId
());
timeOutForCancel
(
consignSaleRequestDto
);
logger
.
info
(
">>>>>> 查询寄售单列表,检测到寄售单号:{} 实物鉴定超时未确认,更改寄售单状态为已取消,并记录操作节点 <<<<<<<"
,
consignSale
.
getSaleId
());
}
}
}
@Transactional
public
Result
timeOutForCancel
(
ConsignSaleRequestDto
dto
)
{
try
{
ConsignSale
consignSale
=
new
ConsignSale
();
consignSale
.
setSaleId
(
dto
.
getSaleId
());
consignSale
.
setCustomState
(
ConsignSaleEnum
.
SaleForUserStateEnum
.
CANCEL
.
getCode
());
consignSale
.
setSystemState
(
ConsignSaleEnum
.
SaleForSysStateEnum
.
CANCEL
.
getCode
());
consignSaleDao
.
update
(
consignSale
);
//用户超时未确认,取消寄售单
consignSaleRecordDao
.
insert
(
dto
.
getSaleId
(),
"超时未确认,取消寄售"
,
ConsignSaleEnum
.
OperateTypeEnum
.
TIME_OUT_CANCEL
.
getCode
(),
null
);
return
Result
.
success
();
}
catch
(
Exception
e
)
{
logger
.
error
(
"用户超时未确认,取消寄售单 error : {}"
,
e
);
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
}
return
Result
.
failed
();
}
}
}
}
ch-dao/src/main/java/com/wwdz/ch/db/dao/ConsignSaleRecordDao.java
View file @
4a039366
...
@@ -27,4 +27,12 @@ public interface ConsignSaleRecordDao {
...
@@ -27,4 +27,12 @@ public interface ConsignSaleRecordDao {
* @return
* @return
*/
*/
List
<
ConsignSaleRecord
>
find
(
String
saleId
);
List
<
ConsignSaleRecord
>
find
(
String
saleId
);
/**
* 根据操作类型查询记录
* @param saleId
* @return
*/
ConsignSaleRecord
findByType
(
String
saleId
,
int
type
);
}
}
ch-dao/src/main/java/com/wwdz/ch/db/impl/ConsignSaleDaoImpl.java
View file @
4a039366
...
@@ -86,7 +86,7 @@ public class ConsignSaleDaoImpl implements ConsignSaleDao {
...
@@ -86,7 +86,7 @@ public class ConsignSaleDaoImpl implements ConsignSaleDao {
ConsignSaleExample
.
Criteria
criteria
=
example
.
createCriteria
();
ConsignSaleExample
.
Criteria
criteria
=
example
.
createCriteria
();
JdbcHelper
.
ifPresent
(
dto
.
getUserId
(),
criteria:
:
andUserIdEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getUserId
(),
criteria:
:
andUserIdEqualTo
);
criteria
.
andSystemStateEqualTo
(
dto
.
getSystemState
());
criteria
.
andSystemStateEqualTo
(
dto
.
getSystemState
());
criteria
.
and
Img
ValuationIsNotNull
();
criteria
.
andValuationIsNotNull
();
example
.
orderBy
(
" sale_time asc"
);
example
.
orderBy
(
" sale_time asc"
);
PageHelper
.
startPage
(
dto
.
getPage
(),
dto
.
getLimit
());
PageHelper
.
startPage
(
dto
.
getPage
(),
dto
.
getLimit
());
return
consignSaleMapper
.
selectByExample
(
example
);
return
consignSaleMapper
.
selectByExample
(
example
);
...
...
ch-dao/src/main/java/com/wwdz/ch/db/impl/ConsignSaleRecordDaoImpl.java
View file @
4a039366
...
@@ -48,6 +48,15 @@ public class ConsignSaleRecordDaoImpl implements ConsignSaleRecordDao {
...
@@ -48,6 +48,15 @@ public class ConsignSaleRecordDaoImpl implements ConsignSaleRecordDao {
return
consignSaleRecordMapper
.
selectByExample
(
example
);
return
consignSaleRecordMapper
.
selectByExample
(
example
);
}
}
@Override
public
ConsignSaleRecord
findByType
(
String
saleId
,
int
type
)
{
ConsignSaleRecordExample
example
=
new
ConsignSaleRecordExample
();
ConsignSaleRecordExample
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andSaleIdEqualTo
(
saleId
);
criteria
.
andTypeEqualTo
(
type
);
return
consignSaleRecordMapper
.
selectOneByExample
(
example
);
}
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/ConsignSaleServiceImpl.java
View file @
4a039366
...
@@ -128,6 +128,46 @@ public class ConsignSaleServiceImpl implements ConsignSaleService {
...
@@ -128,6 +128,46 @@ public class ConsignSaleServiceImpl implements ConsignSaleService {
@Override
@Override
public
Result
findList
(
ConsignSaleRequestDto
dto
)
{
public
Result
findList
(
ConsignSaleRequestDto
dto
)
{
try
{
try
{
//检查是否有超时未确认的寄售单,更新寄售单状态
//查询图文鉴定后待用户确认的订单
ConsignSaleRequestDto
imgValuateConfirmOrderDto
=
new
ConsignSaleRequestDto
();
imgValuateConfirmOrderDto
.
setUserId
(
dto
.
getUserId
());
imgValuateConfirmOrderDto
.
setSystemState
(
ConsignSaleEnum
.
SaleForSysStateEnum
.
WAIT_IMG_VALUATE
.
getCode
());
List
<
ConsignSale
>
waitConfirmList
=
consignSaleDao
.
findImgValuateConfirmOrdersByPage
(
imgValuateConfirmOrderDto
);
for
(
ConsignSale
consignSale
:
waitConfirmList
)
{
//查询图文估价的时间
ConsignSaleRecord
consignSaleRecord
=
consignSaleRecordDao
.
findByType
(
consignSale
.
getSaleId
(),
ConsignSaleEnum
.
OperateTypeEnum
.
WAIT_USER_CONFIRM_VALUATE
.
getCode
());
Date
startTime
=
consignSaleRecord
.
getCreateTime
();
Date
endTime
=
new
Date
();
long
diffInMillies
=
Math
.
abs
(
endTime
.
getTime
()
-
startTime
.
getTime
());
long
diffInHours
=
diffInMillies
/
(
60
*
60
*
1000
);
if
(
diffInHours
>=
24
)
{
//超时未确认取消
timeOutForCancel
(
dto
);
logger
.
info
(
">>>>>> 查询寄售单列表,检测到寄售单号:{} 图文估价超时未确认,更改寄售单状态为已取消,并记录操作节点 <<<<<<<"
,
consignSale
.
getSaleId
());
}
}
//查询实物鉴定后待用户确认的订单
ConsignSaleRequestDto
identifyConfirmOrderDto
=
new
ConsignSaleRequestDto
();
identifyConfirmOrderDto
.
setUserId
(
dto
.
getUserId
());
identifyConfirmOrderDto
.
setSystemState
(
ConsignSaleEnum
.
SaleForSysStateEnum
.
IDENTIFY
.
getCode
());
List
<
ConsignSale
>
waitIdentifyConfirmList
=
consignSaleDao
.
findValuateConfirmOrdersByPage
(
identifyConfirmOrderDto
);
for
(
ConsignSale
consignSale
:
waitIdentifyConfirmList
)
{
//查询实物鉴定的时间
ConsignSaleRecord
consignSaleRecord
=
consignSaleRecordDao
.
findByType
(
consignSale
.
getSaleId
(),
ConsignSaleEnum
.
OperateTypeEnum
.
WAIT_USER_CONFIRM_IDENTIFY
.
getCode
());
Date
startTime
=
consignSaleRecord
.
getCreateTime
();
Date
endTime
=
new
Date
();
long
diffInMillies
=
Math
.
abs
(
endTime
.
getTime
()
-
startTime
.
getTime
());
long
diffInHours
=
diffInMillies
/
(
60
*
60
*
1000
);
if
(
diffInHours
>=
24
)
{
//超时未确认取消
timeOutForCancel
(
dto
);
logger
.
info
(
">>>>>> 查询寄售单列表,检测到寄售单号:{} 实物鉴定超时未确认,更改寄售单状态为已取消,并记录操作节点 <<<<<<<"
,
consignSale
.
getSaleId
());
}
}
if
(
StringUtils
.
hasLength
(
dto
.
getSearchParam
()))
{
if
(
StringUtils
.
hasLength
(
dto
.
getSearchParam
()))
{
//判断查询条件是否为中文,是的话就根据商品名称模糊查询
//判断查询条件是否为中文,是的话就根据商品名称模糊查询
if
(
RegexUtil
.
isContainChinese
(
dto
.
getSearchParam
()))
{
if
(
RegexUtil
.
isContainChinese
(
dto
.
getSearchParam
()))
{
...
...
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