记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董敬伟
liquidnet-bus-v1
Commits
1e332918
Commit
1e332918
authored
Mar 18, 2022
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
goblin 帮助前端用店铺券/平台券
parent
8ce909b2
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
60 additions
and
135 deletions
+60
-135
GoblinCouponImpl.java
...quidnet/service/goblin/service/impl/GoblinCouponImpl.java
+54
-6
GoblinOrderUtils.java
...a/com/liquidnet/service/goblin/util/GoblinOrderUtils.java
+0
-128
GoblinOrderUtils.java
...a/com/liquidnet/service/order/utils/GoblinOrderUtils.java
+6
-1
No files found.
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinCouponImpl.java
View file @
1e332918
...
@@ -4,15 +4,14 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
...
@@ -4,15 +4,14 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.candy.vo.CandyCouponRulesVo
;
import
com.liquidnet.service.candy.vo.CandyCouponVo
;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
import
com.liquidnet.service.goblin.constant.GoblinStatusConst
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.entity.GoblinOrderSku
;
import
com.liquidnet.service.goblin.entity.GoblinOrderSku
;
import
com.liquidnet.service.goblin.param.*
;
import
com.liquidnet.service.goblin.param.*
;
import
com.liquidnet.service.goblin.service.GoblinCouponService
;
import
com.liquidnet.service.goblin.service.GoblinCouponService
;
import
com.liquidnet.service.goblin.util.GoblinMongoUtils
;
import
com.liquidnet.service.goblin.util.*
;
import
com.liquidnet.service.goblin.util.GoblinRedisUtils
;
import
com.liquidnet.service.goblin.util.ObjectUtil
;
import
com.liquidnet.service.goblin.util.QueueUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -30,6 +29,8 @@ public class GoblinCouponImpl implements GoblinCouponService {
...
@@ -30,6 +29,8 @@ public class GoblinCouponImpl implements GoblinCouponService {
GoblinMongoUtils
goblinMongoUtils
;
GoblinMongoUtils
goblinMongoUtils
;
@Autowired
@Autowired
QueueUtils
queueUtils
;
QueueUtils
queueUtils
;
@Autowired
GoblinOrderUtils
orderUtils
;
@Override
@Override
public
ArrayList
<
String
>
getSpuType
(
String
spuId
,
String
storeId
)
{
public
ArrayList
<
String
>
getSpuType
(
String
spuId
,
String
storeId
)
{
...
@@ -415,8 +416,9 @@ public class GoblinCouponImpl implements GoblinCouponService {
...
@@ -415,8 +416,9 @@ public class GoblinCouponImpl implements GoblinCouponService {
GoblinUseResultVo
returnVo
;
GoblinUseResultVo
returnVo
;
String
ucouponId
=
params
.
getUcouponId
();
String
ucouponId
=
params
.
getUcouponId
();
String
platformUcouponId
=
params
.
getPlatformUcouponId
();
String
platformUcouponId
=
params
.
getPlatformUcouponId
();
vo
.
setPrice
(
BigDecimal
.
ZERO
);
//店铺券
//店铺券
if
(
ucouponId
!=
null
&&
!
ucouponId
.
equals
(
""
))
{
if
(
ucouponId
!=
null
&&
!
ucouponId
.
equals
(
""
))
{
List
<
GoblinUserCouponVo
>
voList
=
goblinRedisUtils
.
getUserCouponVos
(
params
.
getUid
());
List
<
GoblinUserCouponVo
>
voList
=
goblinRedisUtils
.
getUserCouponVos
(
params
.
getUid
());
for
(
GoblinUserCouponVo
itemVo
:
voList
)
{
for
(
GoblinUserCouponVo
itemVo
:
voList
)
{
if
(
itemVo
.
getUcouponId
().
equals
(
ucouponId
))
{
if
(
itemVo
.
getUcouponId
().
equals
(
ucouponId
))
{
...
@@ -484,7 +486,29 @@ public class GoblinCouponImpl implements GoblinCouponService {
...
@@ -484,7 +486,29 @@ public class GoblinCouponImpl implements GoblinCouponService {
}
}
}
}
}
}
}
vo
.
setUcouponId
(
ucouponId
);
}
else
if
(
platformUcouponId
!=
null
&&
!
platformUcouponId
.
equals
(
""
))
{
CandyCouponVo
candyCouponVo
=
orderUtils
.
getCouponDetails
(
platformUcouponId
);
if
(
candyCouponVo
.
getState
().
equals
(
1
)
&&
(
candyCouponVo
.
getBusiType
().
equals
(
0
)
||
candyCouponVo
.
getBusiType
().
equals
(
2
)))
{
BigDecimal
voucherPrice
;
switch
(
candyCouponVo
.
getCouType
())
{
case
1
:
//代金
vo
.
setPrice
(
candyCouponVo
.
getValFace
());
break
;
case
2
:
//满减
voucherPrice
=
mathPlatformPrice
(
candyCouponVo
,
params
.
getParam
());
if
(
voucherPrice
.
compareTo
(
candyCouponVo
.
getValOver
())
>=
0
)
{
vo
.
setPrice
(
candyCouponVo
.
getValMinus
());
}
break
;
case
4
:
//折扣
voucherPrice
=
mathPlatformPrice
(
candyCouponVo
,
params
.
getParam
());
vo
.
setPrice
(
voucherPrice
.
subtract
(
voucherPrice
.
multiply
(
candyCouponVo
.
getDiscount
())));
break
;
}
}
}
vo
.
setUcouponId
(
ucouponId
);
vo
.
setPlatformUcouponId
(
platformUcouponId
);
vo
.
setPlatformUcouponId
(
platformUcouponId
);
return
vo
;
return
vo
;
}
}
...
@@ -492,6 +516,7 @@ public class GoblinCouponImpl implements GoblinCouponService {
...
@@ -492,6 +516,7 @@ public class GoblinCouponImpl implements GoblinCouponService {
//用券计算金额 返回优惠金额和类型
//用券计算金额 返回优惠金额和类型
private
GoblinUseResultVo
mathCouponPrice
(
GoblinUserCouponVo
vo
,
BigDecimal
contentPrice
)
{
private
GoblinUseResultVo
mathCouponPrice
(
GoblinUserCouponVo
vo
,
BigDecimal
contentPrice
)
{
GoblinUseResultVo
returnVo
=
GoblinUseResultVo
.
getNew
();
GoblinUseResultVo
returnVo
=
GoblinUseResultVo
.
getNew
();
returnVo
.
setValue
(
BigDecimal
.
ZERO
);
if
(
vo
.
getTriggers
().
compareTo
(
contentPrice
)
<=
0
)
{
if
(
vo
.
getTriggers
().
compareTo
(
contentPrice
)
<=
0
)
{
if
(
vo
.
getType
().
equals
(
"1"
))
{
//代金券
if
(
vo
.
getType
().
equals
(
"1"
))
{
//代金券
if
(
vo
.
getValFace
().
compareTo
(
contentPrice
)
>
0
)
{
if
(
vo
.
getValFace
().
compareTo
(
contentPrice
)
>
0
)
{
...
@@ -518,4 +543,27 @@ public class GoblinCouponImpl implements GoblinCouponService {
...
@@ -518,4 +543,27 @@ public class GoblinCouponImpl implements GoblinCouponService {
}
}
return
returnVo
;
return
returnVo
;
}
}
//计算平台券金额
private
BigDecimal
mathPlatformPrice
(
CandyCouponVo
candyCouponVo
,
List
<
CouponCanUse2Param
>
param
)
{
BigDecimal
voucherPrice
=
BigDecimal
.
ZERO
;
for
(
CandyCouponRulesVo
couponRulesVo
:
candyCouponVo
.
getUseRules
())
{
if
(
couponRulesVo
.
getUseScope
().
equals
(
101
))
{
break
;
}
if
(
couponRulesVo
.
getUseScope
().
equals
(
80
))
{
for
(
CouponCanUse2Param
couponCanUse2Param
:
param
)
{
String
orderVoSpuId
=
couponCanUse2Param
.
getSpuId
();
String
pre
=
GoblinStatusConst
.
MarketPreStatus
.
getPre
(
orderVoSpuId
);
if
(
pre
!=
null
)
{
orderVoSpuId
=
orderVoSpuId
.
split
(
pre
)[
0
];
}
if
(
couponRulesVo
.
getBusiId
().
equals
(
orderVoSpuId
))
{
voucherPrice
=
voucherPrice
.
add
(
couponCanUse2Param
.
getPrice
());
}
}
}
}
return
voucherPrice
;
}
}
}
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/GoblinOrderUtils.java
View file @
1e332918
...
@@ -36,119 +36,6 @@ public class GoblinOrderUtils {
...
@@ -36,119 +36,6 @@ public class GoblinOrderUtils {
@Autowired
@Autowired
GoblinRedisUtils
redisUtils
;
GoblinRedisUtils
redisUtils
;
public
AdamRscPolymer01Vo
adamAddressEnterMember
(
String
uid
,
String
enterIds
,
String
addressId
)
{
try
{
MultiValueMap
<
String
,
String
>
header
=
CollectionUtil
.
linkedMultiValueMapStringString
();
header
.
add
(
"Accept"
,
"application/json;charset=UTF-8"
);
MultiValueMap
<
String
,
String
>
params
=
CollectionUtil
.
linkedMultiValueMapStringString
();
params
.
add
(
"addressId"
,
addressId
);
params
.
add
(
"entersIds"
,
enterIds
);
params
.
add
(
"uid"
,
uid
);
String
resultData
=
HttpUtil
.
post
(
adamUrl
+
"/adam/rsc/inquire/of_buy_ticket"
,
params
,
header
);
ResponseDto
<
AdamRscPolymer01Vo
>
vo
=
JsonUtils
.
fromJson
(
resultData
,
new
TypeReference
<
ResponseDto
<
AdamRscPolymer01Vo
>>()
{
});
if
(
null
!=
vo
.
getData
())
{
return
vo
.
getData
();
}
else
{
return
null
;
}
}
catch
(
Exception
e
)
{
log
.
error
(
"获取用户信息,e:{}"
,
e
);
e
.
printStackTrace
();
return
null
;
}
}
//判断 数量限购
public
String
judgeOrderLimit
(
String
uid
,
String
skuId
,
int
number
,
int
limitCount
)
{
int
buyCount
=
redisUtils
.
getSkuCountByUid
(
uid
,
skuId
);
if
(
buyCount
+
number
>
limitCount
)
{
return
"已超出限购数量"
;
}
else
{
int
a
=
redisUtils
.
incrSkuCountByUid
(
uid
,
skuId
,
number
);
return
""
;
}
}
//判断指定人群购买
public
Boolean
judgeOrderRose
(
Boolean
isMember
,
String
skuId
,
String
mobile
,
int
buyFactor
)
{
Boolean
result
=
false
;
switch
(
buyFactor
)
{
case
0
:
result
=
true
;
break
;
case
1
:
result
=
isMember
;
break
;
case
2
:
result
=
redisUtils
.
getSkuCanBuyByUid
(
mobile
,
skuId
);
break
;
}
return
result
;
}
/**
* 使用优惠券
*
* @param uCouponId 券id
* @param content 消费内容
* @param totalPrice 订单总价
* @return
*/
public
HashMap
<
String
,
Object
>
useCoupon
(
String
uCouponId
,
String
content
,
BigDecimal
totalPrice
,
String
spuId
,
String
uid
)
{
HashMap
<
String
,
Object
>
hashMap
=
CollectionUtil
.
mapStringObject
();
try
{
MultiValueMap
<
String
,
String
>
params
=
CollectionUtil
.
linkedMultiValueMapStringString
();
params
.
add
(
"uCouponId"
,
uCouponId
);
params
.
add
(
"content"
,
content
);
params
.
add
(
"totalPrice"
,
totalPrice
.
toString
());
params
.
add
(
"goodId"
,
spuId
);
params
.
add
(
"performanceId"
,
"null"
);
params
.
add
(
"timeId"
,
"null"
);
params
.
add
(
"ticketId"
,
"null"
);
params
.
add
(
"uid"
,
uid
);
MultiValueMap
<
String
,
String
>
header
=
CollectionUtil
.
linkedMultiValueMapStringString
();
header
.
add
(
"Authorization"
,
"Bearer "
+
CurrentUtil
.
getToken
());
header
.
add
(
"Accept"
,
"application/json;charset=UTF-8"
);
log
.
debug
(
"url="
+
candyUrl
+
"/candy-coupon/use"
);
String
returnData
=
HttpUtil
.
post
(
candyUrl
+
"/candy-coupon/use"
,
params
,
header
);
ResponseDto
<
CandyUseResultVo
>
innerReturnVo
=
JsonUtils
.
fromJson
(
returnData
,
new
TypeReference
<
ResponseDto
<
CandyUseResultVo
>>()
{
});
CandyUseResultVo
candyUseResultVo
=
innerReturnVo
.
getData
();
Integer
type
=
candyUseResultVo
.
getCouType
();
BigDecimal
value
=
candyUseResultVo
.
getValue
();
BigDecimal
voucher
=
BigDecimal
.
ZERO
;
switch
(
type
)
{
case
-
1
:
voucher
=
BigDecimal
.
valueOf
(-
1
);
break
;
case
1
:
voucher
=
voucher
.
add
(
value
);
break
;
case
2
:
voucher
=
voucher
.
add
(
value
);
break
;
case
3
:
voucher
=
voucher
.
add
(
totalPrice
);
break
;
case
4
:
voucher
=
totalPrice
.
subtract
(
totalPrice
.
multiply
(
value
));
break
;
default
:
voucher
=
BigDecimal
.
ZERO
;
break
;
}
hashMap
.
put
(
"type"
,
type
);
hashMap
.
put
(
"voucher"
,
voucher
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
));
return
hashMap
;
}
catch
(
Exception
e
)
{
log
.
error
(
"用券ERROR:{}"
,
e
);
hashMap
.
put
(
"type"
,
-
1
);
hashMap
.
put
(
"voucher"
,
0
);
return
hashMap
;
}
}
public
void
backCoupon
(
String
uCouponId
,
String
uid
)
{
public
void
backCoupon
(
String
uCouponId
,
String
uid
)
{
try
{
try
{
BackCouponParam
param
=
BackCouponParam
.
getNew
();
BackCouponParam
param
=
BackCouponParam
.
getNew
();
...
@@ -202,19 +89,4 @@ public class GoblinOrderUtils {
...
@@ -202,19 +89,4 @@ public class GoblinOrderUtils {
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
}
}
public
void
desTask
(
String
uid
,
BigDecimal
price
)
{
try
{
MultiValueMap
<
String
,
String
>
header
=
CollectionUtil
.
linkedMultiValueMapStringString
();
header
.
add
(
"Accept"
,
"application/json;charset=UTF-8"
);
MultiValueMap
<
String
,
String
>
params
=
CollectionUtil
.
linkedMultiValueMapStringString
();
params
.
add
(
"score"
,
price
.
intValue
()
+
""
);
params
.
add
(
"content"
,
"购买商品:"
);
params
.
add
(
"uid"
,
uid
);
String
resultData
=
HttpUtil
.
post
(
stoneUrl
+
"/user/logs/de2111"
,
params
,
header
);
}
catch
(
Exception
e
)
{
log
.
error
(
"添加积分失败,e:{}"
,
e
);
e
.
printStackTrace
();
}
}
}
}
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/GoblinOrderUtils.java
View file @
1e332918
...
@@ -123,7 +123,12 @@ public class GoblinOrderUtils {
...
@@ -123,7 +123,12 @@ public class GoblinOrderUtils {
}
else
{
}
else
{
for
(
String
targetId
:
targetList
)
{
for
(
String
targetId
:
targetList
)
{
for
(
GoblinOrderSku
skuOrderVo
:
goblinOrderSkuList
)
{
for
(
GoblinOrderSku
skuOrderVo
:
goblinOrderSkuList
)
{
if
(
targetId
.
equals
(
skuOrderVo
.
getSpuId
()))
{
String
orderVoSpuId
=
skuOrderVo
.
getSpuId
();
String
pre
=
GoblinStatusConst
.
MarketPreStatus
.
getPre
(
orderVoSpuId
);
if
(
pre
!=
null
){
orderVoSpuId
=
orderVoSpuId
.
split
(
pre
)[
0
];
}
if
(
targetId
.
equals
(
orderVoSpuId
))
{
targetPrice
=
targetPrice
.
add
(
skuOrderVo
.
getSkuPriceActual
());
targetPrice
=
targetPrice
.
add
(
skuOrderVo
.
getSkuPriceActual
());
}
}
}
}
...
...
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