记得上下班打卡 | 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
1912bec0
Commit
1912bec0
authored
Aug 20, 2021
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
我的劝相关接口
parent
2fb8b91c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
101 additions
and
13 deletions
+101
-13
CandyCouponController.java
...idnet/service/candy/controller/CandyCouponController.java
+25
-13
CouponBaseUtil.java
...java/com/liquidnet/service/candy/util/CouponBaseUtil.java
+71
-0
RedisDataUtils.java
...java/com/liquidnet/service/candy/util/RedisDataUtils.java
+5
-0
No files found.
liquidnet-bus-service/liquidnet-service-candy/liquidnet-service-candy-impl/src/main/java/com/liquidnet/service/candy/controller/CandyCouponController.java
View file @
1912bec0
...
...
@@ -85,36 +85,48 @@ public class CandyCouponController {
String
uid
=
CurrentUtil
.
getCurrentUid
();
CandyUserCouponBasicDto
dto
=
CouponBaseUtil
.
getSingleDtoByUCouponId
(
redisDataUtils
.
getCouponByUid
(
uid
),
uCouponId
);
if
(
dto
==
null
)
{
return
ResponseDto
.
failure
();
return
ResponseDto
.
failure
();
//券不存在
}
Integer
state
=
CouponBaseUtil
.
getCouponState
(
LocalDateTime
.
now
(),
dto
.
getExpireAt
(),
dto
.
getState
());
HashMap
<
String
,
Integer
>
map
=
CollectionUtil
.
mapStringInteger
();
map
.
put
(
"state"
,
state
);
HashMap
<
String
,
Integer
>
map
=
CollectionUtil
.
mapStringInteger
();
map
.
put
(
"state"
,
state
);
return
ResponseDto
.
success
(
map
);
}
//判断券是否可用并使用
//使用券
@GetMapping
(
"use"
)
@ApiOperation
(
"券使用"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"uCouponId"
,
value
=
"券唯一表示id"
,
required
=
true
),
})
public
ResponseDto
<
HashMap
<
String
,
Integer
>
>
use
(
@RequestParam
(
"uCouponId"
)
String
uCouponId
)
{
public
ResponseDto
<
Boolean
>
use
(
@RequestParam
(
"uCouponId"
)
String
uCouponId
)
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
CandyUserCouponBasicDto
dto
=
CouponBaseUtil
.
getSingleDtoByUCouponId
(
redisDataUtils
.
getCouponByUid
(
uid
),
uCouponId
);
if
(
dto
==
null
)
{
List
<
CandyUserCouponBasicDto
>
dtoList
=
CouponBaseUtil
.
useCoupon
(
redisDataUtils
.
getCouponByUid
(
uid
),
uCouponId
);
if
(
dto
List
==
null
)
{
return
ResponseDto
.
failure
();
}
else
{
redisDataUtils
.
setCouponByUid
(
uid
,
dtoList
);
}
Integer
state
=
CouponBaseUtil
.
getCouponState
(
LocalDateTime
.
now
(),
dto
.
getExpireAt
(),
dto
.
getState
());
HashMap
<
String
,
Integer
>
map
=
CollectionUtil
.
mapStringInteger
();
map
.
put
(
"state"
,
state
);
return
ResponseDto
.
success
(
map
);
return
ResponseDto
.
success
();
}
//回退券
@GetMapping
(
"useBack"
)
@ApiOperation
(
"回退券"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"uCouponId"
,
value
=
"券唯一表示id"
,
required
=
true
),
})
public
ResponseDto
<
Boolean
>
useBack
(
@RequestParam
(
"uCouponId"
)
String
uCouponId
)
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
List
<
CandyUserCouponBasicDto
>
dtoList
=
CouponBaseUtil
.
backCoupon
(
redisDataUtils
.
getCouponByUid
(
uid
),
uCouponId
);
if
(
dtoList
==
null
)
{
return
ResponseDto
.
failure
();
}
else
{
redisDataUtils
.
setCouponByUid
(
uid
,
dtoList
);
}
return
ResponseDto
.
success
();
}
//
领取
券
//
兑换
券
}
liquidnet-bus-service/liquidnet-service-candy/liquidnet-service-candy-impl/src/main/java/com/liquidnet/service/candy/util/CouponBaseUtil.java
View file @
1912bec0
package
com
.
liquidnet
.
service
.
candy
.
util
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.candy.dto.CandyCouponRuleDto
;
import
com.liquidnet.service.candy.dto.CandyUserCouponBasicDto
;
import
com.liquidnet.service.candy.vo.CandyCouponRulesVo
;
...
...
@@ -11,6 +12,12 @@ import java.util.List;
public
class
CouponBaseUtil
{
/**
* 获取 基础券vo
* @param dtoItem CandyUserCouponBasicDto
* @return
*/
public
static
CandyCouponVo
getBaseCouponUserVo
(
CandyUserCouponBasicDto
dtoItem
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
CandyCouponVo
vo
=
CandyCouponVo
.
getNew
();
...
...
@@ -45,6 +52,14 @@ public class CouponBaseUtil {
return
vo
;
}
/**
* 获取券状态
* @param currentTime 当前服务器时间
* @param expireAt 券过期时间
* @param state 券状态
* @return 判断过后的券状态
*/
public
static
Integer
getCouponState
(
LocalDateTime
currentTime
,
LocalDateTime
expireAt
,
Integer
state
)
{
//券状态
Integer
data
;
...
...
@@ -60,6 +75,12 @@ public class CouponBaseUtil {
return
data
;
}
/**
* 根据券id获取Dto
* @param dtoList CouponBaseDtoList
* @param uCouponId 券唯一id
* @return CandyUserCouponBasicDto
*/
public
static
CandyUserCouponBasicDto
getSingleDtoByUCouponId
(
List
<
CandyUserCouponBasicDto
>
dtoList
,
String
uCouponId
)
{
for
(
CandyUserCouponBasicDto
dtoItem
:
dtoList
)
{
if
(
dtoItem
.
getUcouponId
().
equals
(
uCouponId
))
{
...
...
@@ -68,4 +89,54 @@ public class CouponBaseUtil {
}
return
null
;
}
/**
* 使用券
* @param dtoList CouponBaseDtoList
* @param uCouponId 券唯一id
* @return List<CandyUserCouponBasicDto>
*/
public
static
List
<
CandyUserCouponBasicDto
>
useCoupon
(
List
<
CandyUserCouponBasicDto
>
dtoList
,
String
uCouponId
)
{
boolean
isHas
=
false
;
for
(
CandyUserCouponBasicDto
dtoItem
:
dtoList
)
{
if
(
dtoItem
.
getUcouponId
().
equals
(
uCouponId
))
{
if
(
dtoItem
.
getState
().
equals
(
1
))
{
dtoItem
.
setState
(
5
);
isHas
=
true
;
//券存在
}
else
{
return
null
;
//券不可用
}
break
;
}
}
if
(!
isHas
)
{
return
null
;
//券不存在
}
return
dtoList
;
}
/**
* 回退券
* @param dtoList CouponBaseDtoList
* @param uCouponId 券唯一id
* @return List<CandyUserCouponBasicDto>
*/
public
static
List
<
CandyUserCouponBasicDto
>
backCoupon
(
List
<
CandyUserCouponBasicDto
>
dtoList
,
String
uCouponId
)
{
boolean
isHas
=
false
;
for
(
CandyUserCouponBasicDto
dtoItem
:
dtoList
)
{
if
(
dtoItem
.
getUcouponId
().
equals
(
uCouponId
))
{
if
(
dtoItem
.
getState
().
equals
(
5
))
{
dtoItem
.
setState
(
1
);
isHas
=
true
;
//券存在
}
else
{
return
null
;
//券不可用
}
break
;
}
}
if
(!
isHas
)
{
return
null
;
//券不存在
}
return
dtoList
;
}
}
liquidnet-bus-service/liquidnet-service-candy/liquidnet-service-candy-impl/src/main/java/com/liquidnet/service/candy/util/RedisDataUtils.java
View file @
1912bec0
...
...
@@ -25,4 +25,9 @@ public class RedisDataUtils {
return
(
List
<
CandyUserCouponBasicDto
>)
obj
;
}
}
public
void
setCouponByUid
(
String
uid
,
List
<
CandyUserCouponBasicDto
>
dtoList
){
String
redisKey
=
CandyRedisConst
.
BASIC_USER_COUPON
.
concat
(
uid
);
redisUtil
.
set
(
redisKey
,
dtoList
);
}
}
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