Toggle navigation
Toggle navigation
This project
Loading...
Sign in
ufo
/
yohoufo-fore
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Plain Diff
Browse Files
Authored by
caoyan
6 years ago
Commit
c7510f519a0845e8205da03bc4bc385aa73b0280
2 parents
c935bb4a
13fa1b10
Merge branch 'test6.9.12' of
http://git.yoho.cn/ufo/yohoufo-fore
into test6.9.12
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
34 additions
and
31 deletions
dal/src/main/resources/META-INF/mybatis/order/StorageDepositMapper.xml
order/src/main/java/com/yohoufo/order/service/concurrent/ThreadPoolFactory.java
order/src/main/java/com/yohoufo/order/service/impl/AbsGoodsServiceOrderService.java
order/src/main/java/com/yohoufo/order/service/impl/AppraiseService.java
order/src/main/java/com/yohoufo/order/service/impl/BuyerOrderCancelService.java
dal/src/main/resources/META-INF/mybatis/order/StorageDepositMapper.xml
View file @
c7510f5
...
...
@@ -194,7 +194,7 @@
<update
id=
"updateDepositEndTime"
>
update storage_deposit
set deposit_end_time = #{depositEndTime,jdbcType=INTEGER} ,update_time = #{updateTime,jdbcType=INTEGER}
set deposit_end_time = #{depositEndTime,jdbcType=INTEGER} ,update_time = #{updateTime,jdbcType=INTEGER}
, remind_status = 0
where id = #{depositId,jdbcType=INTEGER} AND del_status = 0 AND owner_uid = #{uid,jdbcType=INTEGER}
</update>
...
...
order/src/main/java/com/yohoufo/order/service/concurrent/ThreadPoolFactory.java
View file @
c7510f5
...
...
@@ -10,14 +10,23 @@ import java.util.concurrent.*;
public
class
ThreadPoolFactory
{
static
class
GoodKids
{
private
static
ForkJoinPool
forkJoinPool
;
private
static
ThreadPoolExecutor
threadpool
;
private
final
static
ForkJoinPool
forkJoinPool
;
private
final
static
ThreadPoolExecutor
threadpool
;
private
final
static
ExecutorService
executorService
;
private
final
static
ExecutorService
appraiseExecutorService
;
private
final
static
ExecutorService
depositRebateExecutorService
;
static
{
int
numberOfProcessorsAvailable
=
Runtime
.
getRuntime
().
availableProcessors
();
forkJoinPool
=
new
ForkJoinPool
(
6
);
threadpool
=
new
ThreadPoolExecutor
(
4
,
10
,
60
,
TimeUnit
.
SECONDS
,
threadpool
=
new
ThreadPoolExecutor
(
numberOfProcessorsAvailable
,
numberOfProcessorsAvailable
*
2
,
60
,
TimeUnit
.
SECONDS
,
new
ArrayBlockingQueue
<>(
100
),
NamedThreadFactory
.
newThreadFactory
(
"buyer-cancel-order"
));
executorService
=
Executors
.
newFixedThreadPool
(
Runtime
.
getRuntime
().
availableProcessors
()
*
2
);
executorService
=
Executors
.
newFixedThreadPool
(
numberOfProcessorsAvailable
*
2
);
//appraise
appraiseExecutorService
=
new
ThreadPoolExecutor
(
numberOfProcessorsAvailable
,
numberOfProcessorsAvailable
*
2
,
60
,
TimeUnit
.
SECONDS
,
new
ArrayBlockingQueue
<>(
1000
),
NamedThreadFactory
.
newThreadFactory
(
"appraise"
));
//
depositRebateExecutorService
=
new
ThreadPoolExecutor
(
numberOfProcessorsAvailable
,
numberOfProcessorsAvailable
*
2
,
60
,
TimeUnit
.
SECONDS
,
new
ArrayBlockingQueue
<>(
10
),
NamedThreadFactory
.
newThreadFactory
(
"depositRebate"
));
}
...
...
@@ -35,4 +44,13 @@ public class ThreadPoolFactory {
public
static
ExecutorService
getCommomExecutorService
(){
return
GoodKids
.
executorService
;
}
public
static
ExecutorService
getAppraiseExecutorService
(){
return
GoodKids
.
appraiseExecutorService
;
}
public
static
ExecutorService
getDepositRebateExecutorService
(){
return
GoodKids
.
depositRebateExecutorService
;
}
}
...
...
order/src/main/java/com/yohoufo/order/service/impl/AbsGoodsServiceOrderService.java
View file @
c7510f5
...
...
@@ -17,21 +17,17 @@ import com.yohoufo.order.constants.AlarmConfig;
import
com.yohoufo.order.model.request.TranseferCellNode
;
import
com.yohoufo.order.model.request.TransferMoneyRequest
;
import
com.yohoufo.order.service.IGoodsService
;
import
com.yohoufo.order.service.
handler.transfer.TransferChancelSelector
;
import
com.yohoufo.order.service.
concurrent.ThreadPoolFactory
;
import
com.yohoufo.order.service.proxy.OrderStatusFlowService
;
import
com.yohoufo.order.service.support.codegenerator.OrderCodeGenerator
;
import
com.yohoufo.order.utils.LoggerUtils
;
import
com.yohoufo.order.utils.NamedThreadFactory
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.slf4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.concurrent.ArrayBlockingQueue
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.ThreadPoolExecutor
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
public
abstract
class
AbsGoodsServiceOrderService
implements
IGoodsService
{
...
...
@@ -46,9 +42,6 @@ public abstract class AbsGoodsServiceOrderService implements IGoodsService {
OrderCodeGenerator
orderCodeGenerator
;
@Autowired
private
TransferChancelSelector
transferChancelSelector
;
@Autowired
TransferService
transferService
;
@Autowired
...
...
@@ -60,9 +53,7 @@ public abstract class AbsGoodsServiceOrderService implements IGoodsService {
@Autowired
UfoOrderPayConfigReader
ufoOrderPayConfigReader
;
private
ExecutorService
executorService
=
new
ThreadPoolExecutor
(
5
,
10
,
60
,
TimeUnit
.
SECONDS
,
new
ArrayBlockingQueue
<>(
1000
),
NamedThreadFactory
.
newThreadFactory
(
"appraise"
));
/**
* 申请寄存返利
...
...
@@ -90,7 +81,7 @@ public abstract class AbsGoodsServiceOrderService implements IGoodsService {
List
<
AppraiseOrder
>
depositCodeList
=
appraiseOrderList
.
stream
()
.
filter
(
appraiseOrder
->
appraiseOrder
.
getAttributes
()
==
OrderAttributes
.
DEPOSITE
.
getCode
())
.
collect
(
Collectors
.
toList
());
final
ExecutorService
executorService
=
ThreadPoolFactory
.
getDepositRebateExecutorService
();
executorService
.
execute
(()
->
{
// 只返4单
int
DEFAULT_REBATE_CNT
=
ufoOrderPayConfigReader
.
depositRebateCnt
();
...
...
order/src/main/java/com/yohoufo/order/service/impl/AppraiseService.java
View file @
c7510f5
...
...
@@ -37,7 +37,7 @@ import com.yohoufo.order.model.response.AppraiseAddressResp;
import
com.yohoufo.order.mq.TopicConstants
;
import
com.yohoufo.order.service.*
;
import
com.yohoufo.order.service.cache.CacheCleaner
;
import
com.yohoufo.order.service.c
ache.CacheKeyBuilder
;
import
com.yohoufo.order.service.c
oncurrent.ThreadPoolFactory
;
import
com.yohoufo.order.service.handler.RefundEarnestMoneyHandler
;
import
com.yohoufo.order.service.handler.RefundGoodsMoneyHandler
;
import
com.yohoufo.order.service.handler.penalty.PenaltyResult
;
...
...
@@ -49,7 +49,6 @@ import com.yohoufo.order.service.proxy.*;
import
com.yohoufo.order.service.seller.orderMeta.SellerAddressService
;
import
com.yohoufo.order.service.seller.setting.SellerService
;
import
com.yohoufo.order.utils.BuyerOrderUtils
;
import
com.yohoufo.order.utils.NamedThreadFactory
;
import
com.yohoufo.order.utils.PaymentHelper
;
import
lombok.Data
;
import
org.apache.commons.collections.CollectionUtils
;
...
...
@@ -61,11 +60,11 @@ import org.springframework.stereotype.Service;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.concurrent.ArrayBlockingQueue
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.util.Set
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.ThreadPoolExecutor
;
import
java.util.concurrent.TimeUnit
;
import
java.util.function.Consumer
;
import
java.util.stream.Collectors
;
...
...
@@ -80,9 +79,7 @@ public class AppraiseService {
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
AppraiseService
.
class
);
private
ExecutorService
executorService
=
new
ThreadPoolExecutor
(
5
,
10
,
60
,
TimeUnit
.
SECONDS
,
new
ArrayBlockingQueue
<>(
1000
),
NamedThreadFactory
.
newThreadFactory
(
"appraise"
));
private
static
final
ExecutorService
executorService
=
ThreadPoolFactory
.
getAppraiseExecutorService
();
@Autowired
private
IExpressInfoService
expressInfoService
;
...
...
@@ -191,8 +188,6 @@ public class AppraiseService {
@Autowired
private
AppraiseOrderGoodsMapper
appraiseOrderGoodsMapper
;
@Autowired
private
BuyerOrderAssistant
buyerOrderAssistant
;
@Autowired
private
IBuyerOrderMetaService
buyerOrderMetaService
;
...
...
order/src/main/java/com/yohoufo/order/service/impl/BuyerOrderCancelService.java
View file @
c7510f5
...
...
@@ -73,8 +73,6 @@ import static org.apache.zookeeper.ZooDefs.OpCode.delete;
@Service
public
class
BuyerOrderCancelService
{
private
ExecutorService
executorService
=
new
ThreadPoolExecutor
(
4
,
10
,
60
,
TimeUnit
.
SECONDS
,
new
ArrayBlockingQueue
<>(
1000
),
NamedThreadFactory
.
newThreadFactory
(
"buyer-order-cancel"
));
private
Logger
logger
=
LoggerUtils
.
getOrderCloseLogger
();
...
...
@@ -656,7 +654,7 @@ public class BuyerOrderCancelService {
private
void
asyncRefundGoodsAmount
()
{
final
ExecutorService
executorService
=
ThreadPoolFactory
.
getBuyerCancelThreadPool
();
executorService
.
execute
(()->{
BigDecimal
leftGoodsMoney
=
buyerOrder
.
getAmount
();
...
...
@@ -678,6 +676,7 @@ public class BuyerOrderCancelService {
}
private
void
saveFailRecord
(
int
uid
,
long
orderCode
,
String
failReason
){
final
ExecutorService
executorService
=
ThreadPoolFactory
.
getBuyerCancelThreadPool
();
executorService
.
execute
(()->
{
BuyerOrderMeta
record
=
new
BuyerOrderMeta
();
record
.
setOrderCode
(
orderCode
);
...
...
Please
register
or
login
to post a comment