记得上下班打卡 | 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
1652e54d
Commit
1652e54d
authored
Aug 27, 2021
by
张国柄
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev_member_voucher_refund' into dev_member_voucher_refund
parents
fe9ca421
94c8c594
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
103 additions
and
40 deletions
+103
-40
BackCouponParam.java
...va/com/liquidnet/service/candy/param/BackCouponParam.java
+46
-0
ICandyCouponService.java
.../liquidnet/service/candy/service/ICandyCouponService.java
+2
-1
liquidnet-service-candy.yml
...t-bus-config/liquidnet-config/liquidnet-service-candy.yml
+2
-1
CandyCouponController.java
...idnet/service/candy/controller/CandyCouponController.java
+7
-5
CandyCouponServiceImpl.java
...et/service/candy/service/impl/CandyCouponServiceImpl.java
+33
-31
KylinOrderTicketsServiceImpl.java
...vice/order/service/impl/KylinOrderTicketsServiceImpl.java
+4
-0
OrderUtils.java
...in/java/com/liquidnet/service/order/utils/OrderUtils.java
+8
-2
errors.properties
...t-service-order-impl/src/main/resources/errors.properties
+1
-0
No files found.
liquidnet-bus-api/liquidnet-service-candy-api/src/main/java/com/liquidnet/service/candy/param/BackCouponParam.java
0 → 100644
View file @
1652e54d
package
com
.
liquidnet
.
service
.
candy
.
param
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
@Api
public
class
BackCouponParam
implements
Serializable
,
Cloneable
{
@ApiModelProperty
(
dataType
=
"String"
,
name
=
"uCouponIds"
,
value
=
"券唯一表示id(逗号隔开的字符串)"
,
example
=
"1"
,
required
=
true
)
@NotNull
@NotBlank
private
String
uCouponIds
;
@ApiModelProperty
(
dataType
=
"String"
,
name
=
"uid"
,
value
=
"用户id"
,
example
=
"10"
,
required
=
true
)
@NotNull
@NotBlank
private
String
uid
;
private
static
final
BackCouponParam
obj
=
new
BackCouponParam
();
public
static
BackCouponParam
getNew
()
{
try
{
return
(
BackCouponParam
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
e
.
printStackTrace
();
}
return
new
BackCouponParam
();
}
public
String
getuCouponIds
()
{
return
uCouponIds
;
}
public
void
setuCouponIds
(
String
uCouponIds
)
{
this
.
uCouponIds
=
uCouponIds
;
}
public
String
getUid
()
{
return
uid
;
}
public
void
setUid
(
String
uid
)
{
this
.
uid
=
uid
;
}
}
liquidnet-bus-api/liquidnet-service-candy-api/src/main/java/com/liquidnet/service/candy/service/ICandyCouponService.java
View file @
1652e54d
...
...
@@ -3,6 +3,7 @@ package com.liquidnet.service.candy.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.candy.entity.CandyCoupon
;
import
com.liquidnet.service.candy.param.BackCouponParam
;
import
com.liquidnet.service.candy.vo.CandyCouponVo
;
import
com.liquidnet.service.candy.vo.CandyMyCouponListVo
;
import
com.liquidnet.service.candy.vo.CandyUseResultVo
;
...
...
@@ -36,7 +37,7 @@ public interface ICandyCouponService {
CandyUseResultVo
useCoupon
(
String
uCouponId
,
String
content
,
String
totalPrice
);
Boolean
useBackCoupon
(
String
uCouponId
);
Boolean
useBackCoupon
(
List
<
BackCouponParam
>
backCouponParam
);
ResponseDto
<
Boolean
>
receiveCoupon
(
String
ccode
);
...
...
liquidnet-bus-config/liquidnet-config/liquidnet-service-candy.yml
View file @
1652e54d
...
...
@@ -98,4 +98,5 @@ global-auth:
-
${liquidnet.info.context}/doc.html
-
${liquidnet.info.context}/webjars/**
-
${liquidnet.info.context}/swagger-resources/**
-
${liquidnet.info.context}/v2/api-docs*
\ No newline at end of file
-
${liquidnet.info.context}/v2/api-docs*
-
${liquidnet.info.context}/candy-coupon/useBack
\ No newline at end of file
liquidnet-bus-service/liquidnet-service-candy/liquidnet-service-candy-impl/src/main/java/com/liquidnet/service/candy/controller/CandyCouponController.java
View file @
1652e54d
...
...
@@ -3,6 +3,7 @@ package com.liquidnet.service.candy.controller;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.candy.param.BackCouponParam
;
import
com.liquidnet.service.candy.service.ICandyCouponService
;
import
com.liquidnet.service.candy.vo.CandyCouponVo
;
import
com.liquidnet.service.candy.vo.CandyMyCouponListVo
;
...
...
@@ -15,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
...
...
@@ -162,11 +164,11 @@ public class CandyCouponController {
//回退券
@PostMapping
(
"useBack"
)
@ApiOperation
(
"回退券"
)
@ApiImplicitParams
(
{
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"uCouponId"
,
value
=
"券唯一表示id(逗号隔开的字符串)"
,
required
=
true
),
})
public
ResponseDto
<
Boolean
>
useBackCoupon
(
@RequestParam
(
"uCouponId"
)
@NotNull
@NotBlank
String
uCouponId
)
{
candyCouponService
.
useBackCoupon
(
uCouponId
);
public
ResponseDto
<
Boolean
>
useBackCoupon
(
@RequestBody
@Valid
List
<
BackCouponParam
>
backCouponParam
)
{
if
(
backCouponParam
.
size
()>
100
){
return
ResponseDto
.
failure
(
"数据量不得大于100"
);
}
candyCouponService
.
useBackCoupon
(
backCouponParam
);
return
ResponseDto
.
success
();
}
...
...
liquidnet-bus-service/liquidnet-service-candy/liquidnet-service-candy-impl/src/main/java/com/liquidnet/service/candy/service/impl/CandyCouponServiceImpl.java
View file @
1652e54d
...
...
@@ -9,6 +9,7 @@ import com.liquidnet.service.base.constant.MQConst;
import
com.liquidnet.service.candy.dto.CandyCouponCodeDto
;
import
com.liquidnet.service.candy.dto.CandyCouponInfoDto
;
import
com.liquidnet.service.candy.dto.CandyUserCouponBasicDto
;
import
com.liquidnet.service.candy.param.BackCouponParam
;
import
com.liquidnet.service.candy.service.ICandyCouponService
;
import
com.liquidnet.service.candy.util.CouponBaseUtil
;
import
com.liquidnet.service.candy.util.ObjectUtil
;
...
...
@@ -258,29 +259,30 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
}
@Override
public
Boolean
useBackCoupon
(
String
uCouponIds
)
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
ArrayList
<
String
>
uCouponIdList
=
new
ArrayList
(
Arrays
.
asList
(
uCouponIds
.
split
(
","
)));
List
<
CandyUserCouponBasicDto
>
dtoList
=
CouponBaseUtil
.
backCoupon
(
redisDataUtils
.
getCouponByUid
(
uid
),
uCouponIdList
);
if
(
dtoList
==
null
)
{
return
false
;
}
else
{
redisDataUtils
.
setCouponByUid
(
uid
,
dtoList
);
//入库
LinkedList
<
String
>
sqls
=
CollectionUtil
.
linkedListString
();
sqls
.
add
(
SqlMapping
.
get
(
"candy_coupon.back"
));
LinkedList
<
Object
[]>
sqlsDataA
=
CollectionUtil
.
linkedListObjectArr
();
for
(
String
uCouponId
:
uCouponIdList
)
{
sqlsDataA
.
add
(
new
Object
[]{
uid
,
uCouponId
});
public
Boolean
useBackCoupon
(
List
<
BackCouponParam
>
backCouponParams
)
{
for
(
BackCouponParam
item
:
backCouponParams
)
{
String
uid
=
item
.
getUid
();
ArrayList
<
String
>
uCouponIdList
=
new
ArrayList
(
Arrays
.
asList
(
item
.
getuCouponIds
().
split
(
","
)));
List
<
CandyUserCouponBasicDto
>
dtoList
=
CouponBaseUtil
.
backCoupon
(
redisDataUtils
.
getCouponByUid
(
uid
),
uCouponIdList
);
if
(
dtoList
==
null
)
{
return
false
;
}
else
{
redisDataUtils
.
setCouponByUid
(
uid
,
dtoList
);
//入库
LinkedList
<
String
>
sqls
=
CollectionUtil
.
linkedListString
();
sqls
.
add
(
SqlMapping
.
get
(
"candy_coupon.back"
));
LinkedList
<
Object
[]>
sqlsDataA
=
CollectionUtil
.
linkedListObjectArr
();
for
(
String
uCouponId
:
uCouponIdList
)
{
sqlsDataA
.
add
(
new
Object
[]{
uid
,
uCouponId
});
}
String
sqlData
=
SqlMapping
.
gets
(
sqls
,
sqlsDataA
);
queueUtils
.
sendMsgByRedis
(
MQConst
.
CandyQueue
.
COUPON_BACK
.
getKey
(),
sqlData
);
}
String
sqlData
=
SqlMapping
.
gets
(
sqls
,
sqlsDataA
);
queueUtils
.
sendMsgByRedis
(
MQConst
.
CandyQueue
.
COUPON_BACK
.
getKey
(),
sqlData
);
}
return
true
;
}
...
...
@@ -289,12 +291,12 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
public
ResponseDto
<
Boolean
>
receiveCoupon
(
String
ccode
)
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
CandyCouponCodeDto
dto
=
redisDataUtils
.
getCouponByCode
(
ccode
);
if
(
dto
!
=
null
)
{
if
(
dto
=
=
null
)
{
return
ResponseDto
.
failure
(
"兑换码有误,请重新输入"
);
}
else
if
(
dto
.
getState
().
equals
(
0
))
{
//判断可领
CandyCouponInfoDto
infoDto
=
redisDataUtils
.
getCouponInfo
(
dto
.
getCouponId
());
if
(!
CouponBaseUtil
.
CandyCanReceive
(
infoDto
))
{
return
ResponseDto
.
failure
(
"兑换码已过期"
);
return
ResponseDto
.
failure
(
"兑换码已过期"
);
}
String
uCouponId
=
IDGenerator
.
get32UUID
();
//构建baseDto
...
...
@@ -311,28 +313,28 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
)
);
}
else
{
return
ResponseDto
.
failure
(
"兑换失败,请稍后再试"
);
return
ResponseDto
.
failure
(
"兑换失败,请稍后再试"
);
}
return
ResponseDto
.
success
(
true
);
return
ResponseDto
.
success
(
true
);
}
@Override
public
ResponseDto
<
CandyCouponVo
>
receiveCouponDetails
(
String
ccode
)
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
CandyCouponCodeDto
dto
=
redisDataUtils
.
getCouponByCode
(
ccode
);
if
(
dto
!
=
null
)
{
return
ResponseDto
.
failure
(
"兑换码有误,请重新输入"
);
if
(
dto
=
=
null
)
{
return
ResponseDto
.
failure
(
"兑换码有误,请重新输入"
);
}
else
if
(
dto
.
getState
().
equals
(
0
))
{
//判断可领
CandyCouponInfoDto
infoDto
=
redisDataUtils
.
getCouponInfo
(
dto
.
getCouponId
());
if
(!
CouponBaseUtil
.
CandyCanReceive
(
infoDto
))
{
return
ResponseDto
.
failure
(
"兑换码已过期"
);
return
ResponseDto
.
failure
(
"兑换码已过期"
);
}
String
uCouponId
=
IDGenerator
.
get32UUID
();
//构建baseDto
CandyUserCouponBasicDto
baseDto
=
CandyUserCouponBasicDto
.
getNew
().
copyToRedisBaseCoupon
(
uCouponId
,
uid
,
ccode
,
infoDto
);
return
ResponseDto
.
success
(
CouponBaseUtil
.
getBaseCouponUserVo
(
baseDto
));
return
ResponseDto
.
success
(
CouponBaseUtil
.
getBaseCouponUserVo
(
baseDto
));
}
else
{
return
ResponseDto
.
failure
(
"兑换失败,请稍后再试"
);
return
ResponseDto
.
failure
(
"兑换失败,请稍后再试"
);
}
}
}
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/service/impl/KylinOrderTicketsServiceImpl.java
View file @
1652e54d
...
...
@@ -282,6 +282,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
}
}
if
(
e
.
getMessage
().
equals
(
"券不可用"
)){
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20030"
));
//券不可用
}
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20018"
));
//乱七八糟异常
}
}
...
...
@@ -322,6 +325,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
orderTickets
.
setPriceTotal
(
ticketData
.
getPrice
().
multiply
(
BigDecimal
.
valueOf
(
payOrderParam
.
getNumber
())).
add
(
payOrderParam
.
getIsExpress
()
==
1
?
ticketData
.
getPriceExpress
()
:
BigDecimal
.
valueOf
(
0
)));
}
orderTickets
.
setPriceVoucher
(
BigDecimal
.
ZERO
);
//券的使用逻辑
sqls
.
add
(
SqlMapping
.
get
(
"kylin_order_coupon.add"
));
LinkedList
<
Object
[]>
sqlsDataE
=
ObjectUtil
.
cloneLinkedListObj
();
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/java/com/liquidnet/service/order/utils/OrderUtils.java
View file @
1652e54d
...
...
@@ -3,6 +3,7 @@ package com.liquidnet.service.order.utils;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
...
...
@@ -180,8 +181,13 @@ public class OrderUtils {
params
.
add
(
"uCouponId"
,
uCouponId
);
params
.
add
(
"content"
,
content
);
params
.
add
(
"totalPrice"
,
totalPrice
.
toString
());
String
returnData
=
HttpUtil
.
post
(
candyUrl
+
"/candy-coupon/use"
,
params
,
null
);
InnerReturnVo
<
CandyUseResultVo
>
innerReturnVo
=
JsonUtils
.
fromJson
(
returnData
,
InnerReturnVo
.
class
);
MultiValueMap
<
String
,
String
>
header
=
CollectionUtil
.
linkedMultiValueMapStringString
();
header
.
add
(
"Authorization"
,
"Bearer "
+
CurrentUtil
.
getToken
());
String
returnData
=
HttpUtil
.
post
(
candyUrl
+
"/candy-coupon/use"
,
params
,
header
);
InnerReturnVo
<
CandyUseResultVo
>
innerReturnVo
=
JsonUtils
.
fromJson
(
returnData
,
new
TypeReference
<
InnerReturnVo
<
CandyUseResultVo
>>()
{
});
CandyUseResultVo
candyUseResultVo
=
innerReturnVo
.
getData
();
Integer
type
=
candyUseResultVo
.
getCouType
();
BigDecimal
value
=
candyUseResultVo
.
getValue
();
...
...
liquidnet-bus-service/liquidnet-service-order/liquidnet-service-order-impl/src/main/resources/errors.properties
View file @
1652e54d
...
...
@@ -33,6 +33,7 @@
20028
=
订单已失效
20027
=
您已支付请刷新再试
20029
=
未选择支付方式
20030
=
券不可用
#APP PARTNER
20101
=
添加失败
...
...
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