Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
poc-api
Project
Project
Details
Activity
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
poc
poc-api
Commits
0456929a
Commit
0456929a
authored
Dec 11, 2024
by
alex yao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 会员权益新增字段
parent
cd6d79b8
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
135 additions
and
22 deletions
+135
-22
MemberEquityService.java
...java/cn/com/poc/equity/aggregate/MemberEquityService.java
+8
-5
MemberEquityServiceImpl.java
...om/poc/equity/aggregate/impl/MemberEquityServiceImpl.java
+43
-10
MemberEquityInfo.java
src/main/java/cn/com/poc/equity/domain/MemberEquityInfo.java
+21
-1
CurrentUserEquityInfoDto.java
.../java/cn/com/poc/equity/dto/CurrentUserEquityInfoDto.java
+48
-3
EquityRestImpl.java
...main/java/cn/com/poc/equity/rest/impl/EquityRestImpl.java
+15
-3
No files found.
src/main/java/cn/com/poc/equity/aggregate/MemberEquityService.java
View file @
0456929a
...
@@ -2,6 +2,7 @@ package cn.com.poc.equity.aggregate;
...
@@ -2,6 +2,7 @@ package cn.com.poc.equity.aggregate;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.constants.ModifyEventEnum
;
import
cn.com.poc.equity.constants.ModifyEventEnum
;
import
cn.com.poc.equity.domain.MemberEquityInfo
;
import
cn.com.poc.equity.domain.modifyEquityInfo.ModifyEventInfo
;
import
cn.com.poc.equity.domain.modifyEquityInfo.ModifyEventInfo
;
import
cn.com.poc.equity.entity.BizMemberEquityEntity
;
import
cn.com.poc.equity.entity.BizMemberEquityEntity
;
...
@@ -68,18 +69,20 @@ public interface MemberEquityService {
...
@@ -68,18 +69,20 @@ public interface MemberEquityService {
*/
*/
String
changeEquityLevel
(
Long
memberId
,
ModifyEventEnum
modifyEventEnum
,
EquityEnum
.
TYPE
type
,
EquityEnum
.
VALIDITY_UNIT
validityUnit
,
ModifyEventInfo
modifyEventInfo
)
throws
Exception
;
String
changeEquityLevel
(
Long
memberId
,
ModifyEventEnum
modifyEventEnum
,
EquityEnum
.
TYPE
type
,
EquityEnum
.
VALIDITY_UNIT
validityUnit
,
ModifyEventInfo
modifyEventInfo
)
throws
Exception
;
/**
/**
* 获取
会员当前权益等级
* 获取
用户剩余可用积分
*
*
* @param memberId 用户id
* @param memberId
* @return
*/
*/
BizMemberEquityEntity
getMemberEquityInfo
(
Long
memberId
)
throws
Exception
;
Long
getMemberPoints
(
Long
memberId
)
;
/**
/**
* 获取用户
剩余可用积分
* 获取用户
权益信息
*
*
* @param memberId
* @param memberId
* @return
* @return
*/
*/
Long
getMemberPoints
(
Long
memberId
)
;
MemberEquityInfo
getEquityInfo
(
Long
memberId
)
throws
Exception
;
}
}
src/main/java/cn/com/poc/equity/aggregate/impl/MemberEquityServiceImpl.java
View file @
0456929a
package
cn
.
com
.
poc
.
equity
.
aggregate
.
impl
;
package
cn
.
com
.
poc
.
equity
.
aggregate
.
impl
;
import
cn.com.poc.agent_application.entity.BizAgentApplicationInfoEntity
;
import
cn.com.poc.agent_application.service.BizAgentApplicationInfoService
;
import
cn.com.poc.common.constant.BizSnKeyEnum
;
import
cn.com.poc.common.constant.BizSnKeyEnum
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.utils.DateUtils
;
import
cn.com.poc.common.utils.DateUtils
;
...
@@ -9,6 +11,7 @@ import cn.com.poc.common.utils.StringUtils;
...
@@ -9,6 +11,7 @@ import cn.com.poc.common.utils.StringUtils;
import
cn.com.poc.equity.aggregate.MemberEquityService
;
import
cn.com.poc.equity.aggregate.MemberEquityService
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.constants.ModifyEventEnum
;
import
cn.com.poc.equity.constants.ModifyEventEnum
;
import
cn.com.poc.equity.domain.MemberEquityInfo
;
import
cn.com.poc.equity.domain.modifyEquityInfo.InitModifyEventInfo
;
import
cn.com.poc.equity.domain.modifyEquityInfo.InitModifyEventInfo
;
import
cn.com.poc.equity.domain.modifyEquityInfo.ModifyEventInfo
;
import
cn.com.poc.equity.domain.modifyEquityInfo.ModifyEventInfo
;
import
cn.com.poc.equity.domain.modifyEquityInfo.PayModifyEventInfo
;
import
cn.com.poc.equity.domain.modifyEquityInfo.PayModifyEventInfo
;
...
@@ -19,6 +22,8 @@ import cn.com.poc.equity.query.QueryEquityTransactionHistoryQueryItem;
...
@@ -19,6 +22,8 @@ import cn.com.poc.equity.query.QueryEquityTransactionHistoryQueryItem;
import
cn.com.poc.equity.query.QueryPointTransactionHistoryQueryCondition
;
import
cn.com.poc.equity.query.QueryPointTransactionHistoryQueryCondition
;
import
cn.com.poc.equity.query.QueryPointTransactionHistoryQueryItem
;
import
cn.com.poc.equity.query.QueryPointTransactionHistoryQueryItem
;
import
cn.com.poc.equity.service.*
;
import
cn.com.poc.equity.service.*
;
import
cn.com.poc.knowledge.entity.BizKnowledgeInfoEntity
;
import
cn.com.poc.knowledge.service.BizKnowledgeInfoService
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
cn.com.yict.framemax.core.i18n.I18nMessageException
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
...
@@ -56,6 +61,13 @@ public class MemberEquityServiceImpl implements MemberEquityService {
...
@@ -56,6 +61,13 @@ public class MemberEquityServiceImpl implements MemberEquityService {
@Resource
@Resource
private
BizPaymentPackageConfigurationService
bizPaymentPackageConfigurationService
;
private
BizPaymentPackageConfigurationService
bizPaymentPackageConfigurationService
;
@Resource
private
BizAgentApplicationInfoService
bizAgentApplicationInfoService
;
@Resource
private
BizKnowledgeInfoService
bizKnowledgeInfoService
;
@Override
@Override
public
void
initMemberEquity
(
Long
memberId
)
throws
Exception
{
public
void
initMemberEquity
(
Long
memberId
)
throws
Exception
{
logger
.
info
(
"-----初始化用户权益开始 memberId:{}-----"
,
memberId
);
logger
.
info
(
"-----初始化用户权益开始 memberId:{}-----"
,
memberId
);
...
@@ -244,16 +256,6 @@ public class MemberEquityServiceImpl implements MemberEquityService {
...
@@ -244,16 +256,6 @@ public class MemberEquityServiceImpl implements MemberEquityService {
return
transactionSn
;
return
transactionSn
;
}
}
@Override
public
BizMemberEquityEntity
getMemberEquityInfo
(
Long
memberId
)
throws
Exception
{
BizMemberEquityEntity
bizMemberEquityEntity
=
bizMemberEquityService
.
getByMemberId
(
memberId
);
if
(
bizMemberEquityEntity
==
null
)
{
this
.
initMemberEquity
(
memberId
);
bizMemberEquityEntity
=
bizMemberEquityService
.
getByMemberId
(
memberId
);
}
return
bizMemberEquityEntity
;
}
@Override
@Override
public
Long
getMemberPoints
(
Long
memberId
)
{
public
Long
getMemberPoints
(
Long
memberId
)
{
BizMemberPointsEntity
bizMemberPointsEntity
=
new
BizMemberPointsEntity
();
BizMemberPointsEntity
bizMemberPointsEntity
=
new
BizMemberPointsEntity
();
...
@@ -270,6 +272,37 @@ public class MemberEquityServiceImpl implements MemberEquityService {
...
@@ -270,6 +272,37 @@ public class MemberEquityServiceImpl implements MemberEquityService {
return
points
;
return
points
;
}
}
@Override
public
MemberEquityInfo
getEquityInfo
(
Long
memberId
)
throws
Exception
{
BizMemberEquityEntity
bizMemberEquityEntity
=
bizMemberEquityService
.
getByMemberId
(
memberId
);
if
(
bizMemberEquityEntity
==
null
)
{
this
.
initMemberEquity
(
memberId
);
bizMemberEquityEntity
=
bizMemberEquityService
.
getByMemberId
(
memberId
);
}
//获取已创建应用
BizAgentApplicationInfoEntity
bizAgentApplicationInfoEntity
=
new
BizAgentApplicationInfoEntity
();
bizAgentApplicationInfoEntity
.
setMemberId
(
memberId
.
intValue
());
bizAgentApplicationInfoEntity
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
BizAgentApplicationInfoEntity
>
applicationInfoEntities
=
bizAgentApplicationInfoService
.
findByExample
(
bizAgentApplicationInfoEntity
,
null
);
//获取知识库数量
BizKnowledgeInfoEntity
bizKnowledgeInfoEntity
=
new
BizKnowledgeInfoEntity
();
bizKnowledgeInfoEntity
.
setMemberId
(
memberId
.
toString
());
bizKnowledgeInfoEntity
.
setIsDeleted
(
CommonConstant
.
IsDeleted
.
N
);
List
<
BizKnowledgeInfoEntity
>
knowledgeInfoEntities
=
bizKnowledgeInfoService
.
findByExample
(
bizKnowledgeInfoEntity
,
null
);
String
equityConfig
=
bizMemberEquityEntity
.
getEquityConfig
();
MemberEquityInfo
memberEquityInfo
=
JsonUtils
.
deSerialize
(
equityConfig
,
MemberEquityInfo
.
class
);
if
(
memberEquityInfo
==
null
)
{
memberEquityInfo
=
new
MemberEquityInfo
();
}
memberEquityInfo
.
setEquityLevel
(
EquityEnum
.
TYPE
.
valueOf
(
bizMemberEquityEntity
.
getEquityLevel
()));
memberEquityInfo
.
setExpiredDate
(
bizMemberEquityEntity
.
getExpiredDate
());
memberEquityInfo
.
setUsedAgentNum
(
applicationInfoEntities
.
size
());
memberEquityInfo
.
setUsedKnowledgeNum
(
knowledgeInfoEntities
.
size
());
return
memberEquityInfo
;
}
/**
/**
* 检查权益包是否已发放
* 检查权益包是否已发放
*
*
...
...
src/main/java/cn/com/poc/equity/domain/EquityInfo.java
→
src/main/java/cn/com/poc/equity/domain/
Member
EquityInfo.java
View file @
0456929a
...
@@ -8,7 +8,7 @@ import java.util.Date;
...
@@ -8,7 +8,7 @@ import java.util.Date;
* @author alex.yao
* @author alex.yao
* @date 2024/12/6
* @date 2024/12/6
*/
*/
public
class
EquityInfo
{
public
class
Member
EquityInfo
{
private
EquityEnum
.
TYPE
equityLevel
;
private
EquityEnum
.
TYPE
equityLevel
;
...
@@ -16,8 +16,12 @@ public class EquityInfo {
...
@@ -16,8 +16,12 @@ public class EquityInfo {
private
Integer
agentNum
;
private
Integer
agentNum
;
private
Integer
usedAgentNum
;
private
Integer
knowledgeNum
;
private
Integer
knowledgeNum
;
private
Integer
usedKnowledgeNum
;
public
EquityEnum
.
TYPE
getEquityLevel
()
{
public
EquityEnum
.
TYPE
getEquityLevel
()
{
return
equityLevel
;
return
equityLevel
;
}
}
...
@@ -49,4 +53,20 @@ public class EquityInfo {
...
@@ -49,4 +53,20 @@ public class EquityInfo {
public
void
setKnowledgeNum
(
Integer
knowledgeNum
)
{
public
void
setKnowledgeNum
(
Integer
knowledgeNum
)
{
this
.
knowledgeNum
=
knowledgeNum
;
this
.
knowledgeNum
=
knowledgeNum
;
}
}
public
Integer
getUsedAgentNum
()
{
return
usedAgentNum
;
}
public
void
setUsedAgentNum
(
Integer
usedAgentNum
)
{
this
.
usedAgentNum
=
usedAgentNum
;
}
public
Integer
getUsedKnowledgeNum
()
{
return
usedKnowledgeNum
;
}
public
void
setUsedKnowledgeNum
(
Integer
usedKnowledgeNum
)
{
this
.
usedKnowledgeNum
=
usedKnowledgeNum
;
}
}
}
src/main/java/cn/com/poc/equity/dto/CurrentUserEquityInfoDto.java
View file @
0456929a
package
cn
.
com
.
poc
.
equity
.
dto
;
package
cn
.
com
.
poc
.
equity
.
dto
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.Date
;
...
@@ -12,17 +14,60 @@ import java.util.Date;
...
@@ -12,17 +14,60 @@ import java.util.Date;
*/
*/
public
class
CurrentUserEquityInfoDto
implements
Serializable
{
public
class
CurrentUserEquityInfoDto
implements
Serializable
{
private
String
equityLevel
;
private
Integer
usedAgentCount
;
private
Integer
maxAgentCount
;
private
Integer
usedKnowledgeCount
;
private
Integer
maxKnowledgeCount
;
private
EquityEnum
.
TYPE
equityLevel
;
private
BigDecimal
points
;
private
BigDecimal
points
;
private
Date
expireTime
;
private
Date
expireTime
;
public
String
getEquityLevel
()
{
public
Integer
getUsedAgentCount
()
{
return
usedAgentCount
;
}
public
void
setUsedAgentCount
(
Integer
usedAgentCount
)
{
this
.
usedAgentCount
=
usedAgentCount
;
}
public
Integer
getUsedKnowledgeCount
()
{
return
usedKnowledgeCount
;
}
public
void
setUsedKnowledgeCount
(
Integer
usedKnowledgeCount
)
{
this
.
usedKnowledgeCount
=
usedKnowledgeCount
;
}
public
Integer
getMaxAgentCount
()
{
return
maxAgentCount
;
}
public
void
setMaxAgentCount
(
Integer
maxAgentCount
)
{
this
.
maxAgentCount
=
maxAgentCount
;
}
public
Integer
getMaxKnowledgeCount
()
{
return
maxKnowledgeCount
;
}
public
void
setMaxKnowledgeCount
(
Integer
maxKnowledgeCount
)
{
this
.
maxKnowledgeCount
=
maxKnowledgeCount
;
}
public
EquityEnum
.
TYPE
getEquityLevel
()
{
return
equityLevel
;
return
equityLevel
;
}
}
public
void
setEquityLevel
(
String
equityLevel
)
{
public
void
setEquityLevel
(
EquityEnum
.
TYPE
equityLevel
)
{
this
.
equityLevel
=
equityLevel
;
this
.
equityLevel
=
equityLevel
;
}
}
...
...
src/main/java/cn/com/poc/equity/rest/impl/EquityRestImpl.java
View file @
0456929a
package
cn
.
com
.
poc
.
equity
.
rest
.
impl
;
package
cn
.
com
.
poc
.
equity
.
rest
.
impl
;
import
cn.com.poc.agent_application.entity.BizAgentApplicationInfoEntity
;
import
cn.com.poc.agent_application.service.BizAgentApplicationInfoService
;
import
cn.com.poc.common.constant.CommonConstant
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.BlContext
;
import
cn.com.poc.common.utils.JsonUtils
;
import
cn.com.poc.equity.aggregate.EquityService
;
import
cn.com.poc.equity.aggregate.EquityService
;
import
cn.com.poc.equity.aggregate.MemberEquityService
;
import
cn.com.poc.equity.aggregate.MemberEquityService
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.constants.EquityEnum
;
import
cn.com.poc.equity.domain.AgentEquity
;
import
cn.com.poc.equity.domain.AgentEquity
;
import
cn.com.poc.equity.domain.MemberEquityInfo
;
import
cn.com.poc.equity.domain.PointEquityInfo
;
import
cn.com.poc.equity.domain.PointEquityInfo
;
import
cn.com.poc.equity.dto.CurrentUserEquityInfoDto
;
import
cn.com.poc.equity.dto.CurrentUserEquityInfoDto
;
import
cn.com.poc.equity.dto.EquityPackagesDto
;
import
cn.com.poc.equity.dto.EquityPackagesDto
;
...
@@ -12,6 +17,8 @@ import cn.com.poc.equity.dto.PointPackagesDto;
...
@@ -12,6 +17,8 @@ import cn.com.poc.equity.dto.PointPackagesDto;
import
cn.com.poc.equity.entity.BizMemberEquityEntity
;
import
cn.com.poc.equity.entity.BizMemberEquityEntity
;
import
cn.com.poc.equity.entity.BizPaymentPackageConfigurationEntity
;
import
cn.com.poc.equity.entity.BizPaymentPackageConfigurationEntity
;
import
cn.com.poc.equity.rest.EquityRest
;
import
cn.com.poc.equity.rest.EquityRest
;
import
cn.com.poc.knowledge.entity.BizKnowledgeInfoEntity
;
import
cn.com.poc.knowledge.service.BizKnowledgeInfoService
;
import
cn.com.poc.support.security.oauth.entity.UserBaseEntity
;
import
cn.com.poc.support.security.oauth.entity.UserBaseEntity
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -29,6 +36,7 @@ public class EquityRestImpl implements EquityRest {
...
@@ -29,6 +36,7 @@ public class EquityRestImpl implements EquityRest {
@Resource
@Resource
private
MemberEquityService
memberEquityService
;
private
MemberEquityService
memberEquityService
;
@Override
@Override
public
EquityPackagesDto
getPackageList
()
{
public
EquityPackagesDto
getPackageList
()
{
List
<
AgentEquity
>
professinalList
=
equityService
.
getEquityList
(
EquityEnum
.
TYPE
.
professional
);
List
<
AgentEquity
>
professinalList
=
equityService
.
getEquityList
(
EquityEnum
.
TYPE
.
professional
);
...
@@ -65,15 +73,19 @@ public class EquityRestImpl implements EquityRest {
...
@@ -65,15 +73,19 @@ public class EquityRestImpl implements EquityRest {
@Override
@Override
public
CurrentUserEquityInfoDto
getCurrentEquity
()
throws
Exception
{
public
CurrentUserEquityInfoDto
getCurrentEquity
()
throws
Exception
{
UserBaseEntity
userBaseEntity
=
BlContext
.
getCurrentUserNotException
();
UserBaseEntity
userBaseEntity
=
BlContext
.
getCurrentUserNotException
();
BizMemberEquityEntity
memberEquityEntity
=
memberEquityService
.
getMember
EquityInfo
(
userBaseEntity
.
getUserId
());
MemberEquityInfo
equityInfo
=
memberEquityService
.
get
EquityInfo
(
userBaseEntity
.
getUserId
());
Long
memberPoints
=
memberEquityService
.
getMemberPoints
(
userBaseEntity
.
getUserId
());
Long
memberPoints
=
memberEquityService
.
getMemberPoints
(
userBaseEntity
.
getUserId
());
BigDecimal
bigDecimal
=
new
BigDecimal
(
memberPoints
);
BigDecimal
bigDecimal
=
new
BigDecimal
(
memberPoints
);
BigDecimal
points
=
bigDecimal
.
divide
(
new
BigDecimal
(
"100"
),
2
,
BigDecimal
.
ROUND_HALF_UP
);
BigDecimal
points
=
bigDecimal
.
divide
(
new
BigDecimal
(
"100"
),
2
,
BigDecimal
.
ROUND_HALF_UP
);
CurrentUserEquityInfoDto
currentUserEquityInfoDto
=
new
CurrentUserEquityInfoDto
();
CurrentUserEquityInfoDto
currentUserEquityInfoDto
=
new
CurrentUserEquityInfoDto
();
currentUserEquityInfoDto
.
setUsedAgentCount
(
equityInfo
.
getUsedAgentNum
());
currentUserEquityInfoDto
.
setMaxAgentCount
(
equityInfo
.
getAgentNum
());
currentUserEquityInfoDto
.
setUsedKnowledgeCount
(
equityInfo
.
getUsedKnowledgeNum
());
currentUserEquityInfoDto
.
setMaxKnowledgeCount
(
equityInfo
.
getKnowledgeNum
());
currentUserEquityInfoDto
.
setPoints
(
points
);
currentUserEquityInfoDto
.
setPoints
(
points
);
currentUserEquityInfoDto
.
setExpireTime
(
memberEquityEntity
.
getExpiredDate
());
currentUserEquityInfoDto
.
setExpireTime
(
equityInfo
.
getExpiredDate
());
currentUserEquityInfoDto
.
setEquityLevel
(
memberEquityEntity
.
getEquityLevel
());
currentUserEquityInfoDto
.
setEquityLevel
(
equityInfo
.
getEquityLevel
());
return
currentUserEquityInfoDto
;
return
currentUserEquityInfoDto
;
}
}
}
}
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