Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
order-group
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
order-group-application
order-group
Commits
dfe6de12
Commit
dfe6de12
authored
Sep 13, 2021
by
徐康
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
麦咖啡数据迁移
parent
6d0ad710
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
164 additions
and
34 deletions
+164
-34
order-application-service/pom.xml
+1
-1
order-application-service/src/main/java/cn/freemud/OrderApplication.java
+19
-4
order-application-service/src/main/java/cn/freemud/entities/dto/McCafePushOrderResponseDto.java
+13
-0
order-application-service/src/main/java/cn/freemud/entities/dto/order/McCafePushOrderDto.java
+1
-1
order-application-service/src/main/java/cn/freemud/manager/PushMccafeOrderManager.java
+4
-0
order-application-service/src/main/java/cn/freemud/manager/dao/PushMccafeOrderDao.java
+2
-0
order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
+69
-27
order-application-service/src/main/java/cn/freemud/service/thirdparty/McCafePushOrderClient.java
+19
-0
order-application-service/src/main/resources/mapper/PushMccafeOrderDao.xml
+35
-0
order-management/pom.xml
+1
-1
No files found.
order-application-service/pom.xml
View file @
dfe6de12
...
...
@@ -330,7 +330,7 @@
<dependency>
<groupId>
com.freemud.sdk.api.assortment
</groupId>
<artifactId>
assortment-payment-sdk
</artifactId>
<version>
2.6.
7.RELEASE
</version>
<version>
2.6.
8.SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
org.apache.rocketmq
</groupId>
...
...
order-application-service/src/main/java/cn/freemud/OrderApplication.java
View file @
dfe6de12
...
...
@@ -112,15 +112,30 @@ public class OrderApplication {
executor
.
setRejectedExecutionHandler
(
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
return
executor
;
}
@Bean
(
"mcCafePushOrderExecutor"
)
public
Executor
mcCafePushOrderExecutor
()
{
ThreadPoolTaskExecutor
executor
=
new
ThreadPoolTaskExecutor
();
executor
.
setCorePoolSize
(
1
);
executor
.
setMaxPoolSize
(
1
);
executor
.
setKeepAliveSeconds
(
60
);
executor
.
setQueueCapacity
(
100
);
executor
.
setWaitForTasksToCompleteOnShutdown
(
true
);
executor
.
setAwaitTerminationSeconds
(
60
);
executor
.
setThreadNamePrefix
(
"mcCafePushOrderExecutor-"
);
executor
.
setRejectedExecutionHandler
(
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
return
executor
;
}
@Bean
(
"mcCafePushOrderSubExecutor"
)
public
Executor
mcCafePushOrderSubExecutor
()
{
ThreadPoolTaskExecutor
executor
=
new
ThreadPoolTaskExecutor
();
executor
.
setCorePoolSize
(
8
);
executor
.
setMaxPoolSize
(
10
);
executor
.
setQueueCapacity
(
20000
);
executor
.
setMaxPoolSize
(
16
);
executor
.
setKeepAliveSeconds
(
60
);
executor
.
setThreadNamePrefix
(
"McCafePushOrderExecutor-"
);
executor
.
setQueueCapacity
(
100
);
executor
.
setWaitForTasksToCompleteOnShutdown
(
true
);
executor
.
setAwaitTerminationSeconds
(
60
);
executor
.
setThreadNamePrefix
(
"mcCafePushOrderSubExecutor-"
);
executor
.
setRejectedExecutionHandler
(
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
return
executor
;
}
...
...
order-application-service/src/main/java/cn/freemud/entities/dto/McCafePushOrderResponseDto.java
0 → 100644
View file @
dfe6de12
package
cn
.
freemud
.
entities
.
dto
;
import
lombok.Data
;
@Data
public
class
McCafePushOrderResponseDto
{
private
String
code
;
private
String
message
;
private
String
data
;
}
order-application-service/src/main/java/cn/freemud/entities/dto/
Evaluation
/McCafePushOrderDto.java
→
order-application-service/src/main/java/cn/freemud/entities/dto/
order
/McCafePushOrderDto.java
View file @
dfe6de12
package
cn
.
freemud
.
entities
.
dto
.
Evaluation
;
package
cn
.
freemud
.
entities
.
dto
.
order
;
import
lombok.Data
;
...
...
order-application-service/src/main/java/cn/freemud/manager/PushMccafeOrderManager.java
View file @
dfe6de12
...
...
@@ -19,6 +19,10 @@ public class PushMccafeOrderManager {
@Autowired
private
PushMccafeOrderDao
pushMccafeOrderDao
;
public
PushMccafeOrder
selectOrder
(
String
orderCode
)
{
return
pushMccafeOrderDao
.
selectOrder
(
orderCode
);
}
public
Integer
insertOrder
(
PushMccafeOrder
pushMccafeOrder
)
{
return
pushMccafeOrderDao
.
insertOrder
(
pushMccafeOrder
);
}
...
...
order-application-service/src/main/java/cn/freemud/manager/dao/PushMccafeOrderDao.java
View file @
dfe6de12
...
...
@@ -8,6 +8,8 @@ import org.springframework.stereotype.Repository;
@Repository
public
interface
PushMccafeOrderDao
{
PushMccafeOrder
selectOrder
(
@Param
(
"orderCode"
)
String
orderCode
);
Integer
insertOrder
(
PushMccafeOrder
pushMccafeOrder
);
Integer
updateOrder
(
PushMccafeOrder
pushMccafeOrder
);
...
...
order-application-service/src/main/java/cn/freemud/service/impl/MCCafeOrderServiceImpl.java
View file @
dfe6de12
...
...
@@ -22,7 +22,8 @@ import cn.freemud.base.entity.BaseResponse;
import
cn.freemud.base.util.DateUtil
;
import
cn.freemud.constant.RedisKeyConstant
;
import
cn.freemud.constant.ResponseCodeConstant
;
import
cn.freemud.entities.dto.Evaluation.McCafePushOrderDto
;
import
cn.freemud.entities.db.PushMccafeOrder
;
import
cn.freemud.entities.dto.order.McCafePushOrderDto
;
import
cn.freemud.entities.dto.MCCafeDeliveryBaseResponse
;
import
cn.freemud.entities.dto.PayAccessResponse
;
import
cn.freemud.entities.dto.*
;
...
...
@@ -30,7 +31,6 @@ import cn.freemud.entities.dto.QueryOrdersResponseDto.DataBean.OrderBean;
import
cn.freemud.entities.dto.delivery.*
;
import
cn.freemud.entities.dto.order.CreateOrderOperateDto
;
import
cn.freemud.entities.dto.order.CreatePrepayRequestDto
;
import
cn.freemud.entities.dto.order.RefundQueryRequestDto
;
import
cn.freemud.entities.dto.pay.PaymentMqMessageDto
;
import
cn.freemud.entities.dto.product.AttributeValue
;
import
cn.freemud.entities.dto.product.GroupDetail
;
...
...
@@ -53,6 +53,7 @@ import cn.freemud.management.entities.dto.request.order.MCCafeCouponVo;
import
cn.freemud.management.entities.dto.response.coupon.McdNetBatchQueryResponse
;
import
cn.freemud.management.enums.OrderSource
;
import
cn.freemud.management.service.OrderBaseService
;
import
cn.freemud.manager.PushMccafeOrderManager
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.*
;
import
cn.freemud.service.mccafe.thirdparty.DeliveryFeiginMCCafeClient
;
...
...
@@ -110,9 +111,12 @@ import cn.freemud.service.mccafe.CouponClientService;
import
cn.freemud.service.mccafe.MCCafeOrderCenterSdkService
;
import
com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService
;
import
com.freemud.sdk.api.assortment.order.vo.ProductGroupVo
;
import
com.freemud.sdk.api.assortment.payment.request.OrderRefundQueryRequest
;
import
com.freemud.sdk.api.assortment.payment.request.UnifiedOrderRequest
;
import
com.freemud.sdk.api.assortment.payment.response.OrderRefundQueryResponse
;
import
com.freemud.sdk.api.assortment.payment.response.OrderRefundResponse
;
import
com.freemud.sdk.api.assortment.payment.response.UnifiedOrderResponse
;
import
com.freemud.sdk.api.assortment.payment.service.PaymentCenterService
;
import
com.freemud.sdk.api.assortment.payment.service.StandardPaymentService
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
...
...
@@ -133,7 +137,6 @@ import org.springframework.stereotype.Service;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.util.*
;
import
java.util.concurrent.Executor
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
...
...
@@ -234,12 +237,20 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
private
AssortmentOpenPlatformPartnerConfigManager
openPlatformPartnerConfigManager
;
@Resource
(
name
=
"mcCafePushOrderExecutor"
)
private
ThreadPoolTaskExecutor
executor
;
@Resource
(
name
=
"mcCafePushOrderSubExecutor"
)
private
ThreadPoolTaskExecutor
subExecutor
;
@Autowired
private
OrderDownLoadSdkService
orderDownLoadSdkService
;
@Autowired
private
CustomerClient
customerClient
;
@Autowired
private
MemberCenterService
memberCenterService
;
@Autowired
private
McCafePushOrderClient
mcCafePushOrderClient
;
@Autowired
private
PushMccafeOrderManager
pushMccafeOrderManager
;
@Autowired
private
PaymentCenterService
paymentCenterService
;
private
static
MapperFacade
mapper
=
new
DefaultMapperFactory
.
Builder
().
build
().
getMapperFacade
();
...
...
@@ -2508,7 +2519,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
for
(
int
i
=
1
;;
i
++)
{
OrderConditionsReq
orderConditionsReq
=
new
OrderConditionsReq
();
orderConditionsReq
.
setPartnerId
(
mcCafePartnerId
);
orderConditionsReq
.
setOrderStatuses
(
Arrays
.
asList
(
6
,
7
));
orderConditionsReq
.
setOrderStatuses
(
Arrays
.
asList
(
6
,
7
));
orderConditionsReq
.
setPayStatuses
(
Arrays
.
asList
(
2
,
3
,
5
));
orderConditionsReq
.
setOrderTypes
(
Arrays
.
asList
(
1
,
3
,
5
));
orderConditionsReq
.
setStartTimestamp
(
DateUtil
.
convert2Date
(
queryOrderVo
.
getStartDate
(),
"yyyy-MM-dd HH:mm:ss"
).
getTime
()/
1000
);
...
...
@@ -2521,14 +2532,35 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
break
;
}
List
<
McCafePushOrderDto
>
mcCafePushOrderDtoList
=
new
ArrayList
<>();
for
(
OrderInfoReqs
orderInfoReqs
:
response
.
getResult
())
{
McCafePushOrderDto
mcCafePushOrderDto
=
convert2McCafePushOrderInfo
(
orderInfoReqs
);
try
{
McCafePushOrderDto
mcCafePushOrderDto
=
convert2McCafePushOrderInfo
(
orderInfoReqs
);
System
.
out
.
println
(
JSON
.
toJSONString
(
mcCafePushOrderDto
));
McCafePushOrderResponseDto
responseDto
=
mcCafePushOrderClient
.
mcCafePushOrder
(
mcCafePushOrderDto
);
PushMccafeOrder
pushMccafeOrder
=
new
PushMccafeOrder
();
pushMccafeOrder
.
setOrderCode
(
orderInfoReqs
.
getOrderCode
());
pushMccafeOrder
.
setPartnerId
(
orderInfoReqs
.
getPartnerId
());
pushMccafeOrder
.
setStoreId
(
orderInfoReqs
.
getStoreId
());
if
(!
"100"
.
equals
(
responseDto
.
getCode
()))
{
pushMccafeOrder
.
setStatus
(
0
);
pushMccafeOrder
.
setFailReason
(
responseDto
.
getMessage
());
}
else
{
pushMccafeOrder
.
setStatus
(
1
);
}
pushMccafeOrderManager
.
insertOrder
(
pushMccafeOrder
);
}
catch
(
Exception
e
)
{
AppLogUtil
.
errorLog
(
"麦咖啡历史订单推送失败: "
+
JSON
.
toJSONString
(
orderInfoReqs
)
+
" 异常信息: "
+
ExceptionUtils
.
getExceptionInfo
(
e
),
null
,
null
,
e
);
PushMccafeOrder
pushMccafeOrder
=
new
PushMccafeOrder
();
pushMccafeOrder
.
setOrderCode
(
orderInfoReqs
.
getOrderCode
());
pushMccafeOrder
.
setPartnerId
(
orderInfoReqs
.
getPartnerId
());
pushMccafeOrder
.
setStoreId
(
orderInfoReqs
.
getStoreId
());
pushMccafeOrder
.
setStatus
(
0
);
pushMccafeOrder
.
setFailReason
(
ExceptionUtils
.
getExceptionInfo
(
e
));
pushMccafeOrderManager
.
insertOrder
(
pushMccafeOrder
);
}
}
}
...
...
@@ -2618,7 +2650,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
McCafePushOrderDto
.
OrderItem
orderItem
=
new
McCafePushOrderDto
.
OrderItem
();
orderItem
.
setMpItemId
(
orderItemResp
.
getProductId
());
orderItem
.
setSequenceId
(
orderItemResp
.
getProductSeq
().
toString
());
orderItem
.
setRound
();
orderItem
.
setRound
(
orderItemResp
.
getProductSeq
().
toString
()
);
if
(!
"0"
.
equals
(
orderItemResp
.
getParentProductId
()))
{
orderItem
.
setMpParentItemId
(
orderItemResp
.
getParentProductId
().
split
(
"_"
)[
0
]);
}
...
...
@@ -2681,13 +2713,23 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
orderItem
.
setSubtotal
(
orderItemResp
.
getProductPrice
().
multiply
(
new
BigDecimal
(
orderItemResp
.
getProductQuantity
())).
toPlainString
());
orderItem
.
setDiscountAmount
((
orderItemResp
.
getProductPrice
().
subtract
(
orderItemResp
.
getSalePrice
())).
multiply
(
new
BigDecimal
(
orderItemResp
.
getProductQuantity
())).
toPlainString
());
orderItem
.
setRealAmount
(
orderItemResp
.
getSalePrice
().
multiply
(
new
BigDecimal
(
orderItemResp
.
getProductQuantity
())).
toPlainString
());
orderItem
.
setTaxId
(
orderProductAddInfoDto
.
getTaxId
());
Integer
taxRate
=
getTaxRateByTaxId
(
orderProductAddInfoDto
.
getTaxId
());
orderItem
.
setTaxRate
(
taxRate
.
toString
());
String
taxId
=
"10"
;
orderItem
.
setTaxId
(
taxId
);
Integer
taxRate
=
Double
.
valueOf
(
orderProductAddInfoDto
.
getTax
()*
100
).
intValue
();
orderItem
.
setTaxRate
(
String
.
valueOf
(
taxRate
));
orderItem
.
setTaxAmount
(
String
.
valueOf
(
new
BigDecimal
(
taxRate
).
multiply
(
orderItemResp
.
getSalePrice
())
.
multiply
(
new
BigDecimal
(
orderItemResp
.
getProductQuantity
())).
intValue
()/
100
));
taxTotalAmount
+=
Integer
.
parseInt
(
orderItem
.
getTaxAmount
());
orderItem
.
setTaxAmountDetail
();
McCafePushOrderDto
.
TaxAmountDetail
taxAmountDetail
=
new
McCafePushOrderDto
.
TaxAmountDetail
();
taxAmountDetail
.
setUniqueCode
(
orderItemResp
.
getProductCode
());
McCafePushOrderDto
.
TaxItem
taxItem
=
new
McCafePushOrderDto
.
TaxItem
();
taxItem
.
setRealAmount
(
orderItemResp
.
getSalePrice
().
multiply
(
new
BigDecimal
(
orderItemResp
.
getProductQuantity
())).
intValue
());
taxItem
.
setTaxAmount
(
new
BigDecimal
(
taxRate
).
multiply
(
orderItemResp
.
getSalePrice
())
.
multiply
(
new
BigDecimal
(
orderItemResp
.
getProductQuantity
())).
intValue
()/
100
);
taxItem
.
setTaxId
(
taxId
);
taxItem
.
setTaxRate
(
getTaxRateByTaxId
(
taxId
).
toString
());
taxAmountDetail
.
setTaxItems
(
Arrays
.
asList
(
taxItem
));
orderItem
.
setTaxAmountDetail
(
Arrays
.
asList
(
taxAmountDetail
));
if
(
StringUtils
.
isBlank
(
orderItemResp
.
getParentProductId
())
&&
"0"
.
equals
(
orderItemResp
.
getParentProductId
()))
{
orderItem
.
setCostInclusive
(
null
);
}
else
{
...
...
@@ -2715,16 +2757,16 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
orderPayment
.
setRefundReason
(
afterSalesOrderRespOptional
.
get
().
getAfterSalesReason
());
}
orderPayment
.
setRefundStatus
(
"REFUNDED"
);
// RefundQueryRequestDto refundQueryRequestDto = new RefundQueryRequestDto
();
// refundQueryRequestDto.setPartnerId(mcCafePartnerId
);
// refundQueryRequestDto.setStoreId(orderInfoReqs.getStore
Id());
// refundQueryRequestDto.setFrontTransId(orderExtInfoDto.getEndTransId());
// refundQueryRequestDto.setStationId("1"
);
// refundQueryRequestDto.setOperatorId("sys");
// refundQueryRequestDto.setTransId(orderInfoReqs.getOrderCode());
// refundQueryRequestDto.setClientCode();
orderPayment
.
setChannelRefundTransactionId
(
" "
);
OrderRefundQueryRequest
orderRefundQueryRequest
=
new
OrderRefundQueryRequest
();
orderRefundQueryRequest
.
setOrgTransId
(
orderInfoReqs
.
getOrderCode
()
);
orderRefundQueryRequest
.
setOrgPayFmId
(
orderExtInfoDto
.
getFm
Id
());
com
.
freemud
.
application
.
sdk
.
api
.
base
.
BaseResponse
<
OrderRefundQueryResponse
>
refundQueryResponseBaseResponse
=
paymentCenterService
.
orderRefundQuery
(
orderRefundQueryRequest
,
LogThreadLocal
.
getTrackingNo
()
);
if
(
ResponseConstant
.
SUCCESS_RESPONSE_CODE_STR
.
equals
(
refundQueryResponseBaseResponse
.
getCode
())
&&
null
!=
refundQueryResponseBaseResponse
.
getData
()
&&
ResponseConstant
.
SUCCESS_RESPONSE_CODE
.
equals
(
refundQueryResponseBaseResponse
.
getData
().
getStatusCode
()))
{
orderPayment
.
setChannelRefundTransactionId
(
refundQueryResponseBaseResponse
.
getData
().
getRefundDetail
().
get
(
0
).
getEndTransId
());
}
}
orderPayment
.
setSignType
(
"0"
);
...
...
@@ -2828,7 +2870,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
private
Integer
getTaxRateByTaxId
(
String
taxId
)
{
switch
(
taxId
)
{
default
:
return
0
;
default
:
return
6
;
}
}
...
...
order-application-service/src/main/java/cn/freemud/service/thirdparty/McCafePushOrderClient.java
0 → 100644
View file @
dfe6de12
package
cn
.
freemud
.
service
.
thirdparty
;
import
cn.freemud.annotations.LogIgnoreFeign
;
import
cn.freemud.entities.dto.order.McCafePushOrderDto
;
import
cn.freemud.entities.dto.McCafePushOrderResponseDto
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
@FeignClient
(
url
=
"http://"
)
@RequestMapping
(
produces
=
{
"application/json;charset=UTF-8"
})
public
interface
McCafePushOrderClient
{
@LogIgnoreFeign
(
logMessage
=
"mcCafePushOrder"
)
@PostMapping
(
"/mp/order"
)
McCafePushOrderResponseDto
mcCafePushOrder
(
@RequestBody
McCafePushOrderDto
mcCafePushOrderDto
);
}
order-application-service/src/main/resources/mapper/PushMccafeOrderDao.xml
0 → 100644
View file @
dfe6de12
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"cn.freemud.manager.dao.PushMccafeOrderDao"
>
<sql
id=
"all_column"
>
id,
order_code as orderCode
partner_id as partnerId,
store_id as storeId,
status as status,
fail_reason as failReason,
create_time as createTime,
update_time as updateTime
</sql>
<select
id=
"selectOrder"
resultType=
"cn.freemud.entities.db.PushMccafeOrder"
>
SELECT
<include
refid=
"all_column"
/>
FROM push_mccafe_order WHERE order_code=#{orderCode}
</select>
<insert
id=
"insertOrder"
parameterType=
"cn.freemud.entities.db.PushMccafeOrder"
>
INSERT INTO push_mccafe_order ( order_code, partner_id,store_id,status,fail_reason)
VALUES
( #{orderCode},#{partnerId},#{storeId},#{status},#{failReason} );
</insert>
<update
id=
"updateOrder"
parameterType=
"cn.freemud.entities.db.PushMccafeOrder"
>
updatee push_mccafe_order
set
status = #{status}
where order_code = #{orderCode}
</update>
</mapper>
\ No newline at end of file
order-management/pom.xml
View file @
dfe6de12
...
...
@@ -65,7 +65,7 @@
<dependency>
<groupId>
com.freemud.sdk.api.assortment
</groupId>
<artifactId>
assortment-payment-sdk
</artifactId>
<version>
2.6.8.
RELEASE
</version>
<version>
2.6.8.
SNAPSHOT
</version>
<scope>
provided
</scope>
</dependency>
<dependency>
...
...
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