记得上下班打卡 | 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
bae54a48
Commit
bae54a48
authored
May 20, 2025
by
wangyifan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
福袋补充需求-验码权限、核销接口
parent
aaed2a7b
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
278 additions
and
95 deletions
+278
-95
LuckyBagStatusEnum.java
.../liquidnet/service/kylin/constant/LuckyBagStatusEnum.java
+30
-0
KylinLuckyBagCodeDetailVo.java
...idnet/service/kylin/dto/vo/KylinLuckyBagCodeDetailVo.java
+5
-0
KylinLuckyBagVo.java
...a/com/liquidnet/service/kylin/dto/vo/KylinLuckyBagVo.java
+1
-2
IKylinLuckyBagService.java
...iquidnet/service/kylin/service/IKylinLuckyBagService.java
+27
-2
KylinLuckyBagController.java
...net/service/kylin/controller/KylinLuckyBagController.java
+4
-4
KylinLuckyBagServiceImpl.java
.../service/kylin/service/impl/KylinLuckyBagServiceImpl.java
+155
-37
DataUtils.java
...ain/java/com/liquidnet/service/kylin/utils/DataUtils.java
+4
-4
errors.properties
...t-service-kylin-impl/src/main/resources/errors.properties
+52
-46
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/constant/LuckyBagStatusEnum.java
0 → 100644
View file @
bae54a48
package
com
.
liquidnet
.
service
.
kylin
.
constant
;
import
lombok.Getter
;
@Getter
public
enum
LuckyBagStatusEnum
{
// 兑换码显示类型
CODE_SHOW_TYPE_CODE
(
1
,
"兑换码"
),
CODE_SHOW_TYPE_QR_CODE
(
2
,
"二维码"
),
// 解锁状态
UNLOCK_STATUS_NOT_UNLOCKED
(
0
,
"未解锁"
),
UNLOCK_STATUS_UNLOCKED
(
1
,
"已解锁"
),
// 可用状态
AVAILABLE_STATUS_UNAVAILABLE
(
0
,
"不可用"
),
AVAILABLE_STATUS_AVAILABLE
(
1
,
"可用"
),
AVAILABLE_STATUS_RECEIVED
(
2
,
"已领取"
);
private
final
Integer
value
;
private
final
String
desc
;
LuckyBagStatusEnum
(
Integer
value
,
String
desc
)
{
this
.
value
=
value
;
this
.
desc
=
desc
;
}
}
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/KylinLuckyBagCodeDetailVo.java
View file @
bae54a48
...
@@ -18,6 +18,9 @@ public class KylinLuckyBagCodeDetailVo {
...
@@ -18,6 +18,9 @@ public class KylinLuckyBagCodeDetailVo {
@ApiModelProperty
(
value
=
"福袋ID"
)
@ApiModelProperty
(
value
=
"福袋ID"
)
private
String
luckyBagId
;
private
String
luckyBagId
;
@ApiModelProperty
(
value
=
"福袋名称"
)
private
String
luckyBagName
;
@ApiModelProperty
(
value
=
"兑换码"
)
@ApiModelProperty
(
value
=
"兑换码"
)
private
String
code
;
private
String
code
;
...
@@ -46,6 +49,7 @@ public class KylinLuckyBagCodeDetailVo {
...
@@ -46,6 +49,7 @@ public class KylinLuckyBagCodeDetailVo {
@ApiModel
(
value
=
"用户信息"
)
@ApiModel
(
value
=
"用户信息"
)
@Data
public
static
class
UserInfo
{
public
static
class
UserInfo
{
@ApiModelProperty
(
value
=
"用户ID"
)
@ApiModelProperty
(
value
=
"用户ID"
)
private
String
uid
;
private
String
uid
;
...
@@ -56,6 +60,7 @@ public class KylinLuckyBagCodeDetailVo {
...
@@ -56,6 +60,7 @@ public class KylinLuckyBagCodeDetailVo {
}
}
@ApiModel
(
value
=
"订单信息"
)
@ApiModel
(
value
=
"订单信息"
)
@Data
public
static
class
OrderInfo
{
public
static
class
OrderInfo
{
@ApiModelProperty
(
value
=
"订单ID"
)
@ApiModelProperty
(
value
=
"订单ID"
)
private
String
orderId
;
private
String
orderId
;
...
...
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/vo/KylinLuckyBagVo.java
View file @
bae54a48
...
@@ -8,7 +8,6 @@ import lombok.Data;
...
@@ -8,7 +8,6 @@ import lombok.Data;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Collections
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
@Data
@Data
...
@@ -66,7 +65,7 @@ public class KylinLuckyBagVo implements Serializable {
...
@@ -66,7 +65,7 @@ public class KylinLuckyBagVo implements Serializable {
@ApiModel
(
value
=
"兑换码VO"
)
@ApiModel
(
value
=
"兑换码VO"
)
public
static
class
RewardCodeVo
{
public
static
class
RewardCodeVo
{
@ApiModelProperty
(
value
=
"状态 0:不可用 1:可用 2:已领取"
)
@ApiModelProperty
(
value
=
"状态 0:不可用 1:可用 2:已领取"
)
private
Integer
state
;
private
Integer
useStatus
;
@ApiModelProperty
(
value
=
"兑换码"
)
@ApiModelProperty
(
value
=
"兑换码"
)
private
String
code
;
private
String
code
;
...
...
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/IKylinLuckyBagService.java
View file @
bae54a48
...
@@ -8,11 +8,36 @@ import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagVo;
...
@@ -8,11 +8,36 @@ import com.liquidnet.service.kylin.dto.vo.KylinLuckyBagVo;
import
java.util.List
;
import
java.util.List
;
public
interface
IKylinLuckyBagService
{
public
interface
IKylinLuckyBagService
{
/**
* 根据订单ID获取福袋
* @param orderId
* @return
*/
KylinLuckyBagVo
getLuckyBagByOrderId
(
String
orderId
);
KylinLuckyBagVo
getLuckyBagByOrderId
(
String
orderId
);
/**
* 获取福袋验码列表
* @param mobile
* @return
*/
List
<
KylinLuckyBagScopeVo
>
getLuckyBagListScope
(
String
mobile
);
List
<
KylinLuckyBagScopeVo
>
getLuckyBagListScope
(
String
mobile
);
KylinLuckyBagCodeDetailVo
getCodeDetail
(
String
code
,
String
luckyBagId
);
/**
* 获取福袋详情
*
* @param authMobile
* @param code
* @param luckyBagId
* @return
*/
ResponseDto
<
KylinLuckyBagCodeDetailVo
>
getCodeDetail
(
String
authMobile
,
String
code
,
String
luckyBagId
);
ResponseDto
<
Boolean
>
consumeCode
(
String
code
,
String
luckyBagId
);
/**
* 验码
* @param authMobile
* @param code
* @param luckyBagId
* @return
*/
ResponseDto
<
Boolean
>
consumeCode
(
String
authMobile
,
String
code
,
String
luckyBagId
);
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller/KylinLuckyBagController.java
View file @
bae54a48
...
@@ -40,17 +40,17 @@ public class KylinLuckyBagController {
...
@@ -40,17 +40,17 @@ public class KylinLuckyBagController {
@ApiOperation
(
"兑换码详情"
)
@ApiOperation
(
"兑换码详情"
)
@GetMapping
(
"/code/detail"
)
@GetMapping
(
"/code/detail"
)
public
ResponseDto
<
KylinLuckyBagCodeDetailVo
>
getCodeDetail
(
@RequestParam
(
value
=
"
authMobile"
)
String
authM
obile
,
public
ResponseDto
<
KylinLuckyBagCodeDetailVo
>
getCodeDetail
(
@RequestParam
(
value
=
"
mobile"
)
String
m
obile
,
@RequestParam
(
value
=
"code"
)
String
code
,
@RequestParam
(
value
=
"code"
)
String
code
,
@RequestParam
(
value
=
"luckyBagId"
)
String
luckyBagId
){
@RequestParam
(
value
=
"luckyBagId"
)
String
luckyBagId
){
return
ResponseDto
.
success
(
luckyBagService
.
getCodeDetail
(
code
,
luckyBagId
)
);
return
luckyBagService
.
getCodeDetail
(
mobile
,
code
,
luckyBagId
);
}
}
@GetMapping
(
"/code/consume"
)
@GetMapping
(
"/code/consume"
)
@ApiOperation
(
"兑换码核销"
)
@ApiOperation
(
"兑换码核销"
)
public
ResponseDto
<
Boolean
>
consumeCode
(
@RequestParam
(
value
=
"
authMobile"
)
String
authM
obile
,
public
ResponseDto
<
Boolean
>
consumeCode
(
@RequestParam
(
value
=
"
mobile"
)
String
m
obile
,
@RequestParam
(
value
=
"code"
)
String
code
,
@RequestParam
(
value
=
"code"
)
String
code
,
@RequestParam
(
value
=
"luckyBagId"
)
String
luckyBagId
){
@RequestParam
(
value
=
"luckyBagId"
)
String
luckyBagId
){
return
luckyBagService
.
consumeCode
(
code
,
luckyBagId
);
return
luckyBagService
.
consumeCode
(
mobile
,
code
,
luckyBagId
);
}
}
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinLuckyBagServiceImpl.java
View file @
bae54a48
...
@@ -10,12 +10,14 @@ import com.liquidnet.commons.lang.util.StringUtil;
...
@@ -10,12 +10,14 @@ import com.liquidnet.commons.lang.util.StringUtil;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.constant.LuckyBagStatusEnum
;
import
com.liquidnet.service.kylin.dto.vo.KylinLuckyBagCodeDetailVo
;
import
com.liquidnet.service.kylin.dto.vo.KylinLuckyBagCodeDetailVo
;
import
com.liquidnet.service.kylin.dto.vo.KylinLuckyBagScopeVo
;
import
com.liquidnet.service.kylin.dto.vo.KylinLuckyBagScopeVo
;
import
com.liquidnet.service.kylin.dto.vo.KylinLuckyBagVo
;
import
com.liquidnet.service.kylin.dto.vo.KylinLuckyBagVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo
;
import
com.liquidnet.service.kylin.dto.vo.returns.OrderDetailsVo
;
import
com.liquidnet.service.kylin.dto.vo.returns.OrderDetailsVo
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.mapper.KylinLuckyBagMapper
;
import
com.liquidnet.service.kylin.mapper.KylinLuckyBagScopeMapper
;
import
com.liquidnet.service.kylin.mapper.KylinLuckyBagScopeMapper
;
import
com.liquidnet.service.kylin.mapper.KylinRewardCodeMapper
;
import
com.liquidnet.service.kylin.mapper.KylinRewardCodeMapper
;
import
com.liquidnet.service.kylin.mapper.KylinRewardUserMapper
;
import
com.liquidnet.service.kylin.mapper.KylinRewardUserMapper
;
...
@@ -49,8 +51,6 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -49,8 +51,6 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
IKylinOrderTicketsService
orderTicketsService
;
IKylinOrderTicketsService
orderTicketsService
;
@Autowired
@Autowired
private
IFeishuBotService
iFeishuBotService
;
private
IFeishuBotService
iFeishuBotService
;
@Autowired
private
KylinPerformancesServiceImpl
kylinPerformancesService
;
@Autowired
@Autowired
private
KylinRewardCodeMapper
kylinRewardCodeMapper
;
private
KylinRewardCodeMapper
kylinRewardCodeMapper
;
...
@@ -58,6 +58,8 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -58,6 +58,8 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
private
KylinRewardUserMapper
kylinRewardUserMapper
;
private
KylinRewardUserMapper
kylinRewardUserMapper
;
@Autowired
@Autowired
private
KylinLuckyBagScopeMapper
kylinLuckyBagScopeMapper
;
private
KylinLuckyBagScopeMapper
kylinLuckyBagScopeMapper
;
@Autowired
private
KylinLuckyBagMapper
kylinLuckyBagMapper
;
@Override
@Override
...
@@ -72,7 +74,7 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -72,7 +74,7 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
}
}
log
.
info
(
"[getLuckyBagByOrderId] 获取福袋详情, orderId: {}, uid: {}."
,
orderId
,
uid
);
log
.
info
(
"[getLuckyBagByOrderId] 获取福袋详情, orderId: {}, uid: {}."
,
orderId
,
uid
);
// 判断订单状态
// 判断订单状态
if
(
vo
.
getOrderTicketVo
().
getStatus
()
!=
1
||
vo
.
getOrderTicketVo
().
getPayStatus
()
!=
1
)
{
if
(
!
vo
.
getOrderTicketVo
().
getStatus
().
equals
(
1
)
||
!
vo
.
getOrderTicketVo
().
getPayStatus
().
equals
(
1
)
)
{
log
.
info
(
"[getLuckyBagByOrderId] 该订单状态不满足权益要求, orderId: {}, uid: {}, status: {}, payStatus: {}."
,
orderId
,
log
.
info
(
"[getLuckyBagByOrderId] 该订单状态不满足权益要求, orderId: {}, uid: {}, status: {}, payStatus: {}."
,
orderId
,
uid
,
vo
.
getOrderTicketVo
().
getStatus
(),
vo
.
getOrderTicketVo
().
getPayStatus
());
uid
,
vo
.
getOrderTicketVo
().
getStatus
(),
vo
.
getOrderTicketVo
().
getPayStatus
());
return
KylinLuckyBagVo
.
ofEmpty
();
return
KylinLuckyBagVo
.
ofEmpty
();
...
@@ -93,38 +95,17 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -93,38 +95,17 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
}
}
@Override
public
ResponseDto
<
Boolean
>
consumeCode
(
String
code
,
String
luckyBagId
)
{
LambdaQueryWrapper
<
KylinRewardUser
>
queryWrapper
=
new
QueryWrapper
<
KylinRewardUser
>()
.
lambda
()
.
eq
(
KylinRewardUser:
:
getCode
,
code
)
.
eq
(
KylinRewardUser:
:
getLuckyBagId
,
luckyBagId
);
KylinRewardUser
rewardUser
=
kylinRewardUserMapper
.
selectOne
(
queryWrapper
);
if
(
rewardUser
==
null
)
{
log
.
error
(
"code does not exist, code: {}, luckyBagId: {}."
,
code
,
luckyBagId
);
return
ResponseDto
.
failure
(
"兑换码无效"
);
}
if
(
rewardUser
.
getState
().
equals
(
2
))
{
log
.
info
(
"code be used, code: {}, luckyBagId: {}."
,
code
,
luckyBagId
);
return
ResponseDto
.
failure
(
"已被使用"
);
}
rewardUser
.
setState
(
2
);
rewardUser
.
setUpdatedAt
(
LocalDateTime
.
now
());
int
updateById
=
kylinRewardUserMapper
.
updateById
(
rewardUser
);
log
.
info
(
"update code result: {}."
,
updateById
);
return
ResponseDto
.
success
(
updateById
>
0
);
}
@Override
@Override
public
List
<
KylinLuckyBagScopeVo
>
getLuckyBagListScope
(
String
mobile
)
{
public
List
<
KylinLuckyBagScopeVo
>
getLuckyBagListScope
(
String
mobile
)
{
if
(
StringUtil
.
isBlank
(
mobile
))
{
if
(
StringUtil
.
isBlank
(
mobile
))
{
log
.
info
(
"手机号为空"
);
log
.
info
(
"
[getLuckyBagListScope]
手机号为空"
);
return
Collections
.
emptyList
();
return
Collections
.
emptyList
();
}
}
LambdaQueryWrapper
<
KylinLuckyBagScope
>
queryWrapper
=
new
QueryWrapper
<
KylinLuckyBagScope
>()
LambdaQueryWrapper
<
KylinLuckyBagScope
>
queryWrapper
=
new
QueryWrapper
<
KylinLuckyBagScope
>()
.
lambda
()
.
lambda
()
.
eq
(
KylinLuckyBagScope:
:
getMobile
,
mobile
)
.
eq
(
KylinLuckyBagScope:
:
getMobile
,
mobile
)
.
eq
(
KylinLuckyBagScope:
:
getState
,
1
);
.
eq
(
KylinLuckyBagScope:
:
getState
,
LuckyBagStatusEnum
.
AVAILABLE_STATUS_AVAILABLE
.
getValue
()
);
List
<
KylinLuckyBagScope
>
kylinLuckyBagScopes
=
kylinLuckyBagScopeMapper
.
selectList
(
queryWrapper
);
List
<
KylinLuckyBagScope
>
kylinLuckyBagScopes
=
kylinLuckyBagScopeMapper
.
selectList
(
queryWrapper
);
if
(
kylinLuckyBagScopes
.
isEmpty
())
{
if
(
kylinLuckyBagScopes
.
isEmpty
())
{
log
.
info
(
"[getLuckyBagListScope] 验码福袋列表为空, mobile: {}."
,
mobile
);
log
.
info
(
"[getLuckyBagListScope] 验码福袋列表为空, mobile: {}."
,
mobile
);
...
@@ -158,8 +139,123 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -158,8 +139,123 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
}
}
@Override
@Override
public
KylinLuckyBagCodeDetailVo
getCodeDetail
(
String
code
,
String
luckyBagId
)
{
public
ResponseDto
<
KylinLuckyBagCodeDetailVo
>
getCodeDetail
(
String
authMobile
,
String
code
,
String
luckyBagId
)
{
return
null
;
if
(!
checkScopeByMobile
(
authMobile
,
luckyBagId
))
{
log
.
info
(
"暂无验码权限, mobile: {}, luckyBagId: {}."
,
authMobile
,
luckyBagId
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20003"
));
}
LambdaQueryWrapper
<
KylinRewardUser
>
queryWrapper
=
new
QueryWrapper
<
KylinRewardUser
>()
.
lambda
()
.
eq
(
KylinRewardUser:
:
getCode
,
code
)
.
eq
(
KylinRewardUser:
:
getLuckyBagId
,
luckyBagId
);
KylinRewardUser
rewardUser
=
kylinRewardUserMapper
.
selectOne
(
queryWrapper
);
if
(
rewardUser
==
null
)
{
log
.
error
(
"兑换码或福袋不存在, code: {}, luckyBagId: {}."
,
code
,
luckyBagId
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20800"
));
}
OrderDetailsVo
vo
=
orderTicketsService
.
orderDetails
(
rewardUser
.
getOrderId
());
if
(
vo
==
null
)
{
log
.
error
(
"订单详情为空, orderId: {}."
,
rewardUser
.
getOrderId
());
iFeishuBotService
.
sendTextMessage
(
"订单不存在, orderId: "
+
rewardUser
.
getOrderId
());
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20801"
));
}
return
ResponseDto
.
success
(
buildCodeDetailVo
(
rewardUser
,
vo
.
getOrderTicketVo
()));
}
@Override
public
ResponseDto
<
Boolean
>
consumeCode
(
String
authMobile
,
String
code
,
String
luckyBagId
)
{
if
(!
checkScopeByMobile
(
authMobile
,
luckyBagId
))
{
log
.
info
(
"暂无验码权限, mobile: {}, luckyBagId: {}."
,
authMobile
,
luckyBagId
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20003"
));
}
LambdaQueryWrapper
<
KylinRewardUser
>
queryWrapper
=
new
QueryWrapper
<
KylinRewardUser
>()
.
lambda
()
.
eq
(
KylinRewardUser:
:
getCode
,
code
)
.
eq
(
KylinRewardUser:
:
getLuckyBagId
,
luckyBagId
);
KylinRewardUser
rewardUser
=
kylinRewardUserMapper
.
selectOne
(
queryWrapper
);
if
(
rewardUser
==
null
)
{
log
.
error
(
"兑换码或福袋不存在, code: {}, luckyBagId: {}."
,
code
,
luckyBagId
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20800"
));
}
if
(
LuckyBagStatusEnum
.
AVAILABLE_STATUS_RECEIVED
.
getValue
().
equals
(
rewardUser
.
getState
()))
{
log
.
info
(
"兑换码被使用, code: {}, luckyBagId: {}."
,
code
,
luckyBagId
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"20802"
));
}
rewardUser
.
setState
(
LuckyBagStatusEnum
.
AVAILABLE_STATUS_RECEIVED
.
getValue
());
rewardUser
.
setComment
(
authMobile
);
rewardUser
.
setUpdatedAt
(
LocalDateTime
.
now
());
int
updateById
=
kylinRewardUserMapper
.
updateById
(
rewardUser
);
log
.
info
(
"核销兑换码: {}."
,
updateById
>
0
);
return
ResponseDto
.
success
(
updateById
>
0
);
}
private
KylinLuckyBagCodeDetailVo
buildCodeDetailVo
(
KylinRewardUser
rewardUser
,
KylinOrderTicketVo
orderTicketVo
)
{
KylinLuckyBagCodeDetailVo
detailVo
=
new
KylinLuckyBagCodeDetailVo
();
detailVo
.
setLuckyBagId
(
rewardUser
.
getLuckyBagId
());
KylinLuckyBag
luckyBag
=
getLuckyBagById
(
rewardUser
.
getLuckyBagId
());
if
(
luckyBag
!=
null
)
{
detailVo
.
setLuckyBagName
(
luckyBag
.
getName
());
}
detailVo
.
setCode
(
rewardUser
.
getCode
());
detailVo
.
setState
(
rewardUser
.
getState
());
detailVo
.
setCreatedAt
(
rewardUser
.
getCreatedAt
());
detailVo
.
setUpdatedAt
(
rewardUser
.
getUpdatedAt
());
detailVo
.
setUserInfo
(
getUserInfo
(
orderTicketVo
));
detailVo
.
setOrderInfo
(
getOrderInfo
(
orderTicketVo
));
return
detailVo
;
}
/**
* 根据福袋ID获取福袋信息
*
* @param luckyBagId
* @return
*/
private
KylinLuckyBag
getLuckyBagById
(
String
luckyBagId
)
{
LambdaQueryWrapper
<
KylinLuckyBag
>
wrapper
=
new
QueryWrapper
<
KylinLuckyBag
>().
lambda
()
.
eq
(
KylinLuckyBag:
:
getLuckyBagId
,
luckyBagId
);
return
kylinLuckyBagMapper
.
selectOne
(
wrapper
);
}
/**
* 获取用户信息
*
* @param orderTicketVo
* @return
*/
private
KylinLuckyBagCodeDetailVo
.
UserInfo
getUserInfo
(
KylinOrderTicketVo
orderTicketVo
)
{
if
(
orderTicketVo
==
null
)
{
return
null
;
}
KylinLuckyBagCodeDetailVo
.
UserInfo
userInfo
=
new
KylinLuckyBagCodeDetailVo
.
UserInfo
();
userInfo
.
setUid
(
orderTicketVo
.
getUserId
());
userInfo
.
setUserName
(
orderTicketVo
.
getUserName
());
userInfo
.
setUserMobile
(
orderTicketVo
.
getUserMobile
());
return
userInfo
;
}
/**
* 获取订单信息
*
* @param orderTicketVo
* @return
*/
private
KylinLuckyBagCodeDetailVo
.
OrderInfo
getOrderInfo
(
KylinOrderTicketVo
orderTicketVo
)
{
if
(
orderTicketVo
==
null
)
{
return
null
;
}
KylinLuckyBagCodeDetailVo
.
OrderInfo
orderInfo
=
new
KylinLuckyBagCodeDetailVo
.
OrderInfo
();
orderInfo
.
setOrderId
(
orderTicketVo
.
getOrderTicketsId
());
orderInfo
.
setOrderCode
(
orderTicketVo
.
getOrderCode
());
orderInfo
.
setPerformanceTitle
(
orderTicketVo
.
getPerformanceTitle
());
orderInfo
.
setTicketTitle
(
orderTicketVo
.
getTicketTitle
());
orderInfo
.
setNumber
(
orderTicketVo
.
getNumber
());
orderInfo
.
setCreatedAt
(
orderTicketVo
.
getCreatedAt
());
orderInfo
.
setUseStart
(
orderTicketVo
.
getUseStart
());
return
orderInfo
;
}
}
/**
/**
...
@@ -206,18 +302,19 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -206,18 +302,19 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
log
.
info
(
"[getLuckyBagVos] 福袋[{}]已到发放时间,但未给用户分配兑换码, uid: {}, orderId: {}."
,
l
.
getName
(),
uid
,
orderId
);
log
.
info
(
"[getLuckyBagVos] 福袋[{}]已到发放时间,但未给用户分配兑换码, uid: {}, orderId: {}."
,
l
.
getName
(),
uid
,
orderId
);
kylinRewardUserList
=
getRandomRewardCode
(
vo
,
l
.
getLuckyBagId
());
kylinRewardUserList
=
getRandomRewardCode
(
vo
,
l
.
getLuckyBagId
());
}
}
List
<
KylinLuckyBagVo
.
RewardCodeVo
>
code
Se
t
=
kylinRewardUserList
.
stream
().
map
(
k
->
{
List
<
KylinLuckyBagVo
.
RewardCodeVo
>
code
VoLis
t
=
kylinRewardUserList
.
stream
().
map
(
k
->
{
KylinLuckyBagVo
.
RewardCodeVo
rewardCodeVo
=
new
KylinLuckyBagVo
.
RewardCodeVo
();
KylinLuckyBagVo
.
RewardCodeVo
rewardCodeVo
=
new
KylinLuckyBagVo
.
RewardCodeVo
();
rewardCodeVo
.
set
State
(
k
.
getState
());
rewardCodeVo
.
set
UseStatus
(
k
.
getState
());
rewardCodeVo
.
setCode
(
k
.
getCode
());
rewardCodeVo
.
setCode
(
k
.
getCode
());
return
rewardCodeVo
;
return
rewardCodeVo
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
luckyBagVo
.
setRewardCodeVoList
(
codeSet
);
luckyBagVo
.
setRewardCodeVoList
(
codeVoList
);
luckyBagVo
.
setStatus
(
kylinRewardUserList
.
isEmpty
()
?
0
:
1
);
luckyBagVo
.
setStatus
(
kylinRewardUserList
.
isEmpty
()
?
LuckyBagStatusEnum
.
UNLOCK_STATUS_NOT_UNLOCKED
.
getValue
()
:
LuckyBagStatusEnum
.
UNLOCK_STATUS_UNLOCKED
.
getValue
());
}
else
{
}
else
{
log
.
info
(
"[getLuckyBagVos] 福袋[{}]未到发放时间."
,
l
.
getName
());
log
.
info
(
"[getLuckyBagVos] 福袋[{}]未到发放时间."
,
l
.
getName
());
luckyBagVo
.
setStatus
(
0
);
luckyBagVo
.
setStatus
(
LuckyBagStatusEnum
.
UNLOCK_STATUS_NOT_UNLOCKED
.
getValue
()
);
luckyBagVo
.
setRewardCodeVoList
(
Collections
.
emptyList
());
luckyBagVo
.
setRewardCodeVoList
(
Collections
.
emptyList
());
}
}
}
}
...
@@ -255,7 +352,7 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -255,7 +352,7 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
LambdaQueryWrapper
<
KylinRewardCode
>
lambdaQueryWrapper
=
new
QueryWrapper
<
KylinRewardCode
>().
lambda
()
LambdaQueryWrapper
<
KylinRewardCode
>
lambdaQueryWrapper
=
new
QueryWrapper
<
KylinRewardCode
>().
lambda
()
.
eq
(
KylinRewardCode:
:
getLuckyBagId
,
luckyBagId
)
.
eq
(
KylinRewardCode:
:
getLuckyBagId
,
luckyBagId
)
.
eq
(
KylinRewardCode:
:
getState
,
1
)
.
eq
(
KylinRewardCode:
:
getState
,
LuckyBagStatusEnum
.
AVAILABLE_STATUS_AVAILABLE
.
getValue
()
)
.
last
(
true
,
" limit "
+
limitTotal
);
.
last
(
true
,
" limit "
+
limitTotal
);
//2. 搜索未分配的兑换码
//2. 搜索未分配的兑换码
List
<
KylinRewardCode
>
rewardCodes
=
kylinRewardCodeMapper
.
selectList
(
lambdaQueryWrapper
);
List
<
KylinRewardCode
>
rewardCodes
=
kylinRewardCodeMapper
.
selectList
(
lambdaQueryWrapper
);
...
@@ -283,7 +380,8 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -283,7 +380,8 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
int
inserted
=
kylinRewardUserMapper
.
insert
(
rewardUser
);
int
inserted
=
kylinRewardUserMapper
.
insert
(
rewardUser
);
if
(
inserted
>
0
)
{
if
(
inserted
>
0
)
{
// 将兑换码状态更新为已领取
// 将兑换码状态更新为已领取
int
updateResult
=
kylinRewardCodeMapper
.
updateByMid
(
lockedRewardCode
.
getMid
(),
0
);
int
updateResult
=
kylinRewardCodeMapper
.
updateByMid
(
lockedRewardCode
.
getMid
(),
LuckyBagStatusEnum
.
AVAILABLE_STATUS_UNAVAILABLE
.
getValue
());
if
(
updateResult
<=
0
)
{
if
(
updateResult
<=
0
)
{
log
.
error
(
"[getRandomRewardCode] 修改兑换码状态失败, luckyBagId: {}, orderId: {}, code: {}."
,
log
.
error
(
"[getRandomRewardCode] 修改兑换码状态失败, luckyBagId: {}, orderId: {}, code: {}."
,
luckyBagId
,
orderTicketVo
.
getOrderTicketsId
(),
lockedRewardCode
.
getCode
());
luckyBagId
,
orderTicketVo
.
getOrderTicketsId
(),
lockedRewardCode
.
getCode
());
...
@@ -316,7 +414,7 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -316,7 +414,7 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
user
.
setOrderId
(
orderId
);
user
.
setOrderId
(
orderId
);
user
.
setOrderTicketEntitiesId
(
orderTicketEntitiesId
);
user
.
setOrderTicketEntitiesId
(
orderTicketEntitiesId
);
user
.
setCode
(
code
);
user
.
setCode
(
code
);
user
.
setState
(
1
);
user
.
setState
(
LuckyBagStatusEnum
.
AVAILABLE_STATUS_AVAILABLE
.
getValue
()
);
user
.
setCreatedAt
(
LocalDateTime
.
now
());
user
.
setCreatedAt
(
LocalDateTime
.
now
());
// user.setUpdatedAt(LocalDateTime.now());
// user.setUpdatedAt(LocalDateTime.now());
return
user
;
return
user
;
...
@@ -343,4 +441,24 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
...
@@ -343,4 +441,24 @@ public class KylinLuckyBagServiceImpl implements IKylinLuckyBagService {
});
});
return
activityVos
;
return
activityVos
;
}
}
/**
* 校验手机号是否有权限验码
*
* @param mobile
* @param luckyBagId
* @return
*/
private
boolean
checkScopeByMobile
(
String
mobile
,
String
luckyBagId
)
{
if
(
StringUtil
.
isBlank
(
mobile
))
{
log
.
info
(
"mobile is blank."
);
return
false
;
}
LambdaQueryWrapper
<
KylinLuckyBagScope
>
queryWrapper
=
new
QueryWrapper
<
KylinLuckyBagScope
>().
lambda
()
.
eq
(
KylinLuckyBagScope:
:
getMobile
,
mobile
)
.
eq
(
KylinLuckyBagScope:
:
getLuckyBagId
,
luckyBagId
)
.
eq
(
KylinLuckyBagScope:
:
getState
,
LuckyBagStatusEnum
.
AVAILABLE_STATUS_AVAILABLE
.
getValue
());
KylinLuckyBagScope
kylinLuckyBagScope
=
kylinLuckyBagScopeMapper
.
selectOne
(
queryWrapper
);
return
kylinLuckyBagScope
!=
null
;
}
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/DataUtils.java
View file @
bae54a48
...
@@ -13,6 +13,7 @@ import com.liquidnet.service.goblin.dto.manage.vo.GoblinGoodsAnticipateValueVo;
...
@@ -13,6 +13,7 @@ import com.liquidnet.service.goblin.dto.manage.vo.GoblinGoodsAnticipateValueVo;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.constant.KylinTableStatusConst
;
import
com.liquidnet.service.kylin.constant.LuckyBagStatusEnum
;
import
com.liquidnet.service.kylin.dao.KylinTicketActive
;
import
com.liquidnet.service.kylin.dao.KylinTicketActive
;
import
com.liquidnet.service.kylin.dto.vo.KylinApiCameraDevicesVo
;
import
com.liquidnet.service.kylin.dto.vo.KylinApiCameraDevicesVo
;
import
com.liquidnet.service.kylin.dto.vo.KylinPerformanceSubscribeUpushVo
;
import
com.liquidnet.service.kylin.dto.vo.KylinPerformanceSubscribeUpushVo
;
...
@@ -1624,7 +1625,7 @@ public class DataUtils {
...
@@ -1624,7 +1625,7 @@ public class DataUtils {
// 从数据库查询 状态为可用的
// 从数据库查询 状态为可用的
LambdaQueryWrapper
<
KylinLuckyBagActivity
>
lambdaQueryWrapper
=
new
QueryWrapper
<
KylinLuckyBagActivity
>()
LambdaQueryWrapper
<
KylinLuckyBagActivity
>
lambdaQueryWrapper
=
new
QueryWrapper
<
KylinLuckyBagActivity
>()
.
lambda
()
.
lambda
()
.
eq
(
KylinLuckyBagActivity:
:
getState
,
1
)
.
eq
(
KylinLuckyBagActivity:
:
getState
,
LuckyBagStatusEnum
.
AVAILABLE_STATUS_AVAILABLE
.
getValue
()
)
.
orderByDesc
(
KylinLuckyBagActivity:
:
getSort
);
.
orderByDesc
(
KylinLuckyBagActivity:
:
getSort
);
List
<
KylinLuckyBagActivity
>
bagActivities
=
kylinLuckyBagActivityMapper
.
selectList
(
lambdaQueryWrapper
);
List
<
KylinLuckyBagActivity
>
bagActivities
=
kylinLuckyBagActivityMapper
.
selectList
(
lambdaQueryWrapper
);
setKylinLuckyBagActivityList
(
bagActivities
);
setKylinLuckyBagActivityList
(
bagActivities
);
...
@@ -1656,7 +1657,7 @@ public class DataUtils {
...
@@ -1656,7 +1657,7 @@ public class DataUtils {
// 从数据库查询 状态为可用的
// 从数据库查询 状态为可用的
LambdaQueryWrapper
<
KylinLuckyBag
>
lambdaQueryWrapper
=
new
QueryWrapper
<
KylinLuckyBag
>()
LambdaQueryWrapper
<
KylinLuckyBag
>
lambdaQueryWrapper
=
new
QueryWrapper
<
KylinLuckyBag
>()
.
lambda
()
.
lambda
()
.
eq
(
KylinLuckyBag:
:
getState
,
1
);
.
eq
(
KylinLuckyBag:
:
getState
,
LuckyBagStatusEnum
.
AVAILABLE_STATUS_AVAILABLE
.
getValue
()
);
List
<
KylinLuckyBag
>
bagActivities
=
kylinLuckyBagMapper
.
selectList
(
lambdaQueryWrapper
);
List
<
KylinLuckyBag
>
bagActivities
=
kylinLuckyBagMapper
.
selectList
(
lambdaQueryWrapper
);
setKylinLuckyBagList
(
bagActivities
);
setKylinLuckyBagList
(
bagActivities
);
return
bagActivities
;
return
bagActivities
;
...
@@ -1686,8 +1687,7 @@ public class DataUtils {
...
@@ -1686,8 +1687,7 @@ public class DataUtils {
LambdaQueryWrapper
<
KylinRewardUser
>
lambdaQueryWrapper
=
new
QueryWrapper
<
KylinRewardUser
>().
lambda
()
LambdaQueryWrapper
<
KylinRewardUser
>
lambdaQueryWrapper
=
new
QueryWrapper
<
KylinRewardUser
>().
lambda
()
.
eq
(
KylinRewardUser:
:
getUid
,
uid
)
.
eq
(
KylinRewardUser:
:
getUid
,
uid
)
.
eq
(
KylinRewardUser:
:
getOrderId
,
orderId
)
.
eq
(
KylinRewardUser:
:
getOrderId
,
orderId
)
.
eq
(
KylinRewardUser:
:
getLuckyBagId
,
luckyBagId
)
.
eq
(
KylinRewardUser:
:
getLuckyBagId
,
luckyBagId
);
.
eq
(
KylinRewardUser:
:
getState
,
1
);
return
kylinRewardUserMapper
.
selectList
(
lambdaQueryWrapper
);
return
kylinRewardUserMapper
.
selectList
(
lambdaQueryWrapper
);
}
}
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/resources/errors.properties
View file @
bae54a48
40001
=
登录信息有误
40001
=
\u
767B
\u
5F55
\u
4FE1
\u
606F
\u6709\u
8BEF
40002
=
账号已在另一台设备登录
40002
=
\u
8D26
\u
53F7
\u
5DF2
\u5728\u
53E6
\u
4E00
\u
53F0
\u
8BBE
\u5907\u
767B
\u
5F55
40003
=
登录已过期
40003
=
\u
767B
\u
5F55
\u
5DF2
\u
8FC7
\u
671F
# ------------------------ 4
开头错误码作系统保留
# ------------------------ 4
\u5F00\u5934\u9519\u8BEF\u7801\u4F5C\u7CFB\u7EDF\u4FDD\u7559
#APP ERROR
#APP ERROR
20001
=
验证码发送失败
20001
=
\u
9A8C
\u
8BC1
\u7801\u
53D1
\u9001\u5931\u
8D25
20002
=
验证码错误,请重新输入
20002
=
\u
9A8C
\u
8BC1
\u7801\u9519\u
8BEF
\u
FF0C
\u
8BF7
\u
91CD
\u
65B0
\u
8F93
\u5165
20003
=
无权查看
20003
=
\u
65E0
\u6743\u
67E5
\u
770B
20004
=
参数错误
20004
=
\u
53C2
\u6570\u9519\u
8BEF
20005
=
手机号获取失败,请更换登录方式
20005
=
\u
624B
\u
673A
\u
53F7
\u
83B7
\u
53D6
\u5931\u
8D25
\u
FF0C
\u
8BF7
\u
66F4
\u6362\u
767B
\u
5F55
\u
65B9
\u
5F0F
20006
=
第三方账号未注册
20006
=
\u
7B2C
\u
4E09
\u
65B9
\u
8D26
\u
53F7
\u
672A
\u
6CE8
\u
518C
20007
=
数量错误
20007
=
\u6570\u
91CF
\u9519\u
8BEF
20008
=
无权购买
20008
=
\u
65E0
\u6743\u
8D2D
\u
4E70
20009
=
非会员用户暂不可购买
20009
=
\u
975E
\u
4F1A
\u5458\u7528\u6237\u6682\u
4E0D
\u
53EF
\u
8D2D
\u
4E70
20010
=
当前不可购买
20010
=
\u
5F53
\u
524D
\u
4E0D
\u
53EF
\u
8D2D
\u
4E70
20011
=
未开始售卖
20011
=
\u
672A
\u
5F00
\u
59CB
\u
552E
\u5356
20012
=
售卖已结束
20012
=
\u
552E
\u5356\u
5DF2
\u
7ED3
\u
675F
20013
=
已超过快递票截止时间
20013
=
\u
5DF2
\u
8D85
\u
8FC7
\u
5FEB
\u9012\u7968\u
622A
\u
6B62
\u
65F6
\u
95F4
20014
=
快递票未填写收货地址
20014
=
\u
5FEB
\u9012\u7968\u
672A
\u
586B
\u5199\u6536\u
8D27
\u5730\u5740
20015
=
入场人数量错误
20015
=
\u5165\u
573A
\u
4EBA
\u6570\u
91CF
\u9519\u
8BEF
20016
=
库存不足
20016
=
\u
5E93
\u
5B58
\u
4E0D
\u
8DB3
20017
=
年龄不符合
20017
=
\u
5E74
\u
9F84
\u
4E0D
\u
7B26
\u5408
20018
=
下单失败
20018
=
\u
4E0B
\u5355\u5931\u
8D25
20019
=
申请失败
20019
=
\u7533\u
8BF7
\u5931\u
8D25
20020
=
当前状态不可撤回
20020
=
\u
5F53
\u
524D
\u
72B6
\u6001\u
4E0D
\u
53EF
\u
64A4
\u
56DE
20021
=
退款金额不能为
0
20021
=
\u9000\u
6B3E
\u
91D1
\u
989D
\u
4E0D
\u
80FD
\u
4E3A
0
20022
=
申请金额不得小于
0
20022
=
\u7533\u
8BF7
\u
91D1
\u
989D
\u
4E0D
\u
5F97
\u
5C0F
\u
4E8E
0
20023
=
请求频繁
20023
=
\u
8BF7
\u
6C42
\u9891\u
7E41
20024
=
订单不存在
20024
=
\u
8BA2
\u5355\u
4E0D
\u
5B58
\u5728
20025
=
订单已支付
20025
=
\u
8BA2
\u5355\u
5DF2
\u
652F
\u
4ED8
20026
=
订单已关闭
20026
=
\u
8BA2
\u5355\u
5DF2
\u5173\u
95ED
20028
=
订单已失效
20028
=
\u
8BA2
\u5355\u
5DF2
\u5931\u6548
20027
=
您已支付请刷新再试
20027
=
\u
60A8
\u
5DF2
\u
652F
\u
4ED8
\u
8BF7
\u5237\u
65B0
\u
518D
\u
8BD5
20029
=
未选择支付方式
20029
=
\u
672A
\u9009\u
62E9
\u
652F
\u
4ED8
\u
65B9
\u
5F0F
20030
=
查看失败
20030
=
\u
67E5
\u
770B
\u5931\u
8D25
#APP JDM
#APP JDM
20201
=
20201
=
#
专业版
APP
#
\u4E13\u4E1A\u7248
APP
20601
=
账号不存在
20601
=
\u
8D26
\u
53F7
\u
4E0D
\u
5B58
\u5728
20602
=
密码错误
20602
=
\u
5BC6
\u7801\u9519\u
8BEF
20603
=
20603
=
20604
=
20604
=
20605
=
20605
=
20606
=
当前账号无关联演出数据
20606
=
\u
5F53
\u
524D
\u
8D26
\u
53F7
\u
65E0
\u5173\u8054\u
6F14
\u
51FA
\u6570\u
636E
20607
=
当前账号未关联当前演出
20607
=
\u
5F53
\u
524D
\u
8D26
\u
53F7
\u
672A
\u5173\u8054\u
5F53
\u
524D
\u
6F14
\u
51FA
20608
=
当前演出还未开放下载
20608
=
\u
5F53
\u
524D
\u
6F14
\u
51FA
\u
8FD8
\u
672A
\u
5F00
\u
653E
\u
4E0B
\u
8F7D
# 演出
# \u6F14\u51FA
20700
=
演出详情获取失败
20700
=
\u
6F14
\u
51FA
\u
8BE6
\u
60C5
\u
83B7
\u
53D6
\u5931\u
8D25
20701
=
巡演获取失败
20701
=
\u
5DE1
\u
6F14
\u
83B7
\u
53D6
\u5931\u
8D25
20702
=
获取演出场次票种失败
20702
=
\u
83B7
\u
53D6
\u
6F14
\u
51FA
\u
573A
\u
6B21
\u7968\u
79CD
\u5931\u
8D25
20703
=
获取支付前详情失败
20703
=
\u
83B7
\u
53D6
\u
652F
\u
4ED8
\u
524D
\u
8BE6
\u
60C5
\u5931\u
8D25
#\u798F\u888B
20800
=
\u5151\u6362\u7801\u
65E0
\u6548
20801
=
\u
8BA2
\u5355\u
4E0D
\u
5B58
\u5728
20802
=
\u5151\u6362\u7801\u
5DF2
\u
88AB
\u
4F7F
\u7528
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