记得上下班打卡 | 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
e5363362
Commit
e5363362
authored
Mar 05, 2022
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
+API:店铺券:代领券+返回可用券信息;
parent
fb1e48f8
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
39 additions
and
16 deletions
+39
-16
GoblinStoreMgtGoodsAddParam.java
...ervice/goblin/dto/manage/GoblinStoreMgtGoodsAddParam.java
+1
-1
GoblinCouponController.java
...net/service/goblin/controller/GoblinCouponController.java
+36
-14
errors.properties
...-service-goblin-impl/src/main/resources/errors.properties
+2
-1
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/dto/manage/GoblinStoreMgtGoodsAddParam.java
View file @
e5363362
...
...
@@ -68,7 +68,7 @@ public class GoblinStoreMgtGoodsAddParam implements Serializable {
private
List
<
String
>
tagList
;
@ApiModelProperty
(
position
=
20
,
required
=
true
,
value
=
"商品图片列表"
)
private
List
<
String
>
imageList
;
@ApiModelProperty
(
position
=
21
,
required
=
false
,
value
=
"商品
视频地址
"
)
@ApiModelProperty
(
position
=
21
,
required
=
false
,
value
=
"商品
图片封面
"
)
private
String
coverPic
;
@ApiModelProperty
(
position
=
22
,
required
=
false
,
value
=
"商品视频地址"
)
private
String
video
;
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/controller/GoblinCouponController.java
View file @
e5363362
...
...
@@ -23,6 +23,8 @@ import javax.validation.constraints.NotBlank;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
@Slf4j
@Api
(
tags
=
"店铺券"
)
...
...
@@ -76,7 +78,6 @@ public class GoblinCouponController {
@PostMapping
(
"receive"
)
@ApiOperation
(
"领取券"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"storeCouponId"
,
value
=
"平台券ID"
),
// @ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "number", value = "数量"),
...
...
@@ -84,28 +85,45 @@ public class GoblinCouponController {
public
ResponseDto
<
Boolean
>
receive
(
@NotBlank
(
message
=
"平台券ID不能为空"
)
@RequestParam
(
"storeCouponId"
)
String
storeCouponId
)
{
// public ResponseDto<Boolean> checkOrderResult(@RequestParam("storeCouponId") @Valid String storeCouponId,
// @RequestParam("number") @Valid Integer number) {
return
this
.
receiveFetchedProcessing
(
CurrentUtil
.
getCurrentUid
(),
storeCouponId
,
null
);
String
uid
=
CurrentUtil
.
getCurrentUid
();
GoblinStoreCouponVo
storeCouponVo
=
goblinRedisUtils
.
getStoreCouponVo
(
storeCouponId
);
if
(
null
==
storeCouponVo
)
{
log
.
warn
(
"商城:用户领取优惠券:优惠券不存在:[uid={},storeCouponId={}]"
,
uid
,
storeCouponId
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140050"
));
}
if
(!
storeCouponVo
.
getState
().
equals
(
"1"
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140051"
));
}
List
<
GoblinUserCouponVo
>
userCouponVos
=
goblinRedisUtils
.
getUserCouponVos
(
uid
);
if
(!
CollectionUtils
.
isEmpty
(
userCouponVos
))
{
int
beforeSize
=
userCouponVos
.
size
();
userCouponVos
.
removeIf
(
vo
->
vo
.
getStoreCouponId
().
equals
(
storeCouponId
));
if
((
beforeSize
-
userCouponVos
.
size
())
>=
storeCouponVo
.
getReceiveLimit
())
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140052"
));
}
}
if
(
storeCouponVo
.
getStock
().
equals
(
0
)
||
goblinRedisUtils
.
getStoreCouponStock
(
storeCouponId
)
>
0
)
{
Boolean
resultFlg
=
goblinCouponService
.
receiveCoupon
(
uid
,
userCouponVos
,
storeCouponVo
);
return
resultFlg
?
ResponseDto
.
success
()
:
ResponseDto
.
failure
();
}
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140053"
));
}
@PostMapping
(
"fetched"
)
@ApiOperation
(
"POS机代领券"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
@ApiOperation
(
value
=
"POS机代领券"
,
notes
=
"返回当前领取的可用券信息"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"storeId"
,
value
=
"店铺ID"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"storeCouponId"
,
value
=
"平台券ID"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"uid"
,
value
=
"UID"
),
})
public
ResponseDto
<
Boolean
>
fetched
(
@NotBlank
(
message
=
"店铺ID不能为空"
)
@RequestParam
(
"storeId"
)
String
storeId
,
public
ResponseDto
<
GoblinUserCouponVo
>
fetched
(
@NotBlank
(
message
=
"店铺ID不能为空"
)
@RequestParam
(
"storeId"
)
String
storeId
,
@NotBlank
(
message
=
"平台券ID不能为空"
)
@RequestParam
(
"storeCouponId"
)
String
storeCouponId
,
@NotBlank
(
message
=
"UID不能为空"
)
@RequestParam
(
"uid"
)
String
uid
)
{
if
(!
goblinRedisUtils
.
hasStoreId
(
CurrentUtil
.
getCurrentUid
(),
storeId
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"149002"
));
}
// TODO: 2022/3/5 ==zhanggb.UID校验真实性
return
receiveFetchedProcessing
(
uid
,
storeCouponId
,
storeId
);
}
private
ResponseDto
<
Boolean
>
receiveFetchedProcessing
(
String
uid
,
String
storeCouponId
,
String
storeId
)
{
GoblinStoreCouponVo
storeCouponVo
=
goblinRedisUtils
.
getStoreCouponVo
(
storeCouponId
);
if
(
null
==
storeCouponVo
)
{
log
.
warn
(
"商城:用户领取优惠券:优惠券不存在:[uid={},storeCouponId={}]"
,
uid
,
storeCouponId
);
...
...
@@ -120,15 +138,19 @@ public class GoblinCouponController {
}
List
<
GoblinUserCouponVo
>
userCouponVos
=
goblinRedisUtils
.
getUserCouponVos
(
uid
);
if
(!
CollectionUtils
.
isEmpty
(
userCouponVos
))
{
int
beforeSize
=
userCouponVos
.
size
(
);
userCouponVos
.
removeIf
(
vo
->
vo
.
getStoreCouponId
().
equals
(
storeCouponId
));
if
((
beforeSize
-
userCouponVos
.
size
())
>=
storeCouponVo
.
getReceiveLimit
())
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140052"
));
List
<
GoblinUserCouponVo
>
userCouponVoList
=
userCouponVos
.
stream
().
filter
(
vo
->
vo
.
getStoreCouponId
().
equals
(
storeCouponId
)).
collect
(
Collectors
.
toList
()
);
if
(!
CollectionUtils
.
isEmpty
(
userCouponVoList
)
&&
userCouponVoList
.
size
()
>=
storeCouponVo
.
getReceiveLimit
())
{
Optional
<
GoblinUserCouponVo
>
userCouponVoOptional
=
userCouponVoList
.
stream
().
filter
(
vo
->
vo
.
getState
().
equals
(
1
)).
findAny
();
return
userCouponVoOptional
.
map
(
ResponseDto:
:
success
).
orElseGet
(()
->
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140054"
)
));
}
}
if
(
storeCouponVo
.
getStock
().
equals
(
0
)
||
goblinRedisUtils
.
getStoreCouponStock
(
storeCouponId
)
>
0
)
{
Boolean
resultFlg
=
goblinCouponService
.
receiveCoupon
(
uid
,
userCouponVos
,
storeCouponVo
);
return
resultFlg
?
ResponseDto
.
success
()
:
ResponseDto
.
failure
();
if
(
goblinCouponService
.
receiveCoupon
(
uid
,
userCouponVos
,
storeCouponVo
))
{
List
<
GoblinUserCouponVo
>
userCouponVoList
=
userCouponVos
.
stream
()
.
filter
(
vo
->
vo
.
getStoreCouponId
().
equals
(
storeCouponId
)
&&
vo
.
getState
().
equals
(
1
)).
collect
(
Collectors
.
toList
());
return
ResponseDto
.
success
(
userCouponVoList
.
get
(
0
));
}
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140053"
));
}
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"140053"
));
}
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/resources/errors.properties
View file @
e5363362
...
...
@@ -10,10 +10,11 @@
140050
=
优惠券不存在
140050
=
该活动
优惠券不存在
140051
=
非活动时间不允许领取
140052
=
该活动优惠券为限量领取
140053
=
该活动优惠券被抢关了
140054
=
该活动优惠券已被使用
...
...
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