Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-api-boot-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
lanbaoming
jiedao-api-boot-master
Commits
c2d706b2
Commit
c2d706b2
authored
Aug 13, 2024
by
zhangfeng
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'refs/heads/feature_member_score' into dev
parents
d05dbe2c
aa27c766
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
115 additions
and
89 deletions
+115
-89
RecommendStrategy.java
...dule/member/mq/consumer/score/core/RecommendStrategy.java
+2
-1
RegisterStrategy.java
...odule/member/mq/consumer/score/core/RegisterStrategy.java
+3
-2
MemberUserScoreLogServiceImpl.java
...ember/service/scoreLog/MemberUserScoreLogServiceImpl.java
+103
-78
RewardController.java
...dule/reward/controller/admin/reward/RewardController.java
+1
-3
RewardServiceImpl.java
...yudao/module/reward/service/reward/RewardServiceImpl.java
+6
-5
No files found.
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/mq/consumer/score/core/RecommendStrategy.java
View file @
c2d706b2
...
@@ -55,7 +55,7 @@ public class RecommendStrategy extends AbstractScoreRuleStrategy {
...
@@ -55,7 +55,7 @@ public class RecommendStrategy extends AbstractScoreRuleStrategy {
map
.
put
(
"userId"
,
userId
);
map
.
put
(
"userId"
,
userId
);
map
.
put
(
"userNameZh"
,
message
.
getUserNameZh
());
map
.
put
(
"userNameZh"
,
message
.
getUserNameZh
());
map
.
put
(
"userNameEn"
,
message
.
getUserNameEn
());
map
.
put
(
"userNameEn"
,
message
.
getUserNameEn
());
String
desensitizedPhoneNumber
=
me
ssage
.
getPhon
e
().
replaceAll
(
"(\\d{3})\\d{4}(\\d{4})"
,
"$1****$2"
);
String
desensitizedPhoneNumber
=
me
mberUserDO
.
getMobil
e
().
replaceAll
(
"(\\d{3})\\d{4}(\\d{4})"
,
"$1****$2"
);
map
.
put
(
"phone"
,
desensitizedPhoneNumber
);
map
.
put
(
"phone"
,
desensitizedPhoneNumber
);
memberUserScoreApi
.
operateScore
(
MemberUserScoreOperateReqDTO
.
builder
()
memberUserScoreApi
.
operateScore
(
MemberUserScoreOperateReqDTO
.
builder
()
...
@@ -65,6 +65,7 @@ public class RecommendStrategy extends AbstractScoreRuleStrategy {
...
@@ -65,6 +65,7 @@ public class RecommendStrategy extends AbstractScoreRuleStrategy {
.
ruleId
(
scoreRuleDO
.
getId
())
.
ruleId
(
scoreRuleDO
.
getId
())
.
uniqueId
(
userId
+
"_"
+
message
.
getRecommendUserId
())
.
uniqueId
(
userId
+
"_"
+
message
.
getRecommendUserId
())
.
expireDays
(
scoreRuleDO
.
getScorePeriod
())
.
expireDays
(
scoreRuleDO
.
getScorePeriod
())
.
extParam
(
map
)
.
build
());
.
build
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"Recommend listener: operateScore error"
,
e
);
log
.
error
(
"Recommend listener: operateScore error"
,
e
);
...
...
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/mq/consumer/score/core/RegisterStrategy.java
View file @
c2d706b2
...
@@ -27,8 +27,8 @@ public class RegisterStrategy extends AbstractScoreRuleStrategy {
...
@@ -27,8 +27,8 @@ public class RegisterStrategy extends AbstractScoreRuleStrategy {
@Resource
@Resource
private
MemberUserService
memberUserService
;
private
MemberUserService
memberUserService
;
public
RegisterStrategy
(
ScoreRuleService
scoreRuleService
,
MemberUserScoreLogService
memberUserScoreLogService
,
MemberUserService
memberUserService
,
MemberUserScoreApi
memberUserScoreApi
)
{
public
RegisterStrategy
(
ScoreRuleService
scoreRuleService
,
MemberUserScoreLogService
memberUserScoreLogService
,
MemberUserService
memberUserService
,
MemberUserScoreApi
memberUserScoreApi
)
{
super
(
scoreRuleService
,
memberUserScoreLogService
,
memberUserService
,
memberUserScoreApi
);
super
(
scoreRuleService
,
memberUserScoreLogService
,
memberUserService
,
memberUserScoreApi
);
}
}
@Override
@Override
...
@@ -68,6 +68,7 @@ public class RegisterStrategy extends AbstractScoreRuleStrategy {
...
@@ -68,6 +68,7 @@ public class RegisterStrategy extends AbstractScoreRuleStrategy {
.
ruleId
(
scoreRuleDO
.
getId
())
.
ruleId
(
scoreRuleDO
.
getId
())
.
uniqueId
(
String
.
valueOf
(
userId
))
.
uniqueId
(
String
.
valueOf
(
userId
))
.
expireDays
(
scoreRuleDO
.
getScorePeriod
())
.
expireDays
(
scoreRuleDO
.
getScorePeriod
())
.
extParam
(
map
)
.
build
());
.
build
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"Register listener: operateScore error"
,
e
);
log
.
error
(
"Register listener: operateScore error"
,
e
);
...
...
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/scoreLog/MemberUserScoreLogServiceImpl.java
View file @
c2d706b2
...
@@ -27,6 +27,7 @@ import org.springframework.validation.annotation.Validated;
...
@@ -27,6 +27,7 @@ import org.springframework.validation.annotation.Validated;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
exception
.
util
.
ServiceExceptionUtil
.
exception
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
exception
.
util
.
ServiceExceptionUtil
.
exception
;
import
static
cn
.
iocoder
.
yudao
.
module
.
member
.
enums
.
ErrorCodeConstants
.
MEMBER_ID_IS_NULL
;
import
static
cn
.
iocoder
.
yudao
.
module
.
member
.
enums
.
ErrorCodeConstants
.
MEMBER_ID_IS_NULL
;
...
@@ -47,7 +48,7 @@ public class MemberUserScoreLogServiceImpl extends AbstractService<MemberUserSco
...
@@ -47,7 +48,7 @@ public class MemberUserScoreLogServiceImpl extends AbstractService<MemberUserSco
@Resource
@Resource
private
ScoreRuleService
scoreRuleService
;
private
ScoreRuleService
scoreRuleService
;
@Resource
@Resource
RedeemRewardApi
redeemRewardApi
;
private
RedeemRewardApi
redeemRewardApi
;
@Override
@Override
...
@@ -90,67 +91,94 @@ public class MemberUserScoreLogServiceImpl extends AbstractService<MemberUserSco
...
@@ -90,67 +91,94 @@ public class MemberUserScoreLogServiceImpl extends AbstractService<MemberUserSco
public
List
<
AppMemberUserScoreLogRespVO
>
getUserScoreLogList
(
AppMemberUserIdQueryVO
query
)
{
public
List
<
AppMemberUserScoreLogRespVO
>
getUserScoreLogList
(
AppMemberUserIdQueryVO
query
)
{
List
<
MemberUserScoreLogDO
>
userScoreLogDOS
=
userScoreLogMapper
.
selectList
(
"member_id"
,
query
.
getId
());
List
<
MemberUserScoreLogDO
>
userScoreLogDOS
=
userScoreLogMapper
.
selectList
(
"member_id"
,
query
.
getId
());
if
(
userScoreLogDOS
==
null
||
userScoreLogDOS
.
isEmpty
())
{
if
(
userScoreLogDOS
==
null
||
userScoreLogDOS
.
isEmpty
())
{
return
Collections
.
EMPTY_LIST
;
return
Collections
.
emptyList
()
;
}
}
ArrayList
<
AppMemberUserScoreLogRespVO
>
appMemberUserScoreLogRespVOS
=
new
ArrayList
<>();
Map
<
Long
,
MemberUserScoreLogDO
>
scoreLogDOMap
=
userScoreLogDOS
.
stream
()
.
collect
(
Collectors
.
toMap
(
MemberUserScoreLogDO:
:
getId
,
log
->
log
));
List
<
AppMemberUserScoreLogRespVO
>
appMemberUserScoreLogRespVOS
=
new
ArrayList
<>();
for
(
MemberUserScoreLogDO
userScoreLogDO
:
userScoreLogDOS
)
{
for
(
MemberUserScoreLogDO
userScoreLogDO
:
userScoreLogDOS
)
{
if
(
userScoreLogDO
.
getSourceType
()
==
ScoreSourceTypeEnum
.
SYSTEM_EXPIRED
.
getValue
())
{
if
(
userScoreLogDO
.
getSourceType
()
==
ScoreSourceTypeEnum
.
SYSTEM_EXPIRED
.
getValue
())
{
HashMap
hashMap
=
JsonUtils
.
parseObject
(
userScoreLogDO
.
getExtParam
(),
HashMap
.
class
);
Map
extParams
=
JsonUtils
.
parseObject
(
userScoreLogDO
.
getExtParam
(),
Map
.
class
);
Object
scoreLogIds
=
hashMap
.
get
(
"scoreLogIds"
);
List
<
Long
>
scoreLogIdList
=
JsonUtils
.
parseArray
(
extParams
.
get
(
"scoreLogIds"
).
toString
(),
Long
.
class
);
List
<
Long
>
scoreLogIdList
=
JsonUtils
.
parseArray
(
scoreLogIds
.
toString
(),
Long
.
class
);
for
(
Long
scoreLogId
:
scoreLogIdList
)
{
scoreLogIdList
.
stream
()
for
(
MemberUserScoreLogDO
scoreLogDO
:
userScoreLogDOS
)
{
.
map
(
scoreLogDOMap:
:
get
)
if
(
scoreLogDO
.
getId
().
equals
(
scoreLogId
)
&&
scoreLogDO
.
getRuleId
()
!=
null
)
{
.
filter
(
scoreLogDO
->
scoreLogDO
!=
null
&&
scoreLogDO
.
getRuleId
()
!=
null
)
.
forEach
(
scoreLogDO
->
{
ScoreRuleBackDetailVO
scoreRule
=
scoreRuleService
.
getScoreRule
(
scoreLogDO
.
getRuleId
());
ScoreRuleBackDetailVO
scoreRule
=
scoreRuleService
.
getScoreRule
(
scoreLogDO
.
getRuleId
());
if
(
scoreRule
!=
null
)
{
if
(
scoreRule
!=
null
)
{
AppMemberUserScoreLogRespVO
appMemberUserScoreLogRespVO
=
appMemberUserScoreLogRespVOS
.
add
(
createScoreLogRespVO
(
userScoreLogDO
,
scoreLogDO
,
scoreRule
));
new
AppMemberUserScoreLogRespVO
(
userScoreLogDO
.
getId
(),
userScoreLogDO
.
getScoreCount
()
,
"-"
,
scoreLogDO
.
getSourceType
()
,
DictFrameworkUtils
.
getDictDataFromCache
(
"member_score_source"
,
scoreLogDO
.
getSourceType
().
toString
()).
getLabel
()
,
DictFrameworkUtils
.
getDictDataFromCache
(
"member_score_source"
,
scoreLogDO
.
getSourceType
().
toString
()).
getLabelEn
()
,
userScoreLogDO
.
getCreateTime
()
,
scoreRule
.
getDescEn
()
,
scoreRule
.
getDescZh
()
,
userScoreLogDO
.
getScoreCount
()
,
true
);
appMemberUserScoreLogRespVOS
.
add
(
appMemberUserScoreLogRespVO
);
}
}
}
}
continue
;
}
}
});
}
else
{
setScoreRuleLogDetail
(
userScoreLogDO
,
appMemberUserScoreLogRespVOS
);
setScoreRuleLogDetail
(
userScoreLogDO
,
appMemberUserScoreLogRespVOS
);
}
}
}
return
appMemberUserScoreLogRespVOS
;
return
appMemberUserScoreLogRespVOS
;
}
}
private
void
setScoreRuleLogDetail
(
MemberUserScoreLogDO
userScoreLogDO
,
ArrayList
<
AppMemberUserScoreLogRespVO
>
appMemberUserScoreLogRespVOS
)
{
private
AppMemberUserScoreLogRespVO
createScoreLogRespVO
(
MemberUserScoreLogDO
userScoreLogDO
,
MemberUserScoreLogDO
scoreLogDO
,
ScoreRuleBackDetailVO
scoreRule
)
{
return
new
AppMemberUserScoreLogRespVO
(
userScoreLogDO
.
getId
(),
userScoreLogDO
.
getScoreCount
(),
"-"
,
scoreLogDO
.
getSourceType
(),
DictFrameworkUtils
.
getDictDataFromCache
(
"member_score_source"
,
scoreLogDO
.
getSourceType
().
toString
()).
getLabel
(),
DictFrameworkUtils
.
getDictDataFromCache
(
"member_score_source"
,
scoreLogDO
.
getSourceType
().
toString
()).
getLabelEn
(),
userScoreLogDO
.
getCreateTime
(),
scoreRule
.
getDescEn
(),
scoreRule
.
getDescZh
(),
null
,
true
);
}
private
void
setScoreRuleLogDetail
(
MemberUserScoreLogDO
userScoreLogDO
,
List
<
AppMemberUserScoreLogRespVO
>
appMemberUserScoreLogRespVOS
)
{
AppMemberUserScoreLogRespVO
appMemberUserScoreLogRespVO
=
new
AppMemberUserScoreLogRespVO
();
AppMemberUserScoreLogRespVO
appMemberUserScoreLogRespVO
=
new
AppMemberUserScoreLogRespVO
();
appMemberUserScoreLogRespVO
.
setId
(
userScoreLogDO
.
getId
());
appMemberUserScoreLogRespVO
.
setId
(
userScoreLogDO
.
getId
());
appMemberUserScoreLogRespVO
.
setSourceType
(
userScoreLogDO
.
getSourceType
());
appMemberUserScoreLogRespVO
.
setSourceType
(
userScoreLogDO
.
getSourceType
());
appMemberUserScoreLogRespVO
.
setScoreCount
(
userScoreLogDO
.
getScoreCount
());
appMemberUserScoreLogRespVO
.
setScoreCount
(
userScoreLogDO
.
getScoreCount
());
appMemberUserScoreLogRespVO
.
setOperateType
(
userScoreLogDO
.
getOperateType
()
==
1
?
"+"
:
"-"
);
appMemberUserScoreLogRespVO
.
setOperateType
(
userScoreLogDO
.
getOperateType
()
==
1
?
"+"
:
"-"
);
appMemberUserScoreLogRespVO
.
setCreateTime
(
userScoreLogDO
.
getCreateTime
());
appMemberUserScoreLogRespVO
.
setCreateTime
(
userScoreLogDO
.
getCreateTime
());
// 增加积分日志
if
(
Objects
.
equals
(
userScoreLogDO
.
getOperateType
(),
ScoreOperateTypeEnum
.
ADD
.
getValue
()))
{
// 获取通用的字典标签
String
sourceType
=
userScoreLogDO
.
getSourceType
().
toString
();
String
sourceTypeZh
=
DictFrameworkUtils
.
getDictDataFromCache
(
"member_score_source"
,
sourceType
).
getLabel
();
String
sourceTypeEn
=
DictFrameworkUtils
.
getDictDataFromCache
(
"member_score_source"
,
sourceType
).
getLabelEn
();
appMemberUserScoreLogRespVO
.
setSourceTypeZh
(
sourceTypeZh
);
appMemberUserScoreLogRespVO
.
setSourceTypeEn
(
sourceTypeEn
);
// 判断是增加还是减少积分操作
boolean
isAddOperation
=
Objects
.
equals
(
userScoreLogDO
.
getOperateType
(),
ScoreOperateTypeEnum
.
ADD
.
getValue
());
if
(
isAddOperation
)
{
handleAddScoreLogDetail
(
userScoreLogDO
,
appMemberUserScoreLogRespVO
);
}
else
{
handleReduceScoreLogDetail
(
userScoreLogDO
,
appMemberUserScoreLogRespVO
);
}
appMemberUserScoreLogRespVOS
.
add
(
appMemberUserScoreLogRespVO
);
}
private
void
handleAddScoreLogDetail
(
MemberUserScoreLogDO
userScoreLogDO
,
AppMemberUserScoreLogRespVO
appMemberUserScoreLogRespVO
)
{
switch
(
userScoreLogDO
.
getSourceType
())
{
switch
(
userScoreLogDO
.
getSourceType
())
{
// 人工操作
case
1
:
case
1
:
appMemberUserScoreLogRespVO
.
setSourceTypeZh
(
DictFrameworkUtils
.
getDictDataFromCache
(
"member_score_source"
,
"1"
).
getLabel
());
appMemberUserScoreLogRespVO
.
setSourceTypeEn
(
DictFrameworkUtils
.
getDictDataFromCache
(
"member_score_source"
,
"1"
).
getLabelEn
());
appMemberUserScoreLogRespVO
.
setDescZh
(
"人工积分"
);
appMemberUserScoreLogRespVO
.
setDescZh
(
"人工积分"
);
appMemberUserScoreLogRespVO
.
setDescEn
(
"Manually add points"
);
appMemberUserScoreLogRespVO
.
setDescEn
(
"manually add points"
);
break
;
case
4
:
handleRedeemDetail
(
userScoreLogDO
,
appMemberUserScoreLogRespVO
);
break
;
break
;
// 活动积分
case
5
:
case
5
:
case
6
:
case
6
:
case
7
:
case
7
:
case
8
:
case
8
:
ScoreSourceTypeEnum
scoreSourceTypeEnum
=
ScoreSourceTypeEnum
.
parseByValue
(
userScoreLogDO
.
getSourceType
());
appMemberUserScoreLogRespVO
.
setSourceTypeZh
(
DictFrameworkUtils
.
getDictDataFromCache
(
"member_score_source"
,
String
.
valueOf
(
scoreSourceTypeEnum
.
getValue
())).
getLabel
());
appMemberUserScoreLogRespVO
.
setSourceTypeEn
(
DictFrameworkUtils
.
getDictDataFromCache
(
"member_score_source"
,
String
.
valueOf
(
scoreSourceTypeEnum
.
getValue
())).
getLabelEn
());
ScoreRuleBackDetailVO
scoreRule
=
scoreRuleService
.
getScoreRule
(
userScoreLogDO
.
getRuleId
());
ScoreRuleBackDetailVO
scoreRule
=
scoreRuleService
.
getScoreRule
(
userScoreLogDO
.
getRuleId
());
if
(
scoreRule
!=
null
)
{
if
(
scoreRule
!=
null
)
{
appMemberUserScoreLogRespVO
.
setDescEn
(
scoreRule
.
getDescEn
());
appMemberUserScoreLogRespVO
.
setDescEn
(
scoreRule
.
getDescEn
());
...
@@ -158,23 +186,24 @@ public class MemberUserScoreLogServiceImpl extends AbstractService<MemberUserSco
...
@@ -158,23 +186,24 @@ public class MemberUserScoreLogServiceImpl extends AbstractService<MemberUserSco
}
}
break
;
break
;
}
}
}
else
{
}
// 减少积分日志
private
void
handleReduceScoreLogDetail
(
MemberUserScoreLogDO
userScoreLogDO
,
AppMemberUserScoreLogRespVO
appMemberUserScoreLogRespVO
)
{
switch
(
userScoreLogDO
.
getSourceType
())
{
switch
(
userScoreLogDO
.
getSourceType
())
{
// 人工操作
case
1
:
case
1
:
appMemberUserScoreLogRespVO
.
setSourceTypeZh
(
DictFrameworkUtils
.
getDictDataFromCache
(
"member_score_source"
,
"1"
).
getLabel
());
appMemberUserScoreLogRespVO
.
setSourceTypeEn
(
DictFrameworkUtils
.
getDictDataFromCache
(
"member_score_source"
,
"1"
).
getLabelEn
());
appMemberUserScoreLogRespVO
.
setDescZh
(
"人工积分"
);
appMemberUserScoreLogRespVO
.
setDescZh
(
"人工积分"
);
appMemberUserScoreLogRespVO
.
setDescEn
(
"M
anually reduce points"
);
appMemberUserScoreLogRespVO
.
setDescEn
(
"m
anually reduce points"
);
break
;
break
;
// 兑换
case
2
:
case
2
:
appMemberUserScoreLogRespVO
.
setSourceTypeZh
(
DictFrameworkUtils
.
getDictDataFromCache
(
"member_score_source"
,
"2"
).
getLabel
());
handleRedeemDetail
(
userScoreLogDO
,
appMemberUserScoreLogRespVO
);
appMemberUserScoreLogRespVO
.
setSourceTypeEn
(
DictFrameworkUtils
.
getDictDataFromCache
(
"member_score_source"
,
"2"
).
getLabelEn
());
break
;
// 查询兑换记录
}
Map
<
String
,
Long
>
extParam
=
JsonUtils
.
parseObject
(
userScoreLogDO
.
getExtParam
(),
HashMap
.
class
);
}
Long
redeemId
=
extParam
.
get
(
"redeemId"
);
private
void
handleRedeemDetail
(
MemberUserScoreLogDO
userScoreLogDO
,
AppMemberUserScoreLogRespVO
appMemberUserScoreLogRespVO
)
{
HashMap
extParam
=
JsonUtils
.
parseObject
(
userScoreLogDO
.
getExtParam
(),
HashMap
.
class
);
Long
redeemId
=
extParam
.
get
(
"redeemId"
)
!=
null
?
Long
.
valueOf
(
extParam
.
get
(
"redeemId"
).
toString
())
:
null
;
if
(
redeemId
!=
null
)
{
if
(
redeemId
!=
null
)
{
RedeemDetailForUserDTO
redeemDetailForUser
=
redeemRewardApi
.
getRedeemDetailForUser
(
redeemId
);
RedeemDetailForUserDTO
redeemDetailForUser
=
redeemRewardApi
.
getRedeemDetailForUser
(
redeemId
);
if
(
redeemDetailForUser
!=
null
)
{
if
(
redeemDetailForUser
!=
null
)
{
...
@@ -183,9 +212,5 @@ public class MemberUserScoreLogServiceImpl extends AbstractService<MemberUserSco
...
@@ -183,9 +212,5 @@ public class MemberUserScoreLogServiceImpl extends AbstractService<MemberUserSco
appMemberUserScoreLogRespVO
.
setDescEn
(
redeemDetailForUser
.
getRewardNameEn
());
appMemberUserScoreLogRespVO
.
setDescEn
(
redeemDetailForUser
.
getRewardNameEn
());
}
}
}
}
break
;
}
}
appMemberUserScoreLogRespVOS
.
add
(
appMemberUserScoreLogRespVO
);
}
}
}
}
yudao-module-reward/yudao-module-reward-impl/src/main/java/cn/iocoder/yudao/module/reward/controller/admin/reward/RewardController.java
View file @
c2d706b2
...
@@ -89,9 +89,7 @@ public class RewardController {
...
@@ -89,9 +89,7 @@ public class RewardController {
PageResult
<
RewardDO
>
pageResult
=
rewardService
.
getPage
(
query
,
page
);
PageResult
<
RewardDO
>
pageResult
=
rewardService
.
getPage
(
query
,
page
);
PageResult
<
RewardBackVO
>
rewardBackVOPageResult
=
RewardConvert
.
INSTANCE
.
convertPage
(
pageResult
);
PageResult
<
RewardBackVO
>
rewardBackVOPageResult
=
RewardConvert
.
INSTANCE
.
convertPage
(
pageResult
);
// 转换nodeId和points
// 转换nodeId和points
rewardBackVOPageResult
.
getList
().
forEach
(
rewardBackVO
->
{
rewardBackVOPageResult
.
getList
().
forEach
(
rewardBackVO
->
rewardBackVO
.
getNodeIds
().
add
(
new
RewardBackVO
.
NodeAndPoints
(
rewardBackVO
.
getNodeId
(),
rewardBackVO
.
getPointsRequire
())));
rewardBackVO
.
getNodeIds
().
add
(
new
RewardBackVO
.
NodeAndPoints
(
rewardBackVO
.
getNodeId
(),
rewardBackVO
.
getPointsRequire
()));
});
return
success
(
rewardBackVOPageResult
);
return
success
(
rewardBackVOPageResult
);
}
}
...
...
yudao-module-reward/yudao-module-reward-impl/src/main/java/cn/iocoder/yudao/module/reward/service/reward/RewardServiceImpl.java
View file @
c2d706b2
...
@@ -19,6 +19,7 @@ import cn.iocoder.yudao.module.reward.enums.RewardStatusEnum;
...
@@ -19,6 +19,7 @@ import cn.iocoder.yudao.module.reward.enums.RewardStatusEnum;
import
cn.iocoder.yudao.module.reward.vo.reward.*
;
import
cn.iocoder.yudao.module.reward.vo.reward.*
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.RandomStringUtils
;
import
org.apache.commons.lang3.RandomStringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
...
@@ -190,7 +191,7 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
...
@@ -190,7 +191,7 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
//礼品ID
//礼品ID
lambdaQuery
.
eqIfPresent
(
RewardDO:
:
getCode
,
query
.
getCode
());
lambdaQuery
.
eqIfPresent
(
RewardDO:
:
getCode
,
query
.
getCode
());
//礼品名称,模糊匹配三种语言
//礼品名称,模糊匹配三种语言
if
(
query
.
getTitle
()
!=
null
)
{
if
(
StringUtils
.
isNotBlank
(
query
.
getTitle
())
)
{
lambdaQuery
.
and
(
wrapper
->
lambdaQuery
.
and
(
wrapper
->
wrapper
.
like
(
RewardDO:
:
getTitleZh
,
query
.
getTitle
())
wrapper
.
like
(
RewardDO:
:
getTitleZh
,
query
.
getTitle
())
.
or
()
.
or
()
...
@@ -207,10 +208,10 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
...
@@ -207,10 +208,10 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
}
}
//兑换网点id,领取方式,状态
//兑换网点id,领取方式,状态
lambdaQuery
.
eqIfPresent
(
RewardDO:
:
getNodeId
,
query
.
getNodeId
())
lambdaQuery
.
eqIfPresent
(
RewardDO:
:
getNodeId
,
query
.
getNodeId
())
.
eq
IfPresent
(
RewardDO:
:
getPickMethod
,
query
.
getPickMethod
())
.
eq
(
StringUtils
.
isNotBlank
(
query
.
getPickMethod
()),
RewardDO:
:
getPickMethod
,
query
.
getPickMethod
())
.
eqIfPresent
(
RewardDO:
:
getStatus
,
query
.
getStatus
());
.
eqIfPresent
(
RewardDO:
:
getStatus
,
query
.
getStatus
());
//备注,模糊匹配三种语言
//备注,模糊匹配三种语言
if
(
query
.
getRemark
()
!=
null
)
{
if
(
StringUtils
.
isNotBlank
(
query
.
getRemark
())
)
{
lambdaQuery
.
and
(
wrapper
->
lambdaQuery
.
and
(
wrapper
->
wrapper
.
like
(
RewardDO:
:
getRemarkZh
,
query
.
getRemark
())
wrapper
.
like
(
RewardDO:
:
getRemarkZh
,
query
.
getRemark
())
.
or
()
.
or
()
...
@@ -327,9 +328,9 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
...
@@ -327,9 +328,9 @@ public class RewardServiceImpl extends AbstractService<RewardMapper, RewardDO> i
List
<
NodeRespDTO
>
nodes
=
null
;
List
<
NodeRespDTO
>
nodes
=
null
;
// 如果用户没有填写国家或城市默认展示中国的礼品
// 如果用户没有填写国家或城市默认展示中国的礼品
if
(
user
.
getCity
()
==
null
||
user
.
getCountry
()
==
null
)
{
if
(
user
.
getCity
()
==
null
||
user
.
getCountry
()
==
null
)
{
nodes
=
nodeApi
.
getNodesByCity
(
null
,
130L
);
nodes
=
nodeApi
.
getNodesByCity
(
null
,
130L
);
}
else
{
}
else
{
nodes
=
nodeApi
.
getNodesByCity
(
user
.
getCity
().
longValue
(),
null
);
nodes
=
nodeApi
.
getNodesByCity
(
user
.
getCity
().
longValue
(),
null
);
}
}
if
(
CollectionUtil
.
isNotEmpty
(
nodes
))
{
if
(
CollectionUtil
.
isNotEmpty
(
nodes
))
{
rewardDOLambdaQuery
.
in
(
RewardDO:
:
getNodeId
,
nodes
.
stream
().
map
(
NodeRespDTO:
:
getId
).
collect
(
Collectors
.
toList
()));
rewardDOLambdaQuery
.
in
(
RewardDO:
:
getNodeId
,
nodes
.
stream
().
map
(
NodeRespDTO:
:
getId
).
collect
(
Collectors
.
toList
()));
...
...
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