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
9c89f33a
Commit
9c89f33a
authored
Jul 15, 2020
by
huiyang.chen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
单品特价分摊处理和核销优化券
parent
85b64ab9
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
30 additions
and
12 deletions
+30
-12
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
+13
-11
order-application-service/src/main/java/cn/freemud/service/impl/OrderCommonService.java
+7
-0
order-application-service/src/main/java/cn/freemud/service/impl/TimeSalePromotionService.java
+10
-1
No files found.
order-application-service/src/main/java/cn/freemud/adapter/OrderAdapter.java
View file @
9c89f33a
...
@@ -2511,17 +2511,19 @@ public class OrderAdapter {
...
@@ -2511,17 +2511,19 @@ public class OrderAdapter {
}
}
Long
scoreReduceAmount
=
shoppingCartGoodsResponse
.
getScoreReduceAmount
()
!=
null
?
shoppingCartGoodsResponse
.
getScoreReduceAmount
()
:
0
;
if
(
shoppingCartGoodsResponse
!=
null
)
{
if
(
scoreReduceAmount
>
0
&&
CustomerScoreConstant
.
SUBSTRACT
.
getValue
().
equals
(
createReserveOrderVo
.
getUseCustomerScore
()))
{
Long
scoreReduceAmount
=
shoppingCartGoodsResponse
.
getScoreReduceAmount
()
!=
null
?
shoppingCartGoodsResponse
.
getScoreReduceAmount
()
:
0
;
Integer
reduceScore
=
shoppingCartGoodsResponse
.
getReduceScore
()
!=
null
?
shoppingCartGoodsResponse
.
getReduceScore
().
intValue
()
:
0
;
if
(
scoreReduceAmount
>
0
&&
CustomerScoreConstant
.
SUBSTRACT
.
getValue
().
equals
(
createReserveOrderVo
.
getUseCustomerScore
()))
{
CreateOrderAccountRequest
createOrderAccountDto
=
CreateOrderAccountRequest
.
builder
()
Integer
reduceScore
=
shoppingCartGoodsResponse
.
getReduceScore
()
!=
null
?
shoppingCartGoodsResponse
.
getReduceScore
().
intValue
()
:
0
;
.
accountId
(
""
)
CreateOrderAccountRequest
createOrderAccountDto
=
CreateOrderAccountRequest
.
builder
()
.
name
(
"积分扣减"
)
.
accountId
(
""
)
.
price
(
0
-
scoreReduceAmount
)
.
name
(
"积分扣减"
)
.
accountType
(
getQueryOrderAccountType
(
OldOrderAccountType
.
getByCode
(
OrderAccountType
.
CUSTOMER_SUB
.
getCode
())))
.
price
(
0
-
scoreReduceAmount
)
.
sequence
(
orderAccountIndex
++)
.
accountType
(
getQueryOrderAccountType
(
OldOrderAccountType
.
getByCode
(
OrderAccountType
.
CUSTOMER_SUB
.
getCode
())))
.
build
();
.
sequence
(
orderAccountIndex
++)
sdkUpdateOrderProductInfoRequest
.
getAccounts
().
add
(
createOrderAccountDto
);
.
build
();
sdkUpdateOrderProductInfoRequest
.
getAccounts
().
add
(
createOrderAccountDto
);
}
}
}
// Long cardOriginalAmount = shoppingCartGoodsDto.getCardOriginalAmount() != null ? shoppingCartGoodsDto.getCardOriginalAmount() : 0L;
// Long cardOriginalAmount = shoppingCartGoodsDto.getCardOriginalAmount() != null ? shoppingCartGoodsDto.getCardOriginalAmount() : 0L;
// if (cardOriginalAmount > 0) {
// if (cardOriginalAmount > 0) {
...
...
order-application-service/src/main/java/cn/freemud/service/impl/OrderCommonService.java
View file @
9c89f33a
...
@@ -18,6 +18,7 @@ import cn.freemud.enums.RedisCacheEnum;
...
@@ -18,6 +18,7 @@ import cn.freemud.enums.RedisCacheEnum;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.enums.ResponseResult
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.interceptor.ServiceException
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.redis.RedisCache
;
import
cn.freemud.service.CouponActivityService
;
import
cn.freemud.service.thirdparty.ShoppingCartClient
;
import
cn.freemud.service.thirdparty.ShoppingCartClient
;
import
cn.freemud.utils.DateTimeUtil
;
import
cn.freemud.utils.DateTimeUtil
;
import
cn.freemud.utils.LogUtil
;
import
cn.freemud.utils.LogUtil
;
...
@@ -100,6 +101,8 @@ public class OrderCommonService {
...
@@ -100,6 +101,8 @@ public class OrderCommonService {
private
MessageCenterClient
messageNoticeClient
;
private
MessageCenterClient
messageNoticeClient
;
@Autowired
@Autowired
private
RedisService
redisService
;
private
RedisService
redisService
;
@Autowired
private
CouponActivityService
couponActivityService
;
private
final
Integer
RESPONSE_SUCCESS_CODE
=
100
;
private
final
Integer
RESPONSE_SUCCESS_CODE
=
100
;
/**
/**
...
@@ -272,6 +275,10 @@ public class OrderCommonService {
...
@@ -272,6 +275,10 @@ public class OrderCommonService {
LogUtil
.
error
(
"paySuccessCallback_payAccess_faild"
,
JSON
.
toJSONString
(
message
),
JSON
.
toJSONString
(
groupOrderResponse
));
LogUtil
.
error
(
"paySuccessCallback_payAccess_faild"
,
JSON
.
toJSONString
(
message
),
JSON
.
toJSONString
(
groupOrderResponse
));
return
this
.
newSendPayFaileMessage
();
return
this
.
newSendPayFaileMessage
();
}
}
//若该订单使用了优惠券,则移除卡包,移除失败也不退款
couponActivityService
.
callbackNotify
(
orderBean
);
// 删除订单自增缓存
// 删除订单自增缓存
redisCache
.
delete
(
RedisUtil
.
getPaymentTransIdSequenceKey
(
orderBean
.
getOid
()));
redisCache
.
delete
(
RedisUtil
.
getPaymentTransIdSequenceKey
(
orderBean
.
getOid
()));
// 删除支付交易号订单关系缓存
// 删除支付交易号订单关系缓存
...
...
order-application-service/src/main/java/cn/freemud/service/impl/TimeSalePromotionService.java
View file @
9c89f33a
...
@@ -9,6 +9,7 @@ import cn.freemud.entities.vo.CartGoods;
...
@@ -9,6 +9,7 @@ import cn.freemud.entities.vo.CartGoods;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.enums.ActivityTypeEnum
;
import
cn.freemud.service.IPromotionService
;
import
cn.freemud.service.IPromotionService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang.ObjectUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -70,7 +71,15 @@ public class TimeSalePromotionService implements IPromotionService {
...
@@ -70,7 +71,15 @@ public class TimeSalePromotionService implements IPromotionService {
}
}
Integer
actualGoodsNumber
=
numberMap
.
get
(
product
.
getProductId
());
Integer
actualGoodsNumber
=
numberMap
.
get
(
product
.
getProductId
());
if
(
actualGoodsNumber
>
0
)
{
if
(
actualGoodsNumber
>
0
)
{
Integer
totalDiscountAmount
=
product
.
getQty
()
>
actualGoodsNumber
?
goods
.
getDiscountAmount
()
*
actualGoodsNumber
/
goods
.
getActualGoodsNumber
()
:
goods
.
getDiscountAmount
()
*
product
.
getQty
()
/
goods
.
getActualGoodsNumber
();
// 重新计算单品特价折扣
List
<
CalculationGoodsActivityDto
>
discounts
=
goods
.
getDiscounts
();
Integer
actual
=
0
;
for
(
CalculationGoodsActivityDto
dto:
discounts
)
{
if
(
ObjectUtils
.
equals
(
dto
.
getType
(),
ActivityTypeEnum
.
TYPE_2
.
getCode
())){
actual
+=
dto
.
getDiscount
();
}
}
Integer
totalDiscountAmount
=
product
.
getQty
()
>
actualGoodsNumber
?
actual
*
actualGoodsNumber
/
goods
.
getActualGoodsNumber
()
:
actual
*
product
.
getQty
()
/
goods
.
getActualGoodsNumber
();
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
ActivityDiscountsDto
activityDiscountsDto
=
new
ActivityDiscountsDto
();
activityDiscountsDto
.
setActivityCode
(
goodsDiscount
.
getActivityCode
());
activityDiscountsDto
.
setActivityCode
(
goodsDiscount
.
getActivityCode
());
activityDiscountsDto
.
setActivityName
(
goodsDiscount
.
getActivityName
());
activityDiscountsDto
.
setActivityName
(
goodsDiscount
.
getActivityName
());
...
...
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