记得上下班打卡 | 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
707bb6e1
Commit
707bb6e1
authored
Aug 27, 2021
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交 回退券
parent
5b12b295
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
85 additions
and
36 deletions
+85
-36
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
+4
-5
CandyCouponServiceImpl.java
...et/service/candy/service/impl/CandyCouponServiceImpl.java
+31
-29
No files found.
liquidnet-bus-api/liquidnet-service-candy-api/src/main/java/com/liquidnet/service/candy/param/BackCouponParam.java
0 → 100644
View file @
707bb6e1
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 @
707bb6e1
...
...
@@ -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 @
707bb6e1
...
...
@@ -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 @
707bb6e1
...
...
@@ -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,8 @@ 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
)
{
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 @
707bb6e1
...
...
@@ -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
;
}
...
...
@@ -294,7 +296,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
}
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,9 +313,9 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
)
);
}
else
{
return
ResponseDto
.
failure
(
"兑换失败,请稍后再试"
);
return
ResponseDto
.
failure
(
"兑换失败,请稍后再试"
);
}
return
ResponseDto
.
success
(
true
);
return
ResponseDto
.
success
(
true
);
}
@Override
...
...
@@ -321,18 +323,18 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
String
uid
=
CurrentUtil
.
getCurrentUid
();
CandyCouponCodeDto
dto
=
redisDataUtils
.
getCouponByCode
(
ccode
);
if
(
dto
==
null
)
{
return
ResponseDto
.
failure
(
"兑换码有误,请重新输入"
);
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
(
"兑换失败,请稍后再试"
);
}
}
}
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