记得上下班打卡 | 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
e720a65a
Commit
e720a65a
authored
Aug 20, 2021
by
胡佳晨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
暂时提交
parent
1912bec0
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
126 additions
and
26 deletions
+126
-26
CandyCouponRule.java
...a/com/liquidnet/service/candy/entity/CandyCouponRule.java
+1
-1
CandyCouponController.java
...idnet/service/candy/controller/CandyCouponController.java
+41
-10
CouponBaseUtil.java
...java/com/liquidnet/service/candy/util/CouponBaseUtil.java
+83
-14
CandyCouponVo.java
...in/java/com/liquidnet/service/candy/vo/CandyCouponVo.java
+1
-1
No files found.
liquidnet-bus-do/liquidnet-service-candy-do/src/main/java/com/liquidnet/service/candy/entity/CandyCouponRule.java
View file @
e720a65a
...
@@ -28,7 +28,7 @@ public class CandyCouponRule implements Serializable {
...
@@ -28,7 +28,7 @@ public class CandyCouponRule implements Serializable {
private
String
couponId
;
private
String
couponId
;
/**
/**
* 适用范围[100-全场|90-演出|80-商品]
* 适用范围[100-全场|90-演出|
91-场次|92-票|
80-商品]
*/
*/
private
Integer
useScope
;
private
Integer
useScope
;
...
...
liquidnet-bus-service/liquidnet-service-candy/liquidnet-service-candy-impl/src/main/java/com/liquidnet/service/candy/controller/CandyCouponController.java
View file @
e720a65a
package
com
.
liquidnet
.
service
.
candy
.
controller
;
package
com
.
liquidnet
.
service
.
candy
.
controller
;
import
com.liquidnet.commons.lang.util.BeanUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.service.base.ResponseDto
;
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.dto.CandyUserCouponBasicDto
;
import
com.liquidnet.service.candy.util.CouponBaseUtil
;
import
com.liquidnet.service.candy.util.CouponBaseUtil
;
import
com.liquidnet.service.candy.util.ObjectUtil
;
import
com.liquidnet.service.candy.util.ObjectUtil
;
import
com.liquidnet.service.candy.util.RedisDataUtils
;
import
com.liquidnet.service.candy.util.RedisDataUtils
;
import
com.liquidnet.service.candy.vo.CandyCouponRulesVo
;
import
com.liquidnet.service.candy.vo.CandyCouponVo
;
import
com.liquidnet.service.candy.vo.CandyCouponVo
;
import
com.liquidnet.service.candy.vo.CandyMyCouponListVo
;
import
com.liquidnet.service.candy.vo.CandyMyCouponListVo
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
@@ -27,7 +22,6 @@ import org.springframework.web.bind.annotation.RequestParam;
...
@@ -27,7 +22,6 @@ import org.springframework.web.bind.annotation.RequestParam;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.Collections
;
import
java.util.Comparator
;
import
java.util.Comparator
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
...
@@ -48,6 +42,7 @@ public class CandyCouponController {
...
@@ -48,6 +42,7 @@ public class CandyCouponController {
@Autowired
@Autowired
private
RedisDataUtils
redisDataUtils
;
private
RedisDataUtils
redisDataUtils
;
//我的券列表
@GetMapping
(
"my"
)
@GetMapping
(
"my"
)
@ApiOperation
(
"我的券列表"
)
@ApiOperation
(
"我的券列表"
)
public
ResponseDto
<
CandyMyCouponListVo
>
myCoupon
()
{
public
ResponseDto
<
CandyMyCouponListVo
>
myCoupon
()
{
...
@@ -73,7 +68,43 @@ public class CandyCouponController {
...
@@ -73,7 +68,43 @@ public class CandyCouponController {
return
ResponseDto
.
success
(
vo
);
return
ResponseDto
.
success
(
vo
);
}
}
//要使用券列表
//要使用券列表 - 演出
@GetMapping
(
"preUse/performance"
)
@ApiOperation
(
"要使用券列表 - 演出"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"performanceId"
,
value
=
"演出id"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"timeId"
,
value
=
"场次id"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"ticketId"
,
value
=
"票id"
,
required
=
true
),
})
public
ResponseDto
<
CandyMyCouponListVo
>
preUseCoupon
(
@RequestParam
(
"performanceId"
)
String
performanceId
,
@RequestParam
(
"timeId"
)
String
timeId
,
@RequestParam
(
"ticketId"
)
String
ticketId
)
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
List
<
CandyUserCouponBasicDto
>
dtoList
=
redisDataUtils
.
getCouponByUid
(
uid
);
CandyMyCouponListVo
vo
=
CandyMyCouponListVo
.
getNew
();
List
<
CandyCouponVo
>
memberCoupon
=
ObjectUtil
.
getCandyCouponVoArrayList
();
List
<
CandyCouponVo
>
myCoupon
=
ObjectUtil
.
getCandyCouponVoArrayList
();
for
(
CandyUserCouponBasicDto
dtoItem
:
dtoList
)
{
CandyCouponVo
baseVo
=
CouponBaseUtil
.
getPerformanceCouponUserVo
(
dtoItem
,
performanceId
,
timeId
,
ticketId
);
if
(
dtoItem
.
getBusiType
().
equals
(
4
))
{
//会员券
memberCoupon
.
add
(
baseVo
);
}
else
{
//非会员券
myCoupon
.
add
(
baseVo
);
}
}
//排序
memberCoupon
.
sort
(
Comparator
.
comparing
(
CandyCouponVo:
:
getState
));
myCoupon
.
sort
(
Comparator
.
comparing
(
CandyCouponVo:
:
getState
));
vo
.
setMemberCoupon
(
memberCoupon
);
vo
.
setMyCoupon
(
myCoupon
);
return
ResponseDto
.
success
(
vo
);
}
//要使用券列表 - 演出
//要使用券列表 - 演出提前
//判断券是否可用
//判断券是否可用
@GetMapping
(
"state"
)
@GetMapping
(
"state"
)
...
@@ -81,7 +112,7 @@ public class CandyCouponController {
...
@@ -81,7 +112,7 @@ public class CandyCouponController {
@ApiImplicitParams
({
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"uCouponId"
,
value
=
"券唯一表示id"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"uCouponId"
,
value
=
"券唯一表示id"
,
required
=
true
),
})
})
public
ResponseDto
<
HashMap
<
String
,
Integer
>>
state
(
@RequestParam
(
"uCouponId"
)
String
uCouponId
)
{
public
ResponseDto
<
HashMap
<
String
,
Integer
>>
state
Coupon
(
@RequestParam
(
"uCouponId"
)
String
uCouponId
)
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
CandyUserCouponBasicDto
dto
=
CouponBaseUtil
.
getSingleDtoByUCouponId
(
redisDataUtils
.
getCouponByUid
(
uid
),
uCouponId
);
CandyUserCouponBasicDto
dto
=
CouponBaseUtil
.
getSingleDtoByUCouponId
(
redisDataUtils
.
getCouponByUid
(
uid
),
uCouponId
);
if
(
dto
==
null
)
{
if
(
dto
==
null
)
{
...
@@ -99,7 +130,7 @@ public class CandyCouponController {
...
@@ -99,7 +130,7 @@ public class CandyCouponController {
@ApiImplicitParams
({
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"uCouponId"
,
value
=
"券唯一表示id"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"uCouponId"
,
value
=
"券唯一表示id"
,
required
=
true
),
})
})
public
ResponseDto
<
Boolean
>
use
(
@RequestParam
(
"uCouponId"
)
String
uCouponId
)
{
public
ResponseDto
<
Boolean
>
use
Coupon
(
@RequestParam
(
"uCouponId"
)
String
uCouponId
)
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
List
<
CandyUserCouponBasicDto
>
dtoList
=
CouponBaseUtil
.
useCoupon
(
redisDataUtils
.
getCouponByUid
(
uid
),
uCouponId
);
List
<
CandyUserCouponBasicDto
>
dtoList
=
CouponBaseUtil
.
useCoupon
(
redisDataUtils
.
getCouponByUid
(
uid
),
uCouponId
);
if
(
dtoList
==
null
)
{
if
(
dtoList
==
null
)
{
...
@@ -116,7 +147,7 @@ public class CandyCouponController {
...
@@ -116,7 +147,7 @@ public class CandyCouponController {
@ApiImplicitParams
({
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"uCouponId"
,
value
=
"券唯一表示id"
,
required
=
true
),
@ApiImplicitParam
(
type
=
"form"
,
dataType
=
"String"
,
name
=
"uCouponId"
,
value
=
"券唯一表示id"
,
required
=
true
),
})
})
public
ResponseDto
<
Boolean
>
useBack
(
@RequestParam
(
"uCouponId"
)
String
uCouponId
)
{
public
ResponseDto
<
Boolean
>
useBack
Coupon
(
@RequestParam
(
"uCouponId"
)
String
uCouponId
)
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
String
uid
=
CurrentUtil
.
getCurrentUid
();
List
<
CandyUserCouponBasicDto
>
dtoList
=
CouponBaseUtil
.
backCoupon
(
redisDataUtils
.
getCouponByUid
(
uid
),
uCouponId
);
List
<
CandyUserCouponBasicDto
>
dtoList
=
CouponBaseUtil
.
backCoupon
(
redisDataUtils
.
getCouponByUid
(
uid
),
uCouponId
);
if
(
dtoList
==
null
)
{
if
(
dtoList
==
null
)
{
...
...
liquidnet-bus-service/liquidnet-service-candy/liquidnet-service-candy-impl/src/main/java/com/liquidnet/service/candy/util/CouponBaseUtil.java
View file @
e720a65a
...
@@ -15,7 +15,8 @@ public class CouponBaseUtil {
...
@@ -15,7 +15,8 @@ public class CouponBaseUtil {
/**
/**
* 获取 基础券vo
* 获取 基础券vo
* @param dtoItem CandyUserCouponBasicDto
*
* @param dtoItem CandyUserCouponBasicDto
* @return
* @return
*/
*/
public
static
CandyCouponVo
getBaseCouponUserVo
(
CandyUserCouponBasicDto
dtoItem
)
{
public
static
CandyCouponVo
getBaseCouponUserVo
(
CandyUserCouponBasicDto
dtoItem
)
{
...
@@ -52,13 +53,78 @@ public class CouponBaseUtil {
...
@@ -52,13 +53,78 @@ public class CouponBaseUtil {
return
vo
;
return
vo
;
}
}
/**
* 获取 基础券vo
*
* @param dtoItem CandyUserCouponBasicDto
* @return
*/
public
static
CandyCouponVo
getPerformanceCouponUserVo
(
CandyUserCouponBasicDto
dtoItem
,
String
performanceId
,
String
timeId
,
String
ticketId
)
{
boolean
isTarget
=
false
;
LocalDateTime
now
=
LocalDateTime
.
now
();
CandyCouponVo
vo
=
CandyCouponVo
.
getNew
();
List
<
CandyCouponRulesVo
>
rulesVoList
=
ObjectUtil
.
getCandyCouponRulesVos
();
vo
.
setTitle
(
dtoItem
.
getTitle
());
vo
.
setExpireAt
(
DateUtil
.
format
(
dtoItem
.
getExpireAt
(),
DateUtil
.
Formatter
.
yyyy_MM_dd
));
vo
.
setValFace
(
dtoItem
.
getValFace
());
vo
.
setValOver
(
dtoItem
.
getValOver
());
vo
.
setValMinus
(
dtoItem
.
getValMinus
());
vo
.
setBindType
(
dtoItem
.
getBindType
());
vo
.
setLabel
(
dtoItem
.
getLabel
());
vo
.
setNotice
(
dtoItem
.
getNotice
());
vo
.
setUcouponId
(
dtoItem
.
getUcouponId
());
vo
.
setUsedAt
(
DateUtil
.
format
(
dtoItem
.
getUsedAt
(),
DateUtil
.
Formatter
.
yyyy_MM_dd
));
vo
.
setUsedFor
(
dtoItem
.
getUsedFor
());
//适用范围 规则
for
(
CandyCouponRuleDto
ruleItem
:
dtoItem
.
getUseRules
())
{
CandyCouponRulesVo
voRules
=
CandyCouponRulesVo
.
getNew
();
voRules
.
setUseScope
(
ruleItem
.
getUseScope
());
voRules
.
setBusiId
(
ruleItem
.
getBusiId
());
voRules
.
setBusiName
(
ruleItem
.
getBusiName
());
rulesVoList
.
add
(
voRules
);
isTarget
=
isTargetCoupon
(
ruleItem
.
getUseScope
(),
ruleItem
.
getBusiId
());
}
//券类别
if
(
dtoItem
.
getBusiType
().
equals
(
3
))
{
vo
.
setCouType
(
101
);
}
else
{
vo
.
setCouType
(
dtoItem
.
getCouType
());
}
int
state
=
getCouponState
(
now
,
dtoItem
.
getExpireAt
(),
dtoItem
.
getState
());
if
(
isTarget
){
vo
.
setState
(
state
);
}
else
{
vo
.
setState
(
state
==
1
?
21
:
state
);
//不在目标范围 如果可用改为不可用21
}
vo
.
setUseRules
(
rulesVoList
);
return
vo
;
}
public
static
Boolean
isTargetCoupon
(
Integer
UseScope
,
String
busiId
){
boolean
isTarget
=
false
;
switch
(
UseScope
){
case
90
:
//演出
break
;
case
91
:
//场次
break
;
case
92
:
//票
break
;
}
return
isTarget
;
}
/**
/**
* 获取券状态
* 获取券状态
* @param currentTime 当前服务器时间
*
* @param expireAt 券过期时间
* @param currentTime 当前服务器时间
* @param state 券状态
* @param expireAt 券过期时间
* @return 判断过后的券状态
* @param state 券状态
* @return 判断过后的券状态
*/
*/
public
static
Integer
getCouponState
(
LocalDateTime
currentTime
,
LocalDateTime
expireAt
,
Integer
state
)
{
public
static
Integer
getCouponState
(
LocalDateTime
currentTime
,
LocalDateTime
expireAt
,
Integer
state
)
{
//券状态
//券状态
...
@@ -77,9 +143,10 @@ public class CouponBaseUtil {
...
@@ -77,9 +143,10 @@ public class CouponBaseUtil {
/**
/**
* 根据券id获取Dto
* 根据券id获取Dto
* @param dtoList CouponBaseDtoList
*
* @param uCouponId 券唯一id
* @param dtoList CouponBaseDtoList
* @return CandyUserCouponBasicDto
* @param uCouponId 券唯一id
* @return CandyUserCouponBasicDto
*/
*/
public
static
CandyUserCouponBasicDto
getSingleDtoByUCouponId
(
List
<
CandyUserCouponBasicDto
>
dtoList
,
String
uCouponId
)
{
public
static
CandyUserCouponBasicDto
getSingleDtoByUCouponId
(
List
<
CandyUserCouponBasicDto
>
dtoList
,
String
uCouponId
)
{
for
(
CandyUserCouponBasicDto
dtoItem
:
dtoList
)
{
for
(
CandyUserCouponBasicDto
dtoItem
:
dtoList
)
{
...
@@ -92,9 +159,10 @@ public class CouponBaseUtil {
...
@@ -92,9 +159,10 @@ public class CouponBaseUtil {
/**
/**
* 使用券
* 使用券
* @param dtoList CouponBaseDtoList
*
* @param uCouponId 券唯一id
* @param dtoList CouponBaseDtoList
* @return List<CandyUserCouponBasicDto>
* @param uCouponId 券唯一id
* @return List<CandyUserCouponBasicDto>
*/
*/
public
static
List
<
CandyUserCouponBasicDto
>
useCoupon
(
List
<
CandyUserCouponBasicDto
>
dtoList
,
String
uCouponId
)
{
public
static
List
<
CandyUserCouponBasicDto
>
useCoupon
(
List
<
CandyUserCouponBasicDto
>
dtoList
,
String
uCouponId
)
{
boolean
isHas
=
false
;
boolean
isHas
=
false
;
...
@@ -117,9 +185,10 @@ public class CouponBaseUtil {
...
@@ -117,9 +185,10 @@ public class CouponBaseUtil {
/**
/**
* 回退券
* 回退券
* @param dtoList CouponBaseDtoList
*
* @param uCouponId 券唯一id
* @param dtoList CouponBaseDtoList
* @return List<CandyUserCouponBasicDto>
* @param uCouponId 券唯一id
* @return List<CandyUserCouponBasicDto>
*/
*/
public
static
List
<
CandyUserCouponBasicDto
>
backCoupon
(
List
<
CandyUserCouponBasicDto
>
dtoList
,
String
uCouponId
)
{
public
static
List
<
CandyUserCouponBasicDto
>
backCoupon
(
List
<
CandyUserCouponBasicDto
>
dtoList
,
String
uCouponId
)
{
boolean
isHas
=
false
;
boolean
isHas
=
false
;
...
...
liquidnet-bus-service/liquidnet-service-candy/liquidnet-service-candy-impl/src/main/java/com/liquidnet/service/candy/vo/CandyCouponVo.java
View file @
e720a65a
...
@@ -29,7 +29,7 @@ public class CandyCouponVo implements Serializable,Cloneable {
...
@@ -29,7 +29,7 @@ public class CandyCouponVo implements Serializable,Cloneable {
/* --- --- --- CandyUserCoupon */
/* --- --- --- CandyUserCoupon */
private
String
ucouponId
;
//券id
private
String
ucouponId
;
//券id
private
Integer
state
;
//券状态[1-可用|2-无效|3-已过期|5-已使用]
private
Integer
state
;
//券状态[1-可用|2-无效|3-已过期|5-已使用
|21-不可用
]
// private String bindAt;//激活时间
// private String bindAt;//激活时间
private
String
usedAt
;
//使用时间
private
String
usedAt
;
//使用时间
private
String
usedFor
;
//购买内容
private
String
usedFor
;
//购买内容
...
...
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